Skip to content

Commit 32c5a33

Browse files
authored
SPI Engine: fix off-by-one sleep time (#1429)
Revert to behavior seen on first SPI Engine commit, expected by sw: sleep t+1 ticks Signed-off-by: Laez Barbosa <laez.barbosa@analog.com>
1 parent 62720a5 commit 32c5a33

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

docs/library/spi_engine/instruction-format.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ is the minimum, needed by the internal logic.
171171

172172
.. math::
173173
174-
sleep\_time = \frac{2+(t) * ((div + 1) * 2)}{f_{clk}}
174+
sleep\_time = \frac{2+(t+1) * ((div + 1) * 2)}{f_{clk}}
175175
176176
.. list-table::
177177
:widths: 10 15 75
@@ -182,7 +182,7 @@ is the minimum, needed by the internal logic.
182182
- Description
183183
* - t
184184
- Time
185-
- The amount of time to wait.
185+
- The amount of prescaler cycles to wait, minus one.
186186

187187
.. _spi_engine cs-invert-mask-instruction:
188188

library/spi_engine/spi_engine_execution/spi_engine_execution.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ module spi_engine_execution #(
251251
assign trigger_tx = trigger == 1'b1 && ntx_rx == 1'b0;
252252
assign trigger_rx = trigger == 1'b1 && ntx_rx == 1'b1;
253253

254-
assign sleep_counter_compare = sleep_counter == cmd_d1[7:0];
254+
assign sleep_counter_compare = sleep_counter == cmd_d1[7:0]+1;
255255
assign cs_sleep_counter_compare = cs_sleep_counter == cmd_d1[9:8];
256256
assign cs_sleep_early_exit = (cmd_d1[9:8] == 2'b00);
257257

0 commit comments

Comments
 (0)