Hardwarebeschrijvingstalen en verificatie

Welke uitspraak is juist bij vergelijking in een combinatorische schakeling van een lange keten if en else if met een case-beschrijving waarvan de voorwaarden elkaar niet overlappen?

  1. AEen keten van if en else if wordt een schakeling met prioriteit voor eerdere voorwaarden, die gemakkelijk veel trappen heeft en traag is, terwijl case gemakkelijk een parallel kiezende schakeling wordt
  2. BMet beide schrijfwijzen wordt precies dezelfde schakeling gesynthetiseerd
  3. Ccase kan niet worden gesynthetiseerd en alleen if kan dat wel
Antwoord en toelichting tonen

Antwoord: A. Een keten van if en else if wordt een schakeling met prioriteit voor eerdere voorwaarden, die gemakkelijk veel trappen heeft en traag is, terwijl case gemakkelijk een parallel kiezende schakeling wordt

Een keten van if en else if betekent 'als de eerste voorwaarde waar is, die; anders de volgende controleren', dus het wordt een schakeling met rangorde (zoals een prioriteitsencoder), waarbij zoveel multiplexers als er voorwaarden zijn in serie staan en de vertraging gemakkelijk lang wordt. Een case die kiest op elkaar niet overlappende waarden wordt gemakkelijk een parallelle schakeling zoals één grote multiplexer en is sneller. Moderne synthesetools optimaliseren echter vaak beide.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Hardwarebeschrijvingstalen en verificatie

  1. Welke uitspraak over het verschil tussen de gelijkheidsoperatoren '==' en '===' in Verilog is juist?
  2. Welke uitspraak over het belangrijkste verschil tussen een beschrijving in een HDL zoals Verilog en een softwareprogramma in bijvoorbeeld C is juist?
  3. Welke uitspraak over het doel van het gebruik van een module in Verilog is juist?
  4. Welke uitspraak over het verschil tussen het wire-type en het reg-type in Verilog is juist?
  5. Welke uitspraak over de schakeling die door het bovenstaande Verilog-assign-statement wordt voorgesteld, is juist?

Vergelijkingen bij dit onderwerp