Skip to content

Combine LTL assert-like intrinsic factories into a single trait #4711

@fabianschuiki

Description

@fabianschuiki

As discussed in #4681, the LTL assert-like intrinsics all contain the same snippet of code which only differs by the intrinsic name:

private[chisel3] object VerifEnsureIntrinsic {
  def apply(label: Option[String] = None)(prop: Bool, enable: Option[Bool])(implicit sourceInfo: SourceInfo) =
    VerifAssertLikeIntrinsic("ensure", label)(prop, enable)
}

@seldridge suggested to factor this out into a base trait with an abstract def intrinsicName: String that we define in the concrete intrinsic.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions