Difficulty: Easy
Correct Answer: Incorrect
Explanation:
Introduction / Context:
In hardware description languages (HDLs) such as VHDL or Verilog, monostable (one-shot) behavior is frequently required to stretch pulses or generate fixed-duration events. A standard digital method uses a counter or timer register to hold an output high for a specified number of clock cycles after a trigger.
Given Data / Assumptions:
Concept / Approach:
The HDL one-shot approach: upon detecting a trigger edge, load a counter with a preset value N (or start incrementing from 0) and assert an output. On each clock, decrement (or increment) the counter; when the terminal count is reached, deassert the output. This exactly realizes a monostable with pulse width = N * Tclk.
Step-by-Step Solution:
Detect trigger edge using a two-flip-flop synchronizer and XOR or a rising-edge detector.Start a counter/timer and assert pulse_out = 1.Update the counter each clock; maintain pulse_out = 1 while count > 0.When count reaches 0, set pulse_out = 0 to end the one-shot.
Verification / Alternative check:
Simulation waveforms show a fixed-width pulse irrespective of trigger pulse width (subject to retrigger rules you implement). Synthesis on FPGA/CPLD is straightforward and standard practice.
Why Other Options Are Wrong:
“Correct” contradicts prevalent digital design methods. The other distractors about analog monostables or FSM types are irrelevant to the basic counter-based technique.
Common Pitfalls:
Not synchronizing asynchronous triggers; choosing pulse width that violates downstream timing; ignoring re-trigger behavior (one-shot vs. retriggerable).
Final Answer:
Incorrect
Discussion & Comments