c

chisel3

# SInt 

#### sealed class SInt extends Bits with Num[SInt]

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

Source
Bits.scala
Linear Supertypes
Num[SInt], Bits, ToBoolable, Element, Data, SourceInfoDoc, NamedComponent, HasId, internal.InstanceId, AnyRef, Any
Ordering
1. Grouped
2. Alphabetic
3. By Inheritance
Inherited
1. SInt
2. Num
3. Bits
4. ToBoolable
5. Element
6. Data
7. SourceInfoDoc
8. NamedComponent
9. HasId
10. InstanceId
11. AnyRef
12. Any
1. Hide All
2. Show All
Visibility
1. Public
2. All

### Value Members

1. final def !=(arg0: Any)
Definition Classes
AnyRef → Any
2. final macro def ##(that: Bits): UInt

Concatenation operator

Concatenation operator

that

a hardware component

returns

this Bits concatenated to the most significant end of `that`

Definition Classes
Bits
Note

The width of the returned Bits is `width of this` + `width of that`.

3. final def ##(): Int
Definition Classes
AnyRef → Any
4. final macro def %(that: SInt): SInt

Modulo operator

Modulo operator

that

a hardware type

returns

the remainder of this numeric-like type divided by `that`

Definition Classes
Num
Note

This method generates a fully combinational divider which can result in significant cycle time and area costs.

5. final macro def &(that: SInt): SInt

Bitwise and operator

Bitwise and operator

that

a hardware SInt

returns

the bitwise and of this SInt and `that`

Note

The width of the returned SInt is `max(width of this, width of that)`.

6. final macro def *(that: UInt): SInt

Multiplication operator

Multiplication operator

that

a hardware SInt

returns

the product of this SInt and `that`

Note

The width of the returned SInt is `width of this` + `width of that`.

,

This method generates a fully combinational multiplier which can result in significant cycle time and area costs.

7. final macro def *(that: SInt): SInt

Multiplication operator

Multiplication operator

that

a hardware type

returns

the product of this numeric-like type and `that`

Definition Classes
Num
Note

The width of the returned hardware type is `width of this` + `width of that`.

,

This method generates a fully combinational multiplier which can result in significant cycle time and area costs.

8. final macro def +(that: SInt): SInt

Addition operator

Addition operator

that

a hardware type

returns

the sum of this numeric-like type and `that`

Definition Classes
Num
Note

The width of the returned hardware type is `max(width of this, width of that)`.

9. final macro def +%(that: SInt): SInt

Addition operator (constant width)

Addition operator (constant width)

that

a hardware SInt

returns

the sum of this SInt and `that` shifted right by one

Note

The width of the returned SInt is `max(width of this, width of that)`.

10. final macro def +&(that: SInt): SInt

Addition operator (expanding width)

Addition operator (expanding width)

that

a hardware SInt

returns

the sum of this SInt and `that`

Note

The width of the returned SInt is `max(width of this, width of that) + 1`.

11. final macro def -(that: SInt): SInt

Subtraction operator

Subtraction operator

that

a hardware type

returns

the difference of this numeric-like type less `that`

Definition Classes
Num
Note

The width of the returned hardware type is `max(width of this, width of that) + 1`.

12. final macro def -%(that: SInt): SInt

Subtraction operator (constant width)

Subtraction operator (constant width)

that

a hardware SInt

returns

the difference of this SInt less `that` shifted right by one

Note

The width of the returned SInt is `max(width of this, width of that)`.

13. final macro def -&(that: SInt): SInt

Subtraction operator (increasing width)

Subtraction operator (increasing width)

that

a hardware SInt

returns

the difference of this SInt less `that`

Note

The width of the returned SInt is `max(width of this, width of that) + 1`.

14. final macro def /(that: SInt): SInt

Division operator

Division operator

that

a hardware type

returns

the quotient of this numeric-like type divided by `that`

Definition Classes
Num
To do

full rules

Note

This method generates a fully combinational divider which can result in significant cycle time and area costs.

15. final def :=(that: Data)(implicit sourceInfo: SourceInfo, connectionCompileOptions: CompileOptions): Unit

Connect this data to that data mono-directionally and element-wise.

Connect this data to that data mono-directionally and element-wise.

This uses the MonoConnect algorithm.

that

the data to connect to

Definition Classes
Data
16. final macro def <(that: SInt): Bool

Less than operator

Less than operator

that

a hardware type

returns

a hardware Bool asserted if this numeric-like type is less than `that`

Definition Classes
Num
17. final macro def <<(that: UInt): Bits

