Skip to content

FPGA & HDL — question 1 of 10

Write a real answer. It is graded against the question's rubric, and the mastery movement is computed by the same engine the product uses. Scoring here is deterministic rather than model-written, so this page costs nothing to run and nothing is saved. In a track built from your own posting, the same rubric is graded by the model, which is what produces feedback about your reasoning rather than about coverage.

The block looks like: always @(posedge clk) begin q[0] = d; q[1] = q[0]; q[2] = q[1]; ... q[7] = q[6]; end

You write an always block in Verilog to build an 8-bit shift register using blocking assignments (=) instead of non-blocking assignments (<=) for all the internal stage transfers. In simulation the output looks wrong -- it behaves like a single flip-flop instead of an 8-stage shift register. Explain exactly why this happens and how you'd rewrite it.

How sure are you?

Being confidently wrong costs more mastery than admitting a guess — that is deliberate, and it is how misconceptions get found.

Neither is graded, and nothing here is recorded.