Hardwarebeschrijvingstalen en verificatie
In de bovenstaande beschrijving waren vlak vóór de stijgende klokflank a=0 en b=1. Wat zijn de waarden van a en b na de stijgende flank?
always @(posedge clk) begin
a <= b;
b <= a;
end
- Aa=1, b=0 (verwisseld)
- Ba=1, b=1
- Ca=0, b=0
Antwoord en toelichting tonen
Antwoord: A. a=1, b=0 (verwisseld)
Bij niet-blokkerende toekenning worden eerst de twee rechterleden (de oude waarde van b, 1, en de oude waarde van a, 0) geëvalueerd, en daarna worden a=1 en b=0 tegelijk geschreven, zodat de waarden worden verwisseld. Als schakeling zijn de uitgangen van twee flipflops kruislings met elkaars ingang verbonden. Bij blokkerende toekenning (=) wordt a in de eerste regel 1, krijgt b in de tweede regel de nieuwe a, 1, en worden beide 1.
Verder: nog 9 vragen over Hardwarebeschrijvingstalen en verificatie