!------------------------------------------------------------------------------ ! This file holds a list of FPGAs with corresponding S-Record file for download. ! Comments start with an exclamation mark ("!") anywhere on a line. ! See end of file for more syntax information. !------------------------------------------------------------------------------ ! Revision: 10-May-2006 ! This file is a template ! and list of the syntax rules for FPGA Configuration Download Command Files Vertical_Master: 0 Vertical_Slave: 0 Slot: 2 ! Individual Chip Download Chip: 0 Download_File: %EXO%dp_t2.exo Chip: 1 Download_File: %EXO%dp_t2.exo Slot: 3 ! Parallel load with Hexadecimal Mask Chip_Mask: 0x3 Download_File: %EXO%dp_t2.exo Slot: 4 ! Parallel load with Decimal Mask Chip_Mask: 0b11 Download_File: %EXO%dp_t2.exo !Call_File: \users\default\Another.Dcf !------------------------------------------------------------------------------ ! 10-May-2006 ! * Recommended file extension is ".DCF" (but not required). ! ! Syntax rules: ! ! - Blank lines are ignored. ! ! - Any text appearing on a line after an exclamation mark ("!") is ignored. ! ! * Recognized Keywords are (with colon required) ! Vertical_Master: (Vertical Interconnect Master Number; Range: 0 for now) ! Vertical_Slave: (Vertical Interconnect Slave Number; Range 0-3) ! Slot: (VME Card Slot Number; range 1-21) ! Chip: (0=Pal or FPGA#0, 1=FPGA#1) ! Chip_Mask: (Mask of FPGA Chip(s) Address for parallel load 0-0x3) ! Download_File: (File Name of .exo S-Record File to download) ! Call_File: (Recursive call to another file) ! MilliSecond_Sleep: (Suspend execution of the command file) ! - The "MilliSecond_Sleep:" Keyword causes the execution of the command file ! to be suspended for the number of milliseconds specified in the associated ! value (integer values only). ! ! ! - Keywords are NOT case-sensitive. ! ! - Each Keyword must be followed by one and only one positive integer Value ! (with the exception of the Called_File Keyword). ! ! - One or more Keyword/Value pair may appear on a same line. ! ! - a Keyword and its matching Value may be separated by any number of spaces, ! and/or Tabs, but must appear on the same line. ! ! - Successive Keyword/Value pairs may be separated by any number of spaces, ! Tabs and/or Carriage_Returns (blank lines), or comments. ! ! * FPGA(s) will be targeted for download only when a "Download_File" Keyword ! is encountered. ! ! * An FPGA can be individually targeted using the "Chip" Keyword. ! ! * Parallel loading is accessed using the "Chip_Mask" Keyword. When bit #n ! (n=0:17) is set, FPGA Chip Address #n is targeted for download. That is ! bit #0 corresponds to the VMEInterface (not downloadable), bit #1:16 ! correspond to Main Array FPGA 1:16, and bit #17 to the Support FPGA. ! ! * The "Chip" and "Chip_Mask" Keywords are mutually exclusive ! (they override each other). ! ! - All other FPGA Address Keywords must have been specified before a ! "Download_File" Keyword may be specified. ! ! - The "Chip_Mask" value may be specified in Decimal (e.g. 3), Hexadecimal ! (e.g. 0x3), or Binary (.e.g. 0b11). ! ! - Decimal, Hex, and Binary values may use commas to help readability. ! These commas will be removed during parsing (e.g. 0b,1000,0100,0111,0000). ! No spaces are allowed within any Value string. ! ! - Keyword/Values specified for a previous FPGA are still active ! for subsequent FPGA Selection until they are explicitely overwritten. ! ! - The "MilliSecond_Sleep:" Keyword causes the execution of the command file ! to be suspended for the number of milliseconds specified in the associated ! value (integer values only). ! ! - The "Call_File" Keyword causes a recursive call to read the specified file. ! ! - Full local Keyword/Value context present before the "Call_File" Keyword ! is still valid after. i.e. Context changes made in the Called file are ! NOT propagated back to the Calling file. ! ! - The syntax rules within a called file are the same as described here. ! The local Keyword/Value context present before the Call_File Keyword ! is imported into the Called File. i.e. You can define some Keyword Values ! in the Calling File which will be valid inside the Called File. !------------------------------------------------------------------------------ ! - Symbol usage in command files: ! ! Symbols may be defined and used in command files. ! A symbol name must start with a dollar sign "$". ! ! A symbol is defined by giving it a numeric value. ! A symbol is defined using a Keyword/Value syntax where the Keyword is ! the symbol's name, starting with its own dollar sign but with an additional ! equal character appended to the end of the symbol name, while the value ! is the desired symbol value. ! e.g. To define a symbol named "$Slot_AONM" and give it a value "5" ! enter the following: ! $Slot_AONM= 5 ! The equal sign "=" is required and must appear directly after the last ! character of the symbol name, with no space or tab in-between. ! Any number of spaces, or tabs may appear between the symbol definition and ! its value, but the symbol and its value must appear on the same line. ! Previously defined symbols can be re-defined to change their value. ! Previously defined symbols cannot be un-defined. ! ! A symbol may be used anywhere a value is required, i.e. in any Keyword/Value ! pair and the symbol value will be substituted. e.g. ! Slot: $Slot_AONM ! A symbol must have been defined before it can be used. ! There are no predefined symbols. ! Symbols are NOT case sensitive. ! Symbol names may include any alpha numeric characters (e.g. _[(}./$< ), ! (but no space, tabs, or end of line). For clarity one should avoid ! using embedded quotation marks, equal signs, colon. ! A symbol value may be used to define another new symbol. ! ! All symbols defined before a "Call_File" Keyword are propagated into ! the Called File. i.e. You can define symbols in the Calling File ! and use those symbols (or modify them) inside the Called File. ! Symbols created or modified inside a Called File are NOT propagated ! back to the Calling file. !------------------------------------------------------------------------------