Hi,
I am studying the sequential logic part of Nand2Tetris, especially the construction of a 1-bit register using a
DFF and a
Mux.
My current understanding is that the
DFF stores the previous value, and its output is fed back into one input of the
Mux. The other input of the
Mux is the external in value, and the load signal selects whether the register should keep the old value or load the new value.
What confuses me is the timing of the feedback path. If the
DFF output represents the old value from the previous time step, and this value is connected back to the
Mux input, what happens when the external in is not being loaded? Does the
Mux still work correctly even though the external in is not relevant at that moment?
In other words, when load = 0, is it correct to think that the
Mux simply ignores the external in input and selects the old
DFF output, which is then fed back into the
DFF so the register keeps its previous value?
I am not asking for a full project solution. I just want to understand the timing and feedback behavior conceptually.
Thanks.