constraints

dfhdl.compiler.ir.constraints
object constraints

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Type members

Classlikes

sealed abstract class Constraint extends HWAnnotation

Attributes

Supertypes
class HWAnnotation
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Known subtypes
class DeviceConfig
class DeviceID
class ToolOptions
class IO
class Clock
class Ignore
Show all
final case class DeviceConfig(flashPartName: String, interface: Interface, sizeLimitMB: Int) extends GlobalConstraint

Attributes

Companion
object
Supertypes
class Constraint
class HWAnnotation
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object DeviceConfig

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
final case class DeviceID(vendor: Vendor, deviceName: String, partName: String, deviceVersion: String) extends GlobalConstraint

Attributes

Companion
object
Supertypes
class Constraint
class HWAnnotation
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object DeviceID

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
DeviceID.type
final case class DeviceProperties(properties: Map[String, String]) extends GlobalConstraint

Attributes

Supertypes
class Constraint
class HWAnnotation
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
sealed abstract class GlobalConstraint extends Constraint

Attributes

Supertypes
class Constraint
class HWAnnotation
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Known subtypes
final case class IO(bitIdx: ConfigN[Int], loc: ConfigN[String], levelVolt: ConfigN[LevelVolt], standard: ConfigN[Standard], slewRate: ConfigN[SlewRate], driveStrength: ConfigN[Int], pullMode: ConfigN[PullMode], dualPurposeGroups: ConfigN[String], unusedPullMode: ConfigN[PullMode], invertActiveState: ConfigN[Boolean]) extends SigConstraint

Attributes

Companion
object
Supertypes
trait HasTypeName
class Constraint
class HWAnnotation
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object IO

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
IO.type
sealed abstract class SigConstraint extends Constraint, HasTypeName

Attributes

Supertypes
trait HasTypeName
class Constraint
class HWAnnotation
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Known subtypes
class IO
class Clock
class Ignore
object Timing

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Timing.type
final case class ToolOptions(options: Map[String, String]) extends GlobalConstraint

Attributes

Supertypes
class Constraint
class HWAnnotation
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Givens

Givens

Extensions

Extensions

extension [T](configN: ConfigN[T])
def merge(that: ConfigN[T]): ConfigN[T]
extension (list: List[SigConstraint])
def consolidate(length: Int)(using MemberGetSet): List[SigConstraint]

Consolidate several constraints that are all the same for all the bits into a single constraint. This should be applied after merging.

Consolidate several constraints that are all the same for all the bits into a single constraint. This should be applied after merging.

Attributes

def merge: List[SigConstraint]

Merge constraints that are of the same type and are mergeable.

Merge constraints that are of the same type and are mergeable.

Attributes