Qual è la differenza tra Verilog e SystemVerilog

Sommario:

Anonim

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