diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/test/scala/chiselTests/stage/ChiselStageSpec.scala | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/test/scala/chiselTests/stage/ChiselStageSpec.scala b/src/test/scala/chiselTests/stage/ChiselStageSpec.scala index a7a405f1..21beb48f 100644 --- a/src/test/scala/chiselTests/stage/ChiselStageSpec.scala +++ b/src/test/scala/chiselTests/stage/ChiselStageSpec.scala @@ -8,6 +8,8 @@ import chisel3.stage.ChiselStage import org.scalatest.flatspec.AnyFlatSpec import org.scalatest.matchers.should.Matchers +import firrtl.options.Dependency + object ChiselStageSpec { class Foo extends MultiIOModule { @@ -57,4 +59,15 @@ class ChiselStageSpec extends AnyFlatSpec with Matchers { ChiselStage.convert(new Foo) } + behavior of "ChiselStage phase ordering" + + it should "only run elaboration once" in new ChiselStageFixture { + info("Phase order is:\n" + stage.phaseManager.prettyPrint(" ")) + + val order = stage.phaseManager.flattenedTransformOrder.map(Dependency.fromTransform) + + info("Elaborate only runs once") + exactly (1, order) should be (Dependency[chisel3.stage.phases.Elaborate]) + } + } |
