mirror of https://github.com/YosysHQ/yosys.git
Add tests
This commit is contained in:
parent
0d2b87e3ed
commit
6d9ba40263
|
@ -188,3 +188,171 @@ 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
|
||||||
|
|
||||||
|
## MUX2 in MUX4 :: https://github.com/YosysHQ/yosys/issues/1132
|
||||||
|
|
||||||
|
design -reset
|
||||||
|
read_verilog -formal <<EOT
|
||||||
|
module mux2in4(input [1:0] i, input s, output o);
|
||||||
|
assign o = s ? i[1] : i[0];
|
||||||
|
endmodule
|
||||||
|
EOT
|
||||||
|
prep
|
||||||
|
design -save gold
|
||||||
|
|
||||||
|
techmap
|
||||||
|
muxcover -mux4=0 -nodecode
|
||||||
|
clean
|
||||||
|
opt_expr -mux_bool
|
||||||
|
select -assert-count 0 t:$_MUX_
|
||||||
|
select -assert-count 1 t:$_MUX4_
|
||||||
|
select -assert-count 0 t:$_MUX8_
|
||||||
|
select -assert-count 0 t:$_MUX16_
|
||||||
|
techmap -map +/simcells.v t:$_MUX4_
|
||||||
|
design -stash gate
|
||||||
|
|
||||||
|
design -import gold -as gold
|
||||||
|
design -import gate -as gate
|
||||||
|
|
||||||
|
miter -equiv -flatten -make_assert -make_outputs gold gate miter
|
||||||
|
sat -verify -prove-asserts -show-ports miter
|
||||||
|
|
||||||
|
## MUX2 in MUX8 :: https://github.com/YosysHQ/yosys/issues/1132
|
||||||
|
|
||||||
|
design -reset
|
||||||
|
read_verilog -formal <<EOT
|
||||||
|
module mux2in8(input [1:0] i, input s, output o);
|
||||||
|
assign o = s ? i[1] : i[0];
|
||||||
|
endmodule
|
||||||
|
EOT
|
||||||
|
prep
|
||||||
|
design -save gold
|
||||||
|
|
||||||
|
techmap
|
||||||
|
muxcover -mux8=0 -nodecode
|
||||||
|
clean
|
||||||
|
opt_expr -mux_bool
|
||||||
|
select -assert-count 0 t:$_MUX_
|
||||||
|
select -assert-count 0 t:$_MUX4_
|
||||||
|
select -assert-count 1 t:$_MUX8_
|
||||||
|
select -assert-count 0 t:$_MUX16_
|
||||||
|
techmap -map +/simcells.v t:$_MUX8_
|
||||||
|
design -stash gate
|
||||||
|
|
||||||
|
design -import gold -as gold
|
||||||
|
design -import gate -as gate
|
||||||
|
|
||||||
|
miter -equiv -flatten -make_assert -make_outputs gold gate miter
|
||||||
|
sat -verify -prove-asserts -show-ports miter
|
||||||
|
|
||||||
|
## MUX4 in MUX8 :: https://github.com/YosysHQ/yosys/issues/1132
|
||||||
|
|
||||||
|
design -reset
|
||||||
|
read_verilog -formal <<EOT
|
||||||
|
module mux4in8(input [3:0] i, input [1:0] s, output o);
|
||||||
|
assign o = s[1] ? (s[0] ? i[3] : i[2]) : (s[0] ? i[1] : i[0]);
|
||||||
|
endmodule
|
||||||
|
EOT
|
||||||
|
prep
|
||||||
|
design -save gold
|
||||||
|
|
||||||
|
techmap
|
||||||
|
muxcover -mux8=0 -nodecode
|
||||||
|
clean
|
||||||
|
opt_expr -mux_bool
|
||||||
|
select -assert-count 0 t:$_MUX_
|
||||||
|
select -assert-count 0 t:$_MUX4_
|
||||||
|
select -assert-count 1 t:$_MUX8_
|
||||||
|
select -assert-count 0 t:$_MUX16_
|
||||||
|
techmap -map +/simcells.v t:$_MUX8_
|
||||||
|
design -stash gate
|
||||||
|
|
||||||
|
design -import gold -as gold
|
||||||
|
design -import gate -as gate
|
||||||
|
|
||||||
|
miter -equiv -flatten -make_assert -make_outputs gold gate miter
|
||||||
|
sat -verify -prove-asserts -show-ports miter
|
||||||
|
|
||||||
|
## MUX2 in MUX16 :: https://github.com/YosysHQ/yosys/issues/1132
|
||||||
|
|
||||||
|
design -reset
|
||||||
|
read_verilog -formal <<EOT
|
||||||
|
module mux2in16(input [1:0] i, input s, output o);
|
||||||
|
assign o = s ? i[1] : i[0];
|
||||||
|
endmodule
|
||||||
|
EOT
|
||||||
|
prep
|
||||||
|
design -save gold
|
||||||
|
|
||||||
|
techmap
|
||||||
|
muxcover -mux16=0 -nodecode
|
||||||
|
clean
|
||||||
|
opt_expr -mux_bool
|
||||||
|
select -assert-count 0 t:$_MUX_
|
||||||
|
select -assert-count 0 t:$_MUX4_
|
||||||
|
select -assert-count 0 t:$_MUX8_
|
||||||
|
select -assert-count 1 t:$_MUX16_
|
||||||
|
techmap -map +/simcells.v t:$_MUX16_
|
||||||
|
design -stash gate
|
||||||
|
|
||||||
|
design -import gold -as gold
|
||||||
|
design -import gate -as gate
|
||||||
|
|
||||||
|
miter -equiv -flatten -make_assert -make_outputs gold gate miter
|
||||||
|
sat -verify -prove-asserts -show-ports miter
|
||||||
|
|
||||||
|
## MUX4 in MUX16 :: https://github.com/YosysHQ/yosys/issues/1132
|
||||||
|
|
||||||
|
design -reset
|
||||||
|
read_verilog -formal <<EOT
|
||||||
|
module mux4in16(input [3:0] i, input [1:0] s, output o);
|
||||||
|
assign o = s[1] ? (s[0] ? i[3] : i[2]) : (s[0] ? i[1] : i[0]);
|
||||||
|
endmodule
|
||||||
|
EOT
|
||||||
|
prep
|
||||||
|
design -save gold
|
||||||
|
|
||||||
|
techmap
|
||||||
|
muxcover -mux16=0 -nodecode
|
||||||
|
clean
|
||||||
|
opt_expr -mux_bool
|
||||||
|
select -assert-count 0 t:$_MUX_
|
||||||
|
select -assert-count 0 t:$_MUX4_
|
||||||
|
select -assert-count 0 t:$_MUX8_
|
||||||
|
select -assert-count 1 t:$_MUX16_
|
||||||
|
techmap -map +/simcells.v t:$_MUX16_
|
||||||
|
design -stash gate
|
||||||
|
|
||||||
|
design -import gold -as gold
|
||||||
|
design -import gate -as gate
|
||||||
|
|
||||||
|
miter -equiv -flatten -make_assert -make_outputs gold gate miter
|
||||||
|
sat -verify -prove-asserts -show-ports miter
|
||||||
|
|
||||||
|
## MUX8 in MUX16 :: https://github.com/YosysHQ/yosys/issues/1132
|
||||||
|
|
||||||
|
design -reset
|
||||||
|
read_verilog -formal <<EOT
|
||||||
|
module mux4in16(input [7:0] i, input [2:0] s, output o);
|
||||||
|
assign o = s[2] ? s[1] ? (s[0] ? i[3] : i[2]) : (s[0] ? i[1] : i[0])
|
||||||
|
: s[1] ? (s[0] ? i[7] : i[6]) : (s[0] ? i[5] : i[4]);
|
||||||
|
endmodule
|
||||||
|
EOT
|
||||||
|
prep
|
||||||
|
design -save gold
|
||||||
|
|
||||||
|
techmap
|
||||||
|
muxcover -mux16=0 -nodecode
|
||||||
|
clean
|
||||||
|
opt_expr -mux_bool
|
||||||
|
select -assert-count 0 t:$_MUX_
|
||||||
|
select -assert-count 0 t:$_MUX4_
|
||||||
|
select -assert-count 0 t:$_MUX8_
|
||||||
|
select -assert-count 1 t:$_MUX16_
|
||||||
|
techmap -map +/simcells.v t:$_MUX16_
|
||||||
|
design -stash gate
|
||||||
|
|
||||||
|
design -import gold -as gold
|
||||||
|
design -import gate -as gate
|
||||||
|
|
||||||
|
miter -equiv -flatten -make_assert -make_outputs gold gate miter
|
||||||
|
sat -verify -prove-asserts -show-ports miter
|
||||||
|
|
Loading…
Reference in New Issue