Interface required by Cat is an operator to combine data nodes together
The cat operator to combine two values
The cat operator to combine two values
0x5 ## 0x3 => 0x53
Node to cat after
a new node as the combination of both this node and b
Create a new Bundle with all the elements of both
Create a new Bundle with all the elements of both
Connect all elements contained in this to node 'src'
Connect all elements contained in this to node 'src'
// pass through all wires in this modules io to the sub module which have the same name // Note: ignores any extra defined in io mySubModule.io <> io
The elements are checked for compatibility based on their name If elements are in src that are not in this Bundle no warning will be produced
Eliminate any zero-width wires attached to this node
Eliminate any zero-width wires attached to this node
if the node was modified
The unique id of this node
The unique id of this node
set this node as directionless
Return this object as an INPUT
Sets the direction (*dir*) of instances derived from Bits to OUTPUT or recursively sets members of Bundle/Vec to OUTPUT.
Populates the cache of elements declared in the Bundle.
Populates the cache of elements declared in the Bundle.
The clock for this node
The clock for this node
Get the module that this node is a part of or the top module if not assigned yet
Get the module that this node is a part of or the top module if not assigned yet
The module that this node is a part of
nodes that consume one of my outputs
nodes that consume one of my outputs
Check if an element exists with that name
Check if an element exists with that name
Convert the node literal to a Double
Convert the node literal to a Double
Compare two nodes
Change all INPUT to OUTPUT and visa versa for all elements in this Bundle
Convert the node literal to a Float
Convert the node literal to a Float
Connect all data nodes in the map as inputs for this bundle using the names in the map
Connect all data nodes in the map as inputs for this bundle using the names in the map
Factory method to create and assign a leaf-type instance out of a subclass of *Node* instance which we have lost the concrete type.
Factory method to create and assign a leaf-type instance out of a subclass of *Node* instance which we have lost the concrete type.
The root node input
the unique hashCode for this node
Called while we're walking the graph inferring the width of nodes.
Called while we're walking the graph inferring the width of nodes. We return true if we should continue to walk the graph, either because there's a node whose width we don't know, or because we updated a node's width.
Init the node and calculate its width and add inputs to the node
Init the node and calculate its width and add inputs to the node
name of node
the bit width of the node
Nodes that are inputs to this node
Init the node and calculate its width and add inputs to the node
Init the node and calculate its width and add inputs to the node
name of node
the function to use to calculate the width of the node
Nodes that are inputs to this node
Init the node and calculate its width and add inputs to the node
Init the node and calculate its width and add inputs to the node
name of node
the function to use to calculate the width of the node
Nodes that are inputs to this node
The inputs that this node depends on
The inputs that this node depends on
check if this node is neither INPUT or OUTPUT
this node is an I/O Node for a module
This function determines if a node is a literal, a fixed value
This function determines if a node is a literal, a fixed value
is this node I/O for the top level module
Chisel3 - type-only nodes (no data - no initialization or assignment) This is used to determine which nodes must be Wire() wrapped, and whether Wire() wrapping of the node is legal or not.
this node is a Register
this node has zero-width
The trace information for chisel for this node
The trace information for chisel for this node
the literal value of a node
if there is no literal value available
the literal value of the node as a BigInt
Bool(true).litValue() => BigInt(1)
Deprecated: Do not use
Deprecated: Do not use
Name of the instance.
Name of the instance.
Name the bundle, do not use directly, use setName instead
named is used to indicate that name was set explicitly and should not be overriden
named is used to indicate that name was set explicitly and should not be overriden
the bitWidth of the node
if the width is not yet defined
Prints all members of a node and recursively its inputs up to a certain depth level This method is purely used for debugging
Prints all members of a node and recursively its inputs up to a certain depth level This method is purely used for debugging
Replace the subtree starting from this node with the indicated replacement
Replace the subtree starting from this node with the indicated replacement
The node to start tree from
Review a node for optimization possibilities if its children have been updated
Review a node for optimization possibilities if its children have been updated
make this node a type node
Set the name of this module to the string 'n'
Set the name of this module to the string 'n'
my.io.node.setName("MY_IO_NODE")
Force the bit width of a node
This node as a UInt
Try to convert this data to a Bool
Try to convert this data to a Bool
if the width is not 1
An I/O bundle for the Arbiter