Beste antwoord
1.Verilog is een HDL (Hardware Description Language) terwijl SystemVerilog (SV) zowel een HDL als HVL is (Hardware Verification Language), dus gecombineerd aangeduid als HDVL.
2.Verilog heeft voornamelijk 2 datatypes Reg en Wire die 4 logische logica 0,1, x, z waard zijn, terwijl SV is verrijkt met een grote verscheidenheid aan datatype zoals int, shortint, longint, logic, bit, real, realtime, reg, chandle, door de gebruiker gedefinieerd datatype, enz. die beide een combinatie zijn van 4 en 2 gewaardeerde logica.
3.Memory en arrays declaraties op Verilog zijn statisch van aard, terwijl in het geval van SV het dynamisch van aard is, dat declaratie tijdens het compileren kan worden gewijzigd.
4. De hele gebeurteniswachtrij in Verilog is onderverdeeld in 4 actieve regios , inactief, NBA en uitgestelde regio, terwijl het in het geval van SV is verdeeld in 17 regios inclusief de PLI en de introductie van het programmablok met een ingebouwde methode race-vrije testbank en wordt gebruikt als een scheiding tussen n DUT en TB in tegenstelling tot Verilog.
5.Verilog heeft één enkel blok voor implementatie van combinationele en sequentiële logica, terwijl SV always\_ff, always\_comb, always\_latch construct gebruikt voor het gebruik van andere logica.
6.Volledig en parallel hoofdlettergebruik in Verilog worden vervangen door een uniek en prioriteitsstatement in SV.
7.FSM-implementatie in SV is veel gemakkelijker in SV met het gebruik van het gegevenstype enum dat een aantal methoden zoals nummer, eerste, laatste, volgende, vorige die helpen bij het debuggen, in tegenstelling tot het gebruik van parameter in Verilog die hard gecodeerd is.
8. SystemVerilog gebruikt een interfaceconstructie die is gebruikt voor het bundelen van alle signalen samen met een klokblok dat wordt gebruikt voor synchronisatie, in tegenstelling tot Verilog, waarin instantiatie met de DUT vervelend wordt vanwege een groot aantal signalen.
9.Verilog gebruikt testbank op moduleniveau, terwijl SV Class-based testbench gebruikt die dynamisch van aard is.
Answer
SystemVerilog is een superset en een extensie voor Verilog taal. Om te begrijpen hoe het is geëvolueerd, is het goed om de geschiedenis in het kort te begrijpen over hoe het is geëvolueerd.
Verilog-taal begon in 1983 als een eigen taal voor hardwaremodellering op Gateway Design Automation Inc. Gateway Design Automation werd later in 1990 overgenomen door Cadence en werd verder verbeterd. Het werd later IEEE-standaard 1364 in 1995 en begon op grotere schaal te worden gebruikt. Er waren later twee belangrijke verbeteringen aan Verilog in 2001 en 2005 .
In hetzelfde tijdsbestek namen de ontwerpcomplexiteiten toe en de verbeteringen in de Verilog-standaard waren voornamelijk voor RTL-constructies.
Verificatiemethodologieën zijn in hetzelfde tijdsbestek ook geëvolueerd om een efficiënte verificatie van complexe ontwerpen mogelijk te maken. Beperkte willekeurige verificatie met op dekking en bewering gebaseerde verificatie werd steeds nuttiger.
Aangezien Verilog-taal geen ondersteuning voor hetzelfde had, verschillende andere op verificatie gerichte talen zoals Vera en Specman werden op grote schaal gebruikt in de industrie, aangezien deze de meeste constructen ondersteunden die nodig waren voor verificatie in termen van modellering, stimulus, beweringen enz. Maar deze talen waren beperkt tot specifieke leveranciers en niet tot enige IEEE-standaard.
SystemVerilog was oorspronkelijk bedoeld als een uitbreiding op Verilog 2005 en werd IEEE-standaard 1800. Het werd gepubliceerd als een apart gedocumenteerd en bestaat uit honderden verbeteringen en uitbreidingen op verilog. In 2009 werd het officieel een superset van Verilog en in 2012 werd het opnieuw bijgewerkt als IEEE 1800-2012 -standaard.
Er waren 5 belangrijke gebieden waar verbeteringen zijn toegevoegd in SystemVerilog
1) SVD – System Verilog for Design. Dit omvat verschillende verbeteringen aan ontwerpconstructies.
2) SVTB – SystemVerilog voor testbanken: Dit was de grootste reeks verbeteringen in SystemVerilog voor ondersteuning van alle Testbench-modellering en behoeften aan nieuwere verificatiemethoden.
Dit omvat op een hoog niveau – ondersteuning voor objectgeoriënteerde programmering met klassen, een beperkingoplosser met verschillende mogelijkheden voor het creëren van beperkte willekeurige stimulus, gelijktijdige processen , semaforen, mailboxen en nog veel meer.
3) SVA – System Verilog-beweringen: dit omvat verschillende -functies voor tijdelijke en gelijktijdige beweringen zoals eigenschappen en reeksen.
4) SVDPI – SV Directe programmeerinterface: dit bevat functies voor betere C / C ++ -integratie
5) SVAPI – SV Application Programming Interface: Dit omvat functies voor een betere integratie van APIs voor dekking en beweringen
Voor meer details verwijzen naar de IEEE 1800.2012 spec – 1800-2012 standaard