diff options
| author | Jack Koenig | 2020-05-01 12:58:43 -0700 |
|---|---|---|
| committer | Jack Koenig | 2020-05-04 13:25:54 -0700 |
| commit | 9624121164e0c65f7ce81048a8c0621882f1d55b (patch) | |
| tree | 3283fe625276b0dc4e0baa092affc8b2c785b7e5 /src/test/scala/firrtlTests/LoweringCompilersSpec.scala | |
| parent | ee0d4079c6076b0af1f9e557f69e7346cdd89d4f (diff) | |
Add LegalizeAndReductionsTransform
Workaround for https://github.com/verilator/verilator #2300
present in Verilator versions v4.026 - v4.032. This transform turns AND
reductions for expressions > 64-bits into an equality check with all
ones. It is included as a prerequisite for all Verilog emitters.
Diffstat (limited to 'src/test/scala/firrtlTests/LoweringCompilersSpec.scala')
| -rw-r--r-- | src/test/scala/firrtlTests/LoweringCompilersSpec.scala | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/test/scala/firrtlTests/LoweringCompilersSpec.scala b/src/test/scala/firrtlTests/LoweringCompilersSpec.scala index 4a7a1700..b9143b26 100644 --- a/src/test/scala/firrtlTests/LoweringCompilersSpec.scala +++ b/src/test/scala/firrtlTests/LoweringCompilersSpec.scala @@ -348,7 +348,10 @@ class LoweringCompilersSpec extends FlatSpec with Matchers { new TransformManager(Forms.LowFormMinimumOptimized).flattenedTransformOrder ++ Seq(new Transforms.LowToLow, new firrtl.MinimumVerilogEmitter) val tm = (new TransformManager(Seq(Dependency[firrtl.MinimumVerilogEmitter], Dependency[Transforms.LowToLow]))) - compare(expected, tm) + val patches = Seq( + Add(60, Seq(Dependency[firrtl.transforms.LegalizeAndReductionsTransform])) + ) + compare(expected, tm, patches) } it should "schedule inputForm=LowForm after LowFirrtlOptimizations for the VerilogEmitter" in { @@ -356,7 +359,10 @@ class LoweringCompilersSpec extends FlatSpec with Matchers { new TransformManager(Forms.LowFormOptimized).flattenedTransformOrder ++ Seq(new Transforms.LowToLow, new firrtl.VerilogEmitter) val tm = (new TransformManager(Seq(Dependency[firrtl.VerilogEmitter], Dependency[Transforms.LowToLow]))) - compare(expected, tm) + val patches = Seq( + Add(67, Seq(Dependency[firrtl.transforms.LegalizeAndReductionsTransform])) + ) + compare(expected, tm, patches) } } |
