Login  Register

Re: Confusion about ticks and tocks

Posted by WBahn on Feb 05, 2019; 6:59pm
URL: http://nand2tetris-questions-and-answers-forum.52.s1.nabble.com/Confusion-about-ticks-and-tocks-tp4032821p4032839.html

Yes, in most commercial FF designs, the new value is propagated to the output pretty much as quickly as possible. The minimum clock period generally ensures that the value is stable at the output before the falling edge of the clock, as this helps eliminate sources of errors within the circuit that can cause metastability, among other things.

As for out(t) = in(t-1), that depends on how you interpret it.

Expressions such as this should be understood to be discrete time, not continuous time (which is why 'n' instead of 't' is often used, but that's getting further into the mathematical weeds than the authors wanted to go).

For this text, the best way to understand this is that the value of the output of the FF just before the next clock rising edge is equal to the value of the input of the FF just before the prior clock rising edge.

It does NOT mean that the value of the output is equal to the value that the input had one clock period prior. This is a continuous time statement and it doesn't necessary hold for the majority of the clock period.

In most timing diagrams that are not focused on the fine timing details, but rather the bigger picture, changes are shown as perfectly vertical edges happening exactly at the clock edges. It is understood that the actual changes occur slightly after the clock edge (since they happen because of the clock edge).