trait ResetProcedure[A] extends Type[A]
Stimulus that will apply a standard reset procedure to a Chisel circuit.
The reset procedure is as follows:
time 0: bring everything up using simulator settings
time 1: bring reset out of x
and deassert it.
time 2: assert reset
time 3: first clock edge
time 4 + n: deassert reset (where n == additionalResetCycles
)
This intentionally structured to guarantee the following properties:
- There is guaranteed to be a time when FIRRTL/Verilog-based
randomization can happen at _either_ time 0 or time 1.)
2. If time 1 is used for FIRRTL/Verilog-based randomization, then time 0
can be used for simulator-based initialization, e.g.,
+vcs+initreg+random
. Simulator initialization will race with FIRRTL/Verilog-based randomization and it is critical that they do not happen at the same time. 3. Both FIRRTL/Verilog-based randomization and simulator-based randomization should not occur on a clock edge, e.g., an edge when reset is asserted. This can be yet-another race condition that has to be avoided. 4. Reset always sees a posedge. This avoids problems with asynchronous reset logic behavior where they may (correctly in Verilog) _not_ fire if you bring the design with reset asserted. Note: it would be fine to do anx -> 1
transition to show an edge, however, it looks cleaner to bring reset to0
.
- Source
- ResetProcedure.scala
- Alphabetic
- By Inheritance
- ResetProcedure
- Function1
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def _additionalResetCycles: Int
The number of additional reset cycles to hold the reset for.
The number of additional reset cycles to hold the reset for.
- Attributes
- protected
- abstract def _getClock: (A) => Clock
A function to clock to use.
A function to clock to use.
- Attributes
- protected
- abstract def _getReset: (A) => Reset
A function that returns the reset to use.
A function that returns the reset to use.
- Attributes
- protected
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- Implicit
- This member is added by an implicit conversion from ResetProcedure[A] toany2stringadd[ResetProcedure[A]] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
- def ->[B](y: B): (ResetProcedure[A], B)
- Implicit
- This member is added by an implicit conversion from ResetProcedure[A] toArrowAssoc[ResetProcedure[A]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def andThen[A](g: (Unit) => A): (A) => A
- Definition Classes
- Function1
- Annotations
- @unspecialized()
- final def apply(dut: A): Unit
Apply reset procedure stimulus.
Apply reset procedure stimulus.
- Definition Classes
- ResetProcedure → Function1
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def compose[A](g: (A) => A): (A) => Unit
- Definition Classes
- Function1
- Annotations
- @unspecialized()
- def ensuring(cond: (ResetProcedure[A]) => Boolean, msg: => Any): ResetProcedure[A]
- Implicit
- This member is added by an implicit conversion from ResetProcedure[A] toEnsuring[ResetProcedure[A]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: (ResetProcedure[A]) => Boolean): ResetProcedure[A]
- Implicit
- This member is added by an implicit conversion from ResetProcedure[A] toEnsuring[ResetProcedure[A]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean, msg: => Any): ResetProcedure[A]
- Implicit
- This member is added by an implicit conversion from ResetProcedure[A] toEnsuring[ResetProcedure[A]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean): ResetProcedure[A]
- Implicit
- This member is added by an implicit conversion from ResetProcedure[A] toEnsuring[ResetProcedure[A]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- Function1 → AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
Deprecated Value Members
- def formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from ResetProcedure[A] toStringFormat[ResetProcedure[A]] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @deprecated @inline()
- Deprecated
(Since version 2.12.16) Use
formatString.format(value)
instead ofvalue.formatted(formatString)
, or use thef""
string interpolator. In Java 15 and later,formatted
resolves to the new method in String which has reversed parameters.
- def →[B](y: B): (ResetProcedure[A], B)
- Implicit
- This member is added by an implicit conversion from ResetProcedure[A] toArrowAssoc[ResetProcedure[A]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @deprecated
- Deprecated
(Since version 2.13.0) Use
->
instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.
This is the documentation for Chisel.
Package structure
The chisel3 package presents the public API of Chisel. It contains the concrete core types
UInt
,SInt
,Bool
,Clock
, andReg
, the abstract typesBits
,Aggregate
, andData
, and the aggregate typesBundle
andVec
.The Chisel package is a compatibility layer that attempts to provide chisel2 compatibility in chisel3.
Utility objects and methods are found in the
util
package.The
testers
package defines the basic interface for chisel testers.