I have started learning about sequential logic after finishing combinational logic. I learnt that clocking/synchronizing is very important in sequential logic design. Why is that so? Why could I build MUXes, adders, ALUs without worrying about clocks/synchronizing?

  • \$\begingroup\$ You need to expand on how you think combinatorial logic is used so we undersatnd what you know - but really finish reading this chapter first, I think. \$\endgroup\$ – Sean Houlihane Oct 17 '16 at 8:06
  • \$\begingroup\$ My understanding is that combinational logics are ones that doesn't depends on previous values (history). \$\endgroup\$ – krismath Oct 17 '16 at 8:28
  • \$\begingroup\$ Combinational logic is stateless: the output depends only on the input. Sequential logic includes state elements. Clocking updates the state. \$\endgroup\$ – pjc50 Oct 17 '16 at 8:40
  • \$\begingroup\$ @krismath, these two parts can't exist in isolation. Most circuits which involve combinatorial logic apply different values to the logic, and use the result. Timing is always important, it is the synchronous logic which exposes the need to consider timing. Draw out a real circuit, not just a fragment. \$\endgroup\$ – Sean Houlihane Oct 17 '16 at 8:59
  • 2
    \$\begingroup\$ You might build an ALU now without worrying about synchronising, but it has delay, so if you're going to register the output (as any practical CPU application does), you'll have to worry about the effect of its delay at the register for synchronising then. \$\endgroup\$ – Neil_UK Oct 17 '16 at 8:59

Your Answer

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

Browse other questions tagged or ask your own question.