summaryrefslogtreecommitdiff
path: root/hdl
diff options
context:
space:
mode:
Diffstat (limited to 'hdl')
-rw-r--r--hdl/jtag_uart.sv4
-rw-r--r--hdl/top.sv16
-rw-r--r--hdl/util.svh2
3 files changed, 9 insertions, 13 deletions
diff --git a/hdl/jtag_uart.sv b/hdl/jtag_uart.sv
index c297811..ad4665e 100644
--- a/hdl/jtag_uart.sv
+++ b/hdl/jtag_uart.sv
@@ -75,11 +75,7 @@ always_ff @(posedge clk) begin
75 $write("%s", tx_b_data); 75 $write("%s", tx_b_data);
76 tx_b_valid = 0; 76 tx_b_valid = 0;
77 end 77 end
78`ifdef JTAG_UART_FAST
79 tx_ready = !tx_b_valid; 78 tx_ready = !tx_b_valid;
80`else
81 tx_ready = !tx_b_valid && !tx_ready && `tx_valid;
82`endif
83 end 79 end
84end 80end
85 81
diff --git a/hdl/top.sv b/hdl/top.sv
index 8c693b3..d224561 100644
--- a/hdl/top.sv
+++ b/hdl/top.sv
@@ -100,7 +100,7 @@ always_ff @(posedge clk) begin
100 mem_valid = 1; 100 mem_valid = 1;
101 mem_address = {2'b0, pc}; 101 mem_address = {2'b0, pc};
102 mem_write = 0; 102 mem_write = 0;
103 if (mem_ready) begin 103 if (`mem_ready) begin
104 state = DECODE; 104 state = DECODE;
105 ++pc; 105 ++pc;
106 end 106 end
@@ -109,9 +109,9 @@ always_ff @(posedge clk) begin
109 DECODE: begin 109 DECODE: begin
110 mem_valid = 0; 110 mem_valid = 0;
111 mem_write = 0; 111 mem_write = 0;
112 if (mem_read_valid) begin 112 if (`mem_read_valid) begin
113 state = FETCH; 113 state = FETCH;
114 {opcode, operand} = mem_read_data; 114 {opcode, operand} = `mem_read_data;
115 sign_extended_operand = {{(DATA_BITS-8){operand[7]}}, operand}; 115 sign_extended_operand = {{(DATA_BITS-8){operand[7]}}, operand};
116 `ifdef DEBUG $display("\tdecode %x:%x", opcode, operand); `endif 116 `ifdef DEBUG $display("\tdecode %x:%x", opcode, operand); `endif
117 case (opcode) 117 case (opcode)
@@ -143,20 +143,20 @@ always_ff @(posedge clk) begin
143 'h1: begin 143 'h1: begin
144 mem_valid = 1; 144 mem_valid = 1;
145 mem_address = {2'b0, idx + sign_extended_operand}; 145 mem_address = {2'b0, idx + sign_extended_operand};
146 state = mem_ready ? MEMORY : AGEN; 146 state = `mem_ready ? MEMORY : AGEN;
147 end 147 end
148 'h2: begin 148 'h2: begin
149 mem_valid = 1; 149 mem_valid = 1;
150 mem_address = {2'b0, idx + sign_extended_operand}; 150 mem_address = {2'b0, idx + sign_extended_operand};
151 mem_write = 1; 151 mem_write = 1;
152 mem_write_data = acc; 152 mem_write_data = acc;
153 state = mem_ready ? FETCH : AGEN; 153 state = `mem_ready ? FETCH : AGEN;
154 end 154 end
155 endcase 155 endcase
156 end 156 end
157 157
158 MEMORY: begin 158 MEMORY: begin
159 if (mem_ready) begin 159 if (`mem_ready) begin
160 mem_valid = 0; 160 mem_valid = 0;
161 mem_write = 0; 161 mem_write = 0;
162 end 162 end
@@ -164,8 +164,8 @@ always_ff @(posedge clk) begin
164 `ifdef DEBUG $display("\tstall"); `endif 164 `ifdef DEBUG $display("\tstall"); `endif
165 case (opcode) 165 case (opcode)
166 'h1: begin 166 'h1: begin
167 if (mem_read_valid) begin 167 if (`mem_read_valid) begin
168 acc = mem_read_data; 168 acc = `mem_read_data;
169 end else begin 169 end else begin
170 state = MEMORY; 170 state = MEMORY;
171 end 171 end
diff --git a/hdl/util.svh b/hdl/util.svh
index ddba543..db5e4e6 100644
--- a/hdl/util.svh
+++ b/hdl/util.svh
@@ -1,5 +1,5 @@
1`ifdef SYNTHESIS 1`ifdef SYNTHESIS
2`define past(x) x 2`define past(x) x
3`else 3`else
4`define past(x) $past(x) 4`define past(x) $sampled(x)
5`endif 5`endif