Care este diferența dintre afișaj, monitor și stroboscop în Verilog?


Răspunsul 1:

Toate cele trei enunțuri menționate în întrebare sunt utilizate pentru a monitoriza valorile variabilelor. De asemenea, au sintaxele similare. Acestea diferă doar în modul în care sunt utilizate și în timpul în care sunt executate.

● afișare $: instrucțiunea $ display este utilizată pentru a afișa valorile imediate ale variabilelor sau semnalelor. Se execută în regiunea activă.

● $ monitor: instrucțiunea $ monitor afișează valoarea unei variabile sau a unui semnal atunci când se schimbă valoarea ei. Se execută în regiunea amânată. Pentru a monitoriza valoarea unei variabile pe toată durata simulării, va trebui să scriem instrucțiunea $ monitor doar o dată în codul nostru. Deoarece instrucțiunea monitorului $ este executată în regiunea amânată, actualizările la semnalul efectuat în regiunile inactive, NBA, reactiv, reactiv și re-NBA vor fi, de asemenea, afișate în plus față de cea a regiunii active, în funcție de care regiunea a actualizat ultima variabilă.

● $ strobe: semnalul $ strobe afișează valoarea unei variabile sau a unui semnal la sfârșitul pasului de timp curent, adică regiunea amânată.

Spre deosebire de $ monitor, $ strobe și $ display trebuie să fie adăugate de câte ori este afișat valoarea semnalului.


Răspunsul 2:

$ afișarea este foarte simplă ca printf în C. Se tipărește atunci când acea bucată de cod este executată. $ monitor este atunci când se tipărește orice variabilă specificată în modificarea RHS. Practic, $ monitorul monitorizează continuu, afișează de fiecare dată când unul dintre parametrii de afișare se schimbă.

$ strobe tipărește valoarea reală la sfârșitul fiecărui pas. $ strobe se execută în regiunea MONITOR / POSTPONE, adică la sfârșitul timpului. Prin urmare, valoarea actualizată este afișată de $ strobe.


Răspunsul 3:

Diferența de bază între afișaj, monitor și stroboscop în Verilog este:

$ display - Afișează tipărirea valorii instantanee, adică atunci când linia de cod ajunge la $ display, ieșirea afișajului este finalizată și tipăriți rezultatul (similar cu comanda printf din C).

$ monitor - monitor afișează valorile dinamice ca modificare în $ monitor i. e tipărește valoarea variabilelor pe toată durata simulării.

$ strobe - Probabil pentru monitor, acesta nu tipărește valorile dinamice ale variabilelor, ci execută rezultatul final la sfârșitul execuției.

https: //www.linkedin.com/in/prab ...


Răspunsul 4:

Afișajul în verilog se execută ori de câte ori atinge controlul programului. În timp ce monitorul este executat atunci când se modifică oricare dintre parametri. Stroboscopul este executat la fiecare pas al ceasului.

Puteți crede că afișajul este echivalent cu instrucțiunea de imprimare în limbajul c. De exemplu, dacă scrieți afișaj sau monitor sau stroboscop în interiorul inițial al unui design verilog. Dacă ecranul ar fi fost scris, vom vedea ceva imprimat pe ecran o singură dată, dacă a fost monitorizat ori de câte ori vreunul dintre parametrii schimbă funcția monitorului. Dacă valoarea parametrului nu se modifică, nu veți putea vedea nici o ieșire tipărită. Funcția strobe imprimă valoarea parametrului pentru fiecare pas.