aboutsummaryrefslogtreecommitdiffstats
path: root/tests/arch/ecp5/macc.v
diff options
context:
space:
mode:
authorEddie Hung <eddie@fpgeh.com>2019-11-19 15:40:39 -0800
committerEddie Hung <eddie@fpgeh.com>2019-11-19 15:40:39 -0800
commit09ee96e8c22ec692ee3ee31b8c211646eabbcf27 (patch)
tree8b24dad9db0013ee3db20326b00941bd2abb10d1 /tests/arch/ecp5/macc.v
parent304e5f9ea45b8a4e2a28aba7f2820d1862377fef (diff)
parent7ea0a5937ba2572f6d9d62e73e24df480c49561d (diff)
downloadyosys-09ee96e8c22ec692ee3ee31b8c211646eabbcf27.tar.gz
yosys-09ee96e8c22ec692ee3ee31b8c211646eabbcf27.tar.bz2
yosys-09ee96e8c22ec692ee3ee31b8c211646eabbcf27.zip
Merge remote-tracking branch 'origin/master' into xaig_dff
Diffstat (limited to 'tests/arch/ecp5/macc.v')
-rw-r--r--tests/arch/ecp5/macc.v25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/arch/ecp5/macc.v b/tests/arch/ecp5/macc.v
new file mode 100644
index 000000000..63a3d3a74
--- /dev/null
+++ b/tests/arch/ecp5/macc.v
@@ -0,0 +1,25 @@
+/*
+Example from: https://www.latticesemi.com/-/media/LatticeSemi/Documents/UserManuals/EI/iCEcube201701UserGuide.ashx?document_id=52071 [p. 77].
+*/
+module top(clk,a,b,c,set);
+parameter A_WIDTH = 4;
+parameter B_WIDTH = 3;
+input set;
+input clk;
+input signed [(A_WIDTH - 1):0] a;
+input signed [(B_WIDTH - 1):0] b;
+output signed [(A_WIDTH + B_WIDTH - 1):0] c;
+reg [(A_WIDTH + B_WIDTH - 1):0] reg_tmp_c;
+assign c = reg_tmp_c;
+always @(posedge clk)
+begin
+if(set)
+begin
+reg_tmp_c <= 0;
+end
+else
+begin
+reg_tmp_c <= a * b + c;
+end
+end
+endmodule