ICE Help RELEASE

From ICE Enterprises
Jump to navigation Jump to search
Go to the full list of ICE Help pages.

Summary: Release notes for the current version

A listing of the release notes for the current ICE Option Tree release.

NEW_FEATURES - New Features (this release only)

Version 3.9.6 adds SNTR7, D2RF, A2DM18, and LB2D-M3 IO Modules
Version 3.9.6 adds PIC7 card
Version 3.9.6 adds multicard PIC# syntax in Nextmidas
Version 3.9.6 adds Kernel Allocated Memory mode to Linux driver
Version 3.9.8 adds Web-kit interface to SNAPAPP 
Version 3.9.8 adds support for PIC8, POD8, and K8M
Version 3.9.8 adds support for D2AWG-M3
Version 3.9.8 adds support for raw network cards by SNAPPER
Version 3.9.8 adds segmented archiving or TIVO recorder functionality

BUGS_FIXED - Bugs fixed (current release only)

Version 3.9.8 fixes performance issues in D2RF
Version 3.9.8-20 fixes timecode issues with gapped data in segmented archiving 
Version 3.9.8-20 fixes no room for TC_PREC in header for archive files 
Version 3.9.8-20 fixes VITA-49 packet output mode

WHAT_MIGHT_BREAK - Possible gotchas (current release only)

Other discussions pertinent to all ICE releases.

NONVOLATILE - Non-Volatile EEPROM Signatures for Series-5/6 Cards

The Series-5+ cards use a reprogrammable Flash to allow field upgrades to the PCI interface. To insure the EEPROM still contains only the baseline code from ICE, a procedure is provided to read-back the EEPROM contents and calculate its 32-bit CRC.

See HELP on CRCs to read the as shipped EEPROM CRCs for this release.

To readback the CRC from a midas account, run

nM> PICD CHECKFLASH <device>

From outside Midas, run the test function

>$ICEROOT/test/test pic # checkflash

where # is the 0 based index of the ICE cards in the system. See the $ICEROOT/test/readme.txt file to build the test executable (if not previously built).

When upgrading to a new software release, the EPROM will need to be flashed with the new release. See the HELP on SOC for more information on the correct download for your card.

To program the flash with newer code from a midas account, run

nM> PICD LOADFLASH <device> <loadfile>

From outside Midas, run

>$ICEROOT/test/test pic <#> loadflash <loadfile>

where <loadfile> is an appropriate device file, like ICEPIC5_SS or ICEPIC5_HHF, and <#> is the zero-based index of the desired card on this machine's PCI bus. Make sure ICEROOT is defined properly. Files are read from $ICEROOT/dat/ .

You need to reboot the system for the card to load the new FPGA code. Make sure the procedure returns zero errors before rebooting your system. If you reboot with errors, the card will be lost to the PCI bus, and you will need to send it back to the factory.

COMPATIBILITY - Compatibility Guidelines

To install as an X-Midas option tree, ICE320 requires XM364 or greater. To install as a NeXtMidas option tree, ICE320 requires NXM250 or greater.

On systems using ICE310 or later, the drivers and libraries have a DETECT function to display all of the cards on a system and their pertinent version information.

From XMidas or NeXtMidas, use "PICD DETECT " or From the test subdirectory use "./test detect"

The output on a computer looks like

CARD #0 Type=PIC4 (Up/Active) Ndmac=1

Interface  Type=PCI ChipRev=9 Bus=32b Clk=33MHz  Endian=4 Driver=317
FirmWare   Proc=318 Ioc=IIX

CARD #1 Type=PIC5 (Up/Idle)

Interface  Type=PCI ChipRev=4 Bus=64b Clk=66MHz+ Endian=0 Driver=317
Modules    Iom1=SDDSXDr5 Iom2=SDDSXDr5 Pm1=DTDMX:DEF  Pm2=NONE:
FirmWare   Proc=318 Ioc=II   SoC Ver=318 Sig=HH

CARD #2 Type=MBT4 (Down)

Interface  Type=PCI ChipRev=8 Bus=64b Clk=66MHz+ Endian=0 Driver=317
FirmWare

ICE option tree libraries are normally compatible with drivers from other revisions of the ICE tree. The known exceptions are

  1. On OSF, pre-283 drivers are not compatible with 283+ libraries, or the reverse.
    (i.e. pre-283 libraries need pre-283 drivers and 283+ libs need 283+ drivers)
  2. On Linux, pre-307 drivers do not support PCI memory above 2G
  3. Pre-310 drivers do not have the ability to query the driver version

The ICE driver does not change with each option tree rev. When a change occurs, it is stamped with the current option tree rev. The latest revs for each OS are

VMS     310
OSF     315
LNX     398
SOL     317
WIN     312
MAC     310
SGI     310
HPUX    313

ICE option tree libraries and drivers are normally compatible with all PCI firmware revs. The exceptions are

  1. Pre-306 libraries will fail self test #4 (FIFO) on PIC3/MBT3 cards with
    new V5 PCI firmware and all PIC4Ts due to changes in the FIFO pipelining.
    Normal DMA operations are NOT affected.

BIRTHDATE - Hardware / Software Compatibility

Cards are supported under versions on or after their birthdate.

PIC1  - Version 1xx 2/1998 retired at 215
PIC2  - Version 210 11/1998
MBT2  - Version 222 3/1999
MBT3  - Version 236 6/1999
PIC3T - Version 240 7/1999
PIC4T - Version 293 7/2001
PIC4X - Version 311 9/2001
MBT4  - Version 313 6/2003
PIC5  - Version 317 6/2005
PIC6  - Version 320 6/2008
PIC7  - Version 400 6/2014
PIC8  - Version 400 1/2017

Cards are only retired from option trees when necessary.

I/O Modules for series 2 cards (PIC2,MBT2) are not compatible with series 3 or 4 cards. I/O Modules for series 3 & 4 cards are interchangeable and are not compatible with series 5, 6, or 7 cards.. I/O Modules for series 5, 6, 7 & 8 cards (PIC5,PIC6,PIC7,PIC8) are interchangeable.


A listing of release notes for all previous versions of the ICE tree.

NEW_FEATURES_ALL - New Features (all previous releases)

Version 2.1.9 adds single channel input up to 70Mby/s.
Version 2.2.2 adds support for ICE-MBT2 cards.
Version 2.2.7 adds IOC code for E1 sync and demux via PICEXTRACT
Version 2.2.8 adds IOC code for E3/E2/E1 sync and demux via PICEXTRACT
Version 2.3.6 adds support for ICE-MBT3
Version 2.3.6 adds tuner oversampling / clock deglitch for ICE-PIC2 cards.
Version 2.3.6 adds user programmable filter support for ICE-MBT2 / ICE-MBT3
Version 2.4.0 adds spin/reload modes in SINKPIC
Version 2.4.0 adds ICE-PIC3 and improved ICE-MBT3 IOC code
Version 2.4.0 adds /GAINONLY and /DECONLY switches to PICDRIVER
Version 2.4.0 adds tuner oversampling on PIC2/PIC3/MBT2/MBT3
Version 2.4.4 adds support for the Windows OS (uses EGCS and WinRT)
Version 2.4.4 adds packet modes for mux/demux of multiple tuner channels
Version 2.5.2 adds scalar mode tuner output to PIC3T with better filters
Version 2.5.2 adds multi-channel mode to SOURCEPIC
Version 2.5.2 adds muxed clock source from Internal|eXternal|A|B|Crystal
Version 2.5.2 adds external sync support via the XSOE and XGO flags
Version 2.5.3 reallocated DMA channels to allow simultaneous 2 tuner
		and 2 high speed module transfers on PIC2Ts
