|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectbyucc.jhdl.platforms.util.readback.Xilinx.XilinxBitstreamParams
byucc.jhdl.platforms.util.readback.Xilinx.Virtex2.Virtex2BitstreamParams
This class is used to record the information about a specific
Virtex2 FPGA during the creation of an .rbentry file as
well as provide a method for calculating the absolute offset of a
readback state bit from the offset provided by the Xilinx logical
allocation file (.ll) file. The information this class records
about a specific FPGA includes the PE type, the readback bitstream
header lengths, the bit ordering within each byte, the frame size,
the CLB frame count, and the bitmap length. Further, this class
defines constants for each supported Xilinx part type as well as
each part type's frame size and count. Further, constants for the
number of bits in a byte and the trailer or postamble length are
also defined. Several methods are defined to conveniently
calculate the length of the bitstream in bits and bytes as well as
provide the lengths of frames, the number of frames, and a
String representing the Xilinx FPGA type.
| Constructor Summary | |
Virtex2BitstreamParams()
Constructs an object setting the value of the PE type to XILINX_UNKNOWN, the CLB Header length in bits to 0, the Block RAM header bits to 0, and the byte ordering to byteMirrored = false (in other words, bit 0 is the MSB of the byte). |
|
Virtex2BitstreamParams(int idcode)
Constructs an object setting the value of the PE type, setting the CLB Header length in bits to 0, the BlockRam header bits to 0 and the byte ordering to byteMirrored = false (in other words, bit 0 is the MSB of the byte). |
|
Virtex2BitstreamParams(java.lang.String peTypeStr,
int newClbHeaderBits,
int newRamHeaderBits,
boolean newByteMirrored)
Constructs an object setting the value of the PE type, the CLB Header length, the Block RAM header bits, and the byte ordering according to the parameters given. |
|
| Method Summary | |
int |
calculateBRAMOffset(int frame,
int frameOffset)
This method calculates the absolute offset of a readback state bit which is located in a Block RAM based on the offset provided by the Xilinx Logical Allocation file (.ll) created by "bitgen". |
int |
calculateBRAMOffset(RBLocation rbl)
This method calculates the absolute offset of a readback state bit which is located in a Block RAM based on the offset provided by the Xilinx Logical Allocation file (.ll) created by "bitgen". |
int |
calculateCLBOffset(int frame,
int frameOffset)
Calculates the absolute offset of a readback state bit which is located in the CLB frames (may be in a CLB or IOB) based on the offset provided by the Xilinx Logical Allocation file (.ll) created by "bitgen". |
int |
calculateCLBOffset(RBLocation rbl)
Calculates the absolute offset of a readback state bit which is located in the CLB frames (may be in a CLB or IOB) based on the offset provided by the Xilinx Logical Allocation file (.ll) created by "bitgen". |
int |
getBitmapLength()
Maps a PE type to a bitmap length based on the encodings for the part type defined in the constants above. |
int |
getBitstreamLength()
Returns the bitstream length in terms of bits based on the declared PE type and header lengths in bits. |
int |
getBlockRAMPacketHeader()
|
int |
getBlockRAMPacketHeader(java.lang.String part)
Deprecated. Replaced by getBlockRAMPacketHeader(), after
setting the part type with setPEType(String) or
setPEType(int) or setPETypeWithIdcode(int). |
int |
getBlockRAMReadBackWordCount()
|
int |
getBlockRAMReadBackWordCount(java.lang.String part)
Deprecated. Replaced by getBlockRAMReadBackWordCount(), after
setting the part type with setPEType(String) or
setPEType(int) or setPETypeWithIdcode(int).
Returns the word count for BlockRAM readback |
int |
getBRAMByteCount()
|
int |
getBytestreamLength()
Returns the bitstream length in terms of bytes based on the declared PE type and header lengths in bits. |
int |
getCLBByteCount()
|
int |
getCLBFrameCount()
Maps a PE type to a CLB readback frame count based on the encodings for the part type defined in the constants above. |
int |
getCLBHeaderBits()
Returns the current length of the CLB readback header, in bits. |
int |
getCLBPacketHeader()
|
int |
getCLBReadBackWordCount()
|
int |
getFrameSize()
Maps a PE type to a CLB readback frame size based on the encodings for the part type defined in the constants above. |
java.lang.String |
getPart(int idcode)
Returns a string defining the part, based on the IDCODE. |
int |
getPEType()
Returns the integer value representing the part type of the PE. |
int |
getRAMFrameCount()
|
int |
getRAMHeaderBits()
Returns the current length of the BlockRAM readback header, in bits. |
boolean |
isByteMirrored()
Returns the values of the byteMirrored property,
discussed above. |
static int |
peType(int idcode)
Returns the pe-type based on the idcode |
void |
setByteMirrored(boolean isByteMirrored)
Sets the byteMirrored field to the value of the
parameter. |
void |
setCLBHeaderBits(int newCLBHeaderBits)
Sets the length of the CLB readback header (in bits) to the value of the given parameter. |
void |
setPEType(int newPeType)
Sets the value of the PE type using the static final
int "constants" defined earlier. |
void |
setPEType(java.lang.String newPeType)
Sets the value of the PE type based on a String
parameter which contains "Vxxx" for a Virtex2 part and "2Sxxx"
for a Spartan3 part. |
void |
setPETypeWithIdcode(int idcode)
Sets the value of the PE type using the Xilinx defined idcodes. |
void |
setRAMHeaderBits(int newRAMHeaderBits)
Sets the length of the Block RAM readback header (in bits) to the value of the given parameter. |
java.lang.String |
toString()
Returns a String reflecting the Xilinx part type of
the PE represented by this object. |
static java.lang.String |
toString(int peType)
Returns a String reflecting the Xilinx part type of
the PE. |
static int |
whichPEType(java.lang.String peTypeStr)
Returns an integer reflecting the Xilinx part type of the PE based on the encodings given above. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
public static final int BYTE_SIZE
public static final int WORD_SIZE
public static final int PAD_WORD_SIZE
public static final int UNKNOWN
public static final int XILINX_UNKNOWN
public static final int XILINX_XC2V40
public static final int XILINX_XC2V80
public static final int XILINX_XC2V250
public static final int XILINX_XC2V500
public static final int XILINX_XC2V1000
public static final int XILINX_XC2V1500
public static final int XILINX_XC2V2000
public static final int XILINX_XC2V3000
public static final int XILINX_XC2V4000
public static final int XILINX_XC2V6000
public static final int XILINX_XC2V8000
public static final int XILINX_XC3S50
public static final int XILINX_XC3S200
public static final int XILINX_XC3S400
public static final int XILINX_XC3S1000
public static final int XILINX_XC3S1500
public static final int XILINX_XC3S2000
public static final int XILINX_XC3S4000
public static final int XILINX_XC3S5000
public static final int FRAME_SIZE_XC2V40
public static final int FRAME_SIZE_XC2V80
public static final int FRAME_SIZE_XC2V250
public static final int FRAME_SIZE_XC2V500
public static final int FRAME_SIZE_XC2V1000
public static final int FRAME_SIZE_XC2V1500
public static final int FRAME_SIZE_XC2V2000
public static final int FRAME_SIZE_XC2V3000
public static final int FRAME_SIZE_XC2V4000
public static final int FRAME_SIZE_XC2V6000
public static final int FRAME_SIZE_XC2V8000
public static final int FRAME_SIZE_XC3S50
public static final int FRAME_SIZE_XC3S200
public static final int FRAME_SIZE_XC3S400
public static final int FRAME_SIZE_XC3S1000
public static final int FRAME_SIZE_XC3S1500
public static final int FRAME_SIZE_XC3S2000
public static final int FRAME_SIZE_XC3S4000
public static final int FRAME_SIZE_XC3S5000
public static final int CONFIG_FRAME_COUNT_XC2V40
public static final int CONFIG_FRAME_COUNT_XC2V80
public static final int CONFIG_FRAME_COUNT_XC2V250
public static final int CONFIG_FRAME_COUNT_XC2V500
public static final int CONFIG_FRAME_COUNT_XC2V1000
public static final int CONFIG_FRAME_COUNT_XC2V1500
public static final int CONFIG_FRAME_COUNT_XC2V2000
public static final int CONFIG_FRAME_COUNT_XC2V3000
public static final int CONFIG_FRAME_COUNT_XC2V4000
public static final int CONFIG_FRAME_COUNT_XC2V6000
public static final int CONFIG_FRAME_COUNT_XC2V8000
public static final int CONFIG_FRAME_COUNT_XC3S50
public static final int CONFIG_FRAME_COUNT_XC3S200
public static final int CONFIG_FRAME_COUNT_XC3S400
public static final int CONFIG_FRAME_COUNT_XC3S1000
public static final int CONFIG_FRAME_COUNT_XC3S1500