diff options
Diffstat (limited to 'rtl/lisp_coproc.sv')
| -rw-r--r-- | rtl/lisp_coproc.sv | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/rtl/lisp_coproc.sv b/rtl/lisp_coproc.sv index b855b7b..6bd8574 100644 --- a/rtl/lisp_coproc.sv +++ b/rtl/lisp_coproc.sv | |||
| @@ -1,3 +1,5 @@ | |||
| 1 | `timescale 1ns/1ps // be consistent with testbench | ||
| 2 | |||
| 1 | module lisp_coproc ( | 3 | module lisp_coproc ( |
| 2 | input wire clk, | 4 | input wire clk, |
| 3 | input wire rst, | 5 | input wire rst, |
| @@ -33,7 +35,6 @@ module lisp_coproc ( | |||
| 33 | 35 | ||
| 34 | // Type Checkers | 36 | // Type Checkers |
| 35 | wire is_cons_a = (arg1_reg[7:6] == 2'b11); | 37 | wire is_cons_a = (arg1_reg[7:6] == 2'b11); |
| 36 | wire is_cons_b = (arg2_reg[7:6] == 2'b11); | ||
| 37 | wire is_num_a = (arg1_reg[7:6] == 2'b10); | 38 | wire is_num_a = (arg1_reg[7:6] == 2'b10); |
| 38 | wire is_num_b = (arg2_reg[7:6] == 2'b10); | 39 | wire is_num_b = (arg2_reg[7:6] == 2'b10); |
| 39 | 40 | ||
| @@ -99,10 +100,11 @@ module lisp_coproc ( | |||
| 99 | // --- MMIO Writes --- | 100 | // --- MMIO Writes --- |
| 100 | if (cs && !rw) begin | 101 | if (cs && !rw) begin |
| 101 | case (addr) | 102 | case (addr) |
| 102 | 3'h0: opcode_reg <= data_in; | 103 | 3'h0: opcode_reg <= data_in; |
| 103 | 3'h1: arg1_reg <= data_in; | 104 | 3'h1: arg1_reg <= data_in; |
| 104 | 3'h2: arg2_reg <= data_in; | 105 | 3'h2: arg2_reg <= data_in; |
| 105 | 3'h3: result_reg <= data_in; | 106 | 3'h3: result_reg <= data_in; |
| 107 | default: ; | ||
| 106 | endcase | 108 | endcase |
| 107 | end | 109 | end |
| 108 | 110 | ||
| @@ -157,6 +159,7 @@ module lisp_coproc ( | |||
| 157 | if (alu_sum[5:0] == 6'd0) flag_zero <= 1'b1; | 159 | if (alu_sum[5:0] == 6'd0) flag_zero <= 1'b1; |
| 158 | end | 160 | end |
| 159 | end | 161 | end |
| 162 | default: ; | ||
| 160 | endcase | 163 | endcase |
| 161 | end | 164 | end |
| 162 | 165 | ||
| @@ -183,8 +186,10 @@ module lisp_coproc ( | |||
| 183 | 8'h06: begin // ADD | 186 | 8'h06: begin // ADD |
| 184 | if (!flag_err_type) result_reg <= {2'b10, alu_sum[5:0]}; | 187 | if (!flag_err_type) result_reg <= {2'b10, alu_sum[5:0]}; |
| 185 | end | 188 | end |
| 189 | default: ; | ||
| 186 | endcase | 190 | endcase |
| 187 | end | 191 | end |
| 192 | default: ; | ||
| 188 | endcase | 193 | endcase |
| 189 | end | 194 | end |
| 190 | end | 195 | end |
