<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.ice-online.com/index.php?action=history&amp;feed=atom&amp;title=ICE_Help_SOC</id>
	<title>ICE Help SOC - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ice-online.com/index.php?action=history&amp;feed=atom&amp;title=ICE_Help_SOC"/>
	<link rel="alternate" type="text/html" href="https://wiki.ice-online.com/index.php?title=ICE_Help_SOC&amp;action=history"/>
	<updated>2026-06-09T21:30:30Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.34.1</generator>
	<entry>
		<id>https://wiki.ice-online.com/index.php?title=ICE_Help_SOC&amp;diff=572&amp;oldid=prev</id>
		<title>ConvertBot: Current SOC code algorithms</title>
		<link rel="alternate" type="text/html" href="https://wiki.ice-online.com/index.php?title=ICE_Help_SOC&amp;diff=572&amp;oldid=prev"/>
		<updated>2020-04-27T18:33:04Z</updated>

		<summary type="html">&lt;p&gt;Current SOC code algorithms&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;div style=&amp;quot;background-color: #eef9ff; border: 1px solid #999; padding: 10px;&amp;quot;&amp;gt;[[ICE_Help|&amp;amp;uarr; ''Go to the full list of ICE Help pages'']].&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;onlyinclude&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
'''Summary:''' Current SOC code algorithms&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This file contains a brief text description of the currently available code&lt;br /&gt;
downloads for the Xilinx System On a Chip FPGAs. &lt;br /&gt;
&lt;br /&gt;
Processor Modules implement the module control/data interface, memory controller,&lt;br /&gt;
specialty chip (tuner) interfaces, and processor cores in a single Virtex chip.&lt;br /&gt;
&lt;br /&gt;
The 5+ series cards implement the PCI interface, module control/data interfaces, &lt;br /&gt;
memory controller, processor cores, and IO controller in a single Virtex chip.&lt;br /&gt;
&lt;br /&gt;
The SOC's IO controller implements all of the IOC modes in the default load.&lt;br /&gt;
The IOC=s settings that are downloads on pre series 5 cards are operational &lt;br /&gt;
register sets on series 5+ cards.&lt;br /&gt;
&lt;br /&gt;
All SoC downloads contain a 4-character configuration signature.&lt;br /&gt;
The first two characters describe the I/O or processor module interface types. &lt;br /&gt;
The third and fourth characters specify the internal functional cores 1 &amp;amp; 2.&lt;br /&gt;
If the fourth character is blank, it is the same as core 1.&lt;br /&gt;
&lt;br /&gt;
The supported I/O module interface configurations are&lt;br /&gt;
 S: SingleEnded used for E2D,D2E, T2D,D2T, LV2D,D2LV, A2DR8,D2AR8 modules.&lt;br /&gt;
 D: Differential used for DR2D, RFXD, A2DR14&lt;br /&gt;
 H: HyperTransport used for SNTR5XD, SDDSXD,TGSDDSXD, A2DR9,D2AR9, A2DR10,A2DR11,A2DR13, LB2D modules.&lt;br /&gt;
 R: RocketIO used for MSASXD, DSFPXD&lt;br /&gt;
&lt;br /&gt;
The processor module data interface configurations are&lt;br /&gt;
 S: SingleEnded used for modules on PIC4X &lt;br /&gt;
 H: HyperTransport used for modules on PIC5 and later&lt;br /&gt;
&lt;br /&gt;
The supported Core configurations are&lt;br /&gt;
 N: Noop Engine &lt;br /&gt;
 F: Filter Engine &lt;br /&gt;
 D: Demod (2-D LUT) Engine (default on DTDMs)&lt;br /&gt;
 T: Tune/Filter/Decimate/Resample/Demod Engine (default on PICs)&lt;br /&gt;
 U: User Engine (Customer specific Upsampler in current release)&lt;br /&gt;
 V: Vita-49 Radio Transport&lt;br /&gt;
 G: GSM Engine&lt;br /&gt;
&lt;br /&gt;
The currently supported combinations of I/O and Core configurations are &lt;br /&gt;
&lt;br /&gt;
=== SS - Mod1=SingleEnded Mod2=SingleEnded&amp;lt;span id=&amp;quot;SS&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Single Ended 16-bit 2.5V TTL interface - up to 125MHz or 250Mby/s.&lt;br /&gt;
These interfaces pass clock and data to/from the SOC.&lt;br /&gt;
&lt;br /&gt;
=== HH - Mod1=HyperTransport Mod2=HyperTransport &amp;lt;span id=&amp;quot;HH&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
HyperTransport packetized DDR LVDS interface - up to 250MHz or 500Mby/s.&lt;br /&gt;
These interfaces do not use clocks from the SOC.&lt;br /&gt;
&lt;br /&gt;
=== SH - Mod1=SingleEnded Mod2=HyperTransport &amp;lt;span id=&amp;quot;SH&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Mix of SingleEnded and HyperTransport Module interfaces.&lt;br /&gt;
&lt;br /&gt;
=== SSN - Mod1=SingleEnded Mod2=SingleEnded Core=Noop&amp;lt;span id=&amp;quot;SSN&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Noop cores replace the tuner cores.&lt;br /&gt;
&lt;br /&gt;
=== HHN - Mod1=HyperTransport Mod2=HyperTransport Core=Noop&amp;lt;span id=&amp;quot;HHN&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Noop cores replace the tuner cores.&lt;br /&gt;
&lt;br /&gt;
=== HHF - Mod1=HyperTransport Mod2=HyperTransport Core=Filter&amp;lt;span id=&amp;quot;HHF&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Filter cores replace the tuner cores.&lt;br /&gt;
&lt;br /&gt;
To load the filter coefficients, use&lt;br /&gt;
 PICD/PORT=CORE&amp;lt;n&amp;gt; LOADFC &amp;lt;card&amp;gt; &amp;lt;filter file&amp;gt;&lt;br /&gt;
where &amp;lt;n&amp;gt; is 1 or 2, and the filter file is a midas file in the aux path.&lt;br /&gt;
&lt;br /&gt;
Or, the operational flag FFIR=&amp;lt;fname&amp;gt;, if the filter tap file &amp;lt;fname&amp;gt; is &lt;br /&gt;
already in the DAT directory of the ICE tree.&lt;br /&gt;
&lt;br /&gt;
Each filter engine currently has 32 reusable MACCs running at 132 MHz.&lt;br /&gt;
If the coefficients are symmetric, it cuts the necessary MACCs in half.&lt;br /&gt;
Up to 16 coefficients can be stored at each MACC for a maximum 512 tap filter.&lt;br /&gt;
&lt;br /&gt;
This engine can therefore run:&lt;br /&gt;
 A 63 tap symmetric filter at 132MHz.&lt;br /&gt;
 A 64 tap non-symmetric filter at 64MHz.&lt;br /&gt;
 A 127 tap symmetric filter at 64MHz.&lt;br /&gt;
 A 127 tap non-symmetric filter at 32MHz.&lt;br /&gt;
 A 127 tap decimate by 2 Hilbert at 250MHz.&lt;br /&gt;
&lt;br /&gt;
For information on the filter engine setup, use VERBOSE=2 flag when loading the filter.&lt;br /&gt;
&lt;br /&gt;
=== HHTF - Mod1=HyperTransport Mod2=HyperTransport Core1=Tuner Core2=Filter&amp;lt;span id=&amp;quot;HHTF&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
For High bandwidth input streams up to 250MHz, Core2 can implement a 250MHz hilbert with&lt;br /&gt;
decimate by 2 to feed the Core1 Tuner with 125MHz complex data.&lt;br /&gt;
&lt;br /&gt;
=== HHTQ - Mod1=HyperTransport Mod2=HyperTransport Core1=Tuner Core2=QuickTuner&amp;lt;span id=&amp;quot;HHTQ&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
For 1GSPS tuner functions using the A2DR11 or TGSDDS input modules, the high bandwidth &lt;br /&gt;
signals are routed through a pre-filter on the B side before final filtering by a standard &lt;br /&gt;
tuner core on the A side.  The special routing is handled automatically by the libraries&lt;br /&gt;
if the correct rates are specified with this core loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The SoC code is programmed into the FPGA's boot EPROM with the flash utility.  &lt;br /&gt;
&lt;br /&gt;
For example,        PICDRIVER LOADFLASH PIC1 ICEPIC5_SSN&lt;br /&gt;
&lt;br /&gt;
This takes roughly three minutes.  Take note of the verification info.&lt;br /&gt;
If this reads back with zero errors, you are ready to reboot the card.&lt;br /&gt;
&lt;br /&gt;
If there are errors, do NOT power off or reboot.  Repeat the loadflash&lt;br /&gt;
until it returns with zero errors. If the card is rebooted with a bad&lt;br /&gt;
flash, please call the factory.  You will have to return it or use a &lt;br /&gt;
2nd PIC5+ card to reload the dead card's flash.  This involves a standard &lt;br /&gt;
14 pin JTAG cable with special jumper settings.&lt;br /&gt;
&lt;br /&gt;
Linux systems can use a live reboot feature to reload the SOC.&lt;br /&gt;
&lt;br /&gt;
For example,        PICDRIVER SET PIC1 FLASH 999 &lt;br /&gt;
&lt;br /&gt;
All other systems will need to power down the machine, and reboot.&lt;br /&gt;
To verify the reboot use PICDRIVER DETECT.  &lt;br /&gt;
The output will look something like&lt;br /&gt;
&lt;br /&gt;
 nM&amp;gt; pic detect&lt;br /&gt;
 CARD &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;0 Type=PIC4  (Up/Idle)&lt;br /&gt;
 Interface  Type=PCI ChipRev=9 Bus=32b Clk=33MHz  Endian=0 Driver=317&lt;br /&gt;
 Modules    Iom1=UNKNOWN Iom2=UNKNOWN&lt;br /&gt;
 FirmWare   Proc=318 Ioc=OOW&lt;br /&gt;
 CARD &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;1 Type=PIC5  (Up/Idle)&lt;br /&gt;
 Interface  Type=PCI ChipRev=3 Bus=64b Clk=66MHz+ Endian=0 Driver=317&lt;br /&gt;
 Modules    Iom1=NONE Iom2=NONE Pm1=DTDMX:DEF  Pm2=DTDM:DEF&lt;br /&gt;
 FirmWare   Proc=318 Ioc=II   SoC Ver=318 Sig=HH&lt;br /&gt;
&lt;br /&gt;
The Soc version and signature line should show the new load.&lt;br /&gt;
&lt;br /&gt;
Each SoC flash for an ICE release has an associated CRC value. &lt;br /&gt;
[[ICE_Help_RELEASE|See the release]] notes section on NON-VOLATILE for the procedure to&lt;br /&gt;
validate the currently loaded flash CRC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
[[Category:ICE_Help]]&lt;/div&gt;</summary>
		<author><name>ConvertBot</name></author>
		
	</entry>
</feed>