p

chiseltest

coverage

package coverage

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Type Members

  1. class CodeBase extends LazyLogging

    Represents a Scala code base.

  2. trait CoverageInfo extends Annotation

    Trait that needs to be extended by every custom coverage meta data annotation.

  3. case class DoNotCoverAnnotation(target: ModuleTarget) extends SingleTargetAnnotation[ModuleTarget] with Product with Serializable

    Tags a module that should not have any coverage added.

    Tags a module that should not have any coverage added. This annotation should be respected by all automated coverage passes.

  4. case class FsmCoverageAnnotation(stateReg: ReferenceTarget, states: Seq[(String, ReferenceTarget)], transitions: Seq[((String, String), ReferenceTarget)]) extends MultiTargetAnnotation with CoverageInfo with Product with Serializable
  5. case class FsmCoverageData(name: String, states: List[(String, Long)], transitions: List[((String, String), Long)]) extends Product with Serializable
  6. case class FsmInfoAnnotation(target: ReferenceTarget, states: Seq[(BigInt, String)], transitions: Seq[(BigInt, BigInt)], start: Option[BigInt]) extends SingleTargetAnnotation[ReferenceTarget] with Product with Serializable
  7. case class KeepClockAndResetAnnotation(target: ReferenceTarget) extends SingleTargetAnnotation[ReferenceTarget] with HasDontTouches with Product with Serializable
  8. case class LineCoverageAnnotation(target: ReferenceTarget, lines: Lines) extends SingleTargetAnnotation[ReferenceTarget] with CoverageInfo with Product with Serializable
  9. case class LineCoverageData(files: List[LineCoverageInFile]) extends Product with Serializable
  10. case class LineCoverageInFile(name: String, lines: List[(Int, Long)]) extends Product with Serializable
  11. case class ModuleInstancesAnnotation(instanceToModule: List[(String, String)]) extends NoTargetAnnotation with Product with Serializable
  12. case class RegisterResetAnnotation(registers: Seq[ReferenceTarget], reset: ReferenceTarget) extends MultiTargetAnnotation with HasDontTouches with Product with Serializable
  13. case class TestCoverage(counts: List[(String, Long)]) extends NoTargetAnnotation with Product with Serializable

    Coverage counts returned from the simulator interface.

    Coverage counts returned from the simulator interface. Each instance of a cover statement in the circuit is represented by its hierarchical path (relative to the main module) and the number of times the cover predicate and enable condition were true during a clock event.

    This if our hierarchy looks like this:

    • MainModule
      • c0: ChildModule
      • c1: ChildModule

    And there is a single cover statement in ChildModule named cover_0, then the counts might look like this:

    List("c0.cover_0" -> 3, "c1.cover_0" -> 5)
    Note

    The maximum count value is implementation dependent. However, counts are guaranteed to be saturating. So the real count is always >= the reported count.

  14. case class ToggleCoverageAnnotation(target: ReferenceTarget, signals: List[ReferenceTarget], bit: Int) extends SingleTargetAnnotation[ReferenceTarget] with CoverageInfo with Product with Serializable
  15. case class ToggleCoverageData(inst: Seq[((String, String), Seq[(String, Seq[(Int, Long)])])]) extends Product with Serializable

Value Members

  1. object AliasAnalysis

    Analyses which signals in a module always have the same value (are aliases of each other).

    Analyses which signals in a module always have the same value (are aliases of each other).

    Note

    will only work on low firrtl!

    ,

    right now this isn't an actual firrtl pass, but an analysis called into from a firrtl pass.

  2. object AllEmitters
  3. object Builder

    Helps us construct well typed low-ish firrtl.

    Helps us construct well typed low-ish firrtl. Some of these convenience functions could be moved to firrtl at some point.

  4. object CodeBase
  5. object Coverage
  6. object CoverageStatisticsPass extends Transform

    Display information about all coverage instrumentation.

    Display information about all coverage instrumentation. This pass does not modify the circuit itself, it only prints out some information. Make sure to set the log level at least to "info" to see the output.

  7. object FsmCoverage
  8. object FsmCoveragePass extends Transform
  9. object FsmInfoPass extends Transform

    Annotates FSMs in the design with information about all available states and transitions.

  10. object KeepClockAndResetPass extends Transform

    Marks all clock and reset signals as DontTouch so that they are not removed by Dead Code Elimination.

    Marks all clock and reset signals as DontTouch so that they are not removed by Dead Code Elimination. This makes adding coverage that relies on those pins being available easier.

  11. object LineCoverage
  12. object LineCoveragePass extends Transform
  13. case object MemoryToggleCoverage extends NoTargetAnnotation with Product with Serializable

    enables coverage of all memory port signals in the design

  14. object ModuleInstancesPass extends Transform

    Generates a list of instance paths for every module: ModuleInstancesAnnotation This pass is used by the Verilator backend to convert cover points reported by Verilator into the common format.

    Generates a list of instance paths for every module: ModuleInstancesAnnotation This pass is used by the Verilator backend to convert cover points reported by Verilator into the common format. It can also be useful for coverage metrics that want to convert the per instance counts reported into per module counts.

  15. case object PortToggleCoverage extends NoTargetAnnotation with Product with Serializable

    enables coverage of all I/O ports in the design

  16. object RegisterResetAnnotationPass extends Transform

    Ensures that all register resets are named signals that will be annotated and not removed.

  17. case object RegisterToggleCoverage extends NoTargetAnnotation with Product with Serializable

    enables coverage of all register signals in the design

  18. object RemoveKeepClockAndResetAnnotations extends Transform
  19. case object SkipFsmCoverageAnnotation extends NoTargetAnnotation with Product with Serializable
  20. case object SkipLineCoverageAnnotation extends NoTargetAnnotation with Product with Serializable
  21. case object SkipToggleCoverageAnnotation extends NoTargetAnnotation with Product with Serializable
  22. object ToggleCoverage
  23. object ToggleCoveragePass extends Transform
  24. case object WireToggleCoverage extends NoTargetAnnotation with Product with Serializable

    enables coverage of all wires in the design

Ungrouped