Version 2.6.6 adds mode for 100Mby/sec acquisition on PIC3T
Version 2.6.6 adds support for CXD modules
Version 2.7.0 adds support for D2A modules
Version 2.7.0 adds support for the Silicon Graphics Operating System
Version 2.7.5 adds mode for 100Mby/sec mux channel for PIC3T/MBT3
Version 2.7.9 adds mode for 100Mby/sec single channel for PIC3T/MBT3
Version 2.7.9 adds DevIce class for Java apps and NeXtMidas primitives
Version 2.7.9 driver installation script mods for Digital Unix 5.0A
Version 2.8.1 auto detect input rate when checking TC for clock dropouts
Version 2.8.1 adds PICMEASURE to compute time diff between data packets
Version 2.8.3 new OSF driver scheme to force cleanup in multiuser env
Version 2.8.3 will also clear any corrupt UNIX semaphores in a pic_reset
Version 2.8.3 adds a C environment for user code on the SHARC
Version 2.8.4 adds MATLAB example script ice.m in the test area
Version 2.8.5 uses SHARC to speed up IOC and MOD Altera program loading
Version 2.8.7 adds frame decimation in IOC to reduce PCI BW for sparse PSDs
Version 2.8.7 adds internal algorithms for AM/FM/PM demodulators
Version 2.8.8 adds Windows-2000 drivers
Version 2.9.1 adds /TC=CPU mode for rough time stamping
Version 2.9.1 supports looping output data back through tuners on same side
Version 2.9.1 adds ICEPIC,DEVNO=n, syntax for OS independent config strings
Version 2.9.1 supports dec=1 on ICEPIC3 tuners, sharper filters with SFILT
Version 2.9.1 adds ICEPIC3 tuner gain in 1db inc (used to be 6db)
Version 2.9.1 allows negative tuning freqs (to get inverted spectra)
Version 2.9.1 adds clock dropout detection in IOC, flags as timecode problem
Version 2.9.3 adds support for the ICEPIC4 card
Version 2.9.4 increased max oversampling rate from 15 to 255
Version 2.9.8 adds auto clock source alg for IIX(mux) and IIV(VHS) modes
Version 2.9.8 adds automatic handling of "double clutch" time code
Version 2.9.9 adds routing of A side data to B side resources (ALT flag)
Version 2.9.9 adds PIC SNAP function for GUI based snapshot and archiving
Version 3.0.0 add PICTUNER macro for file-to-file tuning
Version 3.0.4 add setkeyl, setkeyd, getkeyl, and getkeyd for easy OO access
Version 3.0.4 add autodetect of kernel parameters for Linux driver install
Version 3.0.5 add byte/short/int swapping in PCI chip for BigEndian, etc.. 
Version 3.0.6 adds full 64bit/66Mhz In/Out on PIC4T cards.
Version 3.0.6 VHS mode (>80Mby) now works on Module 1, 2, muxed or both.
Version 3.0.6 adds NODE=name flag to support global config files
Version 3.0.7 adds Linux Driver support for 4G memory space and PowerPC
Version 3.0.7 adds independent tuner decimation (flag=ITDEC) on PIC4T
Version 3.0.8 adds tuner oversampling up to 101MHz on PIC4T cards
Version 3.0.8 adds decimate by 8 and 4 modes on PIC4 using CPC flag (12.5M BW)
Version 3.0.8 adds Lost Buffer status widgets to SOURCEPIC and SINKPIC
Version 3.0.8 adds Windows Driver support for 4G memory space 
Version 3.0.8 Linux driver uses new PCI interface for 2.4 kernels
Version 3.0.8 adds MUXCLK=D which is half rate of MUXCLK=C
Version 3.0.8 adds DEGLITCH flag to apply deglitch circuit on MUXCLK source
Version 3.0.8x adds SOURCEPIC concurrent snapshot/archive modes with timecode 
Version 3.0.9 adds Demod Algorithms for PIC4,MBT3,SLIC3 (was PIC3 only)
Version 3.0.9 adds SOURCEPIC ability to slave resources on same side of card
Version 3.0.9 adds enhanced ARCHIVING modes in snapper macro
Version 3.0.9 adds Linux driver mmap entry to eliminate need for kernel mod
Version 3.0.9 adds MUXCLK=D which is CCLK/N where n = 1 to 16
Version 3.1.0 adds download of CFIR coef on PIC4Ts through LOADFC
Version 3.1.0 adds run-time query of driver version and PIC DETECT function
Version 3.1.0 adds LOOP and LOOPIO picdriver functions for data chaining
Version 3.1.1 adds tuner AOVSR and decimation change while running on PIC4T
Version 3.1.1 adds server/client web based snapper macro under NeXtMidas
Version 3.1.3 adds support for the 32+ channel MBT4 card
Version 3.1.3 adds digital IRIG-B timecode (with opt 1PPS) on series-4 cards 
Version 3.1.3 adds driver for HPUX (by Bill Reece)
Version 3.1.3 adds support for SONET rev 2 I/O module 
Version 3.1.3 adds INP=n flag to make use of the ALT function easier
Version 3.1.3 adds EXTERNAL=n no-conflict algorithm buffers on PIC4
Version 3.1.4 adds fractional digital resampling on PIC4T and MBT4 tuner chip outputs
Version 3.1.4 adds support for SDDS packet input and SDDS timecode handlers
Version 3.1.4 adds clock delay feature to adjust for skewed input clocks. See KEY_CLKDLY.
Version 3.1.4 adds NODITHER and 20-bit data output to PIC4/MBT4 tuners for precision phase meas.
Version 3.1.4 adds external 10MHz reference for MUXCLK=P programmable clock (1-101MHz) 
Version 3.1.5 converts to NeXtMidas formulation of help and html documentation
Version 3.1.5 adds /TC=CPUxP for NTP locked CPUs with an external 1PPS to the ICE Card
Version 3.1.6 adds support for 2.6+ linux kernels (includes IA64 platforms)
Version 3.1.6 adds ignore of NOCLOCK time code errors where appropriate. See the OKNC flag.
Version 3.1.6 adds VLAN support for SDDS modules.  See the IPVLAN flag.
Version 3.1.7 adds support for 2.6 linux kernels (SUSE-92|93 and RHE-40)
Version 3.1.7 adds support for the ICE-PIC5.
Version 3.1.7 adds support for Bank of Tuners and Fast Tuner Transforms (FTTs).
Version 3.1.7 adds external site reference for MUXCLK=P. See flag PREFX.
Version 3.1.7 extends DTDM tuner clock rate up to 110MHz
Version 3.1.8 adds circuit to ignore 1PPS trailing edge noise from lousy GPS units
Version 3.1.8 adds PFAT test for PIC5 cards
Version 3.1.8 adds RXTCBSWAP flag for SDDS tape playback with timecode on bit 3
Version 3.1.8 adds tuning of sinkpic's throttled rate using /TRATE switch
Version 3.1.8 adds pre-trigger capture on PIC5 (0 to 15 samples)
Version 3.1.8 adds VERBOSE widget on SOURCEPIC for in-system application debug
Version 3.1.8 adds TimeCode calibration for resampled tuner paths
Version 3.1.8 adds handlers in PIC5 for SDDS or embedded SDN0|1|3|4 timecode in SDDS packets
Version 3.1.8 adds timestamp of card and I/O port resets (see RSTIME key)
Version 3.1.8 adds wideband resampler for PIC5 
Version 3.1.9 adds 32MHz BW tuner mode on PIC5 (decimate by 2 at up to 128MHz input)
Version 3.1.9 extends PIC5 P-clk upper limit from 120 to 150 MHz
Version 3.1.9 adds fractional (N/M) resampler (.5->4)to PIC5 tuner (up to 32MHz BW).
Version 3.1.9 adds programmable CFIR(21|31), PFIR(63|127), and RFIR(20480) tap filters for PIC5 tuner.
Version 3.1.9 adds SDDS packet sequence check for streams with or without parity packets (key=SEQERR)
Version 3.1.9 adds handlers in series 4 cards for SDN timecode on bit 3 (replaces RXTCBSWAP flag)
Version 3.1.9 adds ICE packets to XMidas SOURCEPICs archive output (see /APACKET= )
Version 3.1.9 accepts valid tuner frequencies (-1 < f/ny < 2) with proper folding inversions
Version 3.1.9 adds KEY_PKTHDR to retrieve last SDDS packet header for analysis (series 5+ only)
Version 3.1.9 adds KEY_SEQERR and SEQFILL keys to monitor SDDS sequence fills and errors
Version 3.1.9 adds PCI addressing > 4G on 5+ series cards
Version 3.1.9 add tuner bank support to X-Midas SOURCEPIC
Version 3.1.9 adds NFREQ, NDEC, and NRATIO keys to report the actual nearest available values
Version 3.1.9X adds ONDEMAND throttling in SINKPIC for packetized output streams
Version 3.2.0 adds /proc filesystem entry for mapped RAM allocation status
Version 3.2.0 adds complex input to FPGA tuner/resampler core
Version 3.2.0 adds PRESAMP flag to insert FPGA resampler in front of DTDM tuners
Version 3.2.0 adds 3rd stage of Fast Tuner Transform on DTDM for max of 2048 channels
Version 3.2.0 backport PIC5s 1PPS in bit 0 with independent A&B clocks to PIC4/MBT4
Version 3.2.0 adds FIRONLY flag to PIC5 tuner to implement a 63 tap real filter at 64MHz SR (or 127@32MHz)
Version 3.2.0 adds ITCPC and ITFMT for graychip tuners (PIC4/MBT4/MBT5)
Version 3.2.0 adds timecode calibration for tuner bank outputs with FTTM=1|2|3
Version 3.2.0 adds 64G memory addressing for PIC5+ cards
Version 3.2.0 adds support for mapping ram files > 2G (NeXtMidas Only)
Version 3.2.0 adds preliminary support for PIC6
Version 3.2.0 adds the ICETUNER macro - a file based BankOfTuners using SINKPIC/SOURCEPIC
Version 3.3.0 adds IRIG-B capability on PIC5+ cards
Version 3.3.4 adds support for A2DR13 250MHz/12bit IO module with high quality onboard clock generation
Version 3.3.6 adds Xilinx RocketIO module with mini-SAS connectors for 3G IO connections
Version 3.3.6 adds looping different module configurations for PIC5+ self tests
Version 3.3.6 adds combining high speed IO modules for 1500Mby acq/ply on PIC6 (A2DR11/FLZR modules)
Version 3.3.9 adds support for complex data in SDDS data packets
Version 3.3.9 adds 32 more dma channels to support 64 independent tuner channels with dual DTDMs 
Version 3.3.9 adds 128MHz BW complex input and 64MHz BW output on PIC5+ FPGA tuners (was 50MHz/32MHz)
Version 3.3.9 adds 125MHz BW complex data input from A2DR13/LB2D IO modules 
Version 3.3.9 adds support for LB2D L-Band Receiver module support with 700MHz-2.2GHz tuning range
Version 3.4.0 adds support for ICEPOD6 devices
Version 3.4.0 adds support for D2AWG, TGSDDS, MSAS, DSFP, LB2D and RFXD IO modules
Version 3.4.0 adds support for V5M and V6M processor modules (with JVM, tuners, and tunerbanks)
Version 3.4.0 adds buffering for SDDS data through 10G switches and fills up to 16 packet drops (on PIC5+ cards)
Version 3.5.0 adds support for S6M processor module
Version 3.5.1 adds support for deep (127 tap) filters on V6M
Version 3.5.4 adds non-blocking flags to pic_dmaxfer and pic_dmaxptr routines
Version 3.6.0 adds CORE FPGA development libraries
Version 3.6.0 adds ICE Deployment Environment for Midas free environments ($ICEROOT/jre/ice)
Version 3.6.0 adds 4Mby card buffers for less dropout shaging bus with other HP PCIe cards
Version 3.6.0 adds support for CI data at 125MHz to processor modules
Version 3.6.0 adds support for A2DM14
Version 3.6.1-02 adds support for Snapapp extension macros
Version 3.6.1-05 adds support for TGSDDS rev 2 module
Version 3.6.1-05 adds sourcepic.getChnFreq(n) to return actual freq of each tunerbank channel
Version 3.6.1-07 adds FPGA Real|Complex 4K FFT with PolyPhase|Window at up to 125MHz
Version 3.6.1-11 adds PM temperature logging and version to /proc/driver/icepic entry (plus kernel 2.6.36 mods)
Version 3.6.1-15 enhanced code for femto 2.5s
Version 3.7.0 adds PCI express NACK accounting to help debug problems on newer HP servers 
Version 3.7.0 adds VITA-49 network interface module
Version 3.7.0 adds support for physical memory up to 256G
Version 3.7.2 allows addressing CORES 1-4 on a given module instead of just CORES 1-2 and MCORES 1-2
Version 3.7.2 adds C-Only compile of X-Midas primitives by setting the ICEUSECC environment variable
Version 3.7.2 adds optional kernel memory allocator in icepic driver script
Version 3.7.4 adds back-to-back PCI target access in support of bridge chips on external PCIe chassis 
Version 3.9.0 increases transfer rate to/from PMs from 512Mby/s to 800Mby/s 
Version 3.9.0 adds independently throttled output from PM cores to IO modules 

