Skip to content

Commit 268d0c6

Browse files
committed
Rewrite resets
Signed-off-by: Alex Forencich <[email protected]>
1 parent 073d50d commit 268d0c6

18 files changed

+239
-241
lines changed

rtl/arbiter.v

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -141,16 +141,16 @@ always @* begin
141141
end
142142

143143
always @(posedge clk) begin
144+
grant_reg <= grant_next;
145+
grant_valid_reg <= grant_valid_next;
146+
grant_encoded_reg <= grant_encoded_next;
147+
mask_reg <= mask_next;
148+
144149
if (rst) begin
145150
grant_reg <= 0;
146151
grant_valid_reg <= 0;
147152
grant_encoded_reg <= 0;
148153
mask_reg <= 0;
149-
end else begin
150-
grant_reg <= grant_next;
151-
grant_valid_reg <= grant_valid_next;
152-
grant_encoded_reg <= grant_encoded_next;
153-
mask_reg <= mask_next;
154154
end
155155
end
156156

rtl/axis_adapter.v

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -516,15 +516,9 @@ always @* begin
516516
end
517517

518518
always @(posedge clk) begin
519-
if (rst) begin
520-
m_axis_tvalid_reg <= 1'b0;
521-
m_axis_tready_int_reg <= 1'b0;
522-
temp_m_axis_tvalid_reg <= 1'b0;
523-
end else begin
524-
m_axis_tvalid_reg <= m_axis_tvalid_next;
525-
m_axis_tready_int_reg <= m_axis_tready_int_early;
526-
temp_m_axis_tvalid_reg <= temp_m_axis_tvalid_next;
527-
end
519+
m_axis_tvalid_reg <= m_axis_tvalid_next;
520+
m_axis_tready_int_reg <= m_axis_tready_int_early;
521+
temp_m_axis_tvalid_reg <= temp_m_axis_tvalid_next;
528522

529523
// datapath
530524
if (store_axis_int_to_output) begin
@@ -551,6 +545,12 @@ always @(posedge clk) begin
551545
temp_m_axis_tdest_reg <= m_axis_tdest_int;
552546
temp_m_axis_tuser_reg <= m_axis_tuser_int;
553547
end
548+
549+
if (rst) begin
550+
m_axis_tvalid_reg <= 1'b0;
551+
m_axis_tready_int_reg <= 1'b0;
552+
temp_m_axis_tvalid_reg <= 1'b0;
553+
end
554554
end
555555

556556
endmodule

rtl/axis_arb_mux.v

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -238,15 +238,9 @@ always @* begin
238238
end
239239

240240
always @(posedge clk) begin
241-
if (rst) begin
242-
m_axis_tvalid_reg <= 1'b0;
243-
m_axis_tready_int_reg <= 1'b0;
244-
temp_m_axis_tvalid_reg <= 1'b0;
245-
end else begin
246-
m_axis_tvalid_reg <= m_axis_tvalid_next;
247-
m_axis_tready_int_reg <= m_axis_tready_int_early;
248-
temp_m_axis_tvalid_reg <= temp_m_axis_tvalid_next;
249-
end
241+
m_axis_tvalid_reg <= m_axis_tvalid_next;
242+
m_axis_tready_int_reg <= m_axis_tready_int_early;
243+
temp_m_axis_tvalid_reg <= temp_m_axis_tvalid_next;
250244

251245
// datapath
252246
if (store_axis_int_to_output) begin
@@ -273,6 +267,12 @@ always @(posedge clk) begin
273267
temp_m_axis_tdest_reg <= m_axis_tdest_int;
274268
temp_m_axis_tuser_reg <= m_axis_tuser_int;
275269
end
270+
271+
if (rst) begin
272+
m_axis_tvalid_reg <= 1'b0;
273+
m_axis_tready_int_reg <= 1'b0;
274+
temp_m_axis_tvalid_reg <= 1'b0;
275+
end
276276
end
277277

278278
endmodule

rtl/axis_broadcast.v

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -153,15 +153,9 @@ always @* begin
153153
end
154154

