170
Fondamenti di VHDL

Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Embed Size (px)

Citation preview

Page 1: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Fondamenti di VHDL

Page 2: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Sommario

VHDL: premessa e introduzione

Modellizzazione

Sintassi

Classi di Oggetti

Tipi di Dati e Operatori

Package e Librerie

Processi

Esempi di codice VHDL

VHDL Testbenches

Page 3: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Premessa

Page 4: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Perché c’è bisogno di un HDL?

Page 5: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

VHDL

Page 6: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Il processo di modellizzazione

Page 7: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Struttura di un modello

Page 8: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Struttura di un modello

Page 9: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Design Entity

Page 10: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Entity Declaration

Page 11: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Architecture Body (1/2)

Page 12: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Architecture Body (2/2)

Page 13: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Esempio (1/4) - Specifica concettuale e analisi

Page 14: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Esempio (2/4) – Entity Declaration

Page 15: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Esempio (3/4) – Architecture Body

Page 16: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Esempio (4/4) – Modello VHDL NOR_GATE

Page 17: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Architettura Behavioral

Page 18: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Architettura Dataflow (1/2)

Page 19: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Architettura Dataflow (2/2)

Page 20: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Architettura Strutturale (1/4)

Page 21: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Architettura Strutturale (2/4)

Page 22: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Architettura Strutturale (3/4)

Page 23: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Architettura Strutturale (4/4)

Page 24: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Configurazioni

da ciascuna unità

Page 25: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Progettazione

Page 26: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Simulazione

Page 27: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Sintesi vs. Simulazione

Page 28: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

SINTASSI

Page 29: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Scrittura del codice sorgente (1/2)

Page 30: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Scrittura del codice sorgente (2/2)

Page 31: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Codice Sorgente nor_gate.vhd

Page 32: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Verifica

Page 33: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Esempio di simulazione NOR_GATE

Page 34: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Principi di base del VHDL (1/2)

Page 35: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Principi di base del VHDL (2/2)

Page 36: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Esempio – MUX2

Page 37: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Esempio – MUX2

Page 38: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Classi di Oggetti

Page 39: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Oggetti

Page 40: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Costanti

Page 41: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Variabili

Page 42: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Segnali

Page 43: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Segnali e Variabili

Page 44: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Assegnamento di Segnali (1/2)

Page 45: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Assegnamento di Segnali (2/2)

Page 46: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Concetto di ritardo (1/4)

Page 47: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Concetto di ritardo (2/4)

Page 48: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Concetto di ritardo (3/4)

Page 49: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Concetto di ritardo (4/4)

Page 50: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Assegnamento condizionale

Page 51: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Assegnamento selettivo

Page 52: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Indirizzamento negli array

Page 53: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Attributi

Page 54: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Tipi di Dati e Operatori

Page 55: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Tipi di Dati

Page 56: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Tipi di Dati

Page 57: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Tipi di Dati

Page 58: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Character

Page 59: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Bit

Page 60: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Integer

Page 61: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Real

Page 62: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Time

Page 63: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Altri tipi scalari

Page 64: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Std_logic (1/2)

Page 65: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Std_logic (2/2)

Page 66: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Vettori

Page 67: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

string

Page 68: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

bit_vector (1/2)

Page 69: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

bit_vector (2/2)

Page 70: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

std_logic_vector

Page 71: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Tipi e Sottotipi

Page 72: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Operatori

Page 73: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Operatori aritmetici e di scorrimento

Page 74: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Operatori relazionali

Page 75: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Operatori logici

Page 76: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Package e Librerie

Page 77: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Package

Page 78: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Librerie

Page 79: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Libreria IEEE (1/2)

Page 80: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Libreria IEEE (2/2)

Page 81: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Esempio di conversione

Page 82: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Esempio di conversione

Page 83: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Libreria STD

Page 84: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Apertura di un file

Page 85: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Il package TEXTIO: Input functions

Page 86: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Il package TEXTIO: Output functions

Page 87: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Esempio: Lettura da file

Page 88: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Esempio: Lettura e scrittura da file

Page 89: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Processi

Page 90: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Processi (1/3)

IL VHDL gestisce l’utilizzo di processi

I processi inglobano parti di un progetto

I processi hanno una lista di sensibilità che specifica i segnali che possono causare cambi negli outputs del processo stesso

La lista di sensibilità può essere usata per preservare lo stato di un sistema

Esempio, un flip-flop edge-triggered è sensibile solo ad un particolare fronte del clock: l’uscita cambia se e solo se è arriva un particolare fronte del clock, altrimenti l’uscita rimane invariata

I processi possono essere usati per implementare logica combinatoria, ma molto spesso inglobano logica sequenziale

