2 read_verilog -noopt <<EOT
3 module gold(input i, output o);
7 select -assert-count 1 t:$xnor
10 copy gold coarse_keepdc
15 select -assert-none t:$xnor
20 select -assert-none c:t$_XNOR_
23 miter -equiv -flatten -make_assert -make_outputs -ignore_gold_x gold coarse miter
24 sat -verify -prove-asserts -show-ports -enable_undef miter
25 miter -equiv -flatten -make_assert -make_outputs coarse fine miter2
26 sat -verify -prove-asserts -show-ports -enable_undef miter2
30 select -assert-count 1 c:*
35 select -assert-count 1 t:$_XOR_
38 miter -equiv -flatten -make_assert -make_outputs gold coarse_keepdc miter3
39 sat -verify -prove-asserts -show-ports -enable_undef miter3
40 miter -equiv -flatten -make_assert -make_outputs coarse_keepdc fine_keepdc miter4
41 sat -verify -prove-asserts -show-ports -enable_undef miter4
46 read_verilog -noopt <<EOT
47 module gold(input i, output [6:0] o);
48 assign o = {1'bx, 1'b0, 1'b0, 1'b1, 1'bx, 1'b1, i} ~^ {7{i}};
51 select -assert-count 1 t:$xnor
54 copy gold coarse_keepdc
59 select -assert-none t:$xnor
64 select -assert-none t:$_XNOR_
67 miter -equiv -flatten -make_assert -make_outputs -ignore_gold_x gold coarse miter
68 sat -verify -prove-asserts -show-ports -enable_undef miter
69 miter -equiv -flatten -make_assert -make_outputs coarse fine miter2
70 sat -verify -prove-asserts -show-ports -enable_undef miter2
73 opt_expr -keepdc -fine
74 select -assert-count 1 t:$xnor
79 select -assert-count 0 c:$_XOR_
82 miter -equiv -flatten -make_assert -make_outputs gold coarse_keepdc miter3
83 sat -verify -prove-asserts -show-ports -enable_undef miter3
84 miter -equiv -flatten -make_assert -make_outputs coarse_keepdc fine_keepdc miter4
85 sat -verify -prove-asserts -show-ports -enable_undef miter4
88 # Single-bit $xnor extension
90 read_verilog -noopt <<EOT
91 module gold(input i, output [1:0] o, p, q);
97 select -assert-count 3 t:$xnor
100 copy gold coarse_keepdc
101 copy gold fine_keepdc
105 select -assert-none t:$xnor
110 select -assert-none t:$_XNOR_
113 miter -equiv -flatten -make_assert -make_outputs -ignore_gold_x gold coarse miter
114 sat -verify -prove-asserts -show-ports -enable_undef miter
115 miter -equiv -flatten -make_assert -make_outputs coarse fine miter2
116 sat -verify -prove-asserts -show-ports -enable_undef miter2
119 opt_expr -keepdc -fine
120 select -assert-count 1 t:$xnor
125 select -assert-count 0 c:$_XNOR_
128 miter -equiv -flatten -make_assert -make_outputs gold coarse_keepdc miter3
129 sat -verify -prove-asserts -show-ports -enable_undef miter3
130 miter -equiv -flatten -make_assert -make_outputs coarse_keepdc fine_keepdc miter4
131 sat -verify -prove-asserts -show-ports -enable_undef miter4