155155
always @(posedge clk) begin
156-
if (rst) begin
157-
s_axis_tready_reg <= 1'b0;
158-
m_axis_tvalid_reg <= {M_COUNT{1'b0}};
159-
temp_m_axis_tvalid_reg <= {M_COUNT{1'b0}};
160-
end else begin
161-
s_axis_tready_reg <= s_axis_tready_early;
162-
m_axis_tvalid_reg <= m_axis_tvalid_next;
163-
temp_m_axis_tvalid_reg <= temp_m_axis_tvalid_next;
164-
end
156+
s_axis_tready_reg <= s_axis_tready_early;
157+
m_axis_tvalid_reg <= m_axis_tvalid_next;
158+
temp_m_axis_tvalid_reg <= temp_m_axis_tvalid_next;
165159

166160
// datapath
167161
if (store_axis_input_to_output) begin
@@ -188,6 +182,12 @@ always @(posedge clk) begin
188182
temp_m_axis_tdest_reg <= s_axis_tdest;
189183
temp_m_axis_tuser_reg <= s_axis_tuser;
190184
end
185+
186+
if (rst) begin
187+
s_axis_tready_reg <= 1'b0;
188+
m_axis_tvalid_reg <= {M_COUNT{1'b0}};
189+
temp_m_axis_tvalid_reg <= {M_COUNT{1'b0}};
190+
end
191191
end
192192

193193
endmodule

rtl/axis_cobs_decode.v

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -230,20 +230,21 @@ always @* begin
230230
end
231231

232232
always @(posedge clk) begin
233+
state_reg <= state_next;
234+
235+
count_reg <= count_next;
236+
suppress_zero_reg <= suppress_zero_next;
237+
238+
temp_tdata_reg <= temp_tdata_next;
239+
temp_tvalid_reg <= temp_tvalid_next;
240+
241+
s_axis_tready_reg <= s_axis_tready_next;
242+
233243
if (rst) begin
234244
state_reg <= STATE_IDLE;
235245
temp_tvalid_reg <= 1'b0;
236246
s_axis_tready_reg <= 1'b0;
237-
end else begin
238-
state_reg <= state_next;
239-
temp_tvalid_reg <= temp_tvalid_next;
240-
s_axis_tready_reg <= s_axis_tready_next;
241247
end
242-
243-
temp_tdata_reg <= temp_tdata_next;
244-
245-
count_reg <= count_next;
246-
suppress_zero_reg <= suppress_zero_next;
247248
end
248249

249250
// output datapath logic
@@ -299,15 +300,9 @@ always @* begin
299300
end
300301

301302
always @(posedge clk) begin
302-
if (rst) begin
303-
m_axis_tvalid_reg <= 1'b0;
304-
m_axis_tready_int_reg <= 1'b0;
305-
temp_m_axis_tvalid_reg <= 1'b0;
306-
end else begin
307-
m_axis_tvalid_reg <= m_axis_tvalid_next;
308-
m_axis_tready_int_reg <= m_axis_tready_int_early;
309-
temp_m_axis_tvalid_reg <= temp_m_axis_tvalid_next;
310-
end
303+
m_axis_tvalid_reg <= m_axis_tvalid_next;
304+
m_axis_tready_int_reg <= m_axis_tready_int_early;
305+
temp_m_axis_tvalid_reg <= temp_m_axis_tvalid_next;
311306

312307
// datapath
313308
if (store_axis_int_to_output) begin
@@ -325,6 +320,12 @@ always @(posedge clk) begin
325320
temp_m_axis_tlast_reg <= m_axis_tlast_int;
326321
temp_m_axis_tuser_reg <= m_axis_tuser_int;
327322
end
323+
324+
if (rst) begin
325+
m_axis_tvalid_reg <= 1'b0;
326+
m_axis_tready_int_reg <= 1'b0;
327+
temp_m_axis_tvalid_reg <= 1'b0;
328+
end
328329
end
329330

330331
endmodule

rtl/axis_cobs_encode.v

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -411,17 +411,17 @@ always @* begin
411411
end
412412

413413
always @(posedge clk) begin
414-
if (rst) begin
415-
input_state_reg <= INPUT_STATE_IDLE;
416-
output_state_reg <= OUTPUT_STATE_IDLE;
417-
end else begin
418-
input_state_reg <= input_state_next;
419-
output_state_reg <= output_state_next;
420-
end
414+
input_state_reg <= input_state_next;
415+
output_state_reg <= output_state_next;
421416

422417
input_count_reg <= input_count_next;
423418
output_count_reg <= output_count_next;
424419
fail_frame_reg <= fail_frame_next;
420+
421+
if (rst) begin
422+
input_state_reg <= INPUT_STATE_IDLE;
423+
output_state_reg <= OUTPUT_STATE_IDLE;
424+
end
425425
end
426426

427427
// output datapath logic
@@ -477,15 +477,9 @@ always @* begin
477477
end
478478

479479
always @(posedge clk) begin
480-
if (rst) begin
481-
m_axis_tvalid_reg <= 1'b0;
482-
m_axis_tready_int_reg <= 1'b0;
483-
temp_m_axis_tvalid_reg <= 1'b0;
484-
end else begin
485-
m_axis_tvalid_reg <= m_axis_tvalid_next;
486-
m_axis_tready_int_reg <= m_axis_tready_int_early;
487-
temp_m_axis_tvalid_reg <= temp_m_axis_tvalid_next;
488-
end
480+
m_axis_tvalid_reg <= m_axis_tvalid_next;
481+
m_axis_tready_int_reg <= m_axis_tready_int_early;
482+
temp_m_axis_tvalid_reg <= temp_m_axis_tvalid_next;
489483

490484
// datapath
491485
if (store_axis_int_to_output) begin
@@ -503,6 +497,12 @@ always @(posedge clk) begin
503497
temp_m_axis_tlast_reg <= m_axis_tlast_int;
504498
temp_m_axis_tuser_reg <= m_axis_tuser_int;
505499
end
500+
501+
if (rst) begin
502+
m_axis_tvalid_reg <= 1'b0;
503+
m_axis_tready_int_reg <= 1'b0;
504+
temp_m_axis_tvalid_reg <= 1'b0;
505+
end
506506
end
507507

508508
endmodule

rtl/axis_crosspoint.v

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -121,33 +121,31 @@ assign m_axis_tuser = USER_ENABLE ? m_axis_tuser_reg : {M_COUNT*USER_WIDTH{1'b0
121121
integer i;
122122

123123
always @(posedge clk) begin
124-
if (rst) begin
125-
s_axis_tvalid_reg <= {S_COUNT{1'b0}};
126-
m_axis_tvalid_reg <= {S_COUNT{1'b0}};
127-
select_reg <= {M_COUNT*CL_S_COUNT{1'b0}};
128-
end else begin
129-
s_axis_tvalid_reg <= s_axis_tvalid;
130-
for (i = 0; i < M_COUNT; i = i + 1) begin
131-
m_axis_tvalid_reg[i] <= s_axis_tvalid_reg[select_reg[i*CL_S_COUNT +: CL_S_COUNT]];
132-
end
133-
select_reg <= select;
134-
end
135-
136124
s_axis_tdata_reg <= s_axis_tdata;
137125
s_axis_tkeep_reg <= s_axis_tkeep;
126+
s_axis_tvalid_reg <= s_axis_tvalid;
138127
s_axis_tlast_reg <= s_axis_tlast;
139128
s_axis_tid_reg <= s_axis_tid;
140129
s_axis_tdest_reg <= s_axis_tdest;
141130
s_axis_tuser_reg <= s_axis_tuser;
142131

132+
select_reg <= select;
133+
143134
for (i = 0; i < M_COUNT; i = i + 1) begin
144135
m_axis_tdata_reg[i*DATA_WIDTH +: DATA_WIDTH] <= s_axis_tdata_reg[select_reg[i*CL_S_COUNT +: CL_S_COUNT]*DATA_WIDTH +: DATA_WIDTH];
145136
m_axis_tkeep_reg[i*KEEP_WIDTH +: KEEP_WIDTH] <= s_axis_tkeep_reg[select_reg[i*CL_S_COUNT +: CL_S_COUNT]*KEEP_WIDTH +: KEEP_WIDTH];
137+
m_axis_tvalid_reg[i] <= s_axis_tvalid_reg[select_reg[i*CL_S_COUNT +: CL_S_COUNT]];
146138
m_axis_tlast_reg[i] <= s_axis_tlast_reg[select_reg[i*CL_S_COUNT +: CL_S_COUNT]];
147139
m_axis_tid_reg[i*ID_WIDTH +: ID_WIDTH] <= s_axis_tid_reg[select_reg[i*CL_S_COUNT +: CL_S_COUNT]*ID_WIDTH +: ID_WIDTH];
148140
m_axis_tdest_reg[i*DEST_WIDTH +: DEST_WIDTH] <= s_axis_tdest_reg[select_reg[i*CL_S_COUNT +: CL_S_COUNT]*DEST_WIDTH +: DEST_WIDTH];
149141
m_axis_tuser_reg[i*USER_WIDTH +: USER_WIDTH] <= s_axis_tuser_reg[select_reg[i*CL_S_COUNT +: CL_S_COUNT]*USER_WIDTH +: USER_WIDTH];
150142
end
143+
144+
if (rst) begin
145+
s_axis_tvalid_reg <= {S_COUNT{1'b0}};
146+
m_axis_tvalid_reg <= {S_COUNT{1'b0}};
147+
select_reg <= {M_COUNT*CL_S_COUNT{1'b0}};
148+
end
151149
end
152150

153151
endmodule

rtl/axis_demux.v

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -184,16 +184,16 @@ always @* begin
184184
end
185185

186186
always @(posedge clk) begin
187+
select_reg <= select_next;
188+
drop_reg <= drop_next;
189+
frame_reg <= frame_next;
190+
s_axis_tready_reg <= s_axis_tready_next;
191+
187192
if (rst) begin
188193
select_reg <= 2'd0;
189194
drop_reg <= 1'b0;
190195
frame_reg <= 1'b0;
191196
s_axis_tready_reg <= 1'b0;
192-
end else begin
193-
select_reg <= select_next;
194-
drop_reg <= drop_next;
195-
frame_reg <= frame_next;
196-
s_axis_tready_reg <= s_axis_tready_next;
197197
end
198198
end
199199

@@ -259,15 +259,9 @@ always @* begin
259259
end
260260

261261
always @(posedge clk) begin
262-
if (rst) begin
263-
m_axis_tvalid_reg <= {M_COUNT{1'b0}};
264-
m_axis_tready_int_reg <= 1'b0;
265-
temp_m_axis_tvalid_reg <= {M_COUNT{1'b0}};
266-
end else begin
267-
m_axis_tvalid_reg <= m_axis_tvalid_next;
268-
m_axis_tready_int_reg <= m_axis_tready_int_early;
269-
temp_m_axis_tvalid_reg <= temp_m_axis_tvalid_next;
270-
end
262+
m_axis_tvalid_reg <= m_axis_tvalid_next;
263+
m_axis_tready_int_reg <= m_axis_tready_int_early;
264+
temp_m_axis_tvalid_reg <= temp_m_axis_tvalid_next;
271265

272266
// datapath
273267
if (store_axis_int_to_output) begin
@@ -294,6 +288,12 @@ always @(posedge clk) begin
294288
temp_m_axis_tdest_reg <= m_axis_tdest_int;
295289
temp_m_axis_tuser_reg <= m_axis_tuser_int;
296290
end
291+
292+
if (rst) begin
293+
m_axis_tvalid_reg <= {M_COUNT{1'b0}};
294+
m_axis_tready_int_reg <= 1'b0;
295+
temp_m_axis_tvalid_reg <= {M_COUNT{1'b0}};
296+
end
297297
end
298298

299299
endmodule

0 commit comments

Comments
 (0)