|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectbyucc.jhdl.base.Nameable
byucc.jhdl.base.Node
byucc.jhdl.base.Cell
byucc.jhdl.base.Structural
byucc.jhdl.Logic.LogicGates
byucc.jhdl.Logic.LogicStatic
byucc.jhdl.Logic.Logic
byucc.jhdl.Xilinx.Virtex.RAMB4
byucc.jhdl.Xilinx.Virtex.RAMB4Dual
This class provides the functionality of the RAMB4_Sn_Sn Virtex library elements. Note that for explicit clock ports, the clock port is listed first.
Field Summary | |
static CellInterface[] |
cell_interface
|
protected int[] |
contents
|
static CellInterface[] |
implicit_interface
|
Fields inherited from class byucc.jhdl.Logic.Logic |
ABOVE, ALIGN_BOTTOM, ALIGN_CENTER, ALIGN_LEFT, ALIGN_LSB, ALIGN_MSB, ALIGN_RIGHT, ALIGN_TOP, BELOW, DOWN, EAST_OF, LEFT_OF, MAX_PACK, NORTH_OF, ON, ONTOP, ONTOP_OF, RIGHT_OF, SOUTH_OF, TOLEFT, TORIGHT, UNCONSTRAINED, UP, WEST_OF |
Fields inherited from class byucc.jhdl.Logic.LogicGates |
tech_mapper |
Fields inherited from class byucc.jhdl.base.Cell |
BOOLEAN, CELL_NAME_DECLARATION, CellInterfaceDeterminesUniqueNetlistStructure, DETERMINE_FROM_STRING, GENERICS_DECLARATION, IMPLICIT_INTERFACE_DECLARATION, INTEGER, INTERFACE_DECLARATION, LONG, PORT_IOS_DECLARATION, PORT_NAMES_DECLARATION, PORT_NET_NAMES_DECLARATION, PORT_PROPERTIES, PORT_WIDTHS_DECLARATION, SIGN_EXT, STRING, ZERO_PAD |
Constructor Summary | |
RAMB4Dual(Node parent,
java.lang.String name,
java.lang.String s0,
Wire w0,
java.lang.String s1,
Wire w1,
java.lang.String s2,
Wire w2,
java.lang.String s3,
Wire w3,
java.lang.String s4,
Wire w4,
java.lang.String s5,
Wire w5,
java.lang.String s6,
Wire w6,
java.lang.String s7,
Wire w7,
java.lang.String s8,
Wire w8,
java.lang.String s9,
Wire w9,
java.lang.String s10,
Wire w10,
java.lang.String s11,
Wire w11,
java.lang.String s12,
Wire w12,
java.lang.String s13,
Wire w13,
java.lang.String[] contents)
|
|
RAMB4Dual(Node parent,
Wire rstA,
Wire enA,
Wire diA,
Wire weA,
Wire addrA,
Wire doA,
Wire rstB,
Wire enB,
Wire diB,
Wire weB,
Wire addrB,
Wire doB)
Constructs a new dual-ported Block RAM. |
|
RAMB4Dual(Node parent,
Wire rstA,
Wire enA,
Wire diA,
Wire weA,
Wire addrA,
Wire doA,
Wire rstB,
Wire enB,
Wire diB,
Wire weB,
Wire addrB,
Wire doB,
int[] contents)
Constructs a new dual-ported Block RAM. |
|
RAMB4Dual(Node parent,
Wire rstA,
Wire enA,
Wire diA,
Wire weA,
Wire addrA,
Wire doA,
Wire rstB,
Wire enB,
Wire diB,
Wire weB,
Wire addrB,
Wire doB,
int[] contents,
java.lang.String name)
Constructs a new named, dual-ported Block RAM. |
|
RAMB4Dual(Node parent,
Wire rstA,
Wire enA,
Wire diA,
Wire weA,
Wire addrA,
Wire doA,
Wire rstB,
Wire enB,
Wire diB,
Wire weB,
Wire addrB,
Wire doB,
java.lang.String name)
Constructs a new named, dual-ported Block RAM. |
|
RAMB4Dual(Node parent,
Wire rstA,
Wire enA,
Wire diA,
Wire weA,
Wire addrA,
Wire doA,
Wire rstB,
Wire enB,
Wire diB,
Wire weB,
Wire addrB,
Wire doB,
java.lang.String[] contents)
Constructs a new named, dual-ported Block RAM. |
|
RAMB4Dual(Node parent,
Wire rstA,
Wire enA,
Wire diA,
Wire weA,
Wire addrA,
Wire doA,
Wire rstB,
Wire enB,
Wire diB,
Wire weB,
Wire addrB,
Wire doB,
java.lang.String[] contents,
java.lang.String name)
Constructs a new named, dual-ported Block RAM. |
|
RAMB4Dual(Node parent,
Wire clkA,
Wire clkB,
Wire rstA,
Wire enA,
Wire diA,
Wire weA,
Wire addrA,
Wire doA,
Wire rstB,
Wire enB,
Wire diB,
Wire weB,
Wire addrB,
Wire doB)
Constructs a new dual-ported, multi-clock Block RAM. |
|
RAMB4Dual(Node parent,
Wire clkA,
Wire clkB,
Wire rstA,
Wire enA,
Wire diA,
Wire weA,
Wire addrA,
Wire doA,
Wire rstB,
Wire enB,
Wire diB,
Wire weB,
Wire addrB,
Wire doB,
int[] contents)
Constructs a new named, dual-ported, multi-clock Block RAM. |
|
RAMB4Dual(Node parent,
Wire clkA,
Wire clkB,
Wire rstA,
Wire enA,
Wire diA,
Wire weA,
Wire addrA,
Wire doA,
Wire rstB,
Wire enB,
Wire diB,
Wire weB,
Wire addrB,
Wire doB,
int[] contents,
java.lang.String name)
Constructs a new named, dual-ported, multi-clock Block RAM. |
|
RAMB4Dual(Node parent,
Wire clkA,
Wire clkB,
Wire rstA,
Wire enA,
Wire diA,
Wire weA,
Wire addrA,
Wire doA,
Wire rstB,
Wire enB,
Wire diB,
Wire weB,
Wire addrB,
Wire doB,
java.lang.String name)
Constructs a new dual-ported, multi-clock Block RAM. |
|
RAMB4Dual(Node parent,
Wire clkA,
Wire clkB,
Wire rstA,
Wire enA,
Wire diA,
Wire weA,
Wire addrA,
Wire doA,
Wire rstB,
Wire enB,
Wire diB,
Wire weB,
Wire addrB,
Wire doB,
java.lang.String[] contents)
Constructs a new dual-ported, multi-clock Block RAM. |
|
RAMB4Dual(Node parent,
Wire clkA,
Wire clkB,
Wire rstA,
Wire enA,
Wire diA,
Wire weA,
Wire addrA,
Wire doA,
Wire rstB,
Wire enB,
Wire diB,
Wire weB,
Wire addrB,
Wire doB,
java.lang.String[] contents,
java.lang.String name)
Constructs a new dual-ported, multi-clock Block RAM. |
Method Summary | |
protected void |
addMyProperties()
|
protected void |
addMyProperties(java.lang.String[] properties)
|
BlockRamView |
blockRamViewA()
|
BlockRamView |
blockRamViewB()
|
protected void |
BuildStructure(Wire rstA,
Wire enA,
Wire diA,
Wire weA,
Wire addrA,
Wire doA,
Wire rstB,
Wire enB,
Wire diB,
Wire weB,
Wire addrB,
Wire doB,
int[] contents,
java.lang.String name)
|
boolean |
cellInterfaceDeterminesUniqueNetlistStructure()
When false, the default behavior of this method, each cell will list itself separately in a netlist, guaranteeing that the netlist will not have invalid data at the expense of a larger file-size. |
protected void |
connectImplicitPorts()
Connects the implicit ports. |
protected boolean |
defaultSimulationModelIsBehavioral()
The default simulation model is structural for Structural cells. |
int[] |
fetchState()
This method is used to fetch the current state of the Cell. |
java.lang.String |
getCellName()
Access the cell name associated with a derived class. |
java.io.Serializable |
getData()
Called by the checkpointing code to get all of the data that should be checkpointed. |
protected java.lang.String[] |
IntArrayToPropertyStrings(int[] array)
|
boolean |
isNetlistLeaf()
A few rare cells are leafCells during netlisting, but not during simulation. |
protected int[] |
PropertyStringsToIntArray(java.lang.String[] pstr)
|
void |
setData(java.io.Serializable data)
This is called on a checkpoint restore, and the object checkpointed out is passed back in. |
void |
updateState(int[] update_value)
This method is used to update the state of the Cell in simulator. |
Methods inherited from class byucc.jhdl.base.Node |
addObservable, addSimulatorCallback, checkAll, delete, getBuildingFlag, getChildren, getChildrenEnumeration, getInstanceName, getParent, getParentCell, getRelatives, getSystem, getWires, optimize, orphanAllowed, printAllChildren, printTree, removeSimulatorCallback, setDefaultClock |
Methods inherited from class byucc.jhdl.base.Nameable |
caseSensitivity, caseSensitivity, disableNameClashChecking, getFullName, getFullNameNoTestBench, getHierNameNoTestBench, getInstanceNo, getInstanceNumber, getLeafName, getLeafName, getRelativeName, getUserName, getUserName, hasUserSpecifiedName, isDescendantOf, setInstanceNumber |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
public static CellInterface[] implicit_interface
public static CellInterface[] cell_interface
protected int[] contents
Constructor Detail |
public RAMB4Dual(Node parent, Wire rstA, Wire enA, Wire diA, Wire weA, Wire addrA, Wire doA, Wire rstB, Wire enB, Wire diB, Wire weB, Wire addrB, Wire doB)
parent
- The parent Cell
to the RAMB4DualrstA
- The Wire
to be connected to input port rstAenA
- The Wire
to be connected to input port enAdiA
- The Wire
to be connected to input port diAweA
- The Wire
to be connected to input port weAaddrA
- The Wire
to be connected to input port addrAdoA
- The Wire
to be connected to output port doArstB
- The Wire
to be connected to input port rstBenB
- The Wire
to be connected to input port enBdiB
- The Wire
to be connected to input port diBweB
- The Wire
to be connected to input port weBaddrB
- The Wire
to be connected to input port addrBdoB
- The Wire
to be connected to output port doBpublic RAMB4Dual(Node parent, Wire rstA, Wire enA, Wire diA, Wire weA, Wire addrA, Wire doA, Wire rstB, Wire enB, Wire diB, Wire weB, Wire addrB, Wire doB, int[] contents)
parent
- The parent Cell
to the RAMB4DualrstA
- The Wire
to be connected to input port rstAenA
- The Wire
to be connected to input port enAdiA
- The Wire
to be connected to input port diAweA
- The Wire
to be connected to input port weAaddrA
- The Wire
to be connected to input port addrAdoA
- The Wire
to be connected to output port doArstB
- The Wire
to be connected to input port rstBenB
- The Wire
to be connected to input port enBdiB
- The Wire
to be connected to input port diBweB
- The Wire
to be connected to input port weBaddrB
- The Wire
to be connected to input port addrBdoB
- The Wire
to be connected to output port doBcontents
- An int[]
representing the contents of the entire BlockRam.public RAMB4Dual(Node parent, Wire rstA, Wire enA, Wire diA, Wire weA, Wire addrA, Wire doA, Wire rstB, Wire enB, Wire diB, Wire weB, Wire addrB, Wire doB, int[] contents, java.lang.String name)
parent
- The parent Cell
to the RAMB4DualrstA
- The Wire
to be connected to input port rstAenA
- The Wire
to be connected to input port enAdiA
- The Wire
to be connected to input port diAweA
- The Wire
to be connected to input port weAaddrA
- The Wire
to be connected to input port addrAdoA
- The Wire
to be connected to output port doArstB
- The Wire
to be connected to input port rstBenB
- The Wire
to be connected to input port enBdiB
- The Wire
to be connected to input port diBweB
- The Wire
to be connected to input port weBaddrB
- The Wire
to be connected to input port addrBdoB
- The Wire
to be connected to output port doBcontents
- An int[]
representing the contents of the entire BlockRam.name
- Instance name of the RAMB4Dualpublic RAMB4Dual(Node parent, Wire rstA, Wire enA, Wire diA, Wire weA, Wire addrA, Wire doA, Wire rstB, Wire enB, Wire diB, Wire weB, Wire addrB, Wire doB, java.lang.String name)
parent
- The parent Cell
to the RAMB4DualrstA
- The Wire
to be connected to input port rstAenA
- The Wire
to be connected to input port enAdiA
- The Wire
to be connected to input port diAweA
- The Wire
to be connected to input port weAaddrA
- The Wire
to be connected to input port addrAdoA
- The Wire
to be connected to output port doArstB
- The Wire
to be connected to input port rstBenB
- The Wire
to be connected to input port enBdiB
- The Wire
to be connected to input port diBweB
- The Wire
to be connected to input port weBaddrB
- The Wire
to be connected to input port addrBdoB
- The Wire
to be connected to output port doBname
- Instance name of the RAMB4Dualpublic RAMB4Dual(Node parent, Wire rstA, Wire enA, Wire diA, Wire weA, Wire addrA, Wire doA, Wire rstB, Wire enB, Wire diB, Wire weB, Wire addrB, Wire doB, java.lang.String[] contents, java.lang.String name)
parent
- The parent Cell
to the RAMB4DualrstA
- The Wire
to be connected to input port rstAenA
- The Wire
to be connected to input port enAdiA
- The Wire
to be connected to input port diAweA
- The Wire
to be connected to input port weAaddrA
- The Wire
to be connected to input port addrAdoA
- The Wire
to be connected to output port doArstB
- The Wire
to be connected to input port rstBenB
- The Wire
to be connected to input port enBdiB
- The Wire
to be connected to input port diBweB
- The Wire
to be connected to input port weBaddrB
- The Wire
to be connected to input port addrBdoB
- The Wire
to be connected to output port doBcontents
- An String[]
representing the contents of the entire BlockRam, each string containing the init string that corresponds to the INIT_00 ... INIT_0F properties.name
- Instance name of the RAMB4Dualpublic RAMB4Dual(Node parent, Wire rstA, Wire enA, Wire diA, Wire weA, Wire addrA, Wire doA, Wire rstB, Wire enB, Wire diB, Wire weB, Wire addrB, Wire doB, java.lang.String[] contents)
parent
- The parent Cell
to the RAMB4DualrstA
- The Wire
to be connected to input port rstAenA
- The Wire
to be connected to input port enAdiA
- The Wire
to be connected to input port diAweA
- The Wire
to be connected to input port weAaddrA
- The Wire
to be connected to input port addrAdoA
- The Wire
to be connected to output port doArstB
- The Wire
to be connected to input port rstBenB
- The Wire
to be connected to input port enBdiB
- The Wire
to be connected to input port diBweB
- The Wire
to be connected to input port weBaddrB
- The Wire
to be connected to input port addrBdoB
- The Wire
to be connected to output port doBcontents
- An String[]
representing the contents of the entire BlockRam, each string containing the init string that corresponds to the INIT_00 ... INIT_0F properties.public RAMB4Dual(Node parent, Wire clkA, Wire clkB, Wire rstA, Wire enA, Wire diA, Wire weA, Wire addrA, Wire doA, Wire rstB, Wire enB, Wire diB, Wire weB, Wire addrB, Wire doB)
parent
- The parent Cell
to the RAMB4DualclkA
- The Wire
to be connected to clock port clkAclkB
- The Wire
to be connected to clock port clkBrstA
- The Wire
to be connected to input port rstAenA
- The Wire
to be connected to input port enAdiA
- The Wire
to be connected to input port diAweA
- The Wire
to be connected to input port weAaddrA
- The Wire
to be connected to input port addrAdoA
- The Wire
to be connected to output port doArstB
- The Wire
to be connected to input port rstBenB
- The Wire
to be connected to input port enBdiB
- The Wire
to be connected to input port diBweB
- The Wire
to be connected to input port weBaddrB
- The Wire
to be connected to input port addrBdoB
- The Wire
to be connected to output port doBpublic RAMB4Dual(Node parent, Wire clkA, Wire clkB, Wire rstA, Wire enA, Wire diA, Wire weA, Wire addrA, Wire doA, Wire rstB, Wire enB, Wire diB, Wire weB, Wire addrB, Wire doB, java.lang.String name)
parent
- The parent Cell
to the RAMB4DualclkA
- The Wire
to be connected to clock port clkAclkB
- The Wire
to be connected to clock port clkBrstA
- The Wire
to be connected to input port rstAenA
- The Wire
to be connected to input port enAdiA
- The Wire
to be connected to input port diAweA
- The Wire
to be connected to input port weAaddrA
- The Wire
to be connected to input port addrAdoA
- The Wire
to be connected to output port doArstB
- The Wire
to be connected to input port rstBenB
- The Wire
to be connected to input port enBdiB
- The Wire
to be connected to input port diBweB
- The Wire
to be connected to input port weBaddrB
- The Wire
to be connected to input port addrBdoB
- The Wire
to be connected to output port doBname
- Instance name of the RAMB4Dualpublic RAMB4Dual(Node parent, Wire clkA, Wire clkB, Wire rstA, Wire enA, Wire diA, Wire weA, Wire addrA, Wire doA, Wire rstB, Wire enB, Wire diB, Wire weB, Wire addrB, Wire doB, java.lang.String[] contents)
parent
- The parent Cell
to the RAMB4DualclkA
- The Wire
to be connected to clock port clkAclkB
- The Wire
to be connected to clock port clkBrstA
- The Wire
to be connected to input port rstAenA
- The Wire
to be connected to input port enAdiA
- The Wire
to be connected to input port diAweA
- The Wire
to be connected to input port weAaddrA
- The Wire
to be connected to input port addrAdoA
- The Wire
to be connected to output port doArstB
- The Wire
to be connected to input port rstBenB
- The Wire
to be connected to input port enBdiB
- The Wire
to be connected to input port diBweB
- The Wire
to be connected to input port weBaddrB
- The Wire
to be connected to input port addrBdoB
- The Wire
to be connected to output port doBcontents
- An String[]
representing the contents of the entire BlockRam, each string containing the init string that corresponds to the INIT_00 ... INIT_0F properties.public RAMB4Dual(Node parent, Wire clkA, Wire clkB, Wire rstA, Wire enA, Wire diA, Wire weA, Wire addrA, Wire doA, Wire rstB, Wire enB, Wire diB, Wire weB, Wire addrB, Wire doB, java.lang.String[] contents, java.lang.String name)
parent
- The parent Cell
to the RAMB4DualclkA
- The Wire
to be connected to clock port clkAclkB
- The Wire
to be connected to clock port clkBrstA
- The Wire
to be connected to input port rstAenA
- The Wire
to be connected to input port enAdiA
- The Wire
to be connected to input port diAweA
- The Wire
to be connected to input port weAaddrA
- The Wire
to be connected to input port addrAdoA
- The Wire
to be connected to output port doArstB
- The Wire
to be connected to input port rstBenB
- The Wire
to be connected to input port enBdiB
- The Wire
to be connected to input port diBweB
- The Wire
to be connected to input port weBaddrB
- The Wire
to be connected to input port addrBdoB
- The Wire
to be connected to output port doBcontents
- An String[]
representing the contents of the entire BlockRam, each string containing the init string that corresponds to the INIT_00 ... INIT_0F properties.name
- Instance name of the RAMB4Dualpublic RAMB4Dual(Node parent, Wire clkA, Wire clkB, Wire rstA, Wire enA, Wire diA, Wire weA, Wire addrA, Wire doA, Wire rstB, Wire enB, Wire diB, Wire weB, Wire addrB, Wire doB, int[] contents)
parent
- The parent Cell
to the RAMB4DualclkA
- The Wire
to be connected to clock port clkAclkB
- The Wire
to be connected to clock port clkBrstA
- The Wire
to be connected to input port rstAenA
- The Wire
to be connected to input port enAdiA
- The Wire
to be connected to input port diAweA
- The Wire
to be connected to input port weAaddrA
- The Wire
to be connected to input port addrAdoA
- The Wire
to be connected to output port doArstB
- The Wire
to be connected to input port rstBenB
- The Wire
to be connected to input port enBdiB
- The Wire
to be connected to input port diBweB
- The Wire
to be connected to input port weBaddrB
- The Wire
to be connected to input port addrBdoB
- The Wire
to be connected to output port doBcontents
- An int[]
representing the contents of the entire BlockRam.public RAMB4Dual(Node parent, Wire clkA, Wire clkB, Wire rstA, Wire enA, Wire diA, Wire weA, Wire addrA, Wire doA, Wire rstB, Wire enB, Wire diB, Wire weB, Wire addrB, Wire doB, int[] contents, java.lang.String name)
parent
- The parent Cell
to the RAMB4DualclkA
- The Wire
to be connected to clock port clkAclkB
- The Wire
to be connected to clock port clkBrstA
- The Wire
to be connected to input port rstAenA
- The Wire
to be connected to input port enAdiA
- The Wire
to be connected to input port diAweA
- The Wire
to be connected to input port weAaddrA
- The Wire
to be connected to input port addrAdoA
- The Wire
to be connected to output port doArstB
- The Wire
to be connected to input port rstBenB
- The Wire
to be connected to input port enBdiB
- The Wire
to be connected to input port diBweB
- The Wire
to be connected to input port weBaddrB
- The Wire
to be connected to input port addrBdoB
- The Wire
to be connected to output port doBcontents
- An int[]
representing the contents of the entire BlockRam.name
- Instance name of the RAMB4Dualpublic RAMB4Dual(Node parent, java.lang.String name, java.lang.String s0, Wire w0, java.lang.String s1, Wire w1, java.lang.String s2, Wire w2, java.lang.String s3, Wire w3, java.lang.String s4, Wire w4, java.lang.String s5, Wire w5, java.lang.String s6, Wire w6, java.lang.String s7, Wire w7, java.lang.String s8, Wire w8, java.lang.String s9, Wire w9, java.lang.String s10, Wire w10, java.lang.String s11, Wire w11, java.lang.String s12, Wire w12, java.lang.String s13, Wire w13, java.lang.String[] contents)
Method Detail |
protected void connectImplicitPorts()
Logic
#implicit_ports
.
If you used the old version of connect_implicit_ports, this method will use
reflection to see that the old version gets called correctly.
connectImplicitPorts
in class Logic
public java.lang.String getCellName()
Cell
getCellName
in class Cell
public boolean isNetlistLeaf()
Cell
isNetlistLeaf
in class Cell
public final boolean cellInterfaceDeterminesUniqueNetlistStructure()
Cell
cellInterfaceDeterminesUniqueNetlistStructure
in class Cell
protected void BuildStructure(Wire rstA, Wire enA, Wire diA, Wire weA, Wire addrA, Wire doA, Wire rstB, Wire enB, Wire diB, Wire weB, Wire addrB, Wire doB, int[] contents, java.lang.String name)
protected boolean defaultSimulationModelIsBehavioral()
Structural
defaultSimulationModelIsBehavioral
in class Structural
public void updateState(int[] update_value)
LargeExternallyUpdateable
updateState
in interface LargeExternallyUpdateable
update_value
- the state to update topublic int[] fetchState()
LargeExternallyUpdateable
fetchState
in interface LargeExternallyUpdateable
public java.io.Serializable getData()
Checkpointable
getData
in interface Checkpointable
public void setData(java.io.Serializable data)
Checkpointable
setData
in interface Checkpointable
data
- the state that was saved earlierpublic BlockRamView blockRamViewA()
public BlockRamView blockRamViewB()
protected int[] PropertyStringsToIntArray(java.lang.String[] pstr)
protected java.lang.String[] IntArrayToPropertyStrings(int[] array)
protected void addMyProperties()
protected void addMyProperties(java.lang.String[] properties)
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |