diff options
author | Yann Herklotz <git@ymhg.org> | 2019-05-15 00:55:16 +0100 |
---|---|---|
committer | Yann Herklotz <git@ymhg.org> | 2019-05-15 00:55:16 +0100 |
commit | c3b5f3f5feeb2c7e9b807d96666603d52851b2e8 (patch) | |
tree | 3b6fb0deb54cc68c5bebb8de597609ab33da8fba /test | |
parent | 6bd1ff2dd72ee9407ab4a9b3a485a23401aeb1d4 (diff) | |
download | verismith-c3b5f3f5feeb2c7e9b807d96666603d52851b2e8.tar.gz verismith-c3b5f3f5feeb2c7e9b807d96666603d52851b2e8.zip |
Add test for removing unused wires
Diffstat (limited to 'test')
-rw-r--r-- | test/Reduce.hs | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/test/Reduce.hs b/test/Reduce.hs index dd47f8b..9c59e48 100644 --- a/test/Reduce.hs +++ b/test/Reduce.hs @@ -32,9 +32,63 @@ reduceUnitTests = testGroup , activeWireTest , cleanTest , cleanAllTest + , removeDeclTest ] -- brittany-disable-next-binding +removeDeclTest :: TestTree +removeDeclTest = testCase "Remove declarations" $ do + GenVerilog (removeDecl srcInfo1) @?= golden1 + where + srcInfo1 = SourceInfo "top" [verilog| +module top; + wire a; + wire b; + wire c; + reg d; + reg e; + reg f; + reg g; + reg h; + wire i; + wire j; + initial d <= a; + + always @* begin + f <= e; + g <= e; + if (1) begin + h <= h; + end + end + + assign b = g; +endmodule +|] + golden1 = GenVerilog $ SourceInfo "top" [verilog| +module top; + wire a; + wire b; + reg d; + reg e; + reg f; + reg g; + reg h; + initial d <= a; + + always @* begin + f <= e; + g <= e; + if (1) begin + h <= h; + end + end + + assign b = g; +endmodule +|] + +-- brittany-disable-next-binding cleanAllTest :: TestTree cleanAllTest = testCase "Clean all" $ do GenVerilog (cleanSourceInfoAll srcInfo1) @?= golden1 |