Hardware interview practice
Recognize and repair a combinational loop
RTL contains `assign a = ~b; assign b = a;` with no storage element or intentional oscillator primitive. What is the correct engineering response?
Choose one
Answer choices
- A. Keep the loop and add a false-path constraint; a timing exception makes its functional value deterministic.
- B. Add a second continuous assignment driver to a; multiple drivers guarantee that the loop settles.
- C. Synthesis always resolves the equations to a stable Boolean constant, so no review is needed.
- D. Treat it as an unintended combinational loop that can fail to converge or oscillate; correct the equations or insert architecturally intended registered state.
