From 3e0abab81ef3e83425fc822e2a2dfa73fdb72ee3 Mon Sep 17 00:00:00 2001 From: Schuyler Eldridge Date: Tue, 8 Oct 2019 14:03:14 -0400 Subject: Make TopWiringTransform idempotent This changes TopWiringTransform to remove TopWiringAnnotations after it runs. Signed-off-by: Schuyler Eldridge --- src/main/scala/firrtl/transforms/TopWiring.scala | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/main/scala/firrtl/transforms/TopWiring.scala b/src/main/scala/firrtl/transforms/TopWiring.scala index 65281382..fb6f73b4 100644 --- a/src/main/scala/firrtl/transforms/TopWiring.scala +++ b/src/main/scala/firrtl/transforms/TopWiring.scala @@ -261,7 +261,13 @@ class TopWiringTransform extends Transform { val newCircuit = state.circuit.copy(modules = modulesx) val fixedCircuit = fixupCircuit(newCircuit) val mappings = sources(state.circuit.main).zipWithIndex - (state.copy(circuit = fixedCircuit), mappings) + + val annosx = state.annotations.filter { + case _: TopWiringAnnotation => false + case _ => true + } + + (state.copy(circuit = fixedCircuit, annotations = annosx), mappings) } else { (state, List.empty) } //Generate output files based on the mapping. -- cgit v1.2.3