|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectbyucc.jhdl.platforms.util.readback.Xilinx.XC4000.XC4KToJHDLSyms
This class builds hardware symbol tables (.rbentry
)
for Xilinx XC4000-based designs described in JHDL. The program
takes several command-line arguments for adjusting the symbol table
output. The command-line usage of the command is:
java XC4KToJHDLSyms [-rbheader <size in bits>]
[-byteMirrored] <partType> <basename>
The options have the following meanings:
[-rbheader <size in bits>]
[-byteMirrored]
<partType>
<basename>
<basename>
would
be just "xp_mydesign" (without the quotes, of course). The name
of the symbol table, in this case, would be
"xp_mydesign.rbentry".
Unlike VirtexToJHDLSyms
, no -nets
option is available for
creating listings of the physical IOB/CLB outputs driving FPGA
design's physical nets.
The class requires a .rbsym
file, the Xilinx Logical
Allocation (.ll
) file, the Xilinx Map Report
(.mrp
) file, and the Xilinx Design Language
(.xdl
) file for the design. The .rbsym
file should be created by the testbench at netlist time using calls
to ReadBackSymbolWriter
.
The xdl
program's -nopips
option can be
used to reduce the .xdl
file size.
Field Summary | |
static java.lang.String |
ArrayChars
The delimiters used to parse signal array elements |
Constructor Summary | |
XC4KToJHDLSyms(java.lang.String new_baseName,
java.util.Hashtable new_RAMGroupHash,
java.util.Hashtable new_NetHashBlock,
java.util.Hashtable new_MergedSignalsHash,
java.util.Hashtable newInstanceHash,
java.util.Hashtable newRBSymHash,
java.lang.String partType,
int headerBits,
boolean byteMirrored)
The base constructor which takes information derived from the command line and the various parsers ( LL_4K , MRP_4K , XDL_4K , ReadRBSymFile(String) ) and initializes the
fields of the object. |
Method Summary | |
void |
associateBlocksAndLL()
Associates the state elements found in each IOB or CLB with the readback bitstream locations for their state using the .ll file information. |
void |
associateBlocksAndRBSyms()
Tries to correlate the ExternallyUpdateable and
elements found in the .rbsym file with
Block s found in the physical design in XDL format. |
static java.lang.String |
EDIFToJHDLName(java.lang.String EDIFName)
Converts an EDIF design name into its JHDL equivalent by replacing all occurences of "__" with "-". |
java.lang.String |
getBaseName()
Returns the file base name for the design (in other words, the file name without a extension). |
static void |
main(java.lang.String[] args)
Creates the .rbentry file from the
.rbsym , .ll , .mrp , and
.xdl files for the design. |
static java.util.Hashtable |
ReadRBSymFile(java.lang.String baseName)
Creates a Hashtable of RBSym objects
keyed on the state elements' instance names from the design's
.rbsym file. |
static void |
usageMessage()
Prints the usage message for the program to System.err . |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final java.lang.String ArrayChars
Constructor Detail |
public XC4KToJHDLSyms(java.lang.String new_baseName, java.util.Hashtable new_RAMGroupHash, java.util.Hashtable new_NetHashBlock, java.util.Hashtable new_MergedSignalsHash, java.util.Hashtable newInstanceHash, java.util.Hashtable newRBSymHash, java.lang.String partType, int headerBits, boolean byteMirrored)
LL_4K
, MRP_4K
, XDL_4K
, ReadRBSymFile(String)
) and initializes the
fields of the object.
new_baseName
- The base file name for the design.new_RAMGroupHash
- The RAMGroupHash from the
XDL_4K
parser class.new_NetHashBlock
- The NetHashBlock from the
XDL_4K
parser class.new_MergedSignalsHash
- The MergedSignalsHash from the
MRP_4K
parser
class.newInstanceHash
- The InstanceHash from the
XDL_4K
parser class.newRBSymHash
- The RBSymHash
generated by
ReadRBSymFile(String)
.partType
- The XC4000 part type compatible with
XC4KBitstreamParams
.headerBits
- The length of the header (all bits up to but
not including the first frame's start bit). The
standard size if 5, but it can vary based on
the hardware retrieving the readback data.byteMirrored
- A boolean which is "true" if the LSB
(right-most bit) of the byte
s in
the byte
array holding the
readback bitstream is accessed as address 0
within the byte
. Otherwise, the
MSB (left-most bit) of the byte
addressed as bit 0.Method Detail |
public java.lang.String getBaseName()
public static void usageMessage()
System.err
.
public static void main(java.lang.String[] args)
.rbentry
file from the
.rbsym
, .ll
, .mrp
, and
.xdl
files for the design.
args
- The command-line arguments for the program.public static java.util.Hashtable ReadRBSymFile(java.lang.String baseName)
Hashtable
of RBSym
objects
keyed on the state elements' instance names from the design's
.rbsym
file.
baseName
- The base file name for the design (design file
name without an file extension.
Hashtable
of RBSym
objects
reflecting the JHDL logical state elements and some of
their connectivity information.public static java.lang.String EDIFToJHDLName(java.lang.String EDIFName)
EDIFName
- The EDIF instance name to convert.
public void associateBlocksAndLL()
.ll
file information. The bitstream entries added to
the Block
entries are arrays since the RAMs have
multiple readback bitstream entries. FF's are entered as a
single entry array. When no bitstream information can be found,
for some reason, all zero bitstream entries are added as padding
to maintain the parallel Vector construct.
public void associateBlocksAndRBSyms()
ExternallyUpdateable
and
elements found in the .rbsym
file with
Block
s found in the physical design in XDL format.
This effectively correlates logical JHDL state elements to both a
physical FPGA resource and its state data in the readback
bitstream.
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |