c

# Interval 

### Companion object Interval

#### sealed class Interval extends Bits with Num[Interval] with HasBinaryPoint

A sealed class representing a fixed point number that has a range, an additional parameter that can determine a minimum and maximum supported value. The range can be used to reduce the required widths particularly in primitive operations with other Intervals, the canonical example being

```val one = 1.I
val six = Seq.fill(6)(one).reduce(_ + _)```

A UInt computed in this way would require a Width binary point The width and binary point may be inferred.

IMPORTANT: The API provided here is experimental and may change in the future.

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

### Value Members

1. final macro def !=(that: Interval): Bool
2. final def !=(arg0: Any)
Definition Classes
AnyRef → Any
3. 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`.

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

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.

6. final macro def &(that: Interval)
7. final macro def *(that: Interval)

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: Interval)

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: Interval)

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

11. final macro def -(that: Interval)

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: Interval)

subtract (no growth) operator

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

subtract (width +1) operator

14. final macro def /(that: Interval)

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: Interval): 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: Interval): 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: Interval): Bool
23. final def ==(arg0: Any)
Definition Classes
AnyRef → Any
24. final macro def ===(that: Interval): Bool
25. final macro def >(that: Interval): 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: Interval): 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: Interval)
31. final macro def abs

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 numeric-like type to a Bool

Casts this numeric-like type 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 asInterval(that: IntervalRange)

Reinterpret cast as a Interval.

Reinterpret cast as a Interval.

Definition Classes
Bits
Note

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

42. 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.

43. 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

44. 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.

45. def autoSeed(name: String): Interval.this.type

Takes the last seed suggested.

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.

returns

this object

Definition Classes
Data → HasId
46. def binaryPoint: BinaryPoint
Definition Classes
IntervalHasBinaryPoint
47. def binding: Option[Binding]
Attributes
protected[chisel3]
Definition Classes
Data
48. def binding_=(target: Binding): Unit
Attributes
protected
Definition Classes
Data
49. def circuitName: String
Attributes
protected
Definition Classes
HasId
50. final macro def clip(that: IntervalRange)

Clip this interval into the range determined by argument's range Adds hardware to move values outside of clipped range to the boundary Ignores binary point of argument

Clip this interval into the range determined by argument's range Adds hardware to move values outside of clipped range to the boundary Ignores binary point of argument

that

an SInt whose width determines the clipping

51. final macro def clip(that: SInt)

Clip this interval into the range determined by argument's range Adds hardware to move values outside of clipped range to the boundary

Clip this interval into the range determined by argument's range Adds hardware to move values outside of clipped range to the boundary

that

an SInt whose width determines the clipping

52. final macro def clip(that: UInt)

Clip this interval into the range determined by argument's range Adds hardware to change values outside of clipped range to be at the boundary

Clip this interval into the range determined by argument's range Adds hardware to change values outside of clipped range to be at the boundary

that

an UInt whose width determines the clipping

53. final macro def clip(that: Interval)

Clip this interval into the range determined by argument's range Adds hardware to change values outside of clipped range to be at the boundary Ignores binary point of argument

Clip this interval into the range determined by argument's range Adds hardware to change values outside of clipped range to be at the boundary Ignores binary point of argument

that

an Interval whose properties determine the clipping

54. def clone()
Attributes
protected[lang]
Definition Classes
AnyRef
Annotations
@throws( ... ) @native()
55. def cloneType: Interval.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
56. def connect(that: Data)(implicit sourceInfo: SourceInfo, connectCompileOptions: CompileOptions): Unit
Definition Classes
IntervalData
57. final macro def decreasePrecision(that: Int)

Decrease the precision of this Interval, moves the binary point to the right.

Decrease the precision of this Interval, moves the binary point to the right. aaa.bbb -> aaa.b

that

number of bits to move binary point

58. def do_!=(that: Interval)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): Bool
59. def do_##(that: Bits)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): UInt

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

Definition Classes
IntervalNum
61. def do_&(that: Interval)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)
62. def do_*(that: Interval)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)

Definition Classes
IntervalNum
63. def do_+(that: Interval)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)

Definition Classes
IntervalNum
64. def do_+%(that: Interval)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)
65. def do_+&(that: Interval)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)
66. def do_-(that: Interval)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)

subtract (default - growing) operator

subtract (default - growing) operator

Definition Classes
IntervalNum
67. def do_-%(that: Interval)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)
68. def do_-&(that: Interval)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)
69. def do_/(that: Interval)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)

Definition Classes
IntervalNum
70. def do_<(that: Interval)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): Bool

Definition Classes
IntervalNum
71. def do_<<(that: UInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)

Definition Classes
IntervalBits
72. def do_<<(that: BigInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)

Definition Classes
IntervalBits
73. def do_<<(that: Int)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)

Definition Classes
IntervalBits
74. def do_<=(that: Interval)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): Bool

Definition Classes
IntervalNum
75. def do_=/=(that: Interval)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): Bool
76. def do_===(that: Interval)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): Bool
77. def do_>(that: Interval)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): Bool

Definition Classes
IntervalNum
78. def do_>=(that: Interval)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): Bool

Definition Classes
IntervalNum
79. def do_>>(that: UInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)

Definition Classes
IntervalBits
80. def do_>>(that: BigInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)

Definition Classes
IntervalBits
81. def do_>>(that: Int)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)

Definition Classes
IntervalBits
82. def do_^(that: Interval)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)
83. def do_abs(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)

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

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

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

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

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

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

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

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

Definition Classes
IntervalBits
92. def do_asInterval(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)
93. def do_asInterval(that: IntervalRange)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)
Definition Classes
Bits
94. def do_asSInt(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): SInt

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

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

Definition Classes
IntervalData
97. def do_clip(that: IntervalRange)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)
98. def do_clip(that: SInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)
99. def do_clip(that: UInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)
100. def do_clip(that: Interval)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)
101. def do_decreasePrecision(that: Int)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)
102. def do_fromBits(that: Bits)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): Interval.this.type
103. def do_head(n: Int)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): UInt

Definition Classes
Bits
104. def do_increasePrecision(that: Int)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)
105. def do_max(that: Interval)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)

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

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

Definition Classes
Bits
108. def do_setPrecision(that: Int)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)
109. def do_squeeze(that: IntervalRange)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)
110. def do_squeeze(that: SInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)
111. def do_squeeze(that: UInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)
112. def do_squeeze(that: Interval)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)
113. def do_tail(n: Int)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): UInt

Definition Classes
Bits
114. def do_unary_-(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)

115. def do_unary_-%(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)
116. def do_unary_~(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)

Returns this wire bitwise-inverted.

Returns this wire bitwise-inverted.

Definition Classes
IntervalBits
117. def do_wrap(that: IntervalRange)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)
118. def do_wrap(that: SInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)
119. def do_wrap(that: UInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)
120. def do_wrap(that: Interval)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)
121. def do_|(that: Interval)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions)
122. final def eq(arg0: AnyRef)
Definition Classes
AnyRef
123. def equals(that: Any)
Definition Classes
HasId → AnyRef → Any
124. def finalize(): Unit
Attributes
protected[lang]
Definition Classes
AnyRef
Annotations
@throws( classOf[java.lang.Throwable] )
125. final def getClass(): Class[_]
Definition Classes
AnyRef → Any
Annotations
@native()
126. final def getWidth: Int

Returns the width, in bits, if currently known.

Returns the width, in bits, if currently known.

Definition Classes
Data
127. def hasSeed

returns

Whether either autoName or suggestName has been called

Definition Classes
HasId
128. def hashCode(): Int
Definition Classes
HasId → AnyRef → Any
129. final macro def head(n: Int): UInt

n

the number of bits to take

returns

The `n` most significant bits of this Bits

Definition Classes
Bits
130. final macro def increasePrecision(that: Int)

Increase the precision of this Interval, moves the binary point to the left.

Increase the precision of this Interval, moves the binary point to the left. aaa.bbb -> aaa.bbb00

that

how many bits to shift binary point

131. def instanceName: String
Definition Classes
HasId → InstanceId
132. final def isInstanceOf[T0]
Definition Classes
Any
133. def isLit
Definition Classes
Data
134. final def isWidthKnown

Returns whether the width is currently known.

Returns whether the width is currently known.

Definition Classes
Data
135. 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
136. def litToBigDecimal

Return the BigDecimal value of this instance assuming it is a literal (convenience method)

Return the BigDecimal value of this instance assuming it is a literal (convenience method)

Definition Classes
HasBinaryPoint
137. def litToBigDecimalOption

Return the BigDecimal value of this instance if it is a Literal

Return the BigDecimal value of this instance if it is a Literal

Definition Classes
HasBinaryPoint
Note

this method may throw an exception if the literal value won't fit in a BigDecimal

138. def litToDouble

Return the double value of this instance assuming it is a literal (convenience method)

Return the double value of this instance assuming it is a literal (convenience method)

Definition Classes
HasBinaryPoint
139. def litToDoubleOption: Option[Double]

Return the Double value of this instance if it is a Literal

Return the Double value of this instance if it is a Literal

Definition Classes
HasBinaryPoint
Note

this method may throw an exception if the literal value won't fit in a Double

140. def litValue

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
141. final macro def max(that: Interval)

Maximum operator

Maximum operator

that

a hardware type

returns

a hardware type with a value equal to the minimum 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)`.