BUGS_FIXED_ALL - Bugs fixed (all previous releases)

Version 2.2.8 recalibrated timecode support on ICE-PIC2 cards.
Version 2.2.8 calibrated timecode support on ICE-MBT2 cards.
Version 2.4.1 fix alloc bug in SINKPIC when input format != output format
Version 2.5.2 fix improper scaling of upper VFT timecode bits
Version 2.7.4 fix OSF driver to dynamically unload and reload
Version 2.7.5 fix FPGA version anomalies causing random noise in data
Version 2.7.9 fix (last) FPGA timing anomaly in PIC3 II code
Version 2.7.9 fix /dev/linkname to resolve to raw /dev/icepic# on Solaris
Version 2.7.9 PIC3 B side tuner decimation > 512 problem
Version 2.8.1 fix tuner timecode slips by input sample on PIC3
Version 2.8.4 fix OSF driver install scripts not creating /dev/ice/ directory
Version 2.9.1 fix OSF driver install scripts not creating /dev/ice/ again
Version 2.9.1 fixes oversampling that was broken in 2.9.0
Version 2.9.1 fix MBT2/MBT3/SLIC3 tuner for unity gain (was -9 to -6 dB) 
Version 2.9.3 fix SHARC "not responding" problem with internal algorithms
Version 2.9.4 fix timecode start-up problem using multiple chips on an MBT
Version 2.9.5 fix timecode calibration when using oversampling
Version 2.9.8 fix decimation limiting calculations when using oversampling
Version 2.9.8 fix external triggering problem on MBT3s
Version 2.9.9 handles new /etc/rc.d/init.d locations for Linux driver
Version 2.9.9 fix occasional garbled tuner startup problem with OVSR>1 
Version 3.0.0 fix one sample delay when master/slaving an input to an output
Version 3.0.0 fix PIC3T tuner filters on Solaris (Big Endian platforms)
Version 3.0.3 add locks&barriers in OSF driver for pre-emptive kernel 
(Affects 4000,4100,+?) (Thanks to Dave Podany for this revelation)
Version 3.0.3 fix PICDRIVER call to PIC_TIMER function
Version 3.0.7 fix problem with timecode when using the ALT flag
Version 3.0.7 fixed PIC PFAT with IOM!=NONE for in the field GO/NOGO test
Version 3.0.7 fixed MBT3 sample slip on tuner chan 1-8 under heavy loading
Version 3.0.7 fixed multiple sharc/module code download Big Endian problems
Version 3.0.7 fixed MBT3 tuner restart gain bug with OVSR>0, SR<10e6, and wideband.
Version 3.0.8 fixed PIC4T tuner gain >= 18 problem
Version 3.0.8 fixed "==" bugs in Linux driver script
Version 3.0.8 fixed OVSR gain adjustment factors
Version 3.0.8 fixed POVSR input rate issues. 
Version 3.0.8 fixed RGO flag issues for multichannel tuner start synchronization.
Version 3.0.8 fixed synchronization bug in output modes with rates < 1e6
Version 3.0.8x fixed master/slave stop synchronization problem in SINKPIC
Version 3.0.8x fixed bad bug in timecode of non-tuner data on PIC4T
Version 3.0.9 fix buffer allocation algorithm for 64bit transfer cases
Version 3.0.9 setkey now provides status of execution
Version 3.0.9 fixed bug in Archive length calc if rate changed after startup
Version 3.0.9 fix complex output on PIC4
Version 3.0.9 fix CPC!=4 with OVSR>1 frequency change problems on PIC4
Version 3.0.9 fix PIC4 tuner restart while wideband is active
Version 3.1.0 fix TC=CPU with tuners and packet headers offsets
Version 3.1.0 compensate for default tuner filter gains (~1dB) in PIC4T
Version 3.1.1 fix noise problem when running tuners on PIC4T output channel 
Version 3.1.1 fix VMS 7.3 long node/lock name problems
Version 3.1.1 fix MBT2/MBT3 TC offset when starting chns 1-8 after 9-24
Version 3.1.2 fix LINUX/WIN driver cleanup problems in multithreaded env
Version 3.1.2 addition fix for above fix if restart tuner 1-8 while 9-24 is running
Version 3.1.2 add automatic PIC4 clock edge adjustments for sample rates > 50MHz
Version 3.1.2 loads IOC code in manner respective of PCI EPROM rev to avoid intermittent issues
Version 3.1.3 fix data buffer sync when using mux module3 with sample rate < 10kHz
Version 3.1.3 fix ITDEC with CPC=2 problem on PIC4 and MBT4
Version 3.1.3 fix calibration PIC4/MBT4 Timecode with CPC!=4 and/or POVSR
Version 3.1.3 add driver mods for Linux 2.4.20 kernel changes (RedHat90/Suse82)
Version 3.1.3 add auto Master/Slave clock edge select to better handle clock skew 
Version 3.1.3 adds conditionals for driver header file changes in  OSF 5.1B+
Version 3.1.3 adds conditionals for headers.h changes in X-Midas 380
Version 3.1.3x fix SDN time code BCD errs when input sample rate < 200kHz
Version 3.1.3x fix missing return compile errs in 313
Version 3.1.3x fix clock phase calibration and reset current surge on MBT4
Version 3.1.3z accept new Xilinx chip revs on MBT4s
Version 3.1.4 revamp output code for 100MHz output and VHS for 220Mby/sec
Version 3.1.4 fix timecode startup issues on MBT4 using > 8 channels
Version 3.1.4 clock invert now works in any configuration on all cards
Version 3.1.4 fix IOC timing calibrations to support SDDS 45/55 duty cycle
Version 3.1.4 allow more than 26 devices per card on OSF (max is now 40)
Version 3.1.4 fix FPGA ram read race condition on series-3 cards causing time code anomalies
Version 3.1.4 fix PIC4T problem with low data rate, multiple channel start/stop using ITDEC 
Version 3.1.4 adds check in Linux driver for driver interface changes in Linux kernels >= 2.4.20
Version 3.1.4z fixes IRIG-B time code broken in 3.1.4 release
Version 3.1.5 fix TC startup issues on PIC4/MBT4 with CPC=2 in ITDEC mode
Version 3.1.5 fix TC startup issues on PIC4/MBT4 at low input rates (~1Mhz) in ITDEC mode
Version 3.1.6 fix data corruption on PIC4/MBT4 tuner channels at high temp (yet another SHARC anomaly)
Version 3.1.6 change VMS driver build and connect switches for VMS 7.3.2 compatibility
Version 3.1.6 fix bugs when using tuners with IRIG-B timecode causing DMA stalls and NOBITS errors
Version 3.1.6 fix SOURCEPIC problem chaining more than 2 master/slave instances
Version 3.1.6 fix timecode on start/stop wideband while narrow bands are running
Version 3.1.6 fix numerous startup/reconnect glitch issues when using ITDEC on PIC4T/MBT4
Version 3.1.6 fix 2-sample startup timecode anomaly when not using ITDEC on PIC4T while WideBand running
Version 3.1.6 strip SDDS parity packets in RXICESDDS data mode and fix join/leave hangups
Version 3.1.7 better handling of tag bits on PIC4/MBT4 in ITDEC mode to minimize tuner's DC spur
Version 3.1.7 fix lock problem when setting resampler ratio and/or loading filters on GC from multiple threads
Version 3.1.7 fix IRIG-B resync problem if IRIG signal is bogus for a while.
Version 3.1.7 fix Tuner OVSR with SDDS Input modules.
Version 3.1.7 fix Tuner Freq change with CPC<4 at low sample rates.
Version 3.1.7 fix playback card hang due to non-8-byte-aligned block transfers
Version 3.1.7 fix CPC=2 and CPC=1 multichannel startup phase problems on MBT4
Version 3.1.8 fix gain compensation for user filters in GC4016s
Version 3.1.8 remove dependence on 1ms TimeCode flag in SDDS packets
Version 3.1.8 fix SDDS TimeCode calibrations on Tuner channels
Version 3.1.8 fix RealTime Archive through message startup problem in SOURCEPIC
Version 3.1.8 fix TC 1 in 1.9076 million counter error (causes 1M sample error)
Version 3.1.8 fix race condition in DMA_RESET with multiple tuner start/stop causing hangs
Version 3.1.8 fix data/control interaction integrity problems on MBT4 and MBT4X
Version 3.1.8 fix race condition in tuner+wideband startup with SDDS modules
Version 3.1.8 fix fifo overrun when SDDS packets are bursted (faster than RealTime) to card
Version 3.1.8 fix calibration of 1PPS signal in timecode (A2Ds have 4 sample pipeline delay)
Version 3.1.8 fix X-Midas SOURCEPIC was not setting the TimeCode Mode in the ice packets
Version 3.1.8 fix SOURCEPIC to adjust timecode year at ray day (DR 500234-3)
Version 3.1.8 added int_u8 defines in icedefs.h for newer X-Midas builds
Version 3.1.8 add /STATS function to X-Midas SINKPIC (was only in NeXtMidas version)
Version 3.1.9 fix packed nibble SDDS modes on PIC5
Version 3.1.9 fix PICDRIVER not heeding timeout when /TC= switch is also applied
Version 3.1.9 update SNAPPER macro for proper remoting in newer browsers
Version 3.1.9 SDDS module will now resend JOINS every 2 seconds if no data is received
Version 3.1.9 fixes bogus initial timecode if no input clock is present at start of acquisition 
Version 3.1.9 fixes problems setting up MUXCLK=P when using PREFX on series 4 cards
Version 3.1.9 getkey on KEY_ACTIVE now returns -2 if locked instead of clearing lock
Version 3.1.9 fix LSB rounding error in PIC5 tuner's 32 bit frequency register
Version 3.1.9 fix warning messages in Linux 2.6+ drivers
Version 3.1.9 fix sourcepic Master/Slave misalign error without /SYNCDATA switch
Version 3.1.9X fix SINKPIC indexing error at end of file when /WRAP is used
Version 3.1.9X fix 8-bit SDDS data to SI reformat FIFO overrun problem on PIC4/MBT4
Version 3.1.9X fix SDN timecode in SDDS packets processing on PIC5
Version 3.1.9X fix return status of pic_send and pic_recv calls
Version 3.2.0 fix PIC5 rounding of 8b/16b tuner output
Version 3.2.0 fix PIC5 SoC Version corruption on fast machines using gcc with optimization -O3 
Version 3.2.0 fix PIC5 PCI data hiccup on DL385 (AMD PCI chipset)
Version 3.2.0 fix CPU0P/XP timecode modes on PIC4/MBT4 with VHS flag enabled
Version 3.2.0 fix code to compile on VMS without warnings
Version 3.2.0 fix 100Mby/sec SDDS modes on 4 series cards
Version 3.2.0 fix Xilinx reprogram problem (erratic behavior) on Processor Modules with high density cores
Version 3.2.1 fix PIC5 DDR drive strength data integrity problem
Version 3.3.6 fix PIC4 Tuners 3&4 with CPC=2 without ITDEC
Version 3.3.6 fix sinkpic of very small files (inefficient loop)
Version 3.3.8 fix PIC5 DDR drive strength data integrity problem
Version 3.3.9 fix PIC6 errant AHIR read value
Version 3.3.9 fix DTDMX data integrity problems under heavy FPGA loading
Version 3.3.9 fix Xmidas sourcepic archive problem introduced with ice320 TBANK mods
Version 3.4.0 fix all PIC5/PIC6 problems listed in 3.3.6 WHAT_MIGHT_BREAK section
Version 3.4.2 fix corruption of PKTHDR debug buffer when using timecode
Version 3.4.2 fix PIC6 no recognition on cold boot
Version 3.5.0 fix control of correct RF module when using the INP=x flag
Version 3.5.0 fix restart of TBANK ports
Version 3.5.0 fix RFXD synthesizer setup
Version 3.5.0 fix timecode of non-standard CB and CI formats in SDDS packets
Version 3.5.0 adds 16K internal BRAM cache for DDR memory 
Version 3.5.6 fix timecode when using presampler direct output using multiple OVSRs
Version 3.6.1 fix nextmidas sourcepic to readback actual freq not desired freq
Version 3.6.1 fix PCI express logic on direct-connect SandyBridge and ARM platforms
Version 3.6.1-02 fix NTP Err calculation when using resampling in tuner
Version 3.6.1-03 fix PKT.TCOFF rollover problem in XMidas sourcepic (~3 days @ 1250MHz)
Version 3.6.1-07 fix readback of actual frequency from sourcepic running tuner banks
Version 3.6.1-11 fix autoswap of SGO|RGO when using INP=x
Version 3.6.1-16 fix D2AWG trigger startup glitch and reset tone
Version 3.6.1-16 fix X-Midas sourcepic tuner bank timecode offset (broken by 361-03 fix)
Version 3.6.1-17 fix X-Midas picdriver timecode insertion (broken by ice359)
Version 3.6.1-17 fix gain problem on femto 2.5s
Version 3.7.0 fix SINKPIC ONDEMAND throttle issue with RAM files > 2 Gby
Version 3.7.1-05 add clock invert for bit-packed input mode on PIC5/PIC6 cards (_dd only) 
Version 3.7.2 allows format change on output COREs
Version 3.9.0 fix output problems after running PI TEST/SPEC

