From 3ea95e720c8107a1c466b8cba1fc076bfbc296fa Mon Sep 17 00:00:00 2001 From: Schuyler Eldridge Date: Mon, 14 Jun 2021 14:25:45 -0400 Subject: Add -X mhigh compiler for minimal high form (#2268) Add a compiler/emitter that can target minimal high form. This will produce output that only has CHIRRTL constructs removed. Signed-off-by: Schuyler Eldridge --- src/main/scala/firrtl/backends/firrtl/FirrtlEmitter.scala | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/main/scala/firrtl/backends') diff --git a/src/main/scala/firrtl/backends/firrtl/FirrtlEmitter.scala b/src/main/scala/firrtl/backends/firrtl/FirrtlEmitter.scala index 80aea996..bb385ffd 100644 --- a/src/main/scala/firrtl/backends/firrtl/FirrtlEmitter.scala +++ b/src/main/scala/firrtl/backends/firrtl/FirrtlEmitter.scala @@ -61,6 +61,13 @@ sealed abstract class FirrtlEmitter(form: CircuitForm) extends Transform with Em } class ChirrtlEmitter extends FirrtlEmitter(CircuitForm.ChirrtlForm) +class MinimumHighFirrtlEmitter extends FirrtlEmitter(CircuitForm.HighForm) { + override def prerequisites = stage.Forms.MinimalHighForm + override def optionalPrerequisites = Seq.empty + override def optionalPrerequisiteOf = Seq.empty + override def invalidates(a: Transform) = false + override val outputSuffix = ".mhi.fir" +} class HighFirrtlEmitter extends FirrtlEmitter(CircuitForm.HighForm) class MiddleFirrtlEmitter extends FirrtlEmitter(CircuitForm.MidForm) class LowFirrtlEmitter extends FirrtlEmitter(CircuitForm.LowForm) -- cgit v1.2.3