diff options
author | Clifford Wolf <clifford@clifford.at> | 2019-08-17 15:03:46 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-08-17 15:03:46 +0200 |
commit | ae5d8dc939678c85ba6dea78fdcfa133ddea0b92 (patch) | |
tree | f79bd5ce1c8549dcd73891de7746cd332ef94eb3 /tests/opt/opt_share_cat_multiuser.v | |
parent | 8915f496d97a2e858cbadb265695dd1a54b80ac4 (diff) | |
parent | 3d3779b0376b8204ed7637053176a07b7271ac1d (diff) | |
download | yosys-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.v | 22 |
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 |