DFVal

dfhdl.core.DFVal
See theDFVal companion class
object DFVal

Attributes

Companion
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
DFVal.type

Members list

Type members

Classlikes

object Alias

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Alias.type
object Compare extends CompareLP

Attributes

Companion
trait
Supertypes
trait CompareLP
class Object
trait Matchable
class Any
Self type
Compare.type
trait Compare[T <: DFTypeAny, V, Op <: Op, C <: Boolean] extends TCCommon[T, V, DFValAny]

Attributes

Companion
object
Supertypes
trait TCCommon[T, V, DFValAny]
trait TC[DFTypeAny, T, [t <: DFTypeAny] =>> t, V, DFC]
class Object
trait Matchable
class Any
trait CompareLP

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Compare
object Const

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Const.type
trait ConstCheck[P]

Attributes

Supertypes
class Object
trait Matchable
class Any
trait DFDomainOnly

Attributes

Supertypes
class Object
trait Matchable
class Any
object Dcl

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Dcl.type
object DesignParam

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
object Func

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Func.type
trait InitCheck[I]

Attributes

Supertypes
class Object
trait Matchable
class Any

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
trait InitTupleValues[T <: NonEmptyTuple]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
object InitValue

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
InitValue.type
trait InitValue[T <: DFTypeAny]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
object NOTHING

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
NOTHING.type
object OPEN

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
OPEN.type
object Ops

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Ops.type

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
trait PrevInitCheck[I]

Attributes

Supertypes
class Object
trait Matchable
class Any
trait RTDomainOnly

Attributes

Supertypes
class Object
trait Matchable
class Any
trait RegInitCheck[I]

Attributes

Supertypes
class Object
trait Matchable
class Any
object TC extends TCLP

Attributes

Companion
trait
Supertypes
trait TCLP
class Object
trait Matchable
class Any
Self type
TC.type
trait TC[T <: DFTypeAny, R] extends TCCommon[T, R, DFValAny]

Attributes

Companion
object
Supertypes
trait TCCommon[T, R, DFValAny]
trait TC[DFTypeAny, T, [t <: DFTypeAny] =>> t, R, DFC]
class Object
trait Matchable
class Any
Known subtypes
trait TCConv[T, R]
object TCDummy
object TCConv extends TCConvLP

Attributes

Companion
trait
Supertypes
trait TCConvLP
class Object
trait Matchable
class Any
Self type
TCConv.type
trait TCConv[T <: DFTypeAny, R] extends TC[T, R]

Attributes

Companion
object
Supertypes
trait TC[T, R]
trait TCCommon[T, R, DFValAny]
trait TC[DFTypeAny, T, [t <: DFTypeAny] =>> t, R, DFC]
class Object
trait Matchable
class Any
Show all
trait TCConvLP

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
object TCConv
object TCDummy extends TC[DFTypeAny, DFValOf[DFTypeAny]]

Attributes

Supertypes
trait TC[DFTypeAny, DFTypeAny, [t <: DFTypeAny] =>> t, DFValOf[DFTypeAny], DFC]
class Object
trait Matchable
class Any
Show all
Self type
TCDummy.type
trait TCLP

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
object TC

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
trait TC_Or_OPEN_Or_Resource[T <: DFTypeAny, R] extends TC[T, R]

Attributes

Companion
object
Supertypes
trait TC[T, R]
trait TCCommon[T, R, DFValAny]
trait TC[DFTypeAny, T, [t <: DFTypeAny] =>> t, R, DFC]
class Object
trait Matchable
class Any
Show all

Types

type NOTHING = NOTHING.type
type OPEN = OPEN.type

Inherited types

type CommonR = DFValAny | Bubble | NOTHING | BoolSelWrapper[_, _, _]

Attributes

Inherited from:
DFValLP (hidden)

Value members

Concrete methods

