Int to Bool conversion, allowing compact syntax like 1.B and 0.B
Int to SInt conversion with specified width, recommended style for constants.
Int to SInt conversion, recommended style for constants.
Int to UInt conversion with specified width, recommended style for constants.
Int to UInt conversion, recommended style for constants.
Int to SInt conversion with specified width, recommended style for variables.
Int to SInt conversion, recommended style for variables.
Int to UInt conversion with specified width, recommended style for variables.
Int to UInt conversion, recommended style for variables.
These implicit classes allow one to convert scala.Int or scala.BigInt to Chisel.UInt|Chisel.SInt by calling .asUInt|.asSInt on them, respectively. The versions .asUInt(width)|.asSInt(width) are also available to explicitly mark a width for the new literal.
Also provides .asBool to scala.Boolean and .asUInt to String
Note that, for stylistic reasons, one should avoid extracting immediately after this call using apply, ie. 0.asUInt(1)(0) due to potential for confusion (the 1 is a bit length and the 0 is a bit extraction position). Prefer storing the result and then extracting from it.
Implementation note: the empty parameter list (like
U()
) is necessary to prevent interpreting calls that have a non-Width parameter as a chained apply, otherwise things like0.asUInt(16)
(instead of16.W
) compile without error and produce undesired results.