diff options
| author | Schuyler Eldridge | 2020-03-14 15:47:54 -0400 |
|---|---|---|
| committer | GitHub | 2020-03-14 15:47:54 -0400 |
| commit | 44f0112c7a9d9e9fa7f87fa6e5f68916e76a3b19 (patch) | |
| tree | 6c3c915294546d2f7e82f63876dad94573f2de34 /src/test | |
| parent | 4bafed8221b91a34098cb37da285c374f70cf38d (diff) | |
| parent | 7ddbdc36506865731ba633c54d5110b77576362a (diff) | |
Merge pull request #1454 from freechipsproject/inline-invalidate-resolve-kinds
Make InlineInstances invalidate ResolveKinds
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/scala/firrtlTests/InlineInstancesTests.scala | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/src/test/scala/firrtlTests/InlineInstancesTests.scala b/src/test/scala/firrtlTests/InlineInstancesTests.scala index 3e606667..320b187c 100644 --- a/src/test/scala/firrtlTests/InlineInstancesTests.scala +++ b/src/test/scala/firrtlTests/InlineInstancesTests.scala @@ -2,9 +2,14 @@ package firrtlTests +import firrtl._ import firrtl.annotations._ -import firrtl.passes.{InlineAnnotation, InlineInstances} +import firrtl.passes.{InlineAnnotation, InlineInstances, ResolveKinds} import firrtl.transforms.NoCircuitDedupAnnotation +import firrtl.stage.TransformManager +import firrtl.options.Dependency + +import FirrtlCheckers._ /** * Tests inline instances transformation @@ -537,6 +542,28 @@ class InlineInstancesTests extends LowTransformSpec { ) ) } + + "InlineInstances" should "properly invalidate ResolveKinds" in { + val input = + """circuit Top : + | module Top : + | input a : UInt<32> + | output b : UInt<32> + | inst i of Inline + | i.a <= a + | b <= i.b + | module Inline : + | input a : UInt<32> + | output b : UInt<32> + | b <= a""".stripMargin + + val state = CircuitState(parse(input), ChirrtlForm, Seq(inline("Inline"))) + val manager = new TransformManager(Seq(Dependency[InlineInstances], Dependency(ResolveKinds))) + val result = manager.execute(state) + + result shouldNot containTree { case WRef("i_a", _, PortKind, _) => true } + result should containTree { case WRef("i_a", _, WireKind, _) => true } + } } // Execution driven tests for inlining modules |
