Difficulty: Easy
Correct Answer: In a registered signal updated inside a clocked process
Explanation:
Introduction / Context:
VHDL can describe both combinational and sequential logic. Remembering a value across time requires state, which in hardware corresponds to storage elements such as flip-flops or latches. The common way to infer such storage in synthesizable VHDL is to update a signal inside a clocked process.
Given Data / Assumptions:
Concept / Approach:
Although variables exist in VHDL, a variable by itself does not create hardware storage unless used within a clocked process in a way that infers a register, and even then the physical storage is ultimately realized by flip-flops on signals. The safe and explicit method is to assign to a signal inside a rising_edge or falling_edge process, which synthesis maps to a register.
Step-by-Step Solution:
Verification / Alternative check:
Examine synthesis reports or technology schematics: a clocked process with a signal assignment produces a D flip-flop. Simulation confirms that the value persists across edges, not just within delta cycles.
Why Other Options Are Wrong:
Common Pitfalls:
Assuming variables inherently create memory; forgetting reset logic for deterministic startup; unintentionally inferring latches by incomplete combinational assignments.
Final Answer:
In a registered signal updated inside a clocked process
Discussion & Comments