diff options
| author | Julian Blake Kongslie | 2021-04-07 17:02:31 -0700 |
|---|---|---|
| committer | Julian Blake Kongslie | 2021-04-07 17:02:31 -0700 |
| commit | 196b67bba9fcb8d8752311f4cf461c82c3d62efb (patch) | |
| tree | db3c1a8040ea2b56533b4ea117262d974db4213f /hdl/top.sv | |
| parent | Switch back to $past-based scheduling; my clever idea wasn't clever enough. (diff) | |
| download | noncpu-196b67bba9fcb8d8752311f4cf461c82c3d62efb.tar.xz | |
Add UART receive opbit.
Diffstat (limited to '')
| -rw-r--r-- | hdl/top.sv | 12 |
1 files changed, 12 insertions, 0 deletions
| @@ -118,6 +118,10 @@ always_ff @(posedge clk) begin | |||
| 118 | if (operand[1]) ++acc; | 118 | if (operand[1]) ++acc; |
| 119 | if (operand[2]) --acc; | 119 | if (operand[2]) --acc; |
| 120 | if (operand[6]) state = MEMORY; | 120 | if (operand[6]) state = MEMORY; |
| 121 | if (operand[7]) begin | ||
| 122 | rx_ready = 1; | ||
| 123 | state = MEMORY; | ||
| 124 | end | ||
| 121 | if (operand == 0) state = HALT; | 125 | if (operand == 0) state = HALT; |
| 122 | end | 126 | end |
| 123 | 'h1: acc = sign_extended_operand; | 127 | 'h1: acc = sign_extended_operand; |
| @@ -205,6 +209,14 @@ always_ff @(posedge clk) begin | |||
| 205 | tx_data = acc[7:0]; | 209 | tx_data = acc[7:0]; |
| 206 | end | 210 | end |
| 207 | end | 211 | end |
| 212 | if (operand[7]) begin | ||
| 213 | if (`lag(rx_valid)) begin | ||
| 214 | rx_ready = 0; | ||
| 215 | acc = {{(DATA_BITS-8){1'b0}}, `lag(rx_data)}; | ||
| 216 | end else begin | ||
| 217 | state = MEMORY; | ||
| 218 | end | ||
| 219 | end | ||
| 208 | end | 220 | end |
| 209 | 'h2: begin | 221 | 'h2: begin |
| 210 | if (`lag(mem_read_valid)) begin | 222 | if (`lag(mem_read_valid)) begin |