Dynamic left shift operator

Dynamic left shift operator

that

a hardware component

returns

this Bits dynamically shifted left by `that` many places, shifting in zeros from the right

Definition Classes
Bits
Note

The width of the returned Bits is `width of this + pow(2, width of that) - 1`.

18. final macro def <<(that: Int): Bits

Static left shift operator

Static left shift operator

that

an amount to shift by

returns

this Bits with `that` many zeros concatenated to its least significant end

Definition Classes
Bits
Note

The width of the returned Bits is `width of this` + `that`.

19. final macro def <<(that: BigInt): Bits

Static left shift operator

Static left shift operator

that

an amount to shift by

returns

this Bits with `that` many zeros concatenated to its least significant end

Definition Classes
Bits
Note

The width of the returned Bits is `width of this` + `that`.

20. final macro def <=(that: SInt): Bool

Less than or equal to operator

Less than or equal to operator

that

a hardware type

returns

a hardware Bool asserted if this numeric-like type is less than or equal to `that`

Definition Classes
Num
21. final def <>(that: Data)(implicit sourceInfo: SourceInfo, connectionCompileOptions: CompileOptions): Unit

Connect this data to that data bi-directionally and element-wise.

Connect this data to that data bi-directionally and element-wise.

This uses the BiConnect algorithm.

that

the data to connect to

Definition Classes
Data
22. final macro def =/=(that: SInt): Bool

Dynamic not equals operator

Dynamic not equals operator

that

a hardware SInt

returns

a hardware Bool asserted if this SInt is not equal to `that`

23. final def ==(arg0: Any)
Definition Classes
AnyRef → Any
24. final macro def ===(that: SInt): Bool

Dynamic equals operator

Dynamic equals operator

that

a hardware SInt

returns

a hardware Bool asserted if this SInt is equal to `that`

25. final macro def >(that: SInt): Bool

Greater than operator

Greater than operator

that

a hardware component

returns

a hardware Bool asserted if this numeric-like type is greater than `that`

Definition Classes
Num
26. final macro def >=(that: SInt): Bool

Greater than or equal to operator

Greater than or equal to operator

that

a hardware component

returns

a hardware Bool asserted if this numeric-like type is greather than or equal to `that`

Definition Classes
Num
27. final macro def >>(that: UInt): Bits

Dynamic right shift operator

Dynamic right shift operator

that

a hardware component

returns

this Bits dynamically shifted right by the value of `that` component, inserting zeros into the most significant bits.

Definition Classes
Bits
Note

The width of the returned Bits is unchanged, i.e., the `width of this`.

28. final macro def >>(that: Int): Bits

Static right shift operator

Static right shift operator

that

an amount to shift by

returns

this Bits with `that` many least significant bits truncated

Definition Classes
Bits
Note

The width of the returned Bits is unchanged, i.e., the `width of this`.

29. final macro def >>(that: BigInt): Bits

Static right shift operator

Static right shift operator

that

an amount to shift by

returns

this Bits with `that` many least significant bits truncated

Definition Classes
Bits
Note

The width of the returned Bits is unchanged, i.e., the `width of this`.

30. final macro def ^(that: SInt): SInt

Bitwise exclusive or (xor) operator

Bitwise exclusive or (xor) operator

that

a hardware SInt

returns

the bitwise xor of this SInt and `that`

Note

The width of the returned SInt is `max(width of this, width of that)`.

31. final macro def abs(): SInt

Absolute value operator

Absolute value operator

returns

a hardware type with a value equal to the absolute value of this numeric-like type

Definition Classes
Num
Note

The width of the returned hardware type is unchanged, i.e., the `width of this`.

32. final macro def apply(x: BigInt, y: BigInt): UInt

Returns a subset of bits on this Bits from `hi` to `lo` (inclusive), statically addressed.

Returns a subset of bits on this Bits from `hi` to `lo` (inclusive), statically addressed.

x

the high bit

y

the low bit

returns

a hardware component contain the requested bits

Definition Classes
Bits
Example:
1. ```myBits = 0x5 = 0b101
myBits(1,0) => 0b01  // extracts the two least significant bits```
33. final macro def apply(x: Int, y: Int): UInt

Returns a subset of bits on this Bits from `hi` to `lo` (inclusive), statically addressed.

Returns a subset of bits on this Bits from `hi` to `lo` (inclusive), statically addressed.

x

the high bit

y

the low bit

returns

a hardware component contain the requested bits