WHAT_MIGHT_BREAK_ALL - Possible gotchas (all previous releases)

Version 2.1.5 and later does not support the ICE-PIC1 or ICE-NBT cards
Version 2.3.6 changed the /RATE switch to /SRATE on PICDRIVER and SOURCEPIC
	to help avoid macro conflicts
Version 2.4.4 folded the PICEXTRACT functions into the PICFUNC primitive
Version 2.6.6 obsoleted the ALT, DUAL, and SINGLE flags
Version 2.7.0 The build scripts in the ./test area now build the libice.so 
	shared object library that is suitable for M2K apps.  The old 
	name was libm2ice.so .  Linkage scripts will need to change.
Version 2.8.3 On OSF will need to load the new drivers in this version !!!
Version 2.9.1 MBT2/MBT3/SLIC3 tuner is now unity gain (was -9 to -6 dB)
Version 2.9.7 is one sample off on byte and bit data (don't use it)
Version 3.0.6 _iiv IOC files disappear - VHS modes now in standard downloads.
Version 3.0.6 has new tests for PIC4, PIC4 FIFO test will not work with pre306 releases.
Version 3.0.8 has new widgets on SOURCEPIC and SINKPIC for status monitoring.
	In SOURCEPIC, they were placed ahead of the ALG and ALG ARG 
	since there are a variable number of args.  Any macros using
	the ALG as a widget will need to fix the offset.
Version 3.0.8 Linux driver uses new PCI interface for 2.4 kernels.  Older
	kernels may need to use the .pre24 files in the driver directory.
Version 3.0.9 Linux driver implements mmap() interface to replace /dev/mem in
	the mmap calls.  A link /dev/pmem is made to /dev/icepic0 so 
	X-Midas libraries can reference pmem and point it to /dev/mem
	when there are no ice cards in the system.  If /dev/pmem is a
	real device on your system, let us know.
Version 3.1.2 Now initializes PICSTRUCT to zero in pic_open().  If this was
	not allocated correctly, an access violation may occur.
Version 3.1.5 now has documentation in ice/docs instead of /docs/htm
Version 3.1.5 removed fastio.inc support for X-Midas because there was no
way to make the pointers both pre and post 4.0.0 compatible
Version 3.1.8 changed default throttle rate to rate/8 instead of 10000Hz in SINKPIC
Version 3.1.8 changed delta in ramfile to reflect resampler ratio in PICDRIVER and SOURCEPIC.  
This affects what the primitive calculates to be the desired input data rate.
	Previously, only the decimation was reflected in the ramfile.
Version 3.1.8 changed address of RSTIME keys (different than 318bXX), PSM daemon must be recompiled.
Version 3.1.9 pic RESET only reloads FPGA code when needed, use FORCE flag for old behavior
Version 3.2.0 The DMAMAP struct now has 64bit fields. User C/Fortran code may need casts to compile and run properly.
Version 3.2.0 Now getKey TYPE and PMTYPE must be used to determine card/processor module combos. No more TYPE=11.
Version 3.3.6 PIC5+ cards don't handle SDN embedded timecode in SDDS packets, 4-bit SDDS data, or 1 bit data
Version 3.4.0 Snapper MAXFS is now in bytes for tighter shutoff control. Use to be in Gigabytes.
Version 3.5.4 pic_dmaxfer and pic_dmaxptr have different return status values
Version 3.6.1 moves all snapapp table files from mcr to tbl subdirectory and test macros from mcr to fat 
Version 3.6.1-05 sourcepic channel numbers are now 1-based to match XMidas and ICE libraries