inline def apply[T <: DFTypeAny, M <: ModifierAny, IR <: DFVal | DFError](irValue: IR): DFVal[T, M]
def equalityMacro[T <: DFTypeAny, M <: ModifierAny, R, Op <: Op](dfVal: Expr[DFVal[T, M]], arg: Expr[R])(dfc: Expr[DFC])(using Quotes, Type[T], Type[M], Type[R], Type[Op]): Expr[DFValTP[DFBool, Any]]
inline def unapply(arg: DFValAny): Option[DFVal]

Givens

Givens

given DFOpaqueValConversion[T <: Abstract, R <: Abstract](using DFC, R <:< T): Conversion[DFValOf[DFOpaque[R]], DFValOf[DFOpaque[T]]]
given given_CanEqual_Boolean_DFVal[T <: DFTypeAny, M <: ModifierAny]: CanEqual[Boolean, DFVal[T, M]]
given given_CanEqual_Int_DFVal[T <: DFTypeAny, M <: ModifierAny]: CanEqual[Int, DFVal[T, M]]
given given_CanEqual_Tuple_DFVal[T <: DFTypeAny, M <: ModifierAny]: CanEqual[Tuple, DFVal[T, M]]
given given_ConstCheck_P[P](using x$1: AssertGiven[P =:= CONST, "Only a DFHDL constant is convertible to a Scala value, but this DFHDL value is not a constant."]): given_ConstCheck_P[P]
given given_DFDomainOnly(using domain: DomainType)(using x$2: AssertGiven[domain.type <:< DF, "This construct is only available in a dataflow domain."]): given_DFDomainOnly
given given_InitCheck_I[I](using initializableOnly: AssertGiven[I =:= Initializable, "Can only initialize a DFHDL port or variable that are not already initialized."]): given_InitCheck_I[I]
given given_PrevInitCheck_I[I](using x$1: AssertGiven[I =:= Initialized, "Value must be an initialized declaration or `.prev` must have an initialization argument.\nE.g.: `x.prev(step, init)`.\nIt\'s possible to apply a bubble initialization with `init = ?`"]): given_PrevInitCheck_I[I]
given given_RTDomainOnly(using domain: DomainType)(using x$2: AssertGiven[domain.type <:< RT, "This construct is only available in a register-transfer domain."]): given_RTDomainOnly
given given_RegInitCheck_I[I](using x$1: AssertGiven[I =:= Initialized, "Value must be an initialized declaration or `.reg` must have an initialization argument.\nE.g.: `x.reg(step, init)`.\nIt\'s possible to apply an unknown initialization with `init = ?`"]): given_RegInitCheck_I[I]

Inherited givens

given ConstToNonConstAccept[T <: DFTypeAny, P]: Conversion[DFValTP[T, P], DFValTP[T, NOTCONST]]

Attributes

Inherited from:
DFValLP (hidden)
given DFRateToRateNumber(using dfc: DFCG): Conversion[DFConstOf[DFTime | DFFreq], RateNumber]

Attributes

Inherited from:
DFValLP (hidden)
given DFRateToRateNumberConfigN(using dfc: DFCG): Conversion[DFConstOf[DFTime | DFFreq], ConfigN[RateNumber]]

Attributes

Inherited from:
DFValLP (hidden)
given DFUnitValConversion[R <: CommonR | Unit | NonEmptyTuple](using dfc: DFC): Conversion[R, DFValOf[DFUnit]]

Attributes

Inherited from:
DFValLP (hidden)

Extensions

Extensions

