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.

KenmerkCombinatorische logicaSequentiële logica
Waarvan de uitgang afhangtAlleen van de huidige ingangenVan de huidige ingangen en de opgeslagen toestand (geschiedenis)
GeheugenelementenGeenFlip-flops en latches
KlokNiet nodigMeestal klokgestuurd (synchroon ontwerp)
TerugkoppelingGeen. Een terugkoppellus is een ontwerpfoutEr is terugkoppeling via toestandselementen
VoorbeeldenOpteller, multiplexer, decoder, encoder, comparatorRegister, teller, schuifregister, toestandsmachine
Aandachtspunten voor timingPropagatievertraging en glitches (hazards) terwijl ingangen veranderenSetup- en holdtijd, klokperiode, clock skew
OntwerphulpmiddelenWaarheidstabellen, booleaanse algebra, Karnaugh-kaartenToestandsovergangstabellen en toestandsdiagrammen
In VerilogContinue toekenningen, of een always-blok dat in alle takken alle uitgangen insteltEen always-blok dat op de klokflank draait

De getalswaarden zijn typische ordegroottes en variëren per procesgeneratie en product.

Wanneer welke variant?

Combinatorische logica
Voor berekeningen en decodering die alleen van de huidige waarden mogen afhangen, zoals rekenen of selecteren.
Sequentiële logica
Voor alles wat iets moet onthouden. Tellers, registers, besturingslogica, schakelingen die een reeks stappen volgen.
HDL-tip
In een always-blok voor combinatorische logica moet in alle takken aan alle uitgangen een waarde worden toegekend. Anders leidt de synthese onbedoelde latches af.

Veelgestelde vragen

Is een flip-flop combinatorisch of sequentieel?

Sequentieel. Hij slaat één bit op, dus de uitgang hangt niet alleen van de ingang af maar ook van de opgeslagen toestand.

Is een opteller combinatorisch of sequentieel?

Combinatorisch. De uitgang hangt alleen van de huidige ingangen af. Een teller daarentegen is sequentieel.

Kan een schakeling beide zijn?

Ja. Echte digitale systemen plaatsen combinatorische logica tussen registers, dus het systeem als geheel is sequentieel en bestaat uit combinatorische blokken.

Waarom is een terugkoppellus in combinatorische logica een probleem?

Combinatorische logica mag geen lussen hebben. Bij een lus hangt de uitgang van zichzelf af en kan de schakeling oscilleren of onbedoeld een toestand vasthouden.

Test uw begrip

Welke omschrijving van een sequentieel circuit is juist?

  1. ADe uitgang wordt bepaald door de huidige ingang en de opgeslagen interne toestand
  2. BDe uitgang wordt alleen bepaald door de huidige ingang
  3. CHet verwerkt alleen analoge signalen
Antwoord en toelichting tonen

Antwoord: A. De uitgang wordt bepaald door de huidige ingang en de opgeslagen interne toestand

Een sequentieel circuit heeft geheugenelementen zoals flip-flops, en de uitgang hangt niet alleen van de huidige ingang af maar ook van de geschiedenis van eerdere ingangen (interne toestand). Tellers, registers en toestandsmachines zijn typische voorbeelden, en bijvoorbeeld het bijhouden van het ingeworpen bedrag in een automaat kan ermee worden gemodelleerd. Een circuit waarvan de uitgang alleen door de huidige ingang wordt bepaald, is een combinatorisch circuit (opteller, decoder enzovoort); echte digitale circuits zijn structuren waarin deze twee via de klok worden afgewisseld.

Hoe heet de ongewenste puls die in een combinatorisch circuit kortstondig op de uitgang verschijnt door verschillen in vertraging tussen paden wanneer een ingang verandert?

  1. AMetastabiliteit
  2. BGlitch (hazard)
  3. CLatch-up
Antwoord en toelichting tonen

Antwoord: B. Glitch (hazard)

Wanneer dezelfde ingangsverandering via verschillende paden de uitgang bereikt, kan de uitgang door het verschil in vertraging kortstondig een onjuiste waarde hebben; dit heet een glitch (hazard). In synchrone circuits is dit functioneel geen probleem als het vóór de klokflank tot rust komt, maar door extra laden en ontladen neemt het vermogensverbruik toe. Glitches op de klok, een asynchrone reset of een stuursignaal naar een andere chip veroorzaken echter storingen, dus voor deze signalen geldt de vaste regel ze rechtstreeks uit de uitgang van een flip-flop te halen.

Welk type toestandsmachine (sequentieel circuit) heeft een uitgang die alleen door de huidige toestand wordt bepaald?

  1. AMealy-type
  2. BMoore-type
  3. CHarvard-type
Antwoord en toelichting tonen

Antwoord: B. Moore-type

Bij het Moore-type wordt de uitgang alleen door de huidige toestand bepaald, bij het Mealy-type door zowel toestand als ingang. Moore is stabiel met weinig glitches omdat de uitgang rechtstreeks uit het toestandsregister komt en de timing gemakkelijk te voorspellen is, maar de reactie op de ingang is één klok vertraagd en het aantal toestanden neemt vaak toe. Mealy kan het aantal toestanden verminderen en reageert direct op de ingang, maar veranderingen van de ingang werken rechtstreeks door naar de uitgang. In echte ontwerpen worden beide gecombineerd.

  1. Welk voordeel van een synchroon circuit, waarin alle flip-flops met een gemeenschappelijke klok werken, is juist?
  2. Dit is zoals hierboven geschreven als een combinatorische schakeling bedoeld. Welk mogelijk probleem is juist?
  3. Welke schrijfwijze wordt veel gebruikt om onbedoelde latches in een always-blok van een combinatorische schakeling te voorkomen?

Oefenvragen over Logische schakelingen

Belangrijke termen uitgelegd

Combinatorische schakeling
Logische schakeling waarvan de uitgang alleen van de huidige ingangen afhangt. Voorbeelden zijn opteller, multiplexer en decoder.
Sequentiële schakeling
Logische schakeling die een toestand onthoudt, bijvoorbeeld met flipflops, en waarvan de uitgang zowel door de ingang als door de eerdere toestand wordt bepaald. Voorbeelden: tellers en registers.
Flipflop
Basiselement van een sequentiële schakeling dat 1 bit informatie opslaat. Een D-flipflop neemt de ingang over op de flank van de klok.

Verwante vergelijkingen