DependencyAPI
Mixin that defines dependencies between TransformLikes (hereafter referred to as "transforms")
This trait forms the basis of the Dependency API of the Chisel/FIRRTL Hardware Compiler Framework. Dependencies are defined in terms of prerequisistes, optional prerequisites, optional prerequisites of, and invalidates. A prerequisite is a transform that must run before this transform. An optional prerequisites is transform that should run before this transform if the other transform is a target (or the prerequisite of a target). An optional prerequisite of is an optional prerequisite injected into another transform. Finally, invalidates define the set of transforms whose effects this transform undos/invalidates. (Invalidation then implies that a transform that is invalidated by this transform and needed by another transform will need to be re-run.)
This Dependency API only defines dependencies. A concrete DependencyManager is expected to be used to statically resolve a linear ordering of transforms that satisfies dependency requirements.
Type parameters
- A
-
some transform
Attributes
- Deprecated
-
[Since version Chisel 7.0.0]All APIs in package firrtl are deprecated. - Source
- Phase.scala
- Graph
-
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
class PhaseManagertrait Phaseobject Checksclass AddDefaultsclass Checksclass GetIncludesclass WriteOutputAnnotationsclass Stageclass ChiselStageclass AddDefaultsclass Checksclass AddImplicitOutputFileclass CIRCTclass Checksclass AddDedupGroupAnnotationsclass AddImplicitOutputFileclass Checksclass Convertclass Elaborateclass Emitter
- Self type