FPGA · Medium · SystemVerilog

SPI Transfer Bit Counter

Track how many sample edges have occurred in a configurable transfer.

Task

Load bit_count=0 on start. Increment on sample_edge. Pulse done when the final bit index WORD_BITS-1 is sampled.

Examples

Constraints

What this problem is testing

FPGA problems test whether logically correct RTL will behave predictably in hardware, including clock-domain boundaries, reset release, noisy inputs, inferred resources, and timing.

Interview habit: before coding, state reset behavior, the state that must be stored, and the conditions that update each output.

Verification plan

Edge cases worth testing

Common mistakes

Interview follow-up questions

Concepts to review

SPI, counter, word length

Open SPI Transfer Bit Counter in the HDLForge interactive editor.

Related problems

Explore the FPGA Design Practice & Interview Preparation hub.

Continue practising