trait BackendCompilationUtilities extends firrtl.util.BackendCompilationUtilities
The Driver provides methods to invoke the chisel3 compiler and the firrtl compiler. By default firrtl is automatically run after chisel. an ExecutionOptionsManager is needed to manage options. It can parser command line arguments or coordinate multiple chisel toolchain tools options.
- Source
- Driver.scala
val optionsManager = new ExecutionOptionsManager("chisel3") with HasFirrtlOptions with HasChiselExecutionOptions { commonOptions = CommonOption(targetDirName = "my_target_dir") chiselOptions = ChiselExecutionOptions(runFirrtlCompiler = false) } chisel3.Driver.execute(optionsManager, () => new Dut)
or via command line arguments
, args = "--no-run-firrtl --target-dir my-target-dir".split(" +") chisel3.execute(args, () => new DUT)
- Alphabetic
- By Inheritance
- BackendCompilationUtilities
- BackendCompilationUtilities
- LazyLogging
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- lazy val TestDirectory: File
- Definition Classes
- BackendCompilationUtilities
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- def compileFirrtlToVerilog(prefix: String, dir: File): Boolean
Compile Chirrtl to Verilog by invoking Firrtl inside the same JVM
Compile Chirrtl to Verilog by invoking Firrtl inside the same JVM
- prefix
basename of the file
- dir
directory where file lives
- returns
true if compiler completed successfully
- def copyResourceToFile(name: String, file: File): Unit
- Definition Classes
- BackendCompilationUtilities
- def cppToExe(prefix: String, dir: File): ProcessBuilder
- Definition Classes
- BackendCompilationUtilities
- def createTestDirectory(testName: String): File
- Definition Classes
- BackendCompilationUtilities
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def executeExpectingFailure(prefix: String, dir: File, assertionMsg: String): Boolean
- Definition Classes
- BackendCompilationUtilities
- def executeExpectingSuccess(prefix: String, dir: File): Boolean
- Definition Classes
- BackendCompilationUtilities
- def firrtlToVerilog(prefix: String, dir: File): ProcessBuilder
- Definition Classes
- BackendCompilationUtilities
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def getLogger: Logger
- Definition Classes
- LazyLogging
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val logger: Logger
- Attributes
- protected
- Definition Classes
- LazyLogging
- def loggingProcessLogger: ProcessLogger
- Definition Classes
- BackendCompilationUtilities
- def makeHarness(template: (String) => String, post: String)(f: File): File
- Definition Classes
- BackendCompilationUtilities
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def timeStamp: String
- Definition Classes
- BackendCompilationUtilities
- def toString(): String
- Definition Classes
- AnyRef → Any
- def verilogToCpp(dutFile: String, dir: File, vSources: Seq[File], cppHarness: File, suppressVcd: Boolean, resourceFileName: String): ProcessBuilder
- Definition Classes
- BackendCompilationUtilities
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
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, andReg, the abstract typesBits,Aggregate, andData, and the aggregate typesBundleandVec.The Chisel package is a compatibility layer that attempts to provide chisel2 compatibility in chisel3.
Utility objects and methods are found in the
utilpackage.The
testerspackage defines the basic interface for chisel testers.