Care sunt diferențele dintre verilog și systemverilog?


Cel mai bun răspuns

1. Verilog este un HDL (Hardware Description Language) în timp ce SystemVerilog (SV) este atât HDL, cât și HVL (Limbaj de verificare hardware), așa combinat denumit HDVL.

2. Verilog are în principal 2 tipuri de date Reg și Wire, care sunt 4 valori logice 0,1, x, z în timp ce SV este îmbogățit cu o mare varietate de tip de date cum ar fi int, shortint, longint, logic, bit, real, realtime, reg, chandle, tip de date definite de utilizator, etc, care sunt ambele combinații de 4 și 2 logice evaluate.

3. Memorie și matrice declarația pe Verilog are o natură statică, în timp ce în SV este dinamică, înseamnă că declarația poate fi modificată în timpul compilării.

4. Întreaga coadă de evenimente din Verilog este subdivizată în 4 regiuni active , inactiv, NBA și regiune amânată, în timp ce în cazul SV este împărțit în 17 regiuni, inclusiv PLI și introducerea blocului de programe care are metodă încorporată banc de testare fără cursă și folosit ca separare între toate n DUT și TB spre deosebire de Verilog.

5. Verilog are un singur bloc întotdeauna pentru implementarea logicii combinaționale și secvențiale în timp ce SV utilizează constructul always\_ff, always\_comb, always\_latch pentru utilizarea unei logici diferite.

6. Cazul complet și cazul paralel în Verilog sunt înlocuite cu instrucțiuni unice și prioritare în SV.

7. Implementarea FSM în SV este mult mai ușoară în SV cu utilizarea tipului de date enum care are un număr de metode cum ar fi numărul, prima, ultima, următoarea, anterioară, care ajută la depanarea scopului, spre deosebire de utilizarea parametrului în Verilog care este codat hard.

8. SystemVerilog folosește o construcție de interfață care a fost utilizată pentru gruparea tuturor semnalelor împreună cu blocul de ceas, care este utilizat pentru sincronizare, spre deosebire de Verilog, în care instanțierea cu DUT devine obositoare din cauza numărului mare de semnale. testul la nivel de modul în timp ce SV folosește testul bazat pe clase, care are o natură dinamică.

Răspuns

SystemVerilog este un superset și o extensie la limbajul Verilog . Pentru a înțelege modul în care a evoluat, va fi bine să înțelegem pe scurt istoria modului în care a evoluat

Limbajul Verilog a început în 1983 ca limbă de proprietate pentru modelarea hardware la Gateway Design Automation Inc. Gateway Design Automation a fost achiziționată ulterior de Cadence în 1990 și a continuat îmbunătățirile. Ulterior, a devenit standard IEEE 1364 în 1995 și a început să fie utilizat pe scară mai largă. Au existat două îmbunătățiri majore la Verilog ulterior în 2001 și 2005 .

În același interval de timp, complexitățile de proiectare au crescut și îmbunătățirile din standardul Verilog au fost în primul rând pentru constructele RTL.

Metodologiile de verificare au evoluat, de asemenea, în același interval de timp pentru a face față verificării eficiente a proiectelor complexe. Verificarea aleatorie constrânsă cu verificarea bazată pe acoperire și afirmare devenea tot mai utilă.

Întrucât limbajul Verilog nu a acceptat aceleași, alte câteva limbi orientate spre verificare, cum ar fi Vera și Specman deveneau utilizate pe scară largă în industrie, deoarece cele care susțineau majoritatea constructelor necesare verificării în ceea ce privește modelarea, stimularea, afirmațiile etc. Dar aceste limbaje erau limitate la furnizori specifici și nu la orice standard IEEE.

SystemVerilog a fost inițial conceput ca o extensie la Verilog 2005 și a devenit standardul IEEE 1800. A fost publicat ca document separat și constă din sute de îmbunătățiri și extensii la verilog. În 2009 a devenit oficial un super set de Verilog și a fost din nou actualizat în 2012 ca standard IEEE 1800-2012 .

Au existat 5 majore zone în care au fost adăugate îmbunătățiri în SystemVerilog

1) SVD – Verilog sistem pentru proiectare. Aceasta include mai multe îmbunătățiri pentru proiectarea construcțiilor.

2) SVTB – SystemVerilog for Testbenches: Acesta a fost cel mai mare set de îmbunătățiri în SystemVerilog pentru a suporta toate modelele Testbench și nevoile de metodologii de verificare mai noi.

Aceasta include la un nivel înalt – Suport pentru programare orientată pe obiecte cu clase, un rezolvator de constrângeri cu mai multe capabilități pentru crearea de stimulări aleatorii constrânse, procese concurente , semafoare, cutii poștale și multe altele.

3) SVA – System Verilog Assertions: Aceasta include mai multe caracteristici pentru afirmații temporale și concurente, cum ar fi proprietăți și secvențe.

4) SVDPI – Interfață de programare directă SV: Aceasta include caracteristici pentru o mai bună integrare C / C ++

5) SVAPI – Interfața de programare a aplicației SV: Aceasta include caracteristici pentru o mai bună integrare a API-urilor pentru acoperire și afirmații

Pentru mai multe detalii, consultați IEEE 1800.2012 spec – 1800-2012 Standard

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *