mirror of https://github.com/YosysHQ/yosys.git
Test muxes synth one by one
This commit is contained in:
parent
d6ef9b1a6b
commit
3c40c81030
|
@ -64,37 +64,3 @@ assign Y = D[S];
|
|||
|
||||
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,11 +1,46 @@
|
|||
read_verilog mux.v
|
||||
design -save read
|
||||
|
||||
proc
|
||||
flatten
|
||||
hierarchy -top mux2
|
||||
equiv_opt -assert -map +/ecp5/cells_sim.v synth_ecp5 # equivalency check
|
||||
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
|
||||
select -assert-count 32 t:LUT4
|
||||
select -assert-count 8 t:L6MUX21
|
||||
select -assert-count 14 t:PFUMX
|
||||
cd mux2 # Constrain all select calls below inside the top module
|
||||
select -assert-count 1 t:LUT4
|
||||
select -assert-none t:LUT4 %% t:* %D
|
||||
|
||||
design -load read
|
||||
proc
|
||||
hierarchy -top mux4
|
||||
equiv_opt -assert -map +/ecp5/cells_sim.v synth_ecp5 # 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 1 t:L6MUX21
|
||||
select -assert-count 4 t:LUT4
|
||||
select -assert-count 2 t:PFUMX
|
||||
|
||||
select -assert-none t:LUT4 t:L6MUX21 t:PFUMX %% t:* %D
|
||||
|
||||
design -load read
|
||||
proc
|
||||
hierarchy -top mux8
|
||||
equiv_opt -assert -map +/ecp5/cells_sim.v synth_ecp5 # 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 1 t:L6MUX21
|
||||
select -assert-count 7 t:LUT4
|
||||
select -assert-count 2 t:PFUMX
|
||||
|
||||
select -assert-none t:LUT4 t:L6MUX21 t:PFUMX %% t:* %D
|
||||
|
||||
design -load read
|
||||
proc
|
||||
hierarchy -top mux16
|
||||
equiv_opt -assert -map +/ecp5/cells_sim.v synth_ecp5 # 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 8 t:L6MUX21
|
||||
select -assert-count 26 t:LUT4
|
||||
select -assert-count 12 t:PFUMX
|
||||
|
||||
select -assert-none t:LUT4 t:L6MUX21 t:PFUMX %% t:* %D
|
||||
|
|
Loading…
Reference in New Issue