Definition Classes
Bits
Example:
1. ```myBits = 0x5 = 0b101
myBits(1,0) => 0b01  // extracts the two least significant bits```
34. final macro def apply(x: UInt): 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.

x

a hardware component whose value will be used for dynamic addressing

returns

the specified bit

Definition Classes
Bits
35. final macro def apply(x: Int): Bool

Returns the specified bit on this Bits as a Bool, statically addressed.

Returns the specified bit on this Bits as a Bool, statically addressed.

x

an index

returns

the specified bit

Definition Classes
Bits
Note

convenience method allowing direct use of scala.Int without implicits

36. final macro def apply(x: BigInt): Bool

Returns the specified bit on this Bits as a Bool, statically addressed.

Returns the specified bit on this Bits as a Bool, statically addressed.

x

an index

returns

the specified bit

Definition Classes
Bits
37. final macro def asBool(): Bool

Casts this SInt to a Bool

Casts this SInt to a Bool

Definition Classes
ToBoolable
Note

The width must be known and equal to 1

38. final macro def asBools(): 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.

Definition Classes
Bits
39. final macro def asFixedPoint(that: BinaryPoint)

Reinterpret this Bits as a FixedPoint.

Reinterpret this Bits as a FixedPoint.

Definition Classes
Bits
Note

The value is not guaranteed to be preserved. For example, a UInt of width 3 and value 7 (0b111) would become a FixedPoint with value -1. The interpretation of the number is also affected by the specified binary point. Caution is advised!

40. final def asInstanceOf[T0]: T0
Definition Classes
Any
41. final macro def asSInt(): SInt

Reinterpret this Bits as an SInt

Reinterpret this Bits as an SInt

Definition Classes
Bits
Note

The arithmetic value is not preserved if the most-significant bit is set. For example, a UInt of width 3 and value 7 (0b111) would become an SInt of width 3 and value -1.

42. macro def asTypeOf[T <: Data](that: T): T

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.

Definition Classes
Data
Note

bit widths are NOT checked, may pad or drop bits from input

,

that should have known widths

43. final macro def asUInt(): UInt

Reinterpret cast to UInt.

Reinterpret cast to UInt.

Definition Classes
Data
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.

44. def binding: Option[Binding]
Attributes
protected[chisel3]
Definition Classes
Data
45. def bindingToString: String
Attributes
protected
Definition Classes
Data
46. def binding_=(target: Binding): Unit
Attributes
protected
Definition Classes
Data
47. def circuitName: String
Attributes
protected
Definition Classes
HasId
48. def clone()
Attributes
protected[lang]
Definition Classes
AnyRef
Annotations
@throws( ... ) @native()
49. def cloneType: SInt.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.

returns

a copy of the object.

Definition Classes
BitsData
50. def do_##(that: Bits)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): UInt

Definition Classes
Bits
51. def do_%(that: SInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): SInt

Definition Classes
SIntNum
52. def do_&(that: SInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): SInt

53. def do_*(that: UInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): SInt

54. def do_*(that: SInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): SInt

Definition Classes
SIntNum
55. def do_+(that: SInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): SInt

add (default - no growth) operator

add (default - no growth) operator

Definition Classes
SIntNum
56. def do_+%(that: SInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): SInt

57. def do_+&(that: SInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): SInt

58. def do_-(that: SInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): SInt

subtract (default - no growth) operator

subtract (default - no growth) operator

Definition Classes
SIntNum
59. def do_-%(that: SInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): SInt

60. def do_-&(that: SInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): SInt

61. def do_/(that: SInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): SInt

Definition Classes
SIntNum
62. def do_<(that: SInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): Bool

Definition Classes
SIntNum
63. def do_<<(that: UInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): SInt

Definition Classes
SIntBits
64. def do_<<(that: BigInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): SInt

Definition Classes
SIntBits
65. def do_<<(that: Int)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): SInt

Definition Classes
SIntBits
66. def do_<=(that: SInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): Bool

Definition Classes
SIntNum
67. def do_=/=(that: SInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): Bool

68. def do_===(that: SInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): Bool

69. def do_>(that: SInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): Bool

Definition Classes
SIntNum
70. def do_>=(that: SInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): Bool

Definition Classes
SIntNum
71. def do_>>(that: UInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): SInt

Definition Classes
SIntBits
72. def do_>>(that: BigInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): SInt

Definition Classes
SIntBits
73. def do_>>(that: Int)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): SInt

Definition Classes
SIntBits
74. def do_^(that: SInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): SInt

75. def do_abs(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): SInt

