File tree Expand file tree Collapse file tree 1 file changed +8
-2
lines changed Expand file tree Collapse file tree 1 file changed +8
-2
lines changed Original file line number Diff line number Diff line change @@ -64,6 +64,7 @@ module UARTReceiver #(
64
64
reg [2 :0 ] inputReg; // shift reg for input signal
65
65
reg [3 :0 ] sampleCount; // clock count for 16x oversample
66
66
reg [7 :0 ] data; // input data buffer
67
+ reg data_ready;
67
68
68
69
always @(posedge clk) begin
69
70
if (reset || ! enable) begin
@@ -72,7 +73,10 @@ module UARTReceiver #(
72
73
end else if (rxCounter < RX_CLOCK_PERIOD - 1 ) begin
73
74
// RX clock
74
75
rxCounter <= rxCounter + 1 ;
75
- if (ready) begin
76
+ if (data_ready) begin
77
+ data_ready <= 0 ;
78
+ valid <= 1 ;
79
+ end else if (ready) begin
76
80
valid <= 0 ;
77
81
end
78
82
end else begin
@@ -90,6 +94,7 @@ module UARTReceiver #(
90
94
bitIndex <= 3'b0 ;
91
95
sampleCount <= 4'b0 ;
92
96
data <= 8'b0 ;
97
+ data_ready <= 0 ;
93
98
if (enable) begin
94
99
state <= `IDLE;
95
100
end
@@ -101,6 +106,7 @@ module UARTReceiver #(
101
106
bitIndex <= 3'b0 ;
102
107
sampleCount <= 4'b0 ;
103
108
data <= 8'b0 ;
109
+ data_ready <= 0 ;
104
110
error <= 0 ;
105
111
overrun <= 0 ;
106
112
end else if (! (| inputReg) || (| sampleCount)) begin
@@ -134,7 +140,7 @@ module UARTReceiver #(
134
140
if (& inputReg) begin
135
141
if (! valid) begin
136
142
out <= data;
137
- valid <= 1 ;
143
+ data_ready <= 1 ;
138
144
end else begin
139
145
overrun <= 1 ;
140
146
end
You can’t perform that action at this time.
0 commit comments