SInt

chisel3.SInt
See theSInt companion object
sealed class SInt extends Bits, Num[SInt]

A data type for signed integers, represented as a binary bitvector. Defines arithmetic operations between other integer types.

Attributes

Companion
object
Source
Bits.scala
Graph
Supertypes
trait Num[SInt]
class Bits
class Element
class Data
trait InstanceId
class Object
trait Matchable
class Any
Show all

Members list

Grouped members

Comparison

def =/=(that: SInt): Bool

Dynamic not equals operator

Dynamic not equals operator

Value parameters

that

a hardware $coll

Attributes

Returns

a hardware Bool asserted if this $coll is not equal to that

Inherited from:
SIntIntf (hidden)
Source
BitsIntf.scala
def ===(that: SInt): Bool

Dynamic equals operator

Dynamic equals operator

Value parameters

that

a hardware $coll

Attributes

Returns

a hardware Bool asserted if this $coll is equal to that

Inherited from:
SIntIntf (hidden)
Source
BitsIntf.scala

Arithmetic

def *(that: UInt)(using SourceInfo): SInt

Multiplication operator

Multiplication operator

Value parameters

that

a hardware $coll

Attributes

Returns

the product of this $coll and that $sumWidth $singleCycleMul

Inherited from:
SIntIntf (hidden)
Source
BitsIntf.scala
def +%(that: SInt)(using SourceInfo): SInt

Addition operator (constant width)

Addition operator (constant width)

Value parameters

that

a hardware $coll

Attributes

Returns

the sum of this $coll and that shifted right by one $maxWidth

Inherited from:
SIntIntf (hidden)
Source
BitsIntf.scala
def +&(that: SInt)(using SourceInfo): SInt

Addition operator (expanding width)

Addition operator (expanding width)

Value parameters

that

a hardware $coll

Attributes

Returns

the sum of this $coll and that $maxWidthPlusOne

Inherited from:
SIntIntf (hidden)
Source
BitsIntf.scala
def -%(that: SInt)(using SourceInfo): SInt

Subtraction operator (constant width)

Subtraction operator (constant width)

Value parameters

that

a hardware $coll

Attributes

Returns

the difference of this $coll less that shifted right by one $maxWidth

Inherited from:
SIntIntf (hidden)
Source
BitsIntf.scala
def -&(that: SInt)(using SourceInfo): SInt

Subtraction operator (increasing width)

Subtraction operator (increasing width)

Value parameters

that

a hardware $coll

Attributes

Returns

the difference of this $coll less that $maxWidthPlusOne

Inherited from:
SIntIntf (hidden)
Source
BitsIntf.scala
def max(that: SInt): SInt

Maximum operator

Maximum operator

Value parameters

that

a $numType

Attributes

Returns

a $numType with a value equal to the maximum value of this $coll and that $maxWidth

Inherited from:
NumIntf (hidden)
Source
NumIntf.scala
def min(that: SInt): SInt

Minimum operator

Minimum operator

Value parameters

that

a hardware $coll

Attributes

Returns

a $numType with a value equal to the minimum value of this $coll and that $maxWidth

Inherited from:
NumIntf (hidden)
Source
NumIntf.scala
final def unary_-(using SourceInfo): SInt

Unary negation (constant width)

Unary negation (constant width)

Attributes

Returns

a hardware $coll equal to zero minus this $coll $constantWidth

Inherited from:
SIntIntf (hidden)
Source
BitsIntf.scala
def unary_-%(using SourceInfo): SInt

Unary negation (constant width)

Unary negation (constant width)

Attributes

Returns

a hardware $coll equal to zero minus this $coll $constantWidth

Deprecated
[Since version Chisel 6.8.0] Use unary_- which has the same behavior
Inherited from:
SIntIntf (hidden)
Source
BitsIntf.scala

Bitwise

def ##(that: Bits)(using SourceInfo): UInt

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
def &(that: SInt)(using SourceInfo): SInt

Bitwise and operator

Bitwise and operator

Value parameters

that

a hardware $coll

Attributes

Returns

the bitwise and of this $coll and that $maxWidth

Inherited from:
SIntIntf (hidden)
Source
BitsIntf.scala
def ^(that: SInt)(using SourceInfo): SInt

