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
|
||||
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