summaryrefslogtreecommitdiff
path: root/rtl/core/control/control.sv
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2022-11-07 12:57:48 -0600
committerAlejandro Soto <alejandro@34project.org>2022-11-07 13:31:15 -0600
commitaaf02562e4d49fc93df1f619e3fbd6c85c0e7951 (patch)
treed7ae1d53f18950d370def5932553947c3af4f785 /rtl/core/control/control.sv
parentf78de55eef2e805e459064005daa08c7697d2273 (diff)
Implement multiplication control
Diffstat (limited to 'rtl/core/control/control.sv')
-rw-r--r--rtl/core/control/control.sv15
1 files changed, 12 insertions, 3 deletions
diff --git a/rtl/core/control/control.sv b/rtl/core/control/control.sv
index 917dbf8..06978e6 100644
--- a/rtl/core/control/control.sv
+++ b/rtl/core/control/control.sv
@@ -21,6 +21,8 @@ module core_control
mem_ready,
input word mem_data_rd,
input logic mul_ready,
+ input word mul_q_hi,
+ mul_q_lo,
`ifdef VERILATOR
input word insn,
@@ -48,9 +50,13 @@ module core_control
output word mem_data_wr,
output logic mem_start,
mem_write,
- mul,
- mul_add,
+ output word mul_a,
+ mul_b,
+ mul_c_hi,
+ mul_c_lo,
+ output logic mul_add,
mul_long,
+ mul_start,
mul_signed,
coproc
);
@@ -104,7 +110,10 @@ module core_control
.*
);
- core_control_data ctrl_mul
+ logic mul;
+ reg_num mul_r_add_hi, mul_r_add_lo;
+
+ core_control_mul ctrl_mul
(
.*
);