aboutsummaryrefslogtreecommitdiffstats
path: root/tests/opt/opt_share_large_pmux_cat.v
diff options
context:
space:
mode:
authorBogdan Vukobratovic <bogdan.vukobratovic@gmail.com>2019-07-28 16:03:54 +0200
committerBogdan Vukobratovic <bogdan.vukobratovic@gmail.com>2019-07-28 16:03:54 +0200
commitc075486c59155d16ed278922a3752366a95246ff (patch)
treede6e076b2f3c03ba67496916207fa1077ed8fd1f /tests/opt/opt_share_large_pmux_cat.v
parent07c4a7d4388cdacaa15512dd2f6f0f9e9fcb31f5 (diff)
downloadyosys-c075486c59155d16ed278922a3752366a95246ff.tar.gz
yosys-c075486c59155d16ed278922a3752366a95246ff.tar.bz2
yosys-c075486c59155d16ed278922a3752366a95246ff.zip
Reimplement opt_share to work on $alu and $pmux
Diffstat (limited to 'tests/opt/opt_share_large_pmux_cat.v')
-rw-r--r--tests/opt/opt_share_large_pmux_cat.v22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/opt/opt_share_large_pmux_cat.v b/tests/opt/opt_share_large_pmux_cat.v
new file mode 100644
index 000000000..6208c796b
--- /dev/null
+++ b/tests/opt/opt_share_large_pmux_cat.v
@@ -0,0 +1,22 @@
+module opt_share_test(
+ input [15:0] a,
+ input [15:0] b,
+ input [15:0] c,
+ input [2:0] sel,
+ output reg [31:0] res
+ );
+
+
+ always @* begin
+ case(sel)
+ 0: res = {a + b, a};
+ 1: res = {a - b, b};
+ 2: res = {a + c, c};
+ 3: res = {a - c, a};
+ 4: res = {b, b};
+ 5: res = {c, c};
+ default: res = 32'bx;
+ endcase
+ end
+
+endmodule