diff options
| author | Wei Song (宋威) | 2017-12-20 14:24:00 +0800 |
|---|---|---|
| committer | Jack Koenig | 2017-12-19 22:24:00 -0800 |
| commit | 67243eebac8cdca68f50451c2d08fefb0164daba (patch) | |
| tree | 517f1ccf25f13a64903f9702352b3dec39130646 | |
| parent | 51e7ea067ec2d64ce57b55446263a8e40c87996c (diff) | |
support -X sverilog to output xxxx.sv file (#638)
| -rw-r--r-- | src/main/scala/firrtl/ExecutionOptionsManager.scala | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/main/scala/firrtl/ExecutionOptionsManager.scala b/src/main/scala/firrtl/ExecutionOptionsManager.scala index 77b08735..c6a94766 100644 --- a/src/main/scala/firrtl/ExecutionOptionsManager.scala +++ b/src/main/scala/firrtl/ExecutionOptionsManager.scala @@ -204,12 +204,14 @@ case class FirrtlExecutionOptions( case "low" => new LowFirrtlCompiler() case "middle" => new MiddleFirrtlCompiler() case "verilog" => new VerilogCompiler() + case "sverilog" => new VerilogCompiler() } } def outputSuffix: String = { compilerName match { case "verilog" => "v" + case "sverilog" => "sv" case "low" => "lo.fir" case "high" => "hi.fir" case "middle" => "mid.fir" @@ -259,6 +261,7 @@ case class FirrtlExecutionOptions( case "middle" => classOf[MiddleFirrtlEmitter] case "low" => classOf[LowFirrtlEmitter] case "verilog" => classOf[VerilogEmitter] + case "sverilog" => classOf[VerilogEmitter] } getOutputConfig(optionsManager) match { case SingleFile(_) => Seq(EmitCircuitAnnotation(emitter)) @@ -333,12 +336,12 @@ trait HasFirrtlOptions { parser.opt[String]("compiler") .abbr("X") - .valueName ("<high|middle|low|verilog>") + .valueName ("<high|middle|low|verilog|sverilog>") .foreach { x => firrtlOptions = firrtlOptions.copy(compilerName = x) } .validate { x => - if (Array("high", "middle", "low", "verilog").contains(x.toLowerCase)) parser.success + if (Array("high", "middle", "low", "verilog", "sverilog").contains(x.toLowerCase)) parser.success else parser.failure(s"$x not a legal compiler") }.text { s"compiler to use, default is ${firrtlOptions.compilerName}" @@ -470,7 +473,7 @@ sealed trait FirrtlExecutionResult * Indicates a successful execution of the firrtl compiler, returning the compiled result and * the type of compile * - * @param emitType The name of the compiler used, currently "high", "middle", "low", or "verilog" + * @param emitType The name of the compiler used, currently "high", "middle", "low", "verilog", or "sverilog" * @param emitted The emitted result of compilation */ case class FirrtlExecutionSuccess(emitType: String, emitted: String) extends FirrtlExecutionResult |
