byucc.jhdl.Xilinx.XC4000
Class bscan

java.lang.Object
  extended bybyucc.jhdl.base.Nameable
      extended bybyucc.jhdl.base.Node
          extended bybyucc.jhdl.base.Cell
              extended bybyucc.jhdl.base.VisibleAnnotation
                  extended bybyucc.jhdl.Xilinx.XC4000.bscan
All Implemented Interfaces:
BooleanFlags, PreDefinedSchematic, TreeListable

public final class bscan
extends VisibleAnnotation
implements PreDefinedSchematic

The BSCAN symbol indicates that boundary scan logic should be enabled after the programmable logic device (PLD) configuration is complete. It also provides optional access to some special features of the XC5200 boundary scan logic. Note: For specific information on boundary scan for each architecture, refer to The Programmable Logic Data Book. To indicate that boundary scan remains enabled after configuration, connect the BSCAN symbol to the TDI, TMS, TCK, and TDO pads. The other pins on BSCAN do not need to be connected, unless those special functions are needed. A signal on the TDO1 input is passed to the external TDO output when the USER1 instruction is executed; the SEL1 output goes High to indicate that the USER1 instruction is active. The TDO2 and SEL2 pins perform a similar function for the USER2 instruction. The DRCK output provides access to the data register clock (generated by the TAP controller). The IDLE output provides access to a version of the TCK input, which is only active while the TAP controller is in the Run-Test-Idle state. The RESET, UPDATE, and SHIFT pins of the XC5200 BSCAN symbol represent the decoding of the corresponding state of the boundary scan internal state machine. These functions are not available in the XC4000E, XC4000X, Spartan, and SpartanXL. If boundary scan is used only before configuration is complete, do not include the BSCAN symbol in the design. The TDI, TMS, TCK, and TDO pins can be reserved for user functions. (Source: XACT Libraries Guide, Chapter 3 BSCAN, Xilinx Corporation,


Field Summary
static CellInterface[] cell_interface
          The port interface for: bscan tdi : in (1) tms : in (1) tck : in (1) tdo1 : in (1) tdo2 : in (1) tdo : out (1) drck : out (1) idle : out (1) sel1 : out (1) sel2 : out (1)
static java.lang.String cellname
          The static cellname (netlist reference name) for bscan
 
Fields inherited from class byucc.jhdl.base.Cell
BOOLEAN, CELL_NAME_DECLARATION, CellInterfaceDeterminesUniqueNetlistStructure, DETERMINE_FROM_STRING, GENERICS_DECLARATION, implicit_interface, 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
 
Fields inherited from interface byucc.jhdl.apps.Viewers.Schematic.PreDefinedSchematic
PreDefinedSchematic_ADD, PreDefinedSchematic_ADDSUB, PreDefinedSchematic_AND, PreDefinedSchematic_BUF, PreDefinedSchematic_CONST, PreDefinedSchematic_GEN, PreDefinedSchematic_GND, PreDefinedSchematic_INC, PreDefinedSchematic_INV, PreDefinedSchematic_MUX, PreDefinedSchematic_NAND, PreDefinedSchematic_NOR, PreDefinedSchematic_OR, PreDefinedSchematic_PULLDOWN, PreDefinedSchematic_PULLUP, PreDefinedSchematic_REG, PreDefinedSchematic_SHL, PreDefinedSchematic_SHR, PreDefinedSchematic_TBUF, PreDefinedSchematic_VCC, PreDefinedSchematic_XNOR, PreDefinedSchematic_XOR
 
Fields inherited from interface byucc.jhdl.base.BooleanFlags
ANTECEDANT_IS_BEHAVIORALLY_MODELED, ASYNC_PORT, ASYNCHRONOUS_RESOLVED, ATOMICALLY_PLACEABLE, ATOMICALLY_UNMAPPABLE, BEHAVIORALLY_MODELED_BRANCH, CLK_PORT, CLOCK_METHOD_IMPLEMENTED_BY_USER, CLOCK_METHOD_IS_DISABLED, CLOCKABLE_IS_SCHEDULED, DANGLING_IS_OK, DELETE_MARK, FATAL_BUILD_ERROR_OCCURED, HAS_BEEN_TRACED, HAS_USER_SPECIFIED_NAME, HWUPDATE, IMPLICIT_PORT, IN_CLK_PORT, IN_PORT, INOUT_PORT, IO_TYPE_FLAGS, IS_BEHAVIORALLY_MODELED, IS_ON_BUILD_STACK, IS_ON_PROP_LIST, IS_PLACED, METHODS_IMPLEMENTED_BY_USER, NETLISTABLE, ORIG_WIRE_IS_ATOMIC, OUT_PORT, PLACEMENT_IS_LOCKED, PROPAGATE_METHOD_IMPLEMENTED_BY_USER, PROPAGATE_METHOD_IS_DISABLED, RECURSION_FLAG, RESET_METHOD_IMPLEMENTED_BY_USER, SIMULATEABLE, SOURCELESS_IS_OK, SYNC_PORT, VISIBLE
 
Constructor Summary
protected bscan(Node parent)
          Used only by child classes to pass up the parent cell.
  bscan(Node parent, ArgBlockList abl)
          Constructs a new bscan, connecting its ports as given by the String-Wire pairs in the ArgBlockList.
protected bscan(Node parent, java.lang.String name)
          Used only by child classes to pass up the parent cell and instance name.
  bscan(Node parent, java.lang.String instanceName, ArgBlockList abl)
          Constructs a new bscan, connecting its ports as given by the String-Wire pairs in the ArgBlockList.
  bscan(Node parent, java.lang.String instanceName, 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)
          Constructs a new bscan, connecting each Wire to the port whose name is given by the accompanying String parameter The initial String parameter specifies the instance name.
  bscan(Node parent, 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)
          Constructs a new bscan, connecting each Wire to the port whose name is given by the accompanying String parameter
  bscan(Node parent, java.lang.String instanceName, Wire tdi, Wire tms, Wire tck, Wire tdo1, Wire tdo2, Wire tdo, Wire drck, Wire idle, Wire sel1, Wire sel2)
          Constructs a new bscan.
  bscan(Node parent, Wire tdi, Wire tms, Wire tck, Wire tdo1, Wire tdo2, Wire tdo, Wire drck, Wire idle, Wire sel1, Wire sel2)
          Constructs a new bscan.
 
Method Summary
 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.
 java.lang.String getCellName()
          Access the cell name associated with a derived class.
static void main(java.lang.String[] argv)
           
static void test()
           
 int type()
          This method returns one of the predefined schematic constants to identify the type of this cell.
 
Methods inherited from class byucc.jhdl.base.VisibleAnnotation
hasBehaviorInClockMethod, hasBehaviorInPropagateMethod, needsToBeAsynchronouslyScheduled
 
Methods inherited from class byucc.jhdl.base.Cell
addPort, addPorts, addProperties, addProperties, addProperty, addProperty, addProperty, addProperty, antecedantIsBehaviorallyModeled, antecedantIsBehaviorallyModeled, behavioralModelIsAvailable, bind, bind, bind, bind, clk, connect, connectAllWires, connectOptional, constructSubCell, constructSubCellNoImplicitPorts, defaultSimulationModelIsBehavioral, disableAllBehavioralModels, disableBehavioralModel, enableBehavioralModel, getArgument, getAttachedPort, getAttachedWire, getAttachedWireNoException, getCellNetlist, getCellNetList, getCellNetlist, getCellNetlist, getDescendents, getFlatNetlist, getFlatNetlistableChildren, getGeneric, getHeight, getNetlistableChildren, getPlacementInfo, getPortProperties, getPortRecord, getPortRecords, getProperties, getProperty, getPropertyValue, getSinkWires, getSourceWires, getSubCellClass, getUniqueCellName, getWidth, getX, getY, hasBeenTraced, hasBeenTraced, hasPort, hasPorts, in, in, inout, inout, isAsynchronouslyScheduled, isAsynchronouslyScheduled, isAsynchronousSourceSinkResolved, isBehaviorallyModeled, isBehaviorallyModeledBranch, isInput, isLeafCell, isNetlistable, isNetlistable, isNetlistablePort, isNetlistLeaf, isNotNetlistable, isNotNetlistablePort, isNotVisible, isOutput, isPlaceable, isPlaceable, isPlaced, isPlaced, isPlacementLocked, isRoot, isSimulateable, isSimulateable, isSink, isSource, isVisible, isVisible, join, lockPlacement, nc, out, out, param, popHierarchy, port, port, port, postorderCheck, preorderCheck, pushHierarchy, pushHierarchy, pushHierarchy, pushHierarchy, pushHierarchyNoImplicitPorts, pushHierarchyNoImplicitPorts, removeAllUnconnectedPorts, removePort, removeProperty, replaceProperty, replaceProperty, resetBehavioralModelsToDefaults, setAsynchronousSourceSinkResolved, setGeneric, setHeight, setNotNetlistable, setNotNetlistable, setNotVisible, setNotVisible, setPlacementInfo, setPortNotNetlistable, setPortNotNetlistable, setProperty, setWidth, subClassDelete, toString, uniquifyCell, userDefinedClockCount, verifyAndCleanup
 
Methods inherited from class byucc.jhdl.base.Node
addObservable, addSimulatorCallback, checkAll, delete, getBuildingFlag, getChildren, getChildrenEnumeration, getDefaultClock, 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

cellname

public static final java.lang.String cellname
The static cellname (netlist reference name) for bscan

See Also:
Constant Field Values

cell_interface

public static CellInterface[] cell_interface
The port interface for: bscan tdi : in (1) tms : in (1) tck : in (1) tdo1 : in (1) tdo2 : in (1) tdo : out (1) drck : out (1) idle : out (1) sel1 : out (1) sel2 : out (1)

Constructor Detail

bscan

protected bscan(Node parent)
Used only by child classes to pass up the parent cell.

Parameters:
parent - Parent cell

bscan

protected bscan(Node parent,
                java.lang.String name)
Used only by child classes to pass up the parent cell and instance name.

Parameters:
parent - Parent cell
name - Instance name of the cell

bscan

public bscan(Node parent,
             Wire tdi,
             Wire tms,
             Wire tck,
             Wire tdo1,
             Wire tdo2,
             Wire tdo,
             Wire drck,
             Wire idle,
             Wire sel1,
             Wire sel2)
Constructs a new bscan.

Parameters:
parent - The parent Cell to the bscan
tdi - The Wire to be connected to input port tdi
tms - The Wire to be connected to input port tms
tck - The Wire to be connected to input port tck
tdo1 - The Wire to be connected to input port tdo1
tdo2 - The Wire to be connected to input port tdo2
tdo - The Wire to be connected to output port tdo
drck - The Wire to be connected to output port drck
idle - The Wire to be connected to output port idle
sel1 - The Wire to be connected to output port sel1
sel2 - The Wire to be connected to output port sel2

bscan

public bscan(Node parent,
             java.lang.String instanceName,
             Wire tdi,
             Wire tms,
             Wire tck,
             Wire tdo1,
             Wire tdo2,
             Wire tdo,
             Wire drck,
             Wire idle,
             Wire sel1,
             Wire sel2)
Constructs a new bscan. The initial String parameter specifies the instance name.

Parameters:
parent - The parent Cell to the bscan
instanceName - The instance name of the bscan
tdi - The Wire to be connected to input port tdi
tms - The Wire to be connected to input port tms
tck - The Wire to be connected to input port tck
tdo1 - The Wire to be connected to input port tdo1
tdo2 - The Wire to be connected to input port tdo2
tdo - The Wire to be connected to output port tdo
drck - The Wire to be connected to output port drck
idle - The Wire to be connected to output port idle
sel1 - The Wire to be connected to output port sel1
sel2 - The Wire to be connected to output port sel2

bscan

public bscan(Node parent,
             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)
Constructs a new bscan, connecting each Wire to the port whose name is given by the accompanying String parameter

Parameters:
parent - The parent Cell to the bscan
s0 - The name of the port to which w0 will be connected
w0 - The Wire to be connected to the port specified by s0
s1 - The name of the port to which w1 will be connected
w1 - The Wire to be connected to the port specified by s1
s2 - The name of the port to which w2 will be connected
w2 - The Wire to be connected to the port specified by s2
s3 - The name of the port to which w3 will be connected
w3 - The Wire to be connected to the port specified by s3
s4 - The name of the port to which w4 will be connected
w4 - The Wire to be connected to the port specified by s4
s5 - The name of the port to which w5 will be connected
w5 - The Wire to be connected to the port specified by s5
s6 - The name of the port to which w6 will be connected
w6 - The Wire to be connected to the port specified by s6
s7 - The name of the port to which w7 will be connected
w7 - The Wire to be connected to the port specified by s7
s8 - The name of the port to which w8 will be connected
w8 - The Wire to be connected to the port specified by s8
s9 - The name of the port to which w9 will be connected
w9 - The Wire to be connected to the port specified by s9

bscan

public bscan(Node parent,
             java.lang.String instanceName,
             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)
Constructs a new bscan, connecting each Wire to the port whose name is given by the accompanying String parameter The initial String parameter specifies the instance name.

Parameters:
parent - The parent Cell to the bscan
instanceName - The instance name of the bscan
s0 - The name of the port to which w0 will be connected
w0 - The Wire to be connected to the port specified by s0
s1 - The name of the port to which w1 will be connected
w1 - The Wire to be connected to the port specified by s1
s2 - The name of the port to which w2 will be connected
w2 - The Wire to be connected to the port specified by s2
s3 - The name of the port to which w3 will be connected
w3 - The Wire to be connected to the port specified by s3
s4 - The name of the port to which w4 will be connected
w4 - The Wire to be connected to the port specified by s4
s5 - The name of the port to which w5 will be connected
w5 - The Wire to be connected to the port specified by s5
s6 - The name of the port to which w6 will be connected
w6 - The Wire to be connected to the port specified by s6
s7 - The name of the port to which w7 will be connected
w7 - The Wire to be connected to the port specified by s7
s8 - The name of the port to which w8 will be connected
w8 - The Wire to be connected to the port specified by s8
s9 - The name of the port to which w9 will be connected
w9 - The Wire to be connected to the port specified by s9

bscan

public bscan(Node parent,
             ArgBlockList abl)
Constructs a new bscan, connecting its ports as given by the String-Wire pairs in the ArgBlockList. Any generic assignments are made through String-String pairs in the ArgBlockList.

Parameters:
parent - The parent Cell to the bscan
abl - The list of String-Wire pairs for port assignments, and String-String pairs for generic assignments.

bscan

public bscan(Node parent,
             java.lang.String instanceName,
             ArgBlockList abl)
Constructs a new bscan, connecting its ports as given by the String-Wire pairs in the ArgBlockList. Any generic assignments are made through String-String pairs in the ArgBlockList. The initial String parameter is the instance name.

Parameters:
parent - The parent Cell to the bscan
instanceName - The instance name of the bscan
abl - The list of String-Wire pairs for port assignments, and String-String pairs for generic assignments.
Method Detail

getCellName

public java.lang.String getCellName()
Description copied from class: Cell
Access the cell name associated with a derived class. The cellname field is lazily evaluated on the first call of this method. Can be overriden to make cellname different by instance. If the field does not exist, this defaults to the classname.

Overrides:
getCellName in class Cell
Returns:
the cell name associated with a derived class, null if not declared.

cellInterfaceDeterminesUniqueNetlistStructure

public final boolean cellInterfaceDeterminesUniqueNetlistStructure()
Description copied from class: Cell
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. Overriding this method to return true allows JHDL to save memory and netlists to be smaller by sharing the netlist structures that are guaranteed to be identical. NOTE: Do not override this unless every possible condition responsible for structural differences in a class (types and amount of children cells created, and arrangements of wires connected to ports) is included in the cellInterface[] of that class.

Overrides:
cellInterfaceDeterminesUniqueNetlistStructure in class Cell
Returns:
false if not overridden, preventing all memory sharing

type

public int type()
Description copied from interface: PreDefinedSchematic
This method returns one of the predefined schematic constants to identify the type of this cell.

Specified by:
type in interface PreDefinedSchematic
Returns:
A predefined schematic constant

main

public static void main(java.lang.String[] argv)

test

public static void test()


Copyright ? 2006 Brigham Young University, Configurable Computing Laboratory. All Rights Reserved.