The notion of state machine is a fundamental concept in digital design, particularly when using Field Programmable Gate Arrays (FPGAs). However, the typical undergraduate curriculum often explains state transitions in Finite State Machines (FSMs) without adequately addressing the impact of fast clock speeds. This gap in instruction can lead to design issues, especially when consecutive state transitions are expected to occur based on the same input signal. A common pitfall for students is the 'fall-through' phenomenon, where the fast clock causes unintended state advancements because the flip-flop registers the input as active for multiple cycles. This paper aims to enhance the understanding of FSM design among electrical and computer engineering undergraduates by addressing this specific challenge. We present a detailed methodology for designing FSMs that correctly handle consecutive state transitions triggered by a single input signal. The approach includes explanations and implementations using VHDL and Verilog, supported by hardware block diagrams. Our goal is to not only benefit students in grasping this critical aspect of FSM design but also to provide valuable insights for authors of digital design textbooks, ensuring that educational materials better reflect practical considerations in digital systems. © 2024 IEEE.
Author Keywords
Index Keywords