DFVal

dfhdl.core.DFVal$
See theDFVal companion trait
object DFVal

Attributes

Companion
trait
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.type
object Const

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Const.type
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
final class Final[+T <: DFTypeAny, +M <: ModifierAny](val irValue: DFVal | DFError) extends AnyVal, DFVal[T, M]

Attributes

Supertypes
trait DFVal[T, M]
trait Selectable
trait DFMember[DFVal]
class AnyVal
trait Matchable
class Any
Show all
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
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 PrevCheck[I]

Attributes

Supertypes
class Object
trait Matchable
class Any
trait RTDomainOnly

Attributes

Supertypes
class Object
trait Matchable
class Any
object Refiner

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
Refiner.type
trait Refiner[T <: FieldsOrTuple, A, I]

Attributes

Companion
object
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.type
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

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

Givens

Givens

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_DFDomainOnly(using domain: Domain)(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 dataflow port or variable that are not already initialized."]): given_InitCheck_I[I]
given given_PrevCheck_I[I](using x$1: AssertGiven[I =:= Initialized, "This construct is only available for initialized values or must have an initialization argument.\nE.g.: `x.prev(step, init)`."], x$2: DFDomainOnly): given_PrevCheck_I[I]
given given_RTDomainOnly(using domain: Domain)(using x$2: AssertGiven[domain.type <:< RT, "This construct is only available in a register-transfer domain."]): given_RTDomainOnly

Extensions

Extensions

extension [T <: DFTypeAny, M <: ModifierAny](dfVal: DFVal[T, M])(dfVal: DFVal[T, M])
def hasTag[CT <: DFTag : ClassTag](implicit evidence$11: ClassTag[CT], dfc: DFC): Boolean
def setName(name: String)(using dfc: DFC): DFVal[T, M]
def tag[CT <: DFTag : ClassTag](customTag: CT)(implicit evidence$9: ClassTag[CT], dfc: DFC): DFVal[T, M]
def tag[CT <: DFTag : ClassTag](condCustomTag: Conditional[CT])(implicit evidence$10: ClassTag[CT], dfc: DFC): DFVal[T, M]
extension [T <: DFTypeAny, A, C, I, R](dfVal: DFVal[T, Modifier[A, C, I]])(dfVal: DFVal[T, Modifier[A, C, I]])
def init(tokenValues: Value[T]*)(using InitCheck[I], DFC): DFVal[T, Modifier[A, C, Initialized]]
extension [T <: NonEmptyTuple, A, C, I](dfVal: DFVal[DFTuple[T], Modifier[A, C, I]])(dfVal: DFVal[DFTuple[T], Modifier[A, C, I]])
def init(tokenValues: TupleValues[T])(using InitCheck[I], DFC): DFVal[DFTuple[T], Modifier[A, C, Initialized]]

Implicits

Implicits

implicit def BooleanHack(from: DFValOf[DFBoolOrBit])(using DFC): Boolean
implicit def DFOpaqueValConversion[T <: Abstract, R <: Abstract](from: DFValOf[DFOpaque[R]])(using DFC, R <:< T): DFValOf[DFOpaque[T]]
implicit def DFValConversion[T <: DFTypeAny, R](from: R)(using dfType: T)(using tc: TC[T, R], dfc: DFC): DFValOf[T]
implicit inline def DFValConversionExact[T <: DFTypeAny, R <: ExactTypes](from: R)(using dfType: T, es: Summon[R, from.type])(using tc: TC[T, Out], dfc: DFC): DFValOf[T]