Bitwise exclusive or (xor) operator

Bitwise exclusive or (xor) operator

Value parameters

that

a hardware $coll

Attributes

Returns

the bitwise xor of this $coll and that $maxWidth

Inherited from:
SIntIntf (hidden)
Source
BitsIntf.scala
def head(n: Int)(using SourceInfo): UInt

Head operator

Head operator

Value parameters

n

the number of bits to take

Attributes

Returns

The n most significant bits of this element

Inherited from:
BitsIntf (hidden)
Source
BitsIntf.scala
def pad(that: Int)(using SourceInfo): Bits

Pad operator

Pad operator

Value parameters

that

the width to pad to

Attributes

Returns

this @coll zero padded up to width that. If that is 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
def tail(n: Int)(using SourceInfo): UInt

Tail operator

Tail operator

Value parameters

n

the number of bits to remove

Attributes

Returns

This element with the n most significant bits removed.

Inherited from:
BitsIntf (hidden)
Source
BitsIntf.scala
def |(that: SInt): SInt

Bitwise or operator

Bitwise or operator

Value parameters

that

a hardware $coll

Attributes

Returns

the bitwise or of this $coll and that $maxWidth

Inherited from:
SIntIntf (hidden)
Source
BitsIntf.scala

connection

final def :=(that: => Data)(implicit sourceInfo: SourceInfo): Unit

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
final def <>(that: => Data)(implicit sourceInfo: SourceInfo): Unit

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 :<>= that without 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

override def _asSIntImpl(implicit sourceInfo: SourceInfo): SInt

Attributes

Definition Classes
Source
Bits.scala
override def toString: String

Returns a string representation of the object.

Returns a string representation of the object.

The default representation is platform dependent.

Attributes

Returns

a string representation of the object.

Definition Classes
Any
Source
Bits.scala

Inherited methods

override def %(that: SInt): SInt

Attributes

Definition Classes
SIntIntf
Inherited from:
SIntIntf (hidden)
Source
BitsIntf.scala
override def *(that: SInt): SInt

Attributes

Definition Classes
SIntIntf
Inherited from:
SIntIntf (hidden)
Source
BitsIntf.scala
override def +(that: SInt): SInt

add (default - no growth) operator

add (default - no growth) operator

Attributes

Definition Classes
SIntIntf
Inherited from:
SIntIntf (hidden)
Source
BitsIntf.scala
override def -(that: SInt): SInt

subtract (default - no growth) operator

subtract (default - no growth) operator

Attributes

Definition Classes
SIntIntf
Inherited from:
SIntIntf (hidden)
Source
BitsIntf.scala
override def /(that: SInt): SInt

Attributes

Definition Classes
SIntIntf
Inherited from:
SIntIntf (hidden)
Source
BitsIntf.scala
override def <(that: SInt): Bool

Attributes

Definition Classes
SIntIntf
Inherited from:
SIntIntf (hidden)
Source
BitsIntf.scala
override def <<(that: UInt)(using SourceInfo): SInt

Attributes

Definition Classes
SIntIntf
Inherited from:
SIntIntf (hidden)
Source
BitsIntf.scala
override def <<(that: BigInt)(using SourceInfo): SInt

Attributes

Definition Classes
SIntIntf
Inherited from:
SIntIntf (hidden)
Source
BitsIntf.scala
override def <<(that: Int)(using SourceInfo): SInt

Attributes

Definition Classes
SIntIntf
Inherited from:
SIntIntf (hidden)
Source
BitsIntf.scala
override def <=(that: SInt): Bool

Attributes

Definition Classes
SIntIntf
Inherited from:
SIntIntf (hidden)
Source
BitsIntf.scala
override def >(that: SInt): Bool

Attributes

Definition Classes
SIntIntf
Inherited from:
SIntIntf (hidden)
Source
BitsIntf.scala
override def >=(that: SInt): Bool

Attributes

Definition Classes
SIntIntf
Inherited from:
SIntIntf (hidden)
Source
BitsIntf.scala
override def >>(that: UInt)(using SourceInfo): SInt

Attributes

Definition Classes
SIntIntf
Inherited from:
SIntIntf (hidden)
Source
BitsIntf.scala
override def >>(that: BigInt)(using SourceInfo): SInt

Attributes

Definition Classes
SIntIntf
Inherited from:
SIntIntf (hidden)
Source
BitsIntf.scala
override def >>(that: Int)(using SourceInfo): SInt

Attributes

Definition Classes
SIntIntf
Inherited from:
SIntIntf (hidden)
Source
BitsIntf.scala
def abs: SInt

Attributes

Inherited from:
SIntIntf (hidden)
Source
BitsIntf.scala
final def apply(x: BigInt, y: BigInt)(using SourceInfo): UInt

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
final def apply(x: Int, y: Int)(using SourceInfo): UInt

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
final def apply(x: UInt)(using SourceInfo): Bool

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
final def apply(x: Int)(using SourceInfo): Bool

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
def asBool: Bool

Attributes

Inherited from:
BitsIntf (hidden)
Source
BitsIntf.scala
def asBools(using SourceInfo): Seq[Bool]

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
override def asSInt(using SourceInfo): SInt

Attributes

Definition Classes
SIntIntf
Inherited from:
SIntIntf (hidden)
Source
BitsIntf.scala
def asTypeOf[T <: Data](that: T)(using SourceInfo): T

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
def asUInt: UInt

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
override def autoSeed(name: String): Data.this.type

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
def cloneType: Bits.this.type

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.

Inherited from:
Bits
Source
Bits.scala
override def containsAFlipped: Boolean

Attributes

Definition Classes
Inherited from:
Element
Source
Element.scala
override def equals(that: Any): Boolean

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 x of type Any, x.equals(x) should return true.
  • It is symmetric: for any instances x and y of type Any, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any instances x, y, and z of type Any if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.

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

true if the receiver object is equivalent to the argument; false otherwise.

Definition Classes
HasId -> Any
Inherited from:
HasId (hidden)
Source
Builder.scala
final def extract(x: UInt)(using SourceInfo): Bool

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
final def extract(x: BigInt)(using SourceInfo): Bool

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
final def getWidth: Int

Returns the width, in bits, if currently known.

Returns the width, in bits, if currently known.

Attributes

Inherited from:
Data
Source
Data.scala
def hasSeed: Boolean

Attributes

Returns

Whether either autoName or suggestName has been called

Inherited from:
HasId (hidden)
Source
Builder.scala
override def hashCode: Int

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
def instanceName: String

Attributes

Inherited from:
HasId (hidden)
Source
Builder.scala
def isLit: Boolean

Attributes

Inherited from:
Data
Source
Data.scala
final def isWidthKnown: Boolean

Returns whether the width is currently known.

Returns whether the width is currently known.

Attributes

Inherited from:
Data
Source
Data.scala
override def litOption: Option[BigInt]

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
def litValue: BigInt

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
def name: String

Attributes

Inherited from:
Element
Source
Element.scala
def parentModName: String

Attributes

Inherited from:
HasId (hidden)
Source
Builder.scala
def parentPathName: String

Attributes

Inherited from:
HasId (hidden)
Source
Builder.scala
def pathName: String

Attributes

Inherited from:
HasId (hidden)
Source
Builder.scala
def suggestName(seed: => String): HasId.this.type

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
final def take(n: Int)(using SourceInfo): UInt

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
final def toNamed: ComponentName

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
final def toPrintable: Printable

Default print as Decimal

Default print as Decimal

Attributes

Inherited from:
Bits
Source
Bits.scala
final def toRelativeTarget(root: Option[BaseModule]): ReferenceTarget

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 root is defined, and has not finished elaboration, this must be called within atModuleBodyEnd.

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 root is defined, and has not finished elaboration, this must be called within atModuleBodyEnd.

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
override def typeName: String

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
Bits -> Data
Inherited from:
Bits
Source
Bits.scala
override def unary_~(using SourceInfo): SInt

Attributes

Definition Classes
SIntIntf
Inherited from:
SIntIntf (hidden)
Source
BitsIntf.scala
def widthKnown: Boolean

Attributes

Inherited from:
Element
Source
Element.scala
final def widthOption: Option[Int]

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