logo

Tutorial Verilog

Verilog è un linguaggio di descrizione hardware (HDL). È un linguaggio utilizzato per descrivere un sistema digitale come uno switch di rete, un microprocessore, una memoria o un flip-flop. Possiamo descrivere qualsiasi hardware digitale utilizzando HDL a qualsiasi livello. I progetti descritti in HDL sono indipendenti dalla tecnologia, molto facili da progettare e da eseguire il debug e sono normalmente più utili degli schemi, in particolare per i circuiti di grandi dimensioni.

Cos'è Verilog?

Verilog è un LINGUAGGIO DI DESCRIZIONE DELL'HARDWARE (HDL), utilizzato per descrivere un sistema digitale come uno switch di rete o un microprocessore o una memoria un flip-flop.

Tutorial Verilog

Verilog è stato sviluppato per semplificare il processo e rendere l'HDL più robusto e flessibile. Oggi, Verilog è l'HDL più popolare utilizzato e praticato nell'industria dei semiconduttori.

HDL è stato sviluppato per migliorare il processo di progettazione consentendo agli ingegneri di descrivere la funzionalità dell'hardware desiderato e lasciare che gli strumenti di automazione convertano tale comportamento in elementi hardware reali come porte combinatorie e logica sequenziale.

Verilog è come qualsiasi altro linguaggio di descrizione dell'hardware. Consente ai progettisti di progettare i progetti con la metodologia Bottom-up o Top-down.

    Progettazione dal basso verso l'alto:Il metodo tradizionale di progettazione elettronica è dal basso verso l’alto. Ogni progetto viene eseguito a livello di gate utilizzando i gate standard. Questo design offre un modo per progettare nuovi metodi di progettazione strutturale e gerarchica.Progettazione dall'alto verso il basso:Consente test anticipati, facile modifica di diverse tecnologie e progettazione di sistemi strutturati e offre molti altri vantaggi.

Livelli di astrazione Verilog

Verilog supporta una progettazione a molti livelli di astrazione, come ad esempio:

  • Livello comportamentale
  • Livello di trasferimento del registro
  • Livello del cancello

Livello comportamentale

Il livello comportamentale descrive un sistema mediante algoritmi comportamentali concorrenti. Ogni algoritmo è sequenziale, il che significa che consiste in una serie di istruzioni eseguite una per una. Funzioni, compiti e blocchi sono gli elementi principali. Non vi è alcun riguardo per la realizzazione strutturale del progetto.

Livello di trasferimento del registro

I progetti che utilizzano il livello di trasferimento dei registri specificano le caratteristiche di un circuito utilizzando le operazioni e il trasferimento di dati tra i registri.

La definizione moderna di codice RTL è 'Qualsiasi codice sintetizzabile è chiamato codice RTL'.

Livello del cancello

Le caratteristiche di un sistema sono descritte da collegamenti logici e dalle loro proprietà temporali all'interno del livello logico. Tutti i segnali sono segnali discreti. Possono avere solo valori logici definiti (`0', `1', `X', `Z`).

Le operazioni utilizzabili sono primitive logiche predefinite (porte di base). La modellazione a livello di gate potrebbe non essere l'idea giusta per la progettazione logica. Il codice a livello di gate viene generato utilizzando strumenti come strumenti di sintesi e la sua netlist viene utilizzata per la simulazione e il backend a livello di gate.

Storia di Verilog

  • La storia di Verilog HDL risale agli anni '80, quando una società chiamata Gateway Design Automation sviluppò un simulatore logico, Verilog-XL, e un linguaggio di descrizione dell'hardware.
  • Cadence Design Systems ha acquisito Gateway nel 1989 e con essa i diritti sul linguaggio e sul simulatore. Nel 1990, Cadence rese la lingua di dominio pubblico, con l'intenzione che diventasse una lingua standard e non proprietaria.
  • Verilog HDL è ora gestito da un'organizzazione senza scopo di lucro, Accellera, nata dalla fusione di Open Verilog International (OVI) e VHDL International. L'OVI ha avuto il compito di portare il linguaggio attraverso la procedura di standardizzazione IEEE.
  • Nel dicembre 1995, Verilog HDL divenne IEEE Std. 1364-1995. Una versione notevolmente rivista è stata pubblicata nel 2001: IEEE Std. 1364-2001. C'è stata un'ulteriore revisione nel 2005, ma ha aggiunto solo alcune piccole modifiche.
  • Accellera ha inoltre sviluppato un nuovo standard, SystemVerilog, che estende Verilog.
  • SystemVerilog è diventato uno standard IEEE (1800-2005) nel 2005.

In che modo Verilog è utile?

Verilog crea un livello di astrazione che aiuta a nascondere i dettagli della sua implementazione e tecnologia.

Ad esempio, un progetto di flip-flop D richiederebbe la conoscenza di come devono essere disposti i transistor per ottenere un FF attivato dal fronte positivo e quali sono i tempi di salita, discesa e CLK-Q necessari per fissare il valore su un flop tra molti altri dettagli orientati alla tecnologia.

Anche la dissipazione di potenza, i tempi e la capacità di pilotare net e altri flop richiederebbero una comprensione più approfondita delle caratteristiche fisiche di un transistor.

Verilog ci aiuta a concentrarci sul comportamento e a lasciare che il resto venga risolto in seguito.

Prerequisiti

Prima di imparare Verilog, dovresti avere una conoscenza di base del linguaggio di progettazione VLSI.

  • Dovresti sapere come funzionano i diagrammi logici, l'algebra booleana, le porte logiche, i circuiti combinatori e sequenziali, gli operatori, ecc.
  • Dovresti conoscere i concetti di analisi temporale statica come tempo di installazione, tempo di attesa, percorso critico, limiti sulla frequenza di clock, ecc.
  • Nozioni di base su ASIC e FPGA e concetti di sintesi e simulazione.

Pubblico

Il nostro tutorial su Verilog è progettato per aiutare i principianti, gli ingegneri di progettazione e gli ingegneri di verifica che desiderano imparare come modellare i sistemi digitali nell'HDL di Verilog per consentire la sintesi automatica. Alla fine di questo tutorial, avrai acquisito un livello intermedio di esperienza in Verilog.

Problema

Ti assicuriamo che non troverai alcun problema con il Tutorial Verilog. Ma se c'è qualche errore, posta la domanda nel modulo di contatto.