142. final macro def min(that: Interval)

Minimum operator

Minimum operator

that

a hardware numeric-like type

returns

a hardware type with a value equal to the minimum 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)`.

143. def name: String
Definition Classes
Element
144. final def ne(arg0: AnyRef)
Definition Classes
AnyRef
145. final def notify(): Unit
Definition Classes
AnyRef
Annotations
@native()
146. final def notifyAll(): Unit
Definition Classes
AnyRef
Annotations
@native()
147. final macro def pad(that: Int): Interval.this.type

that

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.

148. def parentModName: String
Definition Classes
HasId → InstanceId
149. def parentPathName: String
Definition Classes
HasId → InstanceId
150. def pathName: String
Definition Classes
HasId → InstanceId
151. val range: IntervalRange
152. final macro def setPrecision(that: Int)
153. final macro def squeeze(that: IntervalRange)

Squeeze returns the intersection of the ranges this interval and that IntervalRange Ignores binary point of argument Treat as an unsafe cast; gives undefined behavior if this signal's value is outside of the resulting range Adds no additional hardware; this strictly an unsafe type conversion to use at your own risk

Squeeze returns the intersection of the ranges this interval and that IntervalRange Ignores binary point of argument Treat as an unsafe cast; gives undefined behavior if this signal's value is outside of the resulting range Adds no additional hardware; this strictly an unsafe type conversion to use at your own risk

that

an Interval whose properties determine the squeezing

154. final macro def squeeze(that: SInt)

Squeeze returns the intersection of the ranges this interval and that SInt Currently, that must have a defined width Treat as an unsafe cast; gives undefined behavior if this signal's value is outside of the resulting range Adds no additional hardware; this strictly an unsafe type conversion to use at your own risk

Squeeze returns the intersection of the ranges this interval and that SInt Currently, that must have a defined width Treat as an unsafe cast; gives undefined behavior if this signal's value is outside of the resulting range Adds no additional hardware; this strictly an unsafe type conversion to use at your own risk

that

an SInt whose properties determine the squeezing

155. final macro def squeeze(that: UInt)

Squeeze returns the intersection of the ranges this interval and that UInt Currently, that must have a defined width Treat as an unsafe cast; gives undefined behavior if this signal's value is outside of the resulting range Adds no additional hardware; this strictly an unsafe type conversion to use at your own risk

Squeeze returns the intersection of the ranges this interval and that UInt Currently, that must have a defined width Treat as an unsafe cast; gives undefined behavior if this signal's value is outside of the resulting range Adds no additional hardware; this strictly an unsafe type conversion to use at your own risk

that

an UInt whose properties determine the squeezing

156. final macro def squeeze(that: Interval)

Squeeze returns the intersection of the ranges this interval and that Interval Ignores binary point of argument Treat as an unsafe cast; gives undefined behavior if this signal's value is outside of the resulting range Adds no additional hardware; this strictly an unsafe type conversion to use at your own risk

157. def suggestName(seed: ⇒ String): Interval.this.type

Takes the first seed suggested.

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.

seed

The seed for the name of this component

returns

this object

Definition Classes
HasId
158. final def synchronized[T0](arg0: ⇒ T0): T0
Definition Classes
AnyRef
159. 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
160. final def toAbsoluteTarget

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
161. final def toNamed

Returns a FIRRTL ComponentName that references this object

Returns a FIRRTL ComponentName that references this object

Definition Classes
NamedComponent → InstanceId
Note

Should not be called until circuit elaboration is complete

162. final def toPrintable

Default print as Decimal

Default print as Decimal

Definition Classes
BitsData
163. def toString(): String
Definition Classes
Interval → AnyRef → Any
164. final def toTarget

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

165. def toType: String
166. final macro def unary_-
167. final macro def unary_-%
168. final macro def unary_~: Bits

Bitwise inversion operator

Bitwise inversion operator

returns

this Bits with each bit inverted

Definition Classes
Bits
169. final def validateShiftAmount(x: Int): Int
Attributes
protected
Definition Classes
Bits
170. final def wait(): Unit
Definition Classes
AnyRef
Annotations
@throws( ... )
171. final def wait(arg0: Long, arg1: Int): Unit
Definition Classes
AnyRef
Annotations
@throws( ... )
172. final def wait(arg0: Long): Unit
Definition Classes
AnyRef
Annotations
@throws( ... ) @native()
173. def widthKnown
Definition Classes
Element
174. 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
175. final macro def wrap(that: IntervalRange)

Wrap this interval into the range determined by an IntervalRange Adds hardware to change values outside of wrapped range to be at the boundary Errors if requires wrapping more than once Ignores binary point of argument

Wrap this interval into the range determined by an IntervalRange Adds hardware to change values outside of wrapped range to be at the boundary Errors if requires wrapping more than once Ignores binary point of argument

that

an Interval whose properties determine the bounds of the wrap

176. final macro def wrap(that: SInt)

Wrap this interval into the range determined by an SInt Errors if requires wrapping more than once

Wrap this interval into the range determined by an SInt Errors if requires wrapping more than once

that

an SInt whose properties determine the bounds of the wrap

177. final macro def wrap(that: UInt)

Wrap this interval into the range determined by that UInt Errors if requires wrapping more than once

Wrap this interval into the range determined by that UInt Errors if requires wrapping more than once

that

an UInt whose properties determine the wrap

178. final macro def wrap(that: Interval)

Wrap the value of this Interval into the range of a different Interval with a presumably smaller range.

Wrap the value of this Interval into the range of a different Interval with a presumably smaller range. Ignores binary point of argument Errors if requires wrapping more than once

179. final macro def |(that: Interval)

### Deprecated Value Members

1. final macro def abs(dummy: Int*)
Definition Classes
Num
Annotations
@deprecated
Deprecated

(Since version Chisel 3.5) Calling this function with an empty argument list is invalid in Scala 3. Use the form without parentheses instead

2. final macro def asBool(dummy: Int*): Bool
Definition Classes
ToBoolable
Annotations
@deprecated
Deprecated

(Since version Chisel 3.5) Calling this function with an empty argument list is invalid in Scala 3. Use the form without parentheses instead

3. final macro def asBools(dummy: Int*): Seq[Bool]
Definition Classes
Bits
Annotations
@deprecated
Deprecated

(Since version Chisel 3.5) Calling this function with an empty argument list is invalid in Scala 3. Use the form without parentheses instead

4. final macro def asSInt(dummy: Int*): SInt
Definition Classes
Bits
Annotations
@deprecated
Deprecated

(Since version Chisel 3.5) Calling this function with an empty argument list is invalid in Scala 3. Use the form without parentheses instead

5. final macro def asUInt(dummy: Int*): UInt
Definition Classes
Data
Annotations
@deprecated
Deprecated

(Since version Chisel 3.5) Calling this function with an empty argument list is invalid in Scala 3. Use the form without parentheses instead

6. def bindingToString: String
Attributes
protected
Definition Classes
Data
Annotations
@deprecated
Deprecated

(Since version Chisel 3.5.0) This was never intended to be visible to user-defined types

7. def isLit(dummy: Int*)
Definition Classes
Data
Annotations
@deprecated
Deprecated

(Since version Chisel 3.5) Calling this function with an empty argument list is invalid in Scala 3. Use the form without parentheses instead

8. def litOption(dummy: Int*): Option[BigInt]
Definition Classes
Data
Annotations
@deprecated
Deprecated

(Since version Chisel 3.5) Calling this function with an empty argument list is invalid in Scala 3. Use the form without parentheses instead

9. def litValue(dummy: Int*)
Definition Classes
Data
Annotations
@deprecated
Deprecated

(Since version Chisel 3.5) Calling this function with an empty argument list is invalid in Scala 3. Use the form without parentheses instead

10. final macro def unary_-(dummy: Int*)
Annotations
@deprecated
Deprecated

(Since version Chisel 3.5) Calling this function with an empty argument list is invalid in Scala 3. Use the form without parentheses instead

11. final macro def unary_-%(dummy: Int*)
Annotations
@deprecated
Deprecated

(Since version Chisel 3.5) Calling this function with an empty argument list is invalid in Scala 3. Use the form without parentheses instead

12. final macro def unary_~(dummy: Int*): Bits
Definition Classes
Bits
Annotations
@deprecated
Deprecated

(Since version Chisel 3.5) Calling this function with an empty argument list is invalid in Scala 3. Use the form without parentheses instead

### 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.