Packages

  • package root
    Definition Classes
    root
  • package chisel3

    This package contains the main chisel3 API.

    This package contains the main chisel3 API.

    Definition Classes
    root
  • package aop
    Definition Classes
    chisel3
  • package choice

    This package contains Chisel language definitions for describing configuration options and their accepted values.

    This package contains Chisel language definitions for describing configuration options and their accepted values.

    Definition Classes
    chisel3
  • package connectable
    Definition Classes
    chisel3
  • package experimental

    Package for experimental features, which may have their API changed, be removed, etc.

    Package for experimental features, which may have their API changed, be removed, etc.

    Because its contents won't necessarily have the same level of stability and support as non-experimental, you must explicitly import this package to use its contents.

    Definition Classes
    chisel3
  • package interface
    Definition Classes
    chisel3
  • package ltl
    Definition Classes
    chisel3
  • package naming
    Definition Classes
    chisel3
  • package probe
    Definition Classes
    chisel3
  • Probe
  • ProbeValue
  • RWProbe
  • RWProbeValue
  • package properties

    The properties package includes functionality related to non-hardware data.

    The properties package includes functionality related to non-hardware data.

    This entire package is currently very experimental, so expect some rough edges and rapid API evolution.

    Definition Classes
    chisel3
  • package reflect
    Definition Classes
    chisel3
  • package simulator
    Definition Classes
    chisel3
  • package stage
    Definition Classes
    chisel3
  • package std
    Definition Classes
    chisel3
  • package testers

    The testers package provides the basic interface for chisel testers.

    The testers package provides the basic interface for chisel testers.

    Definition Classes
    chisel3
  • package util

    The util package provides extensions to core chisel for common hardware components and utility functions

    The util package provides extensions to core chisel for common hardware components and utility functions

    Definition Classes
    chisel3

package probe

Source
package.scala
Linear Supertypes
Ordering
  1. Grouped
  2. Alphabetic
  3. By Inheritance
Inherited
  1. probe
  2. SourceInfoDoc
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. def define[T <: Data](sink: T, probeExpr: T)(implicit sourceInfo: SourceInfo): Unit

    Initialize a probe with a provided probe value.

    Initialize a probe with a provided probe value.

    sink

    probe to initialize

    probeExpr

    value to initialize the sink to

  2. def do_read[T <: Data](source: T)(implicit sourceInfo: SourceInfo): T

  3. def force(probe: Data, value: Data)(implicit sourceInfo: SourceInfo): Unit

    Override existing driver of a writable probe.

    Override existing driver of a writable probe. If called within the scope of a when block, the force will only occur on cycles that the when condition is true.

    Fires only when reset has been asserted and then deasserted through the Disable API.

    probe

    writable Probe to force

    value

    to force onto the probe

  4. def forceInitial(probe: Data, value: Data)(implicit sourceInfo: SourceInfo): Unit

    Override existing driver of a writable probe on initialization.

    Override existing driver of a writable probe on initialization.

    probe

    writable Probe to force

    value

    to force onto the probe

  5. macro def read[T <: Data](source: T): T

    Access the value of a probe.

    Access the value of a probe.

    source

    probe whose value is getting accessed

  6. def release(probe: Data)(implicit sourceInfo: SourceInfo): Unit

    Release driver on a probe.

    Release driver on a probe. If called within the scope of a when block, the release will only occur on cycles that the when condition is true.

    Fires only when reset has been asserted and then deasserted through the Disable API.

    probe

    writable Probe to release

  7. def releaseInitial(probe: Data)(implicit sourceInfo: SourceInfo): Unit

    Release initial driver on a probe.

    Release initial driver on a probe.

    probe

    writable Probe to release

  8. object Probe extends ProbeBase with SourceInfoDoc
  9. object ProbeValue extends ProbeValueBase with SourceInfoDoc
  10. object RWProbe extends ProbeBase with SourceInfoDoc
  11. object RWProbeValue extends ProbeValueBase with SourceInfoDoc

Inherited from SourceInfoDoc

Inherited from AnyRef

Inherited from Any

Ungrouped

SourceInfoTransformMacro

These internal methods are not part of the public-facing API!

The equivalent public-facing methods do not have the do_ prefix or have the same name. Use and look at the documentation for those. If you want left shift, use <<, not do_<<. If you want conversion to a Seq of Bools look at the asBools above, not the one below. Users can safely ignore every method in this group!

🐉🐉🐉 Here be dragons... 🐉🐉🐉

These do_X methods are used to enable both implicit passing of SourceInfo while also supporting chained apply methods. In effect all "normal" methods that you, as a user, will use in your designs, are converted to their "hidden", do_*, via macro transformations. Without using macros here, only one of the above wanted behaviors is allowed (implicit passing and chained applies)---the compiler interprets a chained apply as an explicit 'implicit' argument and will throw type errors.

The "normal", public-facing methods then take no SourceInfo. However, a macro transforms this public-facing method into a call to an internal, hidden do_* that takes an explicit SourceInfo by inserting an implicitly[SourceInfo] as the explicit argument.