menu_book Course Curriculum (VHDL) expand_more
next-state logic
Learn next-state logic in VHDL through a focused explanation, a dedicated construct-specific example, an engineering boundary, and a mastery check.
next-state logic is an atomic VHDL topic inside FSM & RTL. This lesson focuses on how the next-state logic construct is written, what it changes, and when it is the right tool.
Trace the example line by line. Identify the exact syntax for next-state logic, the input state before it runs, and the resulting value, control flow, database state, hardware behavior, or runtime effect afterward. Neighboring lessons use different constructs rather than renamed copies of this one.
Topic-specific example
process(all) begin next_state<=state; case state is when IDLE=>if start='1' then next_state<=RUN; end if; when RUN=>if done='1' then next_state<=IDLE; end if; when others=>next_state<=IDLE; end case; end process;
For next-state logic, test the boundary that belongs to this exact feature rather than a generic failure case. Check invalid or empty input, NULL/unknown state, numeric limits, transaction or exception behavior, synthesis/runtime constraints, ownership/permission rules, or backtracking/control-flow effects where they apply.