diff options
author | Eddie Hung <eddie@fpgeh.com> | 2020-04-24 14:13:45 -0700 |
---|---|---|
committer | Eddie Hung <eddie@fpgeh.com> | 2020-04-24 14:13:45 -0700 |
commit | b5f38f834207fab3a563c55568c4543a3b5dcc1f (patch) | |
tree | f373965166801c4a30b53d255d6635ddfd8c9471 /tests/opt | |
parent | ebd6fa945d4f0afa9a7507e791d13653571c8a63 (diff) | |
download | yosys-b5f38f834207fab3a563c55568c4543a3b5dcc1f.tar.gz yosys-b5f38f834207fab3a563c55568c4543a3b5dcc1f.tar.bz2 yosys-b5f38f834207fab3a563c55568c4543a3b5dcc1f.zip |
opt_expr: const_xnor replacement to pad Y with 1'b1
Diffstat (limited to 'tests/opt')
-rw-r--r-- | tests/opt/opt_expr_xnor.ys | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/tests/opt/opt_expr_xnor.ys b/tests/opt/opt_expr_xnor.ys index 0f9463379..f8ef0d352 100644 --- a/tests/opt/opt_expr_xnor.ys +++ b/tests/opt/opt_expr_xnor.ys @@ -83,3 +83,49 @@ miter -equiv -flatten -make_assert -make_outputs gold coarse_keepdc miter3 sat -verify -prove-asserts -show-ports -enable_undef miter3 miter -equiv -flatten -make_assert -make_outputs coarse_keepdc fine_keepdc miter4 sat -verify -prove-asserts -show-ports -enable_undef miter4 + + +# Single-bit $xnor extension +design -reset +read_verilog -noopt <<EOT +module gold(input i, output [1:0] o, p, q); +assign o = i ~^ i; +assign p = 1'b0 ~^ i; +assign q = 1'b1 ~^ i; +endmodule +EOT +select -assert-count 3 t:$xnor +copy gold coarse +copy gold fine +copy gold coarse_keepdc +copy gold fine_keepdc + +cd coarse +opt_expr -fine +select -assert-none t:$xnor + +cd fine +simplemap +opt_expr +select -assert-none t:$_XNOR_ + +cd +miter -equiv -flatten -make_assert -make_outputs -ignore_gold_x gold coarse miter +sat -verify -prove-asserts -show-ports -enable_undef miter +miter -equiv -flatten -make_assert -make_outputs coarse fine miter2 +sat -verify -prove-asserts -show-ports -enable_undef miter2 + +cd coarse_keepdc +opt_expr -keepdc -fine +select -assert-count 1 t:$xnor + +cd fine_keepdc +simplemap +opt_expr -keepdc +select -assert-count 0 c:$_XNOR_ + +cd +miter -equiv -flatten -make_assert -make_outputs gold coarse_keepdc miter3 +sat -verify -prove-asserts -show-ports -enable_undef miter3 +miter -equiv -flatten -make_assert -make_outputs coarse_keepdc fine_keepdc miter4 +sat -verify -prove-asserts -show-ports -enable_undef miter4 |