[Cryptech-Commits] [core/math/modexpng] 52/92: Removed the latch accidentally created while pipelining the uOP engine module. The FSM previously had four states encoded using two bits, so the next state logic didn't have a default case, since all the possible states were used. Addition of the fifth state required one more state bit, so the FSM now has five states out eight possible and a default case is thus necessary.

git at cryptech.is git at cryptech.is
Sat Mar 14 18:19:31 UTC 2020


This is an automated email from the git hooks/post-receive script.

paul at psgd.org pushed a commit to branch master
in repository core/math/modexpng.

commit 189dfd62e2385aa2f36c6283628b8d9285c49647
Author: Pavel V. Shatov (Meister) <meisterpaul1 at yandex.ru>
AuthorDate: Tue Nov 19 13:05:02 2019 +0300

    Removed the latch accidentally created while pipelining the uOP engine module.
    The FSM previously had four states encoded using two bits, so the next state
    logic didn't have a default case, since all the possible states were used.
    Addition of the fifth state required one more state bit, so the FSM now has
    five states out eight possible and a default case is thus necessary.
---
 rtl/modexpng_uop_engine.v | 1 +
 1 file changed, 1 insertion(+)

diff --git a/rtl/modexpng_uop_engine.v b/rtl/modexpng_uop_engine.v
index 1119fbd..2046db7 100644
--- a/rtl/modexpng_uop_engine.v
+++ b/rtl/modexpng_uop_engine.v
@@ -678,6 +678,7 @@ module modexpng_uop_engine
             UOP_FSM_STATE_DECODE_1: uop_fsm_state_next =                      UOP_FSM_STATE_DECODE_2 ;
             UOP_FSM_STATE_DECODE_2: uop_fsm_state_next = uop_opcode_is_stop ? UOP_FSM_STATE_IDLE     : UOP_FSM_STATE_BUSY;
             UOP_FSM_STATE_BUSY:     uop_fsm_state_next = uop_exit_from_busy ? UOP_FSM_STATE_FETCH    : UOP_FSM_STATE_BUSY;
+            default:                uop_fsm_state_next =                      UOP_FSM_STATE_IDLE     ;
         endcase
         //
     end



More information about the Commits mailing list