Du kan använda det icke-blockerande procedurmeddelandet när du vill göra flera registertilldelningar inom samma tidssteg utan hänsyn till ordning eller beroende av varandra. Det betyder att icke-blockerande uttalanden liknar faktisk hårdvara mer än blockerande tilldelningar.
Varför använder vi icke-blockering i block?
Blockerande (=) och icke-blockerande (<=) tilldelningar tillhandahålls för att kontrollera exekveringsordern inom en alltid blockerad-satsexekvering. Icke-blockerande tilldelningar blockerar bokstavligen inte exekveringen av nästa satser. Den högra sidan av alla påståenden bestäms först, sedan tilldelas de vänstra sidorna tillsammans.
När skulle du använda blockerande kontra icke-blockerande tilldelningar vid kodning av sekventiell logik?
Riktlinje 1: När du modellerar sekventiell logik, använd icke-blockerande tilldelningar Riktlinje 2: Använd icke-blockerande tilldelningar vid modellering av spärrar. Det finns många sätt att koda kombinationslogik med Verilog, men när kombinationslogiken är kodad med ett alltid-block bör blockeringstilldelningar användas.
Vad är blockerande och icke-blockerande uppdrag?
block, med subtilt olika beteenden. • Blockeringsuppdrag: utvärdering och tilldelning sker omedelbart. • Icke-blockerande tilldelning: alla tilldelningar uppskjutna tills alla . högersidan har utvärderats (slutet på simuleringen.
Var används blockerande och icke-blockerande Verilog?
Här är en bra tumregel för Verilog: I Verilog, om du vill att ska skapa sekventiell logik, använd ett klockat alltid block med icke-blockerande tilldelningar Om du vill skapa kombinationslogik ett alltid block med Blockeringsuppdrag. Försök att inte blanda de två i samma alltid block.