diff --git a/docs/library/spi_engine/instruction-format.rst b/docs/library/spi_engine/instruction-format.rst index 126b811e29..688d21457f 100644 --- a/docs/library/spi_engine/instruction-format.rst +++ b/docs/library/spi_engine/instruction-format.rst @@ -171,7 +171,7 @@ is the minimum, needed by the internal logic. .. math:: - sleep\_time = \frac{2+(t) * ((div + 1) * 2)}{f_{clk}} + sleep\_time = \frac{2+(t+1) * ((div + 1) * 2)}{f_{clk}} .. list-table:: :widths: 10 15 75 @@ -182,7 +182,7 @@ is the minimum, needed by the internal logic. - Description * - t - Time - - The amount of time to wait. + - The amount of prescaler cycles to wait, minus one. .. _spi_engine cs-invert-mask-instruction: diff --git a/library/spi_engine/spi_engine_execution/spi_engine_execution.v b/library/spi_engine/spi_engine_execution/spi_engine_execution.v index 0cf2f4f1f7..e759da3ea4 100644 --- a/library/spi_engine/spi_engine_execution/spi_engine_execution.v +++ b/library/spi_engine/spi_engine_execution/spi_engine_execution.v @@ -251,7 +251,7 @@ module spi_engine_execution #( assign trigger_tx = trigger == 1'b1 && ntx_rx == 1'b0; assign trigger_rx = trigger == 1'b1 && ntx_rx == 1'b1; - assign sleep_counter_compare = sleep_counter == cmd_d1[7:0]; + assign sleep_counter_compare = sleep_counter == cmd_d1[7:0]+1; assign cs_sleep_counter_compare = cs_sleep_counter == cmd_d1[9:8]; assign cs_sleep_early_exit = (cmd_d1[9:8] == 2'b00);