Skip to content

Commit 9c5fa28

Browse files
author
Andrea Belano
committed
[ctrl] Clear the accelerator when the last operation is done
1 parent eeb013e commit 9c5fa28

File tree

2 files changed

+26
-26
lines changed

2 files changed

+26
-26
lines changed

rtl/redmule_ctrl.sv

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,6 @@ module redmule_ctrl
154154
/* Other combinational assigmnets */
155155
/*---------------------------------------------------------------------------------------------*/
156156
assign evt_o = flgs_streamer_i.z_stream_sink_flags.done;
157-
assign clear_o = latch_clear;
157+
assign clear_o = latch_clear || current == REDMULE_FINISHED;
158158

159159
endmodule : redmule_ctrl

rtl/redmule_top.sv

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ redmule_streamer #(
176176
.test_mode_i ( test_mode_i ),
177177
// Controller generated signals
178178
.enable_i ( 1'b1 ),
179-
.clear_i ( clear ),
179+
.clear_i ( '0 ),
180180
// Source interfaces for the incoming streams
181181
.x_stream_o ( x_stream_str ),
182182
.w_stream_o ( w_stream_str ),
@@ -489,7 +489,7 @@ redmule_memory_scheduler #(
489489
) i_memory_scheduler (
490490
.clk_i ( clk_acc ),
491491
.rst_ni ( rst_ni ),
492-
.clear_i ( clear ),
492+
.clear_i ( '0 ),
493493
.z_priority_i ( z_priority ),
494494
.config_i ( redmule_config ),
495495
.config_valid_i ( cfg_complete ),
@@ -612,29 +612,29 @@ redmule_scheduler #(
612612
.Width ( Width ),
613613
.NumPipeRegs ( NumPipeRegs )
614614
) i_scheduler (
615-
.clk_i ( clk_acc ),
616-
.rst_ni ( rst_ni ),
617-
.test_mode_i ( test_mode_i ),
618-
.clear_i ( clear ),
619-
.x_valid_i ( x_buffer_fifo.valid ),
620-
.w_valid_i ( w_buffer_fifo.valid ),
621-
.y_valid_i ( y_buffer_fifo.valid ),
622-
.z_ready_i ( z_buffer_q.ready ),
623-
.engine_flush_i ( engine_flush ),
624-
.config_i ( redmule_config ),
625-
.config_valid_i ( cfg_complete ),
626-
.flgs_streamer_i ( flgs_streamer ),
627-
.flgs_x_buffer_i ( x_buffer_flgs ),
628-
.flgs_w_buffer_i ( w_buffer_flgs ),
629-
.flgs_z_buffer_i ( z_buffer_flgs ),
630-
.flgs_engine_i ( flgs_engine ),
631-
.cntrl_scheduler_i ( cntrl_scheduler ),
632-
.reg_enable_o ( reg_enable ),
633-
.cntrl_engine_o ( cntrl_engine ),
634-
.cntrl_x_buffer_o ( x_buffer_ctrl ),
635-
.cntrl_w_buffer_o ( w_buffer_ctrl ),
636-
.cntrl_z_buffer_o ( z_buffer_ctrl ),
637-
.flgs_scheduler_o ( flgs_scheduler )
615+
.clk_i ( clk_acc ),
616+
.rst_ni ( rst_ni ),
617+
.test_mode_i ( test_mode_i ),
618+
.clear_i ( '0 ),
619+
.x_valid_i ( x_buffer_fifo.valid ),
620+
.w_valid_i ( w_buffer_fifo.valid ),
621+
.y_valid_i ( y_buffer_fifo.valid ),
622+
.z_ready_i ( z_buffer_q.ready ),
623+
.engine_flush_i ( engine_flush ),
624+
.config_i ( redmule_config ),
625+
.config_valid_i ( cfg_complete ),
626+
.flgs_streamer_i ( flgs_streamer ),
627+
.flgs_x_buffer_i ( x_buffer_flgs ),
628+
.flgs_w_buffer_i ( w_buffer_flgs ),
629+
.flgs_z_buffer_i ( z_buffer_flgs ),
630+
.flgs_engine_i ( flgs_engine ),
631+
.cntrl_scheduler_i ( cntrl_scheduler ),
632+
.reg_enable_o ( reg_enable ),
633+
.cntrl_engine_o ( cntrl_engine ),
634+
.cntrl_x_buffer_o ( x_buffer_ctrl ),
635+
.cntrl_w_buffer_o ( w_buffer_ctrl ),
636+
.cntrl_z_buffer_o ( z_buffer_ctrl ),
637+
.flgs_scheduler_o ( flgs_scheduler )
638638
);
639639

640640
endmodule : redmule_top

0 commit comments

Comments
 (0)