0
\$\begingroup\$

I know things that happen every time clock ticks. Present state and inputs are delivered to the combinational circuits and it produces the outputs and the next state information and sends the next state to the memory elements. Then memory elements(e.g A SR flip flop) read the S and R signals and lock the Q on a new value based on them. enter image description here The thing that I don't understand is what happens until the next clock? It seems that there's no apparent obstacle/isolation between the next state and the current(present) state in this time interval... Are they equal until the next clock? Of course still everything else make sense to me and this is not contradictory to anything I knew about memory elements and flip flops and etc... , because actually, at every clock-tick moment, information from memory elements are read from one epsilon moment before, and the combinational circuits have a delay too, so for a special moment the present state and the next state are different and are really what their names suggests, but in the middle of two clocks, my defective understanding says they should be equal... .

\$\endgroup\$
1
\$\begingroup\$

In a topology like this, the present state is read from memory and passed through combinational logic to compute a new state. Until the clock ticks, that new state is sitting at the write port of the memory waiting to be written. As soon as the clock ticks, the new state is written to the memory, and for a brief instant the present state and next state are equal. This brief instant is the propagation delay of the memory (time from clock edge to availability on read port) plus the propagation delay of the combinational logic. After this time, the NEW new state is sitting at the output waiting to be written, and the cycle continues.

\$\endgroup\$
5
  • \$\begingroup\$ Wow great answer thanks! Unfortunately nowhere in books such nuances are explained and once again stackexchange, to the rescue :) \$\endgroup\$ – M-J Oct 18 '17 at 7:02
  • \$\begingroup\$ your explanation got me thinking that this is a contrived topology and such a thing doesn't exist at all, because we have only one Q port and thus we also only have one state... right? This topology is only trying to make understanding easier, but in reality combinational circuits produce signals say for example S and R which is used at the next clock to write the next state into the memory, yep?! :) \$\endgroup\$ – M-J Oct 18 '17 at 7:16
  • \$\begingroup\$ Nope! Once you consider a flip-flop or latch that has set and reset signals, it isn't combinational logic anymore - it's sequential logic, since the outputs depend on past inputs. The output of combinational logic depends purely on the current inputs. \$\endgroup\$ – Billy Kalfus Oct 18 '17 at 7:24
  • \$\begingroup\$ Yeah I don't have any problem with combinational logic, sorry if I wasn't clear, I didn't talk about inputs and outputs, I talked about states... I say if there is only one Q, there is also only one state in our whole sequential logic. new inputs are only new information for our memory and flip flops and etc..., to produce a next state. But two states never exist at the same time. That's what I meant to say. \$\endgroup\$ – M-J Oct 18 '17 at 7:29
  • \$\begingroup\$ They sure do - the "current" state, the one stored in Q and passed to the input of the combinational logic, and the "next state" at the output of the logic waiting at the Q write port. \$\endgroup\$ – Billy Kalfus Oct 18 '17 at 7:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.