mirror of
https://github.com/YosysHQ/yosys
synced 2025-04-07 01:54:10 +00:00
Add one more test with trimming Y_WIDTH of $sub
This commit is contained in:
parent
415a2716df
commit
5bd088a686
|
@ -9,7 +9,7 @@ hierarchy -auto-top
|
||||||
proc
|
proc
|
||||||
design -save gold
|
design -save gold
|
||||||
|
|
||||||
prep
|
prep # calls wreduce
|
||||||
|
|
||||||
select -assert-count 1 t:$add r:A_WIDTH=4 r:B_WIDTH=4 r:Y_WIDTH=5 %i %i %i
|
select -assert-count 1 t:$add r:A_WIDTH=4 r:B_WIDTH=4 r:Y_WIDTH=5 %i %i %i
|
||||||
|
|
||||||
|
@ -21,8 +21,8 @@ design -import gate -as gate
|
||||||
miter -equiv -flatten -make_assert -make_outputs gold gate miter
|
miter -equiv -flatten -make_assert -make_outputs gold gate miter
|
||||||
sat -verify -prove-asserts -show-ports miter
|
sat -verify -prove-asserts -show-ports miter
|
||||||
|
|
||||||
|
##########
|
||||||
|
|
||||||
### X - 0
|
|
||||||
read_verilog <<EOT
|
read_verilog <<EOT
|
||||||
module wreduce_sub_test1(input [3:0] i, input [7:0] j, output [8:0] o);
|
module wreduce_sub_test1(input [3:0] i, input [7:0] j, output [8:0] o);
|
||||||
assign o = j - (i << 4);
|
assign o = j - (i << 4);
|
||||||
|
@ -33,7 +33,7 @@ hierarchy -auto-top
|
||||||
proc
|
proc
|
||||||
design -save gold
|
design -save gold
|
||||||
|
|
||||||
prep
|
prep # calls wreduce
|
||||||
|
|
||||||
select -assert-count 1 t:$sub r:A_WIDTH=4 r:B_WIDTH=4 r:Y_WIDTH=5 %i %i %i
|
select -assert-count 1 t:$sub r:A_WIDTH=4 r:B_WIDTH=4 r:Y_WIDTH=5 %i %i %i
|
||||||
|
|
||||||
|
@ -45,9 +45,10 @@ design -import gate -as gate
|
||||||
miter -equiv -flatten -make_assert -make_outputs gold gate miter
|
miter -equiv -flatten -make_assert -make_outputs gold gate miter
|
||||||
sat -verify -prove-asserts -show-ports miter
|
sat -verify -prove-asserts -show-ports miter
|
||||||
|
|
||||||
### 0 - X
|
##########
|
||||||
|
|
||||||
read_verilog <<EOT
|
read_verilog <<EOT
|
||||||
module wreduce_sub_test1(input [3:0] i, input [7:0] j, output [8:0] o);
|
module wreduce_sub_test2(input [3:0] i, input [7:0] j, output [8:0] o);
|
||||||
assign o = (i << 4) - j;
|
assign o = (i << 4) - j;
|
||||||
endmodule
|
endmodule
|
||||||
EOT
|
EOT
|
||||||
|
@ -56,7 +57,7 @@ hierarchy -auto-top
|
||||||
proc
|
proc
|
||||||
design -save gold
|
design -save gold
|
||||||
|
|
||||||
prep
|
prep # calls wreduce
|
||||||
|
|
||||||
select -assert-count 1 t:$sub r:A_WIDTH=8 r:B_WIDTH=8 r:Y_WIDTH=9 %i %i %i
|
select -assert-count 1 t:$sub r:A_WIDTH=8 r:B_WIDTH=8 r:Y_WIDTH=9 %i %i %i
|
||||||
|
|
||||||
|
@ -68,10 +69,11 @@ design -import gate -as gate
|
||||||
miter -equiv -flatten -make_assert -make_outputs gold gate miter
|
miter -equiv -flatten -make_assert -make_outputs gold gate miter
|
||||||
sat -verify -prove-asserts -show-ports miter
|
sat -verify -prove-asserts -show-ports miter
|
||||||
|
|
||||||
### 0 - X
|
##########
|
||||||
|
|
||||||
read_verilog <<EOT
|
read_verilog <<EOT
|
||||||
module wreduce_sub_test1(input [3:0] i, input [7:0] j, output [8:0] o);
|
module wreduce_sub_test3(input [3:0] i, input [7:0] j, output [8:0] o);
|
||||||
assign o = (i << 4) - j;
|
assign o = (j >> 4) - i;
|
||||||
endmodule
|
endmodule
|
||||||
EOT
|
EOT
|
||||||
|
|
||||||
|
@ -79,9 +81,10 @@ hierarchy -auto-top
|
||||||
proc
|
proc
|
||||||
design -save gold
|
design -save gold
|
||||||
|
|
||||||
prep
|
prep # calls wreduce
|
||||||
|
|
||||||
select -assert-count 1 t:$sub r:A_WIDTH=8 r:B_WIDTH=8 r:Y_WIDTH=9 %i %i %i
|
dump
|
||||||
|
select -assert-count 1 t:$sub r:A_WIDTH=4 r:B_WIDTH=4 r:Y_WIDTH=5 %i %i %i
|
||||||
|
|
||||||
design -stash gate
|
design -stash gate
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue