Hardwarebeschrijvingstalen en verificatie

Wat voor schakeling ontstaat als de bovenstaande beschrijving, die het aantal enen in de 8-bits d telt, logisch wordt gesynthetiseerd?

always @(*) begin
    count = 0;
    for (i = 0; i < 8; i = i + 1)
        count = count + d[i];
end
  1. AEen sequentiële schakeling die in 8 klokken bit voor bit telt
  2. BEen combinatorische schakeling waarin de lus voor 8 keer is uitgerold en optelschakelingen naast elkaar staan
  3. CEen foutmelding, want een for-lus is niet te synthetiseren
Antwoord en toelichting tonen

Antwoord: B. Een combinatorische schakeling waarin de lus voor 8 keer is uitgerold en optelschakelingen naast elkaar staan

Een for-lus in HDL gebruikt niet zoals in software dezelfde schakeling herhaald, maar wordt door logische synthese uitgerold tot het aantal schakelingen dat overeenkomt met het aantal herhalingen. In dit voorbeeld ontstaat een combinatorische schakeling waarin 8 optelschakelingen naast elkaar staan, en alles wordt binnen één klok berekend. Bij veel herhalingen worden de schakeling groot en de vertraging lang, dus daar moet op worden gelet. Wil men met een kleine schakeling over langere tijd rekenen, dan schrijft men het als toestandsmachine die op de klok werkt.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Hardwarebeschrijvingstalen en verificatie

  1. Welke uitspraak over het soort reset en de werking in de bovenstaande beschrijving is juist?
  2. Welke uitspraak over het verschil tussen synchrone en asynchrone reset is juist?
  3. Waarom wordt in een schakeling met asynchrone reset het loslaten van de reset (verandering van 0 naar 1) met een flipflop van twee trappen op de klok gesynchroniseerd voordat het over de schakelingen wordt verdeeld?
  4. Welke uitspraak over de basisopbouw van een in HDL geschreven toestandsmachine (state machine) is juist?
  5. Wat is de juiste reden waarom in de bovenstaande beschrijving van een toestandsmachine aan het begin van het tweede always-blok 'next = state;' wordt geschreven?

Vergelijkingen bij dit onderwerp