Packages

  • package root

    This is the documentation for Chisel.

    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, FixedPoint, Clock, and Reg, the abstract types Bits, Aggregate, and Data, and the aggregate types Bundle and Vec.

    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.

    Definition Classes
    root
  • package chisel3
    Definition Classes
    root
  • package aop
    Definition Classes
    chisel3
  • package injecting
    Definition Classes
    aop
  • InjectStatement
  • InjectingAspect
  • InjectingTransform
p

chisel3.aop

injecting

package injecting

Type Members

  1. case class InjectStatement(module: ModuleTarget, s: Statement, modules: Seq[DefModule], annotations: Seq[Annotation]) extends SingleTargetAnnotation[ModuleTarget] with Product with Serializable

    Contains all information needed to inject statements into a module

    Contains all information needed to inject statements into a module

    Generated when a InjectingAspect is consumed by a AspectPhase Consumed by InjectingTransform

    module

    Module to inject code into at the end of the module

    s

    Statements to inject

    modules

    Additional modules that may be instantiated by s

    annotations

    Additional annotations that should be passed down compiler

  2. case class InjectingAspect[T <: RawModule, M <: RawModule](selectRoots: (T) ⇒ Iterable[M], injection: (M) ⇒ Unit)(implicit tTag: scala.reflect.api.JavaUniverse.TypeTag[T]) extends Aspect[T] with Product with Serializable

    Aspect to inject Chisel code into a module of type M

    Aspect to inject Chisel code into a module of type M

    T

    Type of top-level module

    M

    Type of root module (join point)

    selectRoots

    Given top-level module, pick the instances of a module to apply the aspect (root module)

    injection

    Function to generate Chisel hardware that will be injected to the end of module m Signals in m can be referenced and assigned to as if inside m (yes, it is a bit magical)

    tTag

    Needed to prevent type-erasure of the top-level module type

  3. class InjectingTransform extends Transform

    Appends statements contained in InjectStatement annotations to the end of their corresponding modules

    Appends statements contained in InjectStatement annotations to the end of their corresponding modules

    Implemented with Chisel Aspects and the chisel3.aop.injecting library

Ungrouped