Definition Classes
SIntNum
76. final def do_apply(x: BigInt, y: BigInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): UInt

Definition Classes
Bits
77. final def do_apply(x: Int, y: Int)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): UInt

Definition Classes
Bits
78. final def do_apply(x: UInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): Bool

Definition Classes
Bits
79. final def do_apply(x: Int)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): Bool

Definition Classes
Bits
80. final def do_apply(x: BigInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): Bool

Definition Classes
Bits
81. final def do_asBool(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): Bool

Definition Classes
Bits → ToBoolable
82. def do_asBools(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): Seq[Bool]

Definition Classes
Bits
83. def do_asFixedPoint(binaryPoint: BinaryPoint)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)

Definition Classes
SIntBits
84. def do_asSInt(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): SInt

Definition Classes
SIntBits
85. def do_asTypeOf[T <: Data](that: T)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): T

Definition Classes
Data
86. def do_asUInt(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): UInt

Definition Classes
SIntData
87. def do_head(n: Int)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): UInt

Definition Classes
Bits
88. def do_max(that: SInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): SInt

Definition Classes
Num
89. def do_min(that: SInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): SInt

Definition Classes
Num
90. def do_pad(that: Int)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): SInt.this.type

Definition Classes
Bits
91. def do_tail(n: Int)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): UInt

Definition Classes
Bits
92. def do_unary_~(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): SInt

Definition Classes
SIntBits
93. def do_|(that: SInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): SInt

94. final def eq(arg0: AnyRef)
Definition Classes
AnyRef
95. def equals(that: Any)
Definition Classes
HasId → AnyRef → Any
96. def finalize(): Unit
Attributes
protected[lang]
Definition Classes
AnyRef
Annotations
@throws( classOf[java.lang.Throwable] )
97. final def getClass(): Class[_]
Definition Classes
AnyRef → Any
Annotations
@native()
98. final def getWidth: Int

Returns the width, in bits, if currently known.

Returns the width, in bits, if currently known.

Definition Classes
Data
99. def hashCode(): Int
Definition Classes
HasId → AnyRef → Any
100. final macro def head(n: Int): UInt

Head operator

Head operator

n

the number of bits to take

returns

The `n` most significant bits of this Bits

Definition Classes
Bits
101. def instanceName: String
Definition Classes
HasId → InstanceId
102. final def isInstanceOf[T0]
Definition Classes
Any
103. def isLit()
Definition Classes
Data
104. final def isWidthKnown

Returns whether the width is currently known.

Returns whether the width is currently known.

Definition Classes
Data
105. def litOption(): Option[BigInt]

If this is a literal that is representable as bits, returns the value as a 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.

Definition Classes
ElementData
106. 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.

Definition Classes
Data
107. final macro def max(that: SInt): SInt

Maximum operator

Maximum operator

that

a hardware type

returns

a hardware type with a value equal to the mimimum value of this numeric-like type and `that`

Definition Classes
Num
Note

The width of the returned hardware type is `max(width of this, width of that)`.

108. final macro def min(that: SInt): SInt

Minimum operator

Minimum operator

that

a hardware numeric-like type

returns

a hardware type with a value equal to the mimimum value of this numeric-like type and `that`

Definition Classes
Num
Note

The width of the returned hardware type is `max(width of this, width of that)`.

109. def name: String
Definition Classes
Element
110. final def ne(arg0: AnyRef)
Definition Classes
AnyRef
111. final def notify(): Unit
Definition Classes
AnyRef
Annotations
@native()
112. final def notifyAll(): Unit
Definition Classes
AnyRef
Annotations
@native()
113. final macro def pad(that: Int): SInt.this.type

Pad operator

Pad operator

that

the width to pad to

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.

Definition Classes
Bits
Note

For SInts only, this will do sign extension.

114. def parentModName: String
Definition Classes
HasId → InstanceId
115. def parentPathName: String
Definition Classes
HasId → InstanceId
116. def pathName: String
Definition Classes
HasId → InstanceId
117. def suggestName(name: ⇒ String): SInt.this.type
Definition Classes
HasId
118. final def synchronized[T0](arg0: ⇒ T0): T0
Definition Classes
AnyRef
119. final macro def tail(n: Int): UInt

Tail operator

Tail operator

n

the number of bits to remove

returns

This Bits with the `n` most significant bits removed.

Definition Classes
Bits
120. final def toAbsoluteTarget: ReferenceTarget

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

Definition Classes
NamedComponent → InstanceId
121. final macro def toBool(): Bool

Casts this SInt to a Bool

