defpackage firrtl/custom-compiler : import core import verse import firrtl/ir-utils import firrtl/ir2 import firrtl/passes import firrtl/errors import firrtl/verilog import firrtl/custom-passes public defstruct InstrumentedVerilog <: Compiler : file: String with: (as-method => true) args: List public defmethod passes (c:InstrumentedVerilog) -> List : to-list $ [ WhenCoverage(args(c)[0],args(c)[1]) RemoveSpecialChars() RemoveScopes() CheckHighForm() TempElimination() ToWorkingIR() ;; MakeExplicitReset() ResolveKinds() CheckKinds() InferTypes() CheckTypes() ResolveGenders() CheckGenders() ExpandAccessors() LowerToGround() ExpandIndexedConnects() ExpandWhens() InferWidths() SplitExp() ToRealIR() RemoveSpecialChars() CheckHighForm() CheckLowForm() Verilog(file(c)) ]