extension [T <: DFTypeAny, M <: ModifierAny](dfVal: DFVal[T, M])
def anonymize(using dfc: DFC): DFVal[T, M]
def anonymizeInDFCPosition(using DFC): DFVal[T, M]
def hasTag[CT <: DFTag](using evidence$1: ClassTag[CT], dfc: DFC): Boolean
def inDFCPosition(using DFC): Boolean
def nameInDFCPosition(using dfc: DFC): DFVal[T, M]
infix def setName(name: String)(using dfc: DFC): DFVal[T, M]
infix def tag[CT <: DFTag](customTag: CT)(using evidence$1: ClassTag[CT], dfc: DFC): DFVal[T, M]
infix def tag[CT <: DFTag](condCustomTag: Conditional[CT])(using evidence$1: ClassTag[CT], dfc: DFC): DFVal[T, M]
extension [T <: DFTypeAny, A, C, I, P, R](dfVal: DFVal[T, Modifier[A, C, I, P]])
infix def init(initValues: InitValue[T]*)(using DFC, InitCheck[I]): DFVal[T, Modifier[A, C, Initialized, P]]
extension [T <: NonEmptyTuple, A, C, I, P](dfVal: DFVal[DFTuple[T], Modifier[A, C, I, P]])
infix def init(initValues: InitTupleValues[T])(using DFC, InitCheck[I]): DFVal[DFTuple[T], Modifier[A, C, Initialized, P]]
extension [W <: IntP, T <: DFBits[W] | DFUInt[W], D1 <: IntP, A, C, I, P](dfVal: DFVal[DFVector[T, Tuple1[D1]], Modifier[A, C, I, P]])
infix def initFile(path: String, format: InitFileFormat = ..., undefinedValue: InitFileUndefinedValue = ...)(using dfc: DFC, check: InitCheck[I]): DFVal[DFVector[T, Tuple1[D1]], Modifier[A, C, Initialized, P]]

Implicits

Implicits

implicit def BooleanHack(from: DFValOf[DFBoolOrBit])(using DFC): Boolean

Inherited implicits

implicit transparent inline def DFBitValConversion[P <: Boolean, R <: CommonR | Int | Boolean](inline from: R)(using dfc: DFCG): DFValTP[DFBit, ISCONST[P]]

Attributes

Inherited from:
DFValLP (hidden)
implicit transparent inline def DFBitsValConversion[W <: IntP, P <: Boolean, R <: CommonR | SameElementsVector[_] | NonEmptyTuple](inline from: R)(using dfc: DFCG): DFValTP[DFBits[W], ISCONST[P]]

Attributes

Inherited from:
DFValLP (hidden)
implicit transparent inline def DFBoolValConversion[P <: Boolean, R <: CommonR | Int | Boolean](inline from: R)(using dfc: DFCG): DFValTP[DFBool, ISCONST[P]]

Attributes

Inherited from:
DFValLP (hidden)
implicit transparent inline def DFDoubleValConversion[P <: Boolean, R <: CommonR | Double](inline from: R)(using dfc: DFCG): DFValTP[DFDouble, ISCONST[P]]

Attributes

Inherited from:
DFValLP (hidden)
implicit transparent inline def DFEnumValConversion[E <: DFEncoding, P <: Boolean, R <: CommonR | E](inline from: R)(using dfc: DFCG): DFValTP[DFEnum[E], ISCONST[P]]

Attributes

Inherited from:
DFValLP (hidden)
implicit transparent inline def DFOpaqueValConversion[TFE <: Abstract, P <: Boolean, R <: CommonR](inline from: R)(using dfc: DFCG): DFValTP[DFOpaque[TFE], ISCONST[P]]

Attributes

Inherited from:
DFValLP (hidden)
implicit transparent inline def DFStringValConversion[P <: Boolean, R <: CommonR | String](inline from: R)(using dfc: DFCG): DFValTP[DFString, ISCONST[P]]

Attributes

Inherited from:
DFValLP (hidden)
implicit transparent inline def DFStructValConversion[F <: Fields, P <: Boolean, R <: CommonR | Fields](inline from: R)(using dfc: DFCG): DFValTP[DFStruct[F], ISCONST[P]]

Attributes

Inherited from:
DFValLP (hidden)
implicit transparent inline def DFTupleValConversion[T <: NonEmptyTuple, P <: Boolean, R <: CommonR | NonEmptyTuple](inline from: R)(using dfc: DFCG): DFValTP[DFTuple[T], ISCONST[P]]

Attributes

Inherited from:
DFValLP (hidden)
implicit transparent inline def DFVectorValConversion[T <: DFTypeAny, D <: IntP, P <: Boolean, R <: CommonR | Iterable[_] | SameElementsVector[_]](inline from: R)(using dfc: DFCG): DFValTP[DFVector[T, Tuple1[D]], ISCONST[P]]

