Hardware interview practice
Build a reset-responsive nonblocking driver
Implement a clock-responsive ready/valid driver that uses try_next_item(), immediately idles during reset, waits one clean cycle after reset release, and retries an interrupted item.
Reviewed example
Work through one case
Input
item A is presented but reset asserts before handshake; reset releases; one full clean cycle passes; ready then accepts AExpected output
pins idle throughout reset and release cycle; A is retried unchanged and item_done occurs once after acceptanceReset aborts only the pin-level attempt, while the buffered sequence item remains owned for a post-reset retry.
What to cover
Requirements
- The main loop must keep observing reset even when no sequence is active.
- Reset aborts the pin-level attempt but preserves the buffered item for retry.
- Drive a known idle state throughout reset and for one complete release cycle.
- Complete the sequence item only after its post-reset handshake.
