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 TCConv[T, V, DFValAny]

Attributes

Companion
object
Supertypes
trait TCConv[T, V, DFValAny]
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
case object ExtendTag extends DFTagOf[DFVal]

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait DFTagOf[DFVal]
trait DFTag
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Self type
ExtendTag.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 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 TCConv[T, R, DFValAny]

Attributes

Companion
object
Supertypes
trait TCConv[T, R, DFValAny]
class Object
trait Matchable
class Any
trait TCLP

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
object TC
case object TruncateTag extends DFTagOf[DFVal]

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait DFTagOf[DFVal]
trait DFTag
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Self type

Types

type ExtendTag = ExtendTag.type
type TruncateTag = TruncateTag.type

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])(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 `__refined_dfVal`[T <: FieldsOrTuple, A, I, P](using r: Refiner[T, A, I, P]): Conversion[DFVal[DFStruct[T], Modifier[A, Any, I, P]], r.Out]
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 DFUnitValConversion[R <: DFValAny | Unit | NonEmptyTuple | Bubble](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 : ClassTag](implicit 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 : ClassTag](customTag: CT)(implicit evidence$1: ClassTag[CT], dfc: DFC): DFVal[T, M]
infix def tag[CT <: DFTag : ClassTag](condCustomTag: Conditional[CT])(implicit 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]]

Implicits

Implicits

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

Inherited implicits

implicit transparent inline def DFBitValConversion[P <: Boolean, R <: DFValAny | Int | Boolean | Bubble](inline from: R): DFValTP[DFBit, ISCONST[P]]

Attributes

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

Attributes

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

Attributes

Inherited from:
DFValLP (hidden)
implicit transparent inline def DFOpaqueValConversion[TFE <: Abstract, P <: Boolean, R <: DFValAny | Bubble](inline from: R): DFValTP[DFOpaque[TFE], ISCONST[P]]

Attributes

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

Attributes

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

Attributes

Inherited from:
DFValLP (hidden)
implicit transparent inline def DFVectorValConversion[T <: DFTypeAny, D <: IntP, P <: Boolean, R <: DFValAny | Iterable[_] | SameElementsVector[_] | Bubble](inline from: R): 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 <: DFValAny | Int | Bubble](inline from: R): DFValTP[DFXInt[S, W, N], ISCONST[P]]

Attributes

Inherited from:
DFValLP (hidden)