Page 91: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Processi (2/3)

Page 92: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Processi (3/3)

Page 93: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Processi – esecuzione

Page 94: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Wait

Page 95: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Wait

Page 96: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Istruzioni Sequenziali

Page 97: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Costrutto condizionale if

Page 98: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

elseif

Page 99: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Costrutto condizionale case

Page 100: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Costrutto condizionale case

Page 101: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Costrutto condizionale case

Page 102: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Esempio di processo

Page 103: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Cicli for

Page 104: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Cicli while

Page 105: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Concorrenza tra Processi

Page 106: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Processi Multipli Concorrenti

Page 107: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Aree concorrenti e sequenziali

Page 108: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Istruzioni Concorrenti

Page 109: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Sottoprogrammi (1/3)

Page 110: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Sottoprogrammi (2/3)

Page 111: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Sottoprogrammi (3/3)

Page 112: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Esempi di codice VHDL

Page 113: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Processo combinatorio

Page 114: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Processo combinatorio – Esempio 1

Page 115: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Processo combinatorio – Esempio 2

Page 116: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Processo combinatorio – Esempio 3

Page 117: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

D Latch

Page 118: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

D Flip-Flop

Page 119: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

D Flip-Flop

Page 120: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

D Flip-Flop

Page 121: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

D Flip-Flop

Page 122: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

8-bit Register

Page 123: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

32-bit Counter (1/2)

Page 124: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

32-bit Counter (2/2)

Page 125: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Esempio di descrizione RTL (1/4)

Page 126: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Esempio di descrizione RTL (2/4)

Page 127: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Esempio di descrizione RTL (3/4)

Page 128: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Esempio di descrizione RTL (4/4)

Page 129: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Macchine a stati finiti – Tipo Moore (1/5)

Si rappresenta lo stato presente e l’uscita corrispondente

Le frecce indicano l’evoluzione del circuito a seguito di un impulso di clock

Page 130: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Macchine a stati finiti – Tipo Moore (2/5)

Page 131: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Macchine a stati finiti – Tipo Moore (3/5)

Page 132: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Macchine a stati finiti – Tipo Moore (4/5)

Page 133: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Macchine a stati finiti – Tipo Moore (5/5)

Page 134: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Macchina di Moore – Esempio 1

Page 135: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Macchina di Moore – Esempio 1

Page 136: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Macchina di Moore – Esempio 1

Page 137: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Macchina di Moore – Esempio 1

Page 138: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Macchina di Moore – Esempio 2

Page 139: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Macchina di Moore – Esempio 2

Page 140: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Macchina di Moore – Esempio 2

Page 141: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Macchina di Moore – Esempio 3

Page 142: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Macchina di Moore – Esempio 3

Page 143: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Macchina di Moore – Esempio 3

Page 144: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Macchine a stati finiti – Tipo Mealy

Si rappresenta solo lo stato presente

Le frecce indicano l’evoluzione del circuito e l’uscita corrispondente a seguito di un impulso di clock

Page 145: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Macchina di Mealy – Esempio

Page 146: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Macchina di Mealy – Esempio

Page 147: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Macchina di Mealy – Esempio

Page 148: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

VHDL TESTBENCHES

Page 149: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Testbench (1/2)

Page 150: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Testbench (2/2)

Page 151: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Testbench: Struttura di base (1/3)

Page 152: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Testbench: Struttura di base (2/3)

Page 153: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Testbench: Struttura di base (3/3)

Page 154: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Testbench: Lettura da file (1/4)

Page 155: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Testbench: Lettura da file (2/4)

Page 156: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Testbench: Lettura da file (3/4)

Page 157: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Testbench: Lettura da file (4/4)

Page 158: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Testbench: Lettura/Scrittura da file (1/2)

Page 159: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Testbench: Lettura/Scrittura da file (2/2)

Page 160: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Foreign Language Interface (1/3)

Page 161: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Foreign Language Interface (2/3)

Page 162: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Foreign Language Interface (3/3)

Page 163: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Testbench: Verifica automatica (1/3)

Page 164: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Testbench: Verifica automatica (2/3)

Page 165: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Testbench: Verifica automatica (3/3)

Page 166: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Testbench: Verifica intrinseca (1/5)

Page 167: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Testbench: Verifica intrinseca (2/5)

Page 168: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Testbench: Verifica intrinseca (3/5)

Page 169: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Testbench: Verifica intrinseca (4/5)

Page 170: Fondamenti di VHDL - unirc.it · Processi (1/3) IL VHDL gestisce l’utilizzo di processi I processi inglobano parti di un progetto I processi hanno una lista di sensibilità che

Testbench: Verifica intrinseca (5/5)