ICECORE
Jump to navigation
Jump to search
file to file generic CORE library Midas wrapper
<in> Input file (complex) <out> Output file (complex) <func> CORE library name (Case sensitive) <P0..N> Parameter key=value pairs This command wraps any ICE-CORE library that can be called with a single input stream, single output stream, and a generic list of parameters. The CORE library must be in the $ICEROOT/core/<name> file. The generic list of parameters will be called on the CORE library functions in the order listed on the command line. They can then be called during operation as real-time controls. When run with /CORE=I for the ICE implementation of the core, the core must have been previously loaded onto the card by performing a reset on the card with the proper flags. For example: PIC RESET PIC1AUTO /flags=PMFPGA=U If the alias PIC1AUTO has two V6M processor modules, then this loads the file icev6m_hhu onto both of them. See the help on the PMFPGA flags for more info on load signatures. Then to run the "User" core control software on the core would look like: ICECORE/core=I infile outfile "User" P1=3 D:P8=.123 L:P9=10 The "User" core controller has a generic parameter set using the names P0 to P31. Each parameter is the next 4 bytes in the register map starting at the base system register. By default, parameters are 4byte integers and the name must be preceded by an D: to be a double precision float. It is up to the underlying core library to validate each parameter. Each parameter gets a widget (X-Midas) or setKey (Nextmidas) for real-time control. This primitive can be used in conjunction with a SOURCEPIC/SINKPIC command, where the dataflow is handled by the SOURCE/SINKPIC and the ICECORE is simply for controlling the core's parameters. Use /CORE=ICEX to invoke this mode. Call ICECORE after the SOURCE/SINKPIC call and leave the input and output file parameters blank. See the /TESTCORE branch in the SNAPPER macro for an example. The ICECORE library defaults to using port CORE11 on card PIC1AUTO, or /COREDEV=PIC1AUTO:11. The creation of the auto alias is handled by the ICE AUTO command under NeXtMidas. To override the card name, use the /COREDEV=alias switch. To override the core port number, use the /COREDEV=alias:portnum switch. Switches: /CORE=J|C|V|I Type of core to run Java, Cpu, Verilog, or ICE /COREDEV=alias:port Device alias and core port to use if /CORE=V|I|G /IFMT=n Override Input file format (SI,CI,SB,CB) /OFMT=n Override Output file format (SI,CI,SB,CB) /DUMP=1|2|3 Readback parameter values at 1=open 2=close or 3=both