Data type for binary bit vectors
The supertype for UInt and SInt. Note that the Bits factory method returns UInts.
Attributes
- Companion
- object
- Source
- Bits.scala
- Graph
-
- Supertypes
- Known subtypes
Members list
Grouped members
Bitwise
Concatenation operator
Concatenation operator
Value parameters
- that
-
a hardware component
Attributes
- Returns
-
this element concatenated to the most significant end of
that$sumWidth - Inherited from:
- BitsIntf (hidden)
- Source
- BitsIntf.scala
Dynamic left shift operator
Dynamic left shift operator
Value parameters
- that
-
a hardware component
Attributes
- Returns
-
this element dynamically shifted left by
thatmany places, shifting in zeros from the right - Note
-
The width of the returned element is
width of this + pow(2, width of that) - 1. - Inherited from:
- BitsIntf (hidden)
- Source
- BitsIntf.scala
Static left shift operator
Static left shift operator
Value parameters
- that
-
an amount to shift by
Attributes
- Returns
-
this element with
thatmany zeros concatenated to its least significant end $sumWidthInt - Inherited from:
- BitsIntf (hidden)
- Source
- BitsIntf.scala
Static left shift operator
Static left shift operator
Value parameters
- that
-
an amount to shift by
Attributes
- Returns
-
this element with
thatmany zeros concatenated to its least significant end $sumWidthInt - Inherited from:
- BitsIntf (hidden)
- Source
- BitsIntf.scala
Dynamic right shift operator
Dynamic right shift operator
Value parameters
- that
-
a hardware component
Attributes
- Returns
-
this element dynamically shifted right by the value of
thatcomponent, inserting zeros into the most significant bits. $unchangedWidth - Inherited from:
- BitsIntf (hidden)
- Source
- BitsIntf.scala
Static right shift operator
Static right shift operator
Value parameters
- that
-
an amount to shift by
Attributes
- Returns
-
this element with
thatmany least significant bits truncated $unchangedWidth - Inherited from:
- BitsIntf (hidden)
- Source
- BitsIntf.scala
Static right shift operator
Static right shift operator
Value parameters
- that
-
an amount to shift by
Attributes
- Returns
-
this element with
thatmany least significant bits truncated $unchangedWidth - Inherited from:
- BitsIntf (hidden)
- Source
- BitsIntf.scala
Head operator
Head operator
Value parameters
- n
-
the number of bits to take
Attributes
- Returns
-
The
nmost significant bits of this element - Inherited from:
- BitsIntf (hidden)
- Source
- BitsIntf.scala
Pad operator
Pad operator
Value parameters
- that
-
the width to pad to
Attributes
- Returns
-
this @coll zero padded up to width
that. Ifthatis less than the width of the original component, this method returns the original component. - Note
-
For SInts only, this will do sign extension.
- Inherited from:
- BitsIntf (hidden)
- Source
- BitsIntf.scala
Tail operator
Tail operator
Value parameters
- n
-
the number of bits to remove
Attributes
- Returns
-
This element with the
nmost significant bits removed. - Inherited from:
- BitsIntf (hidden)
- Source
- BitsIntf.scala
Bitwise inversion operator
Bitwise inversion operator
Attributes
- Returns
-
this element with each bit inverted
- Inherited from:
- BitsIntf (hidden)
- Source
- BitsIntf.scala
connection
The "strong connect" operator.
The "strong connect" operator.
For chisel3._, this operator is mono-directioned; all sub-elements of this will be driven by sub-elements of that.
- Equivalent to
this :#= that
For Chisel._, this operator connections bi-directionally via emitting the FIRRTL.<=
- Equivalent to
this :<>= that
Value parameters
- that
-
the Data to connect from
Attributes
- Inherited from:
- Data
- Source
- Data.scala
The "bulk connect operator", assigning elements in this Vec from elements in a Vec.
The "bulk connect operator", assigning elements in this Vec from elements in a Vec.
For chisel3._, uses the chisel3.internal.BiConnect algorithm; sub-elements of thatmay end up driving sub-elements ofthis`
- Complicated semantics, hard to write quickly, will likely be deprecated in the future
For Chisel._, emits the FIRRTL.<- operator
- Equivalent to
this :<>= thatwithout the restrictions that bundle field names and vector sizes must match
Value parameters
- that
-
the Data to connect from
Attributes
- Inherited from:
- Data
- Source
- Data.scala
Value members
Concrete methods
Internal API; Chisel users should look at chisel3.chiselTypeOf(...).
Internal API; Chisel users should look at chisel3.chiselTypeOf(...).
cloneType must be defined for any Chisel object extending Data. It is responsible for constructing a basic copy of the object being cloned.
Attributes
- Returns
-
a copy of the object.
- Source
- Bits.scala
Default print as Decimal
A non-ambiguous name of this Bits instance for use in generated Verilog names Inserts the width directly after the typeName, e.g. UInt4, SInt1
A non-ambiguous name of this Bits instance for use in generated Verilog names Inserts the width directly after the typeName, e.g. UInt4, SInt1
Attributes
- Definition Classes
- Source
- Bits.scala
Inherited methods
Returns a subset of bits on this element from hi to lo (inclusive), statically addressed.
Returns a subset of bits on this element from hi to lo (inclusive), statically addressed.
Value parameters
- x
-
the high bit
- y
-
the low bit
Attributes
- Returns
-
a hardware component contain the requested bits
- Example
-
myBits = 0x5 = 0b101 myBits(1,0) => 0b01 // extracts the two least significant bits - Inherited from:
- BitsIntf (hidden)
- Source
- BitsIntf.scala
Returns a subset of bits on this element from hi to lo (inclusive), statically addressed.
Returns a subset of bits on this element from hi to lo (inclusive), statically addressed.
Value parameters
- x
-
the high bit
- y
-
the low bit
Attributes
- Returns
-
a hardware component contain the requested bits
- Example
-
myBits = 0x5 = 0b101 myBits(1,0) => 0b01 // extracts the two least significant bits - Inherited from:
- BitsIntf (hidden)
- Source
- BitsIntf.scala
Returns the specified bit on this wire as a Bool, dynamically addressed.
Returns the specified bit on this wire as a Bool, dynamically addressed.
Value parameters
- x
-
a hardware component whose value will be used for dynamic addressing
Attributes
- Returns
-
the specified bit
- Inherited from:
- BitsIntf (hidden)
- Source
- BitsIntf.scala
Returns the specified bit on this element as a Bool, statically addressed.
Returns the specified bit on this element as a Bool, statically addressed.
Value parameters
- x
-
an index
Attributes
- Returns
-
the specified bit
- Inherited from:
- BitsIntf (hidden)
- Source
- BitsIntf.scala
Attributes
- Inherited from:
- BitsIntf (hidden)
- Source
- BitsIntf.scala
Returns the contents of this wire as a scala.collection.Seq of Bool.
Returns the contents of this wire as a scala.collection.Seq of Bool.
Attributes
- Inherited from:
- BitsIntf (hidden)
- Source
- BitsIntf.scala
Reinterpret this element as an SInt
Reinterpret this element as an SInt
Attributes
- Note
- Inherited from:
- BitsIntf (hidden)
- Source
- BitsIntf.scala
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.
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.
Attributes
- Note
-
bit widths are NOT checked, may pad or drop bits from input
that should have known widths
- Inherited from:
- DataIntf (hidden)
- Source
- DataIntf.scala
Reinterpret cast to UInt.
Reinterpret cast to UInt.
Attributes
- Note
-
value not guaranteed to be preserved: for example, a SInt of width 3 and value -1 (0b111) would become an UInt with value 7
Aggregates are recursively packed with the first element appearing in the least-significant bits of the result.
- Inherited from:
- DataIntf (hidden)
- Source
- DataIntf.scala
Takes the last seed suggested. Multiple calls to this function will take the last given seed, unless this HasId is a module port (see overridden method in Data.scala).
Takes the last seed suggested. Multiple calls to this function will take the last given seed, unless this HasId is a module port (see overridden method in Data.scala).
If the final computed name conflicts with the final name of another signal, the final name may get uniquified by appending a digit at the end of the name.
Is a lower priority than suggestName, in that regardless of whether autoSeed was called, suggestName will always take precedence if it was called.
Value parameters
- seed
-
Seed for the name of this component
Attributes
- Returns
-
this object
- Definition Classes
-
Data -> HasId
- Inherited from:
- Data
- Source
- Data.scala
Attributes
- Definition Classes
- Inherited from:
- Element
- Source
- Element.scala
Compares the receiver object (this) with the argument object (that) for equivalence.
Compares the receiver object (this) with the argument object (that) for equivalence.
Any implementation of this method should be an equivalence relation:
- It is reflexive: for any instance
xof typeAny,x.equals(x)should returntrue. - It is symmetric: for any instances
xandyof typeAny,x.equals(y)should returntrueif and only ify.equals(x)returnstrue. - It is transitive: for any instances
x,y, andzof typeAnyifx.equals(y)returnstrueandy.equals(z)returnstrue, thenx.equals(z)should returntrue.
If you override this method, you should verify that your implementation remains an equivalence relation. Additionally, when overriding this method it is usually necessary to override hashCode to ensure that objects which are "equal" (o1.equals(o2) returns true) hash to the same scala.Int. (o1.hashCode.equals(o2.hashCode)).
Value parameters
- that
-
the object to compare against this object for equality.
Attributes
- Returns
-
trueif the receiver object is equivalent to the argument;falseotherwise. - Definition Classes
-
HasId -> Any
- Inherited from:
- HasId (hidden)
- Source
- Builder.scala
Returns the specified bit on this wire as a Bool, dynamically addressed.
Returns the specified bit on this wire as a Bool, dynamically addressed.
Value parameters
- x
-
a hardware component whose value will be used for dynamic addressing
Attributes
- Returns
-
the specified bit
- Inherited from:
- BitsIntf (hidden)
- Source
- BitsIntf.scala
Returns the specified bit on this element as a Bool, statically addressed.
Returns the specified bit on this element as a Bool, statically addressed.
Value parameters
- x
-
an index
Attributes
- Returns
-
the specified bit
- Inherited from:
- BitsIntf (hidden)
- Source
- BitsIntf.scala
Returns the width, in bits, if currently known.
Attributes
- Returns
-
Whether either autoName or suggestName has been called
- Inherited from:
- HasId (hidden)
- Source
- Builder.scala
Calculates a hash code value for the object.
Calculates a hash code value for the object.
The default hashing algorithm is platform dependent.
Note that it is allowed for two objects to have identical hash codes (o1.hashCode.equals(o2.hashCode)) yet not be equal (o1.equals(o2) returns false). A degenerate implementation could always return 0. However, it is required that if two objects are equal (o1.equals(o2) returns true) that they have identical hash codes (o1.hashCode.equals(o2.hashCode)). Therefore, when overriding this method, be sure to verify that the behavior is consistent with the equals method.
Attributes
- Returns
-
the hash code value for this object.
- Definition Classes
-
HasId -> Any
- Inherited from:
- HasId (hidden)
- Source
- Builder.scala
Attributes
- Inherited from:
- HasId (hidden)
- Source
- Builder.scala
Attributes
- Inherited from:
- Data
- Source
- Data.scala
Returns whether the width is currently known.
If this is a literal that is representable as bits, returns the value as a BigInt. If not a literal, or not representable as bits (for example, is or contains Analog), returns None.
If this is a literal that is representable as bits, returns the value as a BigInt. If not a literal, or not representable as bits (for example, is or contains Analog), returns None.
Attributes
- Definition Classes
- Inherited from:
- Element
- Source
- Element.scala
Returns the literal value if this is a literal that is representable as bits, otherwise crashes.
Returns the literal value if this is a literal that is representable as bits, otherwise crashes.
Attributes
- Inherited from:
- Data
- Source
- Data.scala
Attributes
- Inherited from:
- Element
- Source
- Element.scala
Attributes
- Inherited from:
- HasId (hidden)
- Source
- Builder.scala
Attributes
- Inherited from:
- HasId (hidden)
- Source
- Builder.scala
Attributes
- Inherited from:
- HasId (hidden)
- Source
- Builder.scala
Takes the first seed suggested. Multiple calls to this function will be ignored. If the final computed name conflicts with another name, it may get uniquified by appending a digit at the end.
Takes the first seed suggested. Multiple calls to this function will be ignored. If the final computed name conflicts with another name, it may get uniquified by appending a digit at the end.
Is a higher priority than autoSeed, in that regardless of whether autoSeed was called, suggestName will always take precedence.
Value parameters
- seed
-
The seed for the name of this component
Attributes
- Returns
-
this object
- Inherited from:
- HasId (hidden)
- Source
- Builder.scala
Grab the bottom n bits. Return 0.U(0.W) if n==0.
Grab the bottom n bits. Return 0.U(0.W) if n==0.
Attributes
- Inherited from:
- BitsIntf (hidden)
- Source
- BitsIntf.scala
Returns a FIRRTL IsMember that refers to the absolute path to this object in the elaborated hardware graph
Returns a FIRRTL IsMember that refers to the absolute path to this object in the elaborated hardware graph
Attributes
- Inherited from:
- NamedComponent (hidden)
- Source
- Builder.scala
Returns a FIRRTL ComponentName that references this object
Returns a FIRRTL ComponentName that references this object
Attributes
- Note
-
Should not be called until circuit elaboration is complete
- Inherited from:
- NamedComponent (hidden)
- Source
- Builder.scala
Returns a FIRRTL ReferenceTarget that references this object, relative to an optional root.
Returns a FIRRTL ReferenceTarget that references this object, relative to an optional root.
If root is defined, the target is a hierarchical path starting from root.
If root is not defined, the target is a hierarchical path equivalent to toAbsoluteTarget.
Attributes
- Note
-
If
rootis defined, and has not finished elaboration, this must be called withinatModuleBodyEnd.The NamedComponent must be a descendant of
root, if it is defined.This doesn't have special handling for Views.
- Inherited from:
- NamedComponent (hidden)
- Source
- Builder.scala
Returns a FIRRTL ReferenceTarget that references this object, relative to an optional root.
Returns a FIRRTL ReferenceTarget that references this object, relative to an optional root.
If root is defined, the target is a hierarchical path starting from root.
If root is not defined, the target is a hierarchical path equivalent to toAbsoluteTarget.
Attributes
- Note
-
If
rootis defined, and has not finished elaboration, this must be called withinatModuleBodyEnd.The NamedComponent must be a descendant of
root, if it is defined.This doesn't have special handling for Views.
- Inherited from:
- NamedComponent (hidden)
- Source
- Builder.scala
Returns a FIRRTL ReferenceTarget that references this object
Returns a FIRRTL ReferenceTarget that references this object
Attributes
- Note
-
Should not be called until circuit elaboration is complete
- Inherited from:
- NamedComponent (hidden)
- Source
- Builder.scala
Attributes
- Inherited from:
- Element
- Source
- Element.scala
Returns Some(width) if the width is known, else None.
Returns Some(width) if the width is known, else None.
Attributes
- Inherited from:
- Data
- Source
- Data.scala