mirror of https://github.com/YosysHQ/yosys.git
Split mux tests per type
This commit is contained in:
parent
1b80489486
commit
c0fa6f3e1a
|
@ -63,38 +63,3 @@ module mux16 (D, S, Y);
|
||||||
assign Y = D[S];
|
assign Y = D[S];
|
||||||
|
|
||||||
endmodule
|
endmodule
|
||||||
|
|
||||||
|
|
||||||
module top (
|
|
||||||
input [3:0] S,
|
|
||||||
input [15:0] D,
|
|
||||||
output M2,M4,M8,M16
|
|
||||||
);
|
|
||||||
|
|
||||||
mux2 u_mux2 (
|
|
||||||
.S (S[0]),
|
|
||||||
.A (D[0]),
|
|
||||||
.B (D[1]),
|
|
||||||
.Y (M2)
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
mux4 u_mux4 (
|
|
||||||
.S (S[1:0]),
|
|
||||||
.D (D[3:0]),
|
|
||||||
.Y (M4)
|
|
||||||
);
|
|
||||||
|
|
||||||
mux8 u_mux8 (
|
|
||||||
.S (S[2:0]),
|
|
||||||
.D (D[7:0]),
|
|
||||||
.Y (M8)
|
|
||||||
);
|
|
||||||
|
|
||||||
mux16 u_mux16 (
|
|
||||||
.S (S[3:0]),
|
|
||||||
.D (D[15:0]),
|
|
||||||
.Y (M16)
|
|
||||||
);
|
|
||||||
|
|
||||||
endmodule
|
|
||||||
|
|
|
@ -1,8 +1,41 @@
|
||||||
read_verilog mux.v
|
read_verilog mux.v
|
||||||
|
design -save read
|
||||||
|
|
||||||
proc
|
proc
|
||||||
flatten
|
hierarchy -top mux2
|
||||||
equiv_opt -assert -map +/efinix/cells_sim.v synth_efinix # equivalency check
|
equiv_opt -assert -map +/efinix/cells_sim.v synth_efinix # equivalency check
|
||||||
design -load postopt # load the post-opt design (otherwise equiv_opt loads the pre-opt design)
|
design -load postopt # load the post-opt design (otherwise equiv_opt loads the pre-opt design)
|
||||||
cd top # Constrain all select calls below inside the top module
|
cd mux2 # Constrain all select calls below inside the top module
|
||||||
select -assert-count 13 t:EFX_LUT4
|
select -assert-count 1 t:EFX_LUT4
|
||||||
|
|
||||||
|
select -assert-none t:EFX_LUT4 %% t:* %D
|
||||||
|
|
||||||
|
design -load read
|
||||||
|
proc
|
||||||
|
hierarchy -top mux4
|
||||||
|
equiv_opt -assert -map +/efinix/cells_sim.v synth_efinix # equivalency check
|
||||||
|
design -load postopt # load the post-opt design (otherwise equiv_opt loads the pre-opt design)
|
||||||
|
cd mux4 # Constrain all select calls below inside the top module
|
||||||
|
select -assert-count 2 t:EFX_LUT4
|
||||||
|
|
||||||
|
select -assert-none t:EFX_LUT4 %% t:* %D
|
||||||
|
|
||||||
|
design -load read
|
||||||
|
proc
|
||||||
|
hierarchy -top mux8
|
||||||
|
equiv_opt -assert -map +/efinix/cells_sim.v synth_efinix # equivalency check
|
||||||
|
design -load postopt # load the post-opt design (otherwise equiv_opt loads the pre-opt design)
|
||||||
|
cd mux8 # Constrain all select calls below inside the top module
|
||||||
|
select -assert-count 5 t:EFX_LUT4
|
||||||
|
|
||||||
|
select -assert-none t:EFX_LUT4 %% t:* %D
|
||||||
|
|
||||||
|
design -load read
|
||||||
|
proc
|
||||||
|
hierarchy -top mux16
|
||||||
|
equiv_opt -assert -map +/efinix/cells_sim.v synth_efinix # equivalency check
|
||||||
|
design -load postopt # load the post-opt design (otherwise equiv_opt loads the pre-opt design)
|
||||||
|
cd mux16 # Constrain all select calls below inside the top module
|
||||||
|
select -assert-count 12 t:EFX_LUT4
|
||||||
|
|
||||||
select -assert-none t:EFX_LUT4 %% t:* %D
|
select -assert-none t:EFX_LUT4 %% t:* %D
|
||||||
|
|
Loading…
Reference in New Issue