Du kan bruke den ikke-blokkerende prosedyreerklæringen når du ønsker å gjøre flere registeroppdrag innen samme tidstrinn uten hensyn til rekkefølge eller avhengighet av hverandre. Det betyr at ikke-blokkerende utsagn ligner faktisk maskinvare mer enn blokkeringsoppdrag.
Hvorfor bruker vi ikke-blokkering i blokk?
Blokkerende (=) og ikke-blokkerende (<=) oppdrag er gitt for å kontrollere utførelsesordren innenfor en alltid blokkert-utførelse av setninger. Ikke-blokkerende oppdrag blokkerer bokstavelig t alt ikke utførelsen av de neste setningene. Høyresiden av alle utsagn bestemmes først, deretter tilordnes venstresidene sammen.
Når vil du bruke blokkerende kontra ikke-blokkerende tildelinger når du koder sekvensiell logikk?
Guideline 1: Når du modellerer sekvensiell logikk, bruk ikke-blokkerende tilordninger Retningslinje 2: Når du modellerer låser, bruk ikke-blokkerende tilordninger. Det er mange måter å kode kombinasjonslogikk ved å bruke Verilog, men når kombinasjonslogikken er kodet med en alltid blokk, bør blokkeringstilordninger brukes.
Hva er blokkerende og ikke-blokkerende oppdrag?
blokker, med subtilt forskjellig oppførsel. • Blokkeringsoppdrag: evaluering og tildeling skjer umiddelbart. • Ikke-blokkerende oppdrag: alle oppdrag utsatt til alle . høyre sider har blitt evaluert (slutt på simulering.
Hvor brukes blokkerende og ikke-blokkerende Verilog?
Her er en god tommelfingerregel for Verilog: I Verilog, hvis du vil at skal lage sekvensiell logikk, bruk en klokket alltid blokk med ikke-blokkerende tildelinger Hvis du vil lage kombinasjonslogikk, bruk en alltid blokk med blokkeringsoppdrag. Prøv å ikke blande de to i samme alltid blokk.