Package

chisel3.aop

injecting

Permalink

package injecting

Content Hierarchy
Visibility
  1. Public
  2. All

Type Members

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

    Permalink

    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) extends InjectorAspect[T, M] with Product with Serializable

    Permalink

    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)

  3. class InjectingTransform extends Transform

    Permalink

    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

  4. abstract class InjectorAspect[T <: RawModule, M <: RawModule] extends Aspect[T]

    Permalink

    Extend to inject Chisel code into a module of type M

    Extend to inject Chisel code into a module of type M

    T

    Type of top-level module

    M

    Type of root module (join point)

Ungrouped