aboutsummaryrefslogtreecommitdiffstats
path: root/tests/opt/opt_share_cat_multiuser.v
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2019-08-17 15:03:46 +0200
committerGitHub <noreply@github.com>2019-08-17 15:03:46 +0200
commitae5d8dc939678c85ba6dea78fdcfa133ddea0b92 (patch)
treef79bd5ce1c8549dcd73891de7746cd332ef94eb3 /tests/opt/opt_share_cat_multiuser.v
parent8915f496d97a2e858cbadb265695dd1a54b80ac4 (diff)
parent3d3779b0376b8204ed7637053176a07b7271ac1d (diff)
downloadyosys-ae5d8dc939678c85ba6dea78fdcfa133ddea0b92.tar.gz
yosys-ae5d8dc939678c85ba6dea78fdcfa133ddea0b92.tar.bz2
yosys-ae5d8dc939678c85ba6dea78fdcfa133ddea0b92.zip
Merge pull request #1303 from YosysHQ/bogdanvuk/opt_share
Implement opt_share from @bogdanvuk
Diffstat (limited to 'tests/opt/opt_share_cat_multiuser.v')
-rw-r--r--tests/opt/opt_share_cat_multiuser.v22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/opt/opt_share_cat_multiuser.v b/tests/opt/opt_share_cat_multiuser.v
new file mode 100644
index 000000000..b250689d9
--- /dev/null
+++ b/tests/opt/opt_share_cat_multiuser.v
@@ -0,0 +1,22 @@
+module opt_share_test(
+ input [15:0] a,
+ input [15:0] b,
+ input [15:0] c,
+ input [15:0] d,
+ input sel,
+ output reg [47:0] res,
+ );
+
+ wire [15:0] add_res = a+b;
+ wire [15:0] sub_res = a-b;
+ wire [31: 0] cat1 = {add_res, c+d};
+ wire [31: 0] cat2 = {sub_res, c-d};
+
+ always @* begin
+ case(sel)
+ 0: res = {cat1, add_res};
+ 1: res = {cat2, add_res};
+ endcase
+ end
+
+endmodule