chisel6.4.0 < Back


# 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 injecting
  Definition Classes
    aop
- InjectStatement
- InjectingAspect
- InjectingPhase
- InjectorAspect
-  package inspecting
  Definition Classes
    aop

p

chisel3.aop

# injecting

#### package injecting

Content Hierarchy

### 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 InjectingPhase

   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

   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 InjectingPhase extends Phase

   Phase that consumes all Aspects and calls their toAnnotationSeq methods.

   Phase that consumes all Aspects and calls their toAnnotationSeq methods.

   Consumes the chisel3.stage.DesignAnnotation and converts every Aspect into their annotations prior to executing FIRRTL

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

   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