chisel3.ltl

package chisel3.ltl

Members list

Type members

Classlikes

Assert that a property holds.

Assert that a property holds.

Use like AssertProperty(p). See AssertPropertyLike.apply for optional clock, disable_iff, and label parameters.

Attributes

Source
LTL.scala
Supertypes
class Object
trait Matchable
class Any
Self type
sealed abstract class AssertPropertyLike(defaultLayer: Layer)

The base class for the AssertProperty, AssumeProperty, and CoverProperty verification constructs.

The base class for the AssertProperty, AssumeProperty, and CoverProperty verification constructs.

Attributes

Source
LTL.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Assume that a property holds.

Assume that a property holds.

Use like AssumeProperty(p). See AssertPropertyLike.apply for optional clock, disable_iff, and label parameters.

Attributes

Source
LTL.scala
Supertypes
class Object
trait Matchable
class Any
Self type

Cover that a property holds.

Cover that a property holds.

Use like CoverProperty(p). See AssertPropertyLike.apply for optional clock, disable_iff, and label parameters.

Attributes

Source
LTL.scala
Supertypes
class Object
trait Matchable
class Any
Self type
object Delay

The delay atoms available to users. Can be interleaved with actual sequences in Sequence(...). See SequenceAtom for details.

The delay atoms available to users. Can be interleaved with actual sequences in Sequence(...). See SequenceAtom for details.

Attributes

Source
LTL.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Delay.type

Ensure that a property holds as a post-condition of a contract. Behaves like an AssertProperty if used outside of a contract. When used inside of a contract, the behavior differs depending on how the contract is used in a formal proof:

Ensure that a property holds as a post-condition of a contract. Behaves like an AssertProperty if used outside of a contract. When used inside of a contract, the behavior differs depending on how the contract is used in a formal proof:

  • During a proof that the contract is upheld by the surrounding circuit, the property given to EnsureProperty is asserted to hold.
  • During a larger proof where the contract is already assumed to be proven, the property given to EnsureProperty is assumed to hold.

Use like EnsureProperty(p). See AssertPropertyLike.apply for optional clock, disable_iff, and label parameters.

Attributes

Source
LTL.scala
Supertypes
class Object
trait Matchable
class Any
Self type
sealed trait Property

A Linear Temporal Logic (LTL) property.

A Linear Temporal Logic (LTL) property.

Attributes

Companion
object
Source
LTL.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait Sequence
class BoolSequence
object Property

Prefix-style utilities to work with properties.

Prefix-style utilities to work with properties.

This object exposes the primary API to create and compose properties from booleans, sequences, and other properties.

Attributes

Companion
trait
Source
LTL.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Property.type

Require that a property holds as a pre-condition of a contract. Behaves like an AssertProperty if used outside of a contract. When used inside of a contract, the behavior differs depending on how the contract is used in a formal proof:

Require that a property holds as a pre-condition of a contract. Behaves like an AssertProperty if used outside of a contract. When used inside of a contract, the behavior differs depending on how the contract is used in a formal proof:

  • During a proof that the contract is upheld by the surrounding circuit, the property given to RequireProperty is assumed to hold.
  • During a larger proof where the contract is already assumed to be proven, the property given to RequireProperty is asserted to hold.

Use like RequireProperty(p). See AssertPropertyLike.apply for optional clock, disable_iff, and label parameters.

Attributes

Source
LTL.scala
Supertypes
class Object
trait Matchable
class Any
Self type
sealed trait Sequence extends Property

A Linear Temporal Logic (LTL) sequence.

A Linear Temporal Logic (LTL) sequence.

Attributes

Companion
object
Source
LTL.scala
Supertypes
trait Property
class Object
trait Matchable
class Any
Known subtypes
class BoolSequence
object Sequence

Prefix-style utilities to work with sequences.

Prefix-style utilities to work with sequences.

This object exposes the primary API to create and compose sequences from booleans and shorter sequences.

Attributes

Companion
trait
Source
LTL.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Sequence.type
sealed trait SequenceAtom

A single item that may be used in the Sequence(...) convenience constructor for sequences. These atoms may either be Sequences themselves, like a or a and b, or a DelayAtom, like Delay. Together they enable a shorthand notation for sequences like:

A single item that may be used in the Sequence(...) convenience constructor for sequences. These atoms may either be Sequences themselves, like a or a and b, or a DelayAtom, like Delay. Together they enable a shorthand notation for sequences like:

Sequence(a, Delay(), b, Delay(2), c, Delay(3, 9), d, Delay(4, None), e).

Attributes

Source
LTL.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class BoolSequence