ICE Help KEYS
Summary: Key names for accessing parameters
This file covers all of the keyed parameters that one can set or get using the pic_getKey() and pic_setKey() routines. Unless specifically noted, all keys are of type int_4.
From Midas these can be called with
PICDRIVER GET <alias> <key> <label>
and
PICDRIVER SET <alias> <key> <value>
From C, Fortran, or Java code, the include file key name defines are formed by prepending KEY_ to the name of the key.
When an index field is required, it is infered from the /PORT=xxx switch or PORT=xxx flag in the card alias. If the PORT is not specified, the /DMAC=n switch provides the index. For an index that does not relate to a DMA channel, such as the TEMP key, use the negative of the index. This bypasses the DMA channel lookup for a port index.
Many of these functions are also supported as flags in the configuration string or /FLAGS=(string) switch. See PIC HELP FLAGS.
The currently supported keys are:
Contents
- 1 RATE - Input sample rate in Hz
- 2 FREQ - Tuned frequency/nyquist (double)
- 3 NFREQ - Return the nearest actual tuned frequency/nyquist available.
- 4 DFREQ - Channel spacing for tuner banks frequency/nyquist (double)
- 5 DEC - Tuner decimation (or frame decimation 1-1024)
- 6 NDEC - Return the nearest actual tuner decimation available
- 7 GAIN - Tuner gain in dB (must be set after loading user filter coefficients)
- 8 EMT - Envelope Measure and Track.
- 9 ADLM - A2D Load Monitor of signal at input of A2D.
- 10 MGAIN - Module gain in dB when module has adjustable gain block (typically analog)
- 11 MFREQ - Module center frequency in Hz when module is able to perform a real-to-complex conversion and shift
- 12 OVSR - Tuner over-sampling rate
- 13 RATIO - Tuner resampler ratio (resamplerOutputRate/tunerOutputRate) (double)
- 14 NRATIO - Return the nearest actual tuner resampler ratio available (double)
- 15 FRAME - Frame size (32 <= 2**N <= 512K) for IOC framed decimation (PIC3 and earlier)
- 16 PKTLEN - Packet length for tuner bank frames in bytes
- 17 CHAIN - Set DMA chain pointer to specified index (or address)
- 18 ACTIVE - Reports number of active DMA channels on card, -1 if not reset, -2 if locked
- 19 DELAY - Delay in some applications (in samples)
- 20 TCMODE - TimeCode Mode index (debug)
- 21 TCOFF - TimeCode offset in Seconds Of Year for applicable output modules.
- 22 RFFREQ - RF Module frequency in MHz (double)
- 23 RFBW - RF Module bandwidth in MHz (double)
- 24 RFATTN - RF Module attenuation in dB
- 25 RFGAIN - RF Module gain in dB
- 26 RFOPTS - RF Module options mask (See FLAGS)
- 27 RFPWR - RF Module input power measurement in dB
- 28 FLGBSET - Set specified bits in the common flags
- 29 FLGBCLR - Clear specified bits in the common flags
- 30 TFLGBSET - Set specified bits in the tuner flags
- 31 TFLGBCLR - Clear specified bits in the tuner flags
- 32 FLAG - Returns the FLAG field of the indexed DMA structure.
- 33 DRVFLG - Returns the FLAG field of the driver status page.
- 34 IPVLAN - Set the IP VLAN address of an ethernet module
- 35 IPADDR - Set the IP address of an ethernet module
- 36 IPCONN - Connect to a particular IP multicast port
- 37 IPDISC - Disconnect from a particular IP multicast port
- 38 PKTHDR - Return the contents of the last ICE/SDDS packet header.
- 39 SEQERR - Return the running count of SDDS sequence gaps
- 40 SEQFILL - Return the running count of SDDS sequence gaps filled by I/O processor.
- 41 ALG - Active algorithm (by index)
- 42 ARGS - Algorithm arguments offset
- 43 CLKI - Invert the clock
- 44 MSBI - Invert the Most Significant Bit
- 45 BIT - Bit# for bit serial acquisition (0,1,4,15)
- 46 BITS - Number of bits for acquisition (1,8,16)
- 47 CTYPE - Card type (2=PIC2 3=PIC3 4=PIC4 8=MBT2 9=MBT3 12=SLIC3)
- 48 PTYPE - Port type (1=SERIAL 2=LINK 3=MODULE 4=TUNER)
- 49 PINDEX - Port index 1,2,3,4.
- 50 MTYPE - IO module type (-1=A2D 1=D2A -2=E2D 2=D2E etc.
- 51 MTYPE1 - IO module#1 type
- 52 MTYPE2 - IO module#2 type
- 53 PMTYPE - Processor module type (1=DTDM 2=DTDMX etc.
- 54 PMTYPE1 - Processor module#1 type
- 55 PMTYPE2 - Processor module#2 type
- 56 PMINDEX - Processor module index (active selection) 0=PIC 1=PM1 2=PM2
- 57 MCHNS - Maximum number of tuner channels on board 0-24
- 58 CHNS - Number of usable tuner channels 0-24 (uses CPC setting)
- 59 CHAN - Select channel in a tuner bank.
- 60 CPC - Channels per chip to use 1|2|4 (graychips only)
- 61 TCINC - Adjacent tuner channel increment (to next tuner on same side)
- 62 IOCTYPE - Type of current IOC load module (i.
- 63 CBUFSZ - Default buffer size on card for specified port
- 64 STATUS - Current card DMA, ROUTE, and SYSTEM status
- 65 ROUTE - Current FPGA routing register
- 66 DETECT - Auto detect the current card configuration where the dmac argument is the device number or -1 for all.
- 67 PRCCLK - PRoCessor clock rate
- 68 IOCCLK - IO Controller chip clock rate
- 69 ICLK - IOC Internal divide clock rate (MUXCLK=I)
- 70 PCLK - Programmable clock (MUXCLK=P)
- 71 CCLK - Motherboard socketed crystal rate (MUXCLK=C)
- 72 MCLK - Measurement of clock rate of the specified clock configuration.
- 73 PCICLK - PCI clock rate (33|66|100|133) MHz
- 74 PCIBUS - PCI bus width (32|64) bits
- 75 PCIBW - PCI bus bandwidth in Mby/s (theoretical)
- 76 PCIREV - PCI controller chip EPROM rev
- 77 DRIVER - ICE driver version running on this machine
- 78 VERSION - ICE software version loaded on this card
- 79 FPGAREV - ICE FPGA firmware versions loaded on this card
- 80 FPGASIG - ICE FPGA firmware signature loaded on this card
- 81 RSTIME - get time of last reset
- 82 PFIFO - PCI Side FiFo (debug)
- 83 AFIFO - Card/Adon Side FiFo (debug)
- 84 IOC - IOC registers
- 85 IOCIOM - IOC IO Module control register
- 86 IOCALG - IOC algorithm register offset
- 87 IOCRAM - IOC RAM register offset
- 88 MOD - IO Module register offset
- 89 CORE - Processing core register offset.
- 90 APP - Application register offset.
- 91 TEMP - Get temperature measurements from port.
- 92 SYSMON - Get temperature/voltage measurements from port.
- 93 TPOE - Test port output enable on series 5+ cards
- 94 TPD - Test port data
- 95 TPDX - Test port data change
- 96 TPSR - Test port status register
- 97 JTAGPORT - JTAG cable debug port assignment on series 5+ cards
- 98 MPCIO - Multi-Purpose Chip I/O register.
- 99 CUID - get the UID Chip 8-byte value
- 100 HWREV - get the ICE Hardware Revision 4-byte value
- 101 EVCNT - get the 2 16-bit event counters
- 102 RTCLK - gets the 8-byte RealTime Clock value.
- 103 GPS - gets the time and position from an ICE-GPS IO Module
- 104 DUMP - Dumps debug info to the screen for specific cores and modules.
- 105 MGTDUMP - Dumps debug info to the screen for specific GigaBit Transceivers.
RATE - Input sample rate in Hz
Input sample rate in Hz
FREQ - Tuned frequency/nyquist (double)
Tuned frequency/nyquist (double)
NFREQ - Return the nearest actual tuned frequency/nyquist available.
Return the nearest actual tuned frequency/nyquist available. Use only with pic_getkey and prefill the value with the desired amount.
DFREQ - Channel spacing for tuner banks frequency/nyquist (double)
Channel spacing for tuner banks frequency/nyquist (double)
DEC - Tuner decimation (or frame decimation 1-1024)
Tuner decimation (or frame decimation 1-1024)
NDEC - Return the nearest actual tuner decimation available
Return the nearest actual tuner decimation available Use only with pic_getkey and prefill the value with the desired amount.
GAIN - Tuner gain in dB (must be set after loading user filter coefficients)
Tuner gain in dB (must be set after loading user filter coefficients)
EMT - Envelope Measure and Track.
Envelope Measure and Track. of the magnitude of the high byte of the input samples. This is an estimate of the current loading of signal from 0 to 128. A vaule of 75 to 100 is reasonable loading for an A2D in most environments. Setting this key adjusts the parameters for the EMT function as described in the EMT flag help file. This function is performed on the base card so it can be used behind analog or digital modules.
ADLM - A2D Load Monitor of signal at input of A2D.
A2D Load Monitor of signal at input of A2D.
MGAIN - Module gain in dB when module has adjustable gain block (typically analog)
Module gain in dB when module has adjustable gain block (typically analog)
MFREQ - Module center frequency in Hz when module is able to perform a real-to-complex conversion and shift
Module center frequency in Hz when module is able to perform a real-to-complex conversion and shift
OVSR - Tuner over-sampling rate
Tuner over-sampling rate
RATIO - Tuner resampler ratio (resamplerOutputRate/tunerOutputRate) (double)
Tuner resampler ratio (resamplerOutputRate/tunerOutputRate) (double) If using PRESAMP, this must be set on dmac=0 before the call to N=pic_ioport(...) If using RESAMP, this must be set on dmac=N after the call to N=pic_ioport(...) where N is the dma channel of the tuner of interest.
NRATIO - Return the nearest actual tuner resampler ratio available (double)
Return the nearest actual tuner resampler ratio available (double) Use only with pic_getkey and prefill the value with the desired amount. Graychips use a 26 bit modulo register. FPGA tuner uses 28 bit with M/N phase reset circuit.
FRAME - Frame size (32 <= 2**N <= 512K) for IOC framed decimation (PIC3 and earlier)
Frame size (32 <= 2**N <= 512K) for IOC framed decimation (PIC3 and earlier) Frame size (256 <= N*256 <= 512K) for IOC framed decimation (PIC4 and MBT4) Frame size (64 <= N*64 <= 512K) for IOC framed decimation (PIC5 and later)
PKTLEN - Packet length for tuner bank frames in bytes
Packet length for tuner bank frames in bytes
CHAIN - Set DMA chain pointer to specified index (or address)
Set DMA chain pointer to specified index (or address) Get the next chain pointer index
ACTIVE - Reports number of active DMA channels on card, -1 if not reset, -2 if locked
Reports number of active DMA channels on card, -1 if not reset, -2 if locked
DELAY - Delay in some applications (in samples)
Delay in some applications (in samples)
TCMODE - TimeCode Mode index (debug)
TimeCode Mode index (debug) The current supported timecode modes are:
TCM_OFF 0 TCM_CPU 1 TCM_ZTC 2 TCM_SDN 3 TCM_SMS 4 TCM_DTL 5 TCM_IRB 6 TCM_SDD 7 TCM_ICE 8 TCM_VRT 9 TCM_FILE 10
TCOFF - TimeCode offset in Seconds Of Year for applicable output modules.
TimeCode offset in Seconds Of Year for applicable output modules.
RFFREQ - RF Module frequency in MHz (double)
RF Module frequency in MHz (double)
RFBW - RF Module bandwidth in MHz (double)
RF Module bandwidth in MHz (double)
RFATTN - RF Module attenuation in dB
RF Module attenuation in dB
RFGAIN - RF Module gain in dB
RF Module gain in dB
RFOPTS - RF Module options mask (See FLAGS)
RF Module options mask (See FLAGS)
RFPWR - RF Module input power measurement in dB
RF Module input power measurement in dB
FLGBSET - Set specified bits in the common flags
Set specified bits in the common flags
FLGBCLR - Clear specified bits in the common flags
Clear specified bits in the common flags
TFLGBSET - Set specified bits in the tuner flags
Set specified bits in the tuner flags
TFLGBCLR - Clear specified bits in the tuner flags
Clear specified bits in the tuner flags
FLAG - Returns the FLAG field of the indexed DMA structure.
Returns the FLAG field of the indexed DMA structure.
DRVFLG - Returns the FLAG field of the driver status page.
Returns the FLAG field of the driver status page. This status is a bit mask of 10MHz, 1PPS, and IRIG signal status on various ports on a card.
IPVLAN - Set the IP VLAN address of an ethernet module
Set the IP VLAN address of an ethernet module
IPADDR - Set the IP address of an ethernet module
Set the IP address of an ethernet module
IPCONN - Connect to a particular IP multicast port
Connect to a particular IP multicast port
IPDISC - Disconnect from a particular IP multicast port
Disconnect from a particular IP multicast port
PKTHDR - Return the contents of the last ICE/SDDS packet header.
Return the contents of the last ICE/SDDS packet header. See ICEROOT/inc/packets.h for a mapping of this 64 byte data structure. If the VERBOSE flag is set when retrieving this key, a hex dump will print out.
SEQERR - Return the running count of SDDS sequence gaps
Return the running count of SDDS sequence gaps
SEQFILL - Return the running count of SDDS sequence gaps filled by I/O processor.
Return the running count of SDDS sequence gaps filled by I/O processor. These are not accounted as sequence errors by SEQERR.
ALG - Active algorithm (by index)
Active algorithm (by index)
ARGS - Algorithm arguments offset
Algorithm arguments offset
CLKI - Invert the clock
Invert the clock
MSBI - Invert the Most Significant Bit
Invert the Most Significant Bit
BIT - Bit# for bit serial acquisition (0,1,4,15)
Bit# for bit serial acquisition (0,1,4,15)
BITS - Number of bits for acquisition (1,8,16)
Number of bits for acquisition (1,8,16)
CTYPE - Card type (2=PIC2 3=PIC3 4=PIC4 8=MBT2 9=MBT3 12=SLIC3)
Card type (2=PIC2 3=PIC3 4=PIC4 8=MBT2 9=MBT3 12=SLIC3)
PTYPE - Port type (1=SERIAL 2=LINK 3=MODULE 4=TUNER)
Port type (1=SERIAL 2=LINK 3=MODULE 4=TUNER)
PINDEX - Port index 1,2,3,4.
Port index 1,2,3,4.
MTYPE - IO module type (-1=A2D 1=D2A -2=E2D 2=D2E etc.
IO module type (-1=A2D 1=D2A -2=E2D 2=D2E etc.
MTYPE1 - IO module#1 type
IO module#1 type
MTYPE2 - IO module#2 type
IO module#2 type
PMTYPE - Processor module type (1=DTDM 2=DTDMX etc.
Processor module type (1=DTDM 2=DTDMX etc.
PMTYPE1 - Processor module#1 type
Processor module#1 type
PMTYPE2 - Processor module#2 type
Processor module#2 type
PMINDEX - Processor module index (active selection) 0=PIC 1=PM1 2=PM2
Processor module index (active selection) 0=PIC 1=PM1 2=PM2
MCHNS - Maximum number of tuner channels on board 0-24
Maximum number of tuner channels on board 0-24
CHNS - Number of usable tuner channels 0-24 (uses CPC setting)
Number of usable tuner channels 0-24 (uses CPC setting)
CHAN - Select channel in a tuner bank.
Select channel in a tuner bank.
CPC - Channels per chip to use 1|2|4 (graychips only)
Channels per chip to use 1|2|4 (graychips only)
TCINC - Adjacent tuner channel increment (to next tuner on same side)
Adjacent tuner channel increment (to next tuner on same side)
IOCTYPE - Type of current IOC load module (i.
Type of current IOC load module (i.
CBUFSZ - Default buffer size on card for specified port
Default buffer size on card for specified port
STATUS - Current card DMA, ROUTE, and SYSTEM status
Current card DMA, ROUTE, and SYSTEM status On ICEPODs setting this uses the lower 8 bits to conditionally illuminate the 8 front panel LEDs
ROUTE - Current FPGA routing register
Current FPGA routing register
DETECT - Auto detect the current card configuration where the dmac argument is the device number or -1 for all.
Auto detect the current card configuration where the dmac argument is the device number or -1 for all.
PRCCLK - PRoCessor clock rate
PRoCessor clock rate
IOCCLK - IO Controller chip clock rate
IO Controller chip clock rate
ICLK - IOC Internal divide clock rate (MUXCLK=I)
IOC Internal divide clock rate (MUXCLK=I)
PCLK - Programmable clock (MUXCLK=P)
Programmable clock (MUXCLK=P)
CCLK - Motherboard socketed crystal rate (MUXCLK=C)
Motherboard socketed crystal rate (MUXCLK=C)
MCLK - Measurement of clock rate of the specified clock configuration.
Measurement of clock rate of the specified clock configuration. It cannot be executed on a running port.
PCICLK - PCI clock rate (33|66|100|133) MHz
PCI clock rate (33|66|100|133) MHz
PCIBUS - PCI bus width (32|64) bits
PCI bus width (32|64) bits
PCIBW - PCI bus bandwidth in Mby/s (theoretical)
PCI bus bandwidth in Mby/s (theoretical)
PCIREV - PCI controller chip EPROM rev
PCI controller chip EPROM rev
DRIVER - ICE driver version running on this machine
ICE driver version running on this machine
VERSION - ICE software version loaded on this card
ICE software version loaded on this card
FPGAREV - ICE FPGA firmware versions loaded on this card
ICE FPGA firmware versions loaded on this card
dmac=0 Base card SoC firmware version (via flashable EPROM) 1 I/O module #1 firmware version 2 I/O module #2 firmware version 7 Processor module #1 firmware version 8 Processor module #2 firmware version
FPGASIG - ICE FPGA firmware signature loaded on this card
ICE FPGA firmware signature loaded on this card
dmac=0 Base card SoC firmware signature (via flashable EPROM) 1 I/O module #1 firmware signature 2 I/O module #2 firmware signature 7 Processor module #1 firmware signature 8 Processor module #2 firmware signature
RSTIME - get time of last reset
Time of last card reset (index=0) or I/O port reset (index=1|2) in J1950 seconds. A card reset also updates the two I/O port registers, but the individual I/O ports may be reset at any time without a full card reset.
PFIFO - PCI Side FiFo (debug)
PCI Side FiFo (debug)
AFIFO - Card/Adon Side FiFo (debug)
Card/Adon Side FiFo (debug)
IOC - IOC registers
IOC registers
IOCIOM - IOC IO Module control register
IOC IO Module control register
IOCALG - IOC algorithm register offset
IOC algorithm register offset
IOCRAM - IOC RAM register offset
IOC RAM register offset
MOD - IO Module register offset
IO Module register offset
CORE - Processing core register offset.
Processing core register offset. Cores are signal processing algorithms implemented in FPGA code. Core registers are byte addressable but always 4 bytes wide. To address a register, add the bytes offset to the KEY_CORE parameter. The window is 32Kby wide.
APP - Application register offset.
Application register offset. Apps are signal processing algorithms implemented in PPC|SHARC processor code. Application registers are byte addressable but always 4 bytes wide. To address a register, add the bytes offset to the KEY_APP parameter. The window is 4Kby wide.
TEMP - Get temperature measurements from port.
Get temperature measurements from port. This key retrieves temperature data from the System Monitor of various FPGAs attached to the pic board. Use the index field as follows:
0 - the mainboard (PIC7+) 1,2 - the IO Modules 5 - the board temp (POD6+) 7,8 - the Processor Modules
The temperature is returned in degrees Celsius.
SYSMON - Get temperature/voltage measurements from port.
Get temperature/voltage measurements from port.
This key retrieves data from the System Monitor of various FPGAs attached to the pic board. Use the index field as follows:
0 - the mainboard (PIC7+) 1,2 - the IO Modules 7,8 - the Processor Modules
The verbose flag causes text output to be displayed.
TPOE - Test port output enable on series 5+ cards
A runtime method for enabling the test port. See help FLAGS TPOE
TPD - Test port data
A runtime method for reading the current contents of the test port. The default TPOE=1 test port selects the auxiliary module. The current contents of this test vector are
bit=0 MGO - master enable of a port, used to trigger another port or card =1 XSYNCI - the input of the eXternal sync port (needs DC coupled input jumpers 1&3) =2 TSYNCI - the input trigger bit, usually bit0 of IOModule 1 =3 OPPMS - a one pulse per millisecond timer =4 PWR5V - enable for the IO Module's 5V power brick =5 TBD =6 TBD =7 PCREF - 10MHz reference for the programmable clock
TPDX - Test port data change
Reads the whether there has been a low to high transition on each bit in the test vector since the last read of TPD or TPDX.
TPSR - Test port status register
Read and/or write the 8-bit Test Port Status Register in the testport FPGA module. This enables user control of the status LEDs on an Ice-Pod. Valid bitmask is 0-255. Set to -1 to disable status register output (reenables the silon LED mode on Ice-Pods)
JTAGPORT - JTAG cable debug port assignment on series 5+ cards
A runtime method for connecting the main board JTAG cable connector to one of the I/O or Processor module sites. This allows a developer to use chipscope or other JTAG base debuggers on the module. Port numbers are:
1 - I/O Module 1 2 - I/O Module 2 7 - Processor Module 1 8 - Processor Module 2
The include file names are formed by prepending KEY_.
MPCIO - Multi-Purpose Chip I/O register.
Multi-Purpose Chip I/O register. This register controls the 4-bit multi-purpose chip I/O bus. The bottom 4 bits are the data values. The upper 4-bits are their respective output enables. On the ICEPOD-6 the bits are as follows: 0. UID Chip clk 1. UID Chip data 2. USB 0 data/power enable 3. USB 1 data/power enable
CUID - get the UID Chip 8-byte value
Returns a unique 8-byte value for this hardware.
HWREV - get the ICE Hardware Revision 4-byte value
Returns a 4-byte board revision for this hardware.
/dmac=-5 Crossbar /dmac=-11 PM 1 /dmac=-12 PM 2 /dmac=0 Board EPROM ID
EVCNT - get the 2 16-bit event counters
Returns a 2 16 bit event counters packed into 1 4-byte value.
RTCLK - gets the 8-byte RealTime Clock value.
Returns an 8-byte value for the RealTime Clock chip if battery backup is enabled.
GPS - gets the time and position from an ICE-GPS IO Module
Returns an array of 6 doubles as (time,lat,lon,alt,status,nos) where time is in SecondsOfYear, lat and lon are in degrees, and altitude is in meters. Status is 0=GPS off, 6=GPS track, and nos is the number of satellites in view.
DUMP - Dumps debug info to the screen for specific cores and modules.
Dumps debug info to the screen for specific cores and modules.
Some modules, including the GPS, output even more info when accompanied by the VERBOSE flag. The GPS module also waits for the next one-PPS to occur so it can be put in a forall loop as a status display.
All internal cores have a predifined set of registers that will dump to the screen as well. Parameter #0 is the core signature, a 4-byte ascii code for the algorithm. Parameter #7 is the clockrate the core was compiled with. All other parameters are core specific.
Use /CORE=n on the picdriver command to select which core to dump.
(11-14 for PM1, 21-24 for PM2, 41-44 for PM0 cores)
There are a special set of flags to control the register dump:
CPN=n Number of registers to dump (def=8) CPW=n Width of registers in bytes (def=4) CPO=n Offset of first register (def=0) CPS=n Stride between registers (def=4)
MGTDUMP - Dumps debug info to the screen for specific GigaBit Transceivers.
Dumps debug info to the screen for specific GigaBit Transceivers. If dmac>0 uses dump_mgt, if dmac<0 uses dump_rio
dmac>0: 0=CB-PCIe 10=CB-PMs 11=PM1-CB 12=PM2-CB dmac<0: 10=CB-PMs 11=PM1-CB 12=PM2-CB