Attributes

Inherited from:
DFValLP (hidden)
implicit transparent inline def DFXIntValConversion[S <: Boolean, W <: IntP, N <: NativeType, P <: Boolean, R <: CommonR | Int](inline from: R)(using dfc: DFCG): DFValTP[DFXInt[S, W, N], ISCONST[P]]

Attributes

Inherited from:
DFValLP (hidden)

Exports

Defined exports

export evConnectPort[T <: DFTypeAny, C, M <: Modifier[Any, C, Any, Any], L <: DFVal[T, M], R](using skipResource: NotGiven[R <:< Resource], connectableOnly: ConnectableOnly2[C], tc: TC_Or_OPEN_Or_Resource[T, R])
Exported from ConnectOps
export evOpApplyDFBits[W <: IntP, A, C, I, P, L <: DFVal[DFBits[W], Modifier[A, C, I, P]], R](using ub: UBArg[W, R])
Exported from Ops
export evOpApplyDFTuple[T <: NonEmptyTuple, M <: ModifierAny, L <: DFVal[DFTuple[T], M], I <: Int](using check: Check[I, Size[T]], size: ValueOf[Size[T]])
Exported from Ops
export evOpApplyDFVector[T <: DFTypeAny, D1 <: IntP, M <: ModifierAny, L <: DFVal[DFVector[T, Tuple1[D1]], M], R](using ub: UBArg[D1, R])
Exported from Ops
export evOpApplyRangeDFBits[W <: IntP, A, C, I, P, L <: DFVal[DFBits[W], Modifier[A, C, I, P]], HI <: IntP, LO <: IntP](using checkHigh: CheckNUB[HI, W], checkLow: CheckNUB[LO, W], checkHiLo: CheckNUB[HI, LO])
Exported from Ops
export evOpApplyRangeDFVector[T <: DFTypeAny, D1 <: IntP, M <: ModifierAny, L <: DFVal[DFVector[T, Tuple1[D1]], M], LO <: IntP, HI <: IntP](using checkLow: CheckNUB[LO, D1], checkHigh: CheckNUB[HI, D1], checkHiLo: CheckNUB[HI, LO])
Exported from Ops
export evOpArithDFDouble[Op <: +.type | -.type | *.type | /.type | max.type | min.type, LPA, L <: DFValTP[DFDouble, LPA] | Double, LP, RPA, R <: DFValTP[DFDouble, RPA] | Double, RP](using icL: Aux[L, LP], icR: Aux[R, RP], op: ValueOf[Op])
Exported from Ops
export evOpArithDFPhysical[Op <: +.type | -.type | *.type | /.type, U <: PhysicalNumber, LP, L <: DFValTP[DFPhysical[U], LP], R, RU <: PhysicalNumber, RP, OU <: PhysicalNumber](using tcR: Aux[R, RU, RP], tcOp: Aux[Op, U, RU, OU], op: ValueOf[Op])
Exported from Ops
export evOpArithDFString[LP, L <: DFValOf[DFString] | String, RP, R <: DFValOf[DFString] | String](using icL: Aux[L, LP], icR: Aux[R, RP])
Exported from Ops
export evOpArithIntDFInt32[Op <: ArithOp, L <: Int, RP, R <: DFValTP[DFInt32, RP]](using op: ValueOf[Op])
Exported from Ops
export evOpAsDFOpaqueIterable[A <: DFTypeAny, P, L <: Iterable[DFValTP[A, P]], T <: DFTypeAny, TFE <: Frontend[T]](using tc: TC[T, DFValTP[DFVector[A, Tuple1[Int]], P]])
Exported from Ops

Inherited defined exports

export evOpAsDFOpaqueTFE[L, T <: DFTypeAny, TFE <: Frontend[T]](using tc: TC[T, L])
Exported from Ops

Attributes

Inherited from:
DFValLP (hidden)