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?
- 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
- BMet beide schrijfwijzen wordt precies dezelfde schakeling gesynthetiseerd
- 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.
Verder: nog 9 vragen over Hardwarebeschrijvingstalen en verificatie