Combinatorische versus sequentiële logica: hoe de uitgang wordt bepaald vergeleken
In een combinatorische schakeling wordt de uitgang alleen bepaald door de huidige ingangen, dus dezelfde ingangen geven altijd dezelfde uitgang. In een sequentiële schakeling hangt de uitgang ook af van de opgeslagen toestand, dus van de geschiedenis van eerdere ingangen. Sequentiële schakelingen hebben geheugenelementen zoals flip-flops en worden meestal door een klok aangestuurd. Echte digitale systemen wisselen beide af: combinatorische logica rekent tussen registers die de toestand vasthouden.
| Kenmerk | Combinatorische logica | Sequentiële logica |
|---|---|---|
| Waarvan de uitgang afhangt | Alleen van de huidige ingangen | Van de huidige ingangen en de opgeslagen toestand (geschiedenis) |
| Geheugenelementen | Geen | Flip-flops en latches |
| Klok | Niet nodig | Meestal klokgestuurd (synchroon ontwerp) |
| Terugkoppeling | Geen. Een terugkoppellus is een ontwerpfout | Er is terugkoppeling via toestandselementen |
| Voorbeelden | Opteller, multiplexer, decoder, encoder, comparator | Register, teller, schuifregister, toestandsmachine |
| Aandachtspunten voor timing | Propagatievertraging en glitches (hazards) terwijl ingangen veranderen | Setup- en holdtijd, klokperiode, clock skew |
| Ontwerphulpmiddelen | Waarheidstabellen, booleaanse algebra, Karnaugh-kaarten | Toestandsovergangstabellen en toestandsdiagrammen |
| In Verilog | Continue toekenningen, of een always-blok dat in alle takken alle uitgangen instelt | Een always-blok dat op de klokflank draait |
De getalswaarden zijn typische ordegroottes en variëren per procesgeneratie en product.