Hardwarebeschrijvingstalen en verificatie
Welke uitspraak over de betekenis van 'always @(*)' in Verilog is juist?
- AHet stelt een flipflop voor die bij elke stijgende klokflank wordt uitgevoerd
- BHet wordt één keer aan het begin van de simulatie uitgevoerd
- CHet stelt een combinatorische schakeling voor die wordt uitgevoerd telkens wanneer een van de signalen die in het blok worden gelezen verandert
Antwoord en toelichting tonen
Antwoord: C. Het stelt een combinatorische schakeling voor die wordt uitgevoerd telkens wanneer een van de signalen die in het blok worden gelezen verandert
Wat na always tussen @( ) staat heet de sensitivity list en geeft aan bij welke signaalwijzigingen het blok wordt uitgevoerd. Met '*' worden automatisch alle in het blok gelezen signalen opgenomen, zodat een combinatorische schakeling juist wordt voorgesteld. Handmatig opsommen leidt gemakkelijk tot weglatingen, dus voor combinatorische schakelingen is '@(*)' of always_comb van SystemVerilog het veiligst.
Verder: nog 9 vragen over Hardwarebeschrijvingstalen en verificatie