Casts this SInt to a Bool

Definition Classes
ToBoolable
Note

The width must be known and equal to 1

122. final macro def toBools(): 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.

Definition Classes
Bits
123. final def toPrintable

Default print as Decimal

Default print as Decimal

Definition Classes
BitsData
124. def toString(): String
Definition Classes
SInt → AnyRef → Any
125. final def toTarget: ReferenceTarget

Returns a FIRRTL ReferenceTarget that references this object

Returns a FIRRTL ReferenceTarget that references this object

Definition Classes
NamedComponent → InstanceId
Note

Should not be called until circuit elaboration is complete

126. def unary_-(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): SInt

127. final macro def unary_-(): SInt

Unary negation (expanding width)

Unary negation (expanding width)

returns

a hardware SInt equal to zero minus this SInt

Note

The width of the returned SInt is unchanged, i.e., `width of this`.

128. def unary_-%(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): SInt

129. final macro def unary_-%(): SInt

Unary negation (constant width)

Unary negation (constant width)

returns

a hardware SInt equal to zero minus `this` shifted right by one

Note

The width of the returned SInt is unchanged, i.e., `width of this`.

130. final macro def unary_~(): Bits

Bitwise inversion operator

Bitwise inversion operator

returns

this Bits with each bit inverted

Definition Classes
Bits
131. final def validateShiftAmount(x: Int): Int
Attributes
protected
Definition Classes
Bits
132. final def wait(): Unit
Definition Classes
AnyRef
Annotations
@throws( ... )
133. final def wait(arg0: Long, arg1: Int): Unit
Definition Classes
AnyRef
Annotations
@throws( ... )
134. final def wait(arg0: Long): Unit
Definition Classes
AnyRef
Annotations
@throws( ... ) @native()
135. def widthKnown
Definition Classes
Element
136. 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.

Definition Classes
Data
137. final macro def |(that: SInt): SInt

Bitwise or operator

Bitwise or operator

that

a hardware SInt

returns

the bitwise or of this SInt and `that`

Note

The width of the returned SInt is `max(width of this, width of that)`.

### Deprecated Value Members

1. final def !=(that: SInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): Bool
Annotations
@chiselRuntimeDeprecated() @deprecated
Deprecated

(Since version 3.0) Use '=/=', which avoids potential precedence problems

2. final def do_toBool(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): Bool

Definition Classes
Bits → ToBoolable
Annotations
@chiselRuntimeDeprecated() @deprecated
Deprecated

(Since version 3.2) Use asBool instead

3. def do_toBools(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): Seq[Bool]

Definition Classes
Bits
Annotations
@chiselRuntimeDeprecated() @deprecated
Deprecated

(Since version 3.2) Use asBools instead

4. def litArg(): Option[LitArg]
Definition Classes
Data
Annotations
@chiselRuntimeDeprecated() @deprecated
Deprecated

(Since version 3.2) litArg is deprecated, use litOption or litTo*Option

5. final def toNamed: ComponentName

Returns a FIRRTL ComponentName that references this object

Returns a FIRRTL ComponentName that references this object

Definition Classes
NamedComponent → InstanceId
Annotations
@deprecated
Deprecated

(Since version 3.2) toNamed API is deprecated -- use toTarget instead

Note

Should not be called until circuit elaboration is complete

### Arithmetic

Arithmetic hardware operators

### Bitwise

Bitwise hardware operators

### Comparison

Comparison hardware operators

### Connect

Utilities for connecting hardware components

### SourceInfoTransformMacro

These internal methods are not part of the public-facing API!

The equivalent public-facing methods do not have the `do_` prefix or have the same name. Use and look at the documentation for those. If you want left shift, use `<<`, not `do_<<`. If you want conversion to a Seq of Bools look at the `asBools` above, not the one below. Users can safely ignore every method in this group!

🐉🐉🐉 Here be dragons... 🐉🐉🐉

These `do_X` methods are used to enable both implicit passing of SourceInfo and chisel3.CompileOptions while also supporting chained apply methods. In effect all "normal" methods that you, as a user, will use in your designs, are converted to their "hidden", `do_*`, via macro transformations. Without using macros here, only one of the above wanted behaviors is allowed (implicit passing and chained applies)---the compiler interprets a chained apply as an explicit 'implicit' argument and will throw type errors.

The "normal", public-facing methods then take no SourceInfo. However, a macro transforms this public-facing method into a call to an internal, hidden `do_*` that takes an explicit SourceInfo by inserting an `implicitly[SourceInfo]` as the explicit argument.