aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiodrag Milanovic <mmicko@gmail.com>2019-10-04 09:39:22 +0200
committerMiodrag Milanovic <mmicko@gmail.com>2019-10-17 17:11:11 +0200
commita198bcdd4ffe6b09787ea5bf2e69528ace375020 (patch)
tree73fab8d023939b9d3213b9564b14af87c738aad7
parent36af10280136f0fda7b743075ac52e48576abf26 (diff)
downloadyosys-a198bcdd4ffe6b09787ea5bf2e69528ace375020.tar.gz
yosys-a198bcdd4ffe6b09787ea5bf2e69528ace375020.tar.bz2
yosys-a198bcdd4ffe6b09787ea5bf2e69528ace375020.zip
split muxes synth per type
-rw-r--r--tests/xilinx/mux.v35
-rw-r--r--tests/xilinx/mux.ys43
2 files changed, 39 insertions, 39 deletions
diff --git a/tests/xilinx/mux.v b/tests/xilinx/mux.v
index 0814b733e..27bc0bf0b 100644
--- a/tests/xilinx/mux.v
+++ b/tests/xilinx/mux.v
@@ -63,38 +63,3 @@ module mux16 (D, S, Y);
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
diff --git a/tests/xilinx/mux.ys b/tests/xilinx/mux.ys
index 6ecee58f5..4cdb12e47 100644
--- a/tests/xilinx/mux.ys
+++ b/tests/xilinx/mux.ys
@@ -1,10 +1,45 @@
read_verilog mux.v
+design -save read
+
+proc
+hierarchy -top mux2
+equiv_opt -assert -map +/xilinx/cells_sim.v synth_xilinx # equivalency check
+design -load postopt # load the post-opt design (otherwise equiv_opt loads the pre-opt design)
+cd mux2 # Constrain all select calls below inside the top module
+select -assert-count 1 t:LUT3
+
+select -assert-none t:LUT3 %% t:* %D
+
+
+design -load read
proc
-flatten
+hierarchy -top mux4
equiv_opt -assert -map +/xilinx/cells_sim.v synth_xilinx # 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
+cd mux4 # Constrain all select calls below inside the top module
+select -assert-count 1 t:LUT6
+
+select -assert-none t:LUT6 %% t:* %D
+
+
+design -load read
+proc
+hierarchy -top mux8
+equiv_opt -assert -map +/xilinx/cells_sim.v synth_xilinx # 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:LUT3
+select -assert-count 2 t:LUT6
-select -assert-count 2 t:LUT3
-select -assert-count 5 t:LUT6
select -assert-none t:LUT3 t:LUT6 %% t:* %D
+
+
+design -load read
+proc
+hierarchy -top mux16
+equiv_opt -assert -map +/xilinx/cells_sim.v synth_xilinx # 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 5 t:LUT6
+
+select -assert-none t:LUT6 %% t:* %D