Beste svaret
1.Verilog er en HDL (Hardware Description Language) mens SystemVerilog (SV) er både en HDL og HVL (Hardware Verification Language), så kombinert betegnet som HDVL.
2. Verilog har hovedsakelig to datatyper Reg og Wire som har 4 verdsatt logikk 0,1, x, z mens SV er beriket med et bredt utvalg av datatype som int, shortint, longint, logikk, bit, sanntid, sanntid, reg, chandle, brukerdefinert datatype osv. som begge er en kombinasjon av 4 og 2 verdsatt logikk.
3.Minne og arrays erklæring om Verilog er statisk, mens det i SV er dynamisk betyr at erklæring kan endres i løpet av kompileringstiden.
4. Hele hendelseskøen i Verilog er delt inn i 4 regioner som er aktive , inaktiv, NBA og utsatt region, mens det i tilfelle SV er delt inn i 17 regioner inkludert PLI og introduksjonen av programblokk som har innebygd metode løpefri testbenk og brukt som separasjon mellom n DUT og TB i motsetning til Verilog.
5. Verilog har en enkelt alltid blokk for implementering av kombinasjons- og sekvensiell logikk mens SV bruker alltid\_ff, alltid\_komb, alltid\_lås-konstruksjon for bruk av annen logikk.
6. Full case og parallell case i Verilog erstattes med unik og prioritert uttalelse i SV.
7.FSM-implementering i SV er mye enklere i SV med bruk av enum datatype som har et antall metoder som nummer, første, siste, neste, forrige som hjelper til med feilsøkingsformål i motsetning til å bruke parameteren i Verilog som er hardkodet.
8. SystemVerilog bruker grensesnittkonstruksjon som har brukt for gruppering av alle signalene sammen med klokkeblokk som brukes til synkronisering i motsetning til Verilog der instantiering med DUT blir kjedelig på grunn av et stort antall signaler.
9. Verilog bruker modulnivå testbenk mens SV bruker klassebasert testbenk som er dynamisk.
Svar
SystemVerilog er et supersett og en utvidelse til Verilog språk. For å forstå hvordan den utviklet seg, vil det være greit å forstå historien kort om hvordan den utviklet seg
Verilog språk begynte på 1983 som et proprietært språk for maskinvaremodellering på Gateway Design Automation Inc. Gateway Design Automation ble senere anskaffet av Cadence i 1990 og fortsatte forbedringer. Den ble senere IEEE standard 1364 i 1995 og begynte å bli mer brukt. Det var to store forbedringer av Verilog senere i 2001 og 2005 .
I samme tidsramme økte designkompleksiteten, og forbedringene i Verilog-standarden var primært for RTL-konstruksjoner.
Verifikasjonsmetoder utviklet seg også i samme tidsramme for å håndtere effektiv verifisering av komplekse design. Begrenset tilfeldig bekreftelse med deknings- og påstandsbasert bekreftelse ble stadig mer nyttig.
Siden Verilog-språket ikke hadde støtte for det samme, flere andre bekreftelsesorienterte språk som Vera og Specman ble mye brukt i industrien, da de støttet de fleste konstruksjonene som trengs for verifisering når det gjelder modellering, stimulus, påstander osv. Men disse språkene var begrenset til spesifikke leverandører og ikke noen IEEE-standard.
SystemVerilog var opprinnelig ment som en utvidelse av Verilog 2005 og ble IEEE-standard 1800. Den ble utgitt som en separat dokumentert og består av hundrevis av forbedringer og utvidelser til verilog. I 2009 ble det offisielt et super-sett med Verilog og ble igjen oppdatert i 2012 som IEEE 1800-2012 standard.
Det var 5 store områder der forbedringer ble lagt til i SystemVerilog
1) SVD – System Verilog for Design. Dette inkluderer flere forbedringer av designkonstruksjoner.
2) SVTB – SystemVerilog for testbenker: Dette var det største settet med forbedring i SystemVerilog for støtte all Testbench-modellering og behov for nyere verifiseringsmetoder.
Dette inkluderer på høyt nivå – Objektorientert programmeringsstøtte med Classes, en begrensningsløser med flere muligheter for å skape begrenset tilfeldig stimulus, samtidige prosesser , semaforer, postkasser og mange flere.
3) SVA – System Verilog-påstander: Dette inkluderer flere funksjoner for tidsmessige og samtidige påstander som egenskaper og sekvenser.
4) SVDPI – SV Direct Programming Interface: Dette inkluderer funksjoner for bedre C / C ++ integrering
5) SVAPI – SV Application Programming Interface: Dette inkluderer funksjoner for bedre integrering av APIer for dekning og påstander
For mer informasjon, se IEEE 1800.2012 spesifikasjon – 1800-2012 Standard