Does a reinterpret cast of the bits in this node into the format that provides.
Does a reinterpret cast of the bits in this node into the format that provides. Returns a new Wire of that type. Does not modify existing nodes.
x.asTypeOf(that) performs the inverse operation of x = that.toBits.
that should have known widths
,bit widths are NOT checked, may pad or drop bits from input
Reinterpret cast to UInt.
Reinterpret cast to UInt.
Aggregates are recursively packed with the first element appearing in the least-significant bits of the result.
,value not guaranteed to be preserved: for example, a SInt of width 3 and value -1 (0b111) would become an UInt with value 7
chiselCloneType is called at the top-level of a clone chain.
chiselCloneType is called at the top-level of a clone chain. It calls the client's cloneType() method to construct a basic copy of the object being cloned, then performs any fixups required to reconstruct the appropriate core state of the cloned object.
a copy of the object with appropriate core state.
Name for Pretty Printing
cloneType must be defined for any Chisel object extending Data.
cloneType must be defined for any Chisel object extending Data. It is responsible for constructing a basic copy of the object being cloned. If cloneType needs to recursively clone elements of an object, it should call the cloneType methods on those elements.
a copy of the object.
The collection of Data
The collection of Data
Elements defined earlier in the Bundle are higher order upon serialization. For example:
class MyBundle extends Bundle { val foo = UInt(16.W) val bar = UInt(16.W) } // Note that foo is higher order because its defined earlier in the Bundle val bundle = Wire(new MyBundle) bundle.foo := 0x1234.U bundle.bar := 0x5678.U val uint = bundle.asUInt assert(uint === "h12345678".U) // This will pass
Creates an new instance of this type, unpacking the input Bits into structured data.
Creates an new instance of this type, unpacking the input Bits into structured data.
This performs the inverse operation of toBits.
what fromBits assigs to must have known widths
,does NOT check bit widths, may drop bits during assignment
,does NOT assign to the object this is called on, instead creates and returns a NEW object (useful in a clone-and-assign scenario)
Returns a Seq of the immediate contents of this Aggregate, in order.
Returns the width, in bits, if currently known.
Returns the width, in bits, if currently known.
java.util.NoSuchElementException
if the width is not known.
Returns whether the width is currently known.
Returns whether the width is currently known.
Default "pretty-print" implementation Analogous to printing a Map Results in "Bundle(elt0.name -> elt0.value, ...)"
Returns Some(width) if the width is known, else None.
Returns Some(width) if the width is known, else None.
An I/O Bundle containing 'valid' and 'ready' signals that handshake the transfer of data stored in the 'bits' subfield. The base protocol implied by the directionality is that the consumer uses the flipped interface. Actual semantics of ready/valid are enforced via use of concrete subclasses.