diff options
Diffstat (limited to 'lab_4/SRC/duv.sv')
| -rw-r--r-- | lab_4/SRC/duv.sv | 31 |
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 |