summaryrefslogtreecommitdiff
path: root/lab_4/SRC/duv.sv
diff options
context:
space:
mode:
Diffstat (limited to 'lab_4/SRC/duv.sv')
-rw-r--r--lab_4/SRC/duv.sv31
1 files changed, 31 insertions, 0 deletions
diff --git a/lab_4/SRC/duv.sv b/lab_4/SRC/duv.sv
new file mode 100644
index 0000000..b748e4a
--- /dev/null
+++ b/lab_4/SRC/duv.sv
@@ -0,0 +1,31 @@
+
+module duv (
+input logic clk,
+input logic op_start,
+input logic [1:0] operation,
+input logic [7:0] operand_a,
+input logic [7:0] operand_b,
+output logic [15:0] result
+);
+
+logic [15:0] result_temp;
+
+always_ff @(posedge clk)
+begin
+if( op_start == 1'b1)
+begin
+case (operation)
+ 0: result_temp = operand_a + operand_b;
+ 1: result_temp = operand_a * operand_b;
+ 2: result_temp = operand_a | operand_b;
+ 3: result_temp = operand_a & operand_b;
+ endcase
+ end
+
+ // result <= result_temp;
+end
+always_ff @(posedge clk)
+begin
+result = result_temp;
+end
+endmodule : duv \ No newline at end of file