Qual è la differenza tra Verilog e SystemVerilog
Sommario:
Il differenza principale tra Verilog e SystemVerilog è che Verilog è un linguaggio di descrizione dell'hardware, mentre SystemVerilog è un linguaggio di descrizione e verifica dell'hardware basato su Verilog.
Hardware Description Language (HDL) è un linguaggio informatico utilizzato per descrivere la struttura e il comportamento dei circuiti elettronici. Hardware Verification Language è un linguaggio di programmazione utilizzato per verificare i circuiti elettronici scritti in un Hardware Description Language. Verilog è un HDL mentre SystemVerilog è un HDL e HVL. Nel complesso, SystemVerilog è un superset di Verilog.
HDL, OOP, Verilog, SystemVerilog
Cos'è Verilog?
Verilog è un linguaggio di descrizione dell'hardware. Aiuta anche a verificare circuiti analogici e circuiti a segnale misto ea progettare circuiti genetici. Nel 2009, Verilog è stato combinato con lo standard SystemVerilog. Pertanto, Verilog è attualmente una parte di SystemVerilog.
I principali tipi di dati di Verilog sono Wire e Reg. Il filo indica il filo fisico in un circuito che collega porte o moduli. Reg ha valore da un incarico procedurale all'altro.
Altre parole chiave usate di frequente sono le seguenti.
Input: dichiara la porta di input di un'attività o di un modulo.
Output: dichiara la porta di output di un'attività o di un modulo.
Inout: dichiara la porta bidirezionale di un'attività o di un modulo.
Verilog supporta diversi livelli di astrazione. Il livello di comportamento descrive gli algoritmi concorrenti. Register Transfer Level (RTL) spiega le caratteristiche di un circuito per operazioni e trasferimento di dati tra registri. Inoltre, Gate Level definisce i collegamenti logici e le loro proprietà di temporizzazione.
Cos'è SystemVerilog
SystemVerilog è una descrizione dell'hardware e un linguaggio di verifica dell'hardware basato su Verilog con funzionalità aggiuntive. Aiuta a modellare, progettare, simulare, testare e implementare sistemi elettronici. Inoltre, SystemVerilog è utilizzato principalmente nel settore dei semiconduttori e della progettazione elettronica.
Due tipi di dati specificati in SystemVerilog sono statici e automatici. Il programmatore crea variabili statiche all'inizio dell'esecuzione del programma. E questo valore rimane lo stesso durante l'intera durata del programma. Inoltre, questo valore può cambiare quando gli viene assegnato un nuovo valore durante l'esecuzione. Inoltre, le variabili automatiche vengono create nel momento in cui l'esecuzione del programma entra nell'ambito della variabile.
SystemVerilog è costituito da tre nuovi blocchi procedurali. Questi aiutano a modellare l'hardware. Always_comb aiuta a modellare la logica combinatoria; always_ff è per i flipflop mentre always_latch è per i latch. Un compilatore HDL o un programma di verifica garantisce che si verifichi solo il tipo di comportamento richiesto. Inoltre, SystemVerilog contiene interfacce che aiutano a ridurre la ridondanza delle dichiarazioni dei nomi delle porte tra i moduli collegati.
Un altro uso importante di SystemVerilog è che supporta la programmazione orientata agli oggetti. Queste classi supportano il modello di ereditarietà singola. Tuttavia, un programmatore può implementare più eredità utilizzando le interfacce. Può anche implementare concetti come il polimorfismo simile al C++. Le parole chiave local e protected aiutano a realizzare concetti come l'incapsulamento. Per impostazione predefinita, le proprietà della classe sono pubbliche. Inoltre, SystemVerilog fornisce un Garbage Collector automatico.
Differenza tra Verilog e SystemVerilog
Definizione
Verilog è un Hardware Description Language (HDL) che aiuta a modellare i sistemi elettronici. Al contrario, SystemVerilog è una descrizione hardware e un linguaggio di verifica hardware utilizzato per modellare, progettare, simulare, testare e implementare sistemi elettronici. Quindi, questa è la principale differenza tra Verilog e SystemVerilog.
Paradigma
Inoltre, un'altra importante differenza tra Verilog e SystemVerilog è che Verilog supporta paradigmi strutturati mentre SystemVerilog supporta paradigmi strutturati e orientati agli oggetti.
IEEE
Verilog è standardizzato come IEEE 1364 mentre SystemVerilog è standardizzato come IEEE 1800.
Estensione del file
Influenzato da
Inoltre, un'altra differenza tra Verilog e SystemVerilog è che il primo è influenzato da C e Fortran mentre il secondo è influenzato da Verilog, VHDL e C++.
Tipi di dati
Verilog supporta i tipi di dati Wire e Reg mentre SystemVerilog supporta vari tipi di dati come enum, struct, union, class e string. Quindi, questa è anche una differenza tra Verilog e SystemVerilog.
Blocchi procedurali
Inoltre, Verilog ha un singolo blocco always per implementare la logica combinatoria e sequenziale mentre SystemVerilog ha blocchi procedurali always_comb, always_ff e always_latch.
Costruzione
Mentre Verilog si basa su una gerarchia di moduli, SystemVerilog si basa su classi.
Banco di prova
Inoltre, Verilog utilizza testbench a livello di modulo mentre SystemVerilog utilizza testbench basato su classi.
Conclusione
La principale differenza tra Verilog e SystemVerilog è che Verilog è un linguaggio di descrizione dell'hardware, mentre SystemVerilog è un linguaggio di descrizione dell'hardware e di verifica dell'hardware basato su Verilog. In breve, SystemVerilog è una versione migliorata di Verilog con funzionalità aggiuntive.
Riferimenti:
1. "Verilog." Wikipedia, Wikimedia Foundation, 3 aprile 2019, disponibile qui.2. "SystemVerilog". Wikipedia, Wikimedia Foundation, 10 maggio 2019, disponibile qui.3.Tala, Deepak Kumar. Introduzione, 1 febbraio 1970, disponibile qui.
Cortesia dell'immagine:
1. "La finestra GTKWave" di Screenshot realizzato da ReAl. – Schermata di software libero (dominio pubblico) tramite Commons Wikimedia
![Qual è la differenza tra Verilog e SystemVerilog Qual è la differenza tra Verilog e SystemVerilog](https://img.books-kingdom.com/images/002/image-5723.jpg)