Elettronica dei Sistemi Digitali M - Cdl Telecomunicazioni

Docente: Prof. Eleonora Franchi (Tutore: Davide Rossi)

Esercitazioni



VHDL come strumento di progetto di circuiti Digitali su FPGA

Le esercitazioni si terranno nel laboratorio del centro di calcolo della facolta' di ingegneria (CCIB), nel seminterrato dell'edificio del DEIS.
Il laboratorio e' comunque a disposizione a cura del personale del CCIB ogni giorno dalle 9 alle 19 a meno che non sia occupato per altre lezioni.

Le esercitazioni tratteranno della sintesi logica di semplici circuiti digitali su Field Programmable Gate Arrays (FPGA) ALTERA.
Gli strumenti software a disposizione degli studenti in laboratorio sono Quartus II v9sp2.  E' inoltre disponibile in laboratorio un Help in linea.

E' inoltre possibile scaricare dal sito ALTERA una versione ridotta (Web Edition per Quartus II) del tool. Per l'utilizzo di versioni antecedenti alla 8.1 è però necessario richiedere una licenza gratuita, che è possibile ottenere da Altera compilando un apposito form elettronico, che consente di ricevere la licenze per email. Per l'utilizzo di versioni successive alla 8.1 e' invece sufficiente compilare l'apposito form elettronico.

Ricevimento

Per eventuali ricevimenti siete pregati di contattarmi via mail (D.Rossi).
Ad ogni modo il ricevimento si svolgera' presso la sede Arces di viale Pepoli 3/2.

Prossimi Appelli

Consultare le date su AlmaEsami.
Gli esami si terranno nel laboratorio del centro di calcolo della facolta' di ingegneria (CCIB), nel seminterrato dell'edificio del DEIS oppure nel LAB4.

Risultati

I risultati degli elaborati sono disponibili su AlmaEsami.
Per prendere visione del proprio compito contattare D.Rossi.

Domande e Risposte

1. Come installare la licenza di Quartus II (per versioni antecedenti alla 8.1)
2. Alcuni problemi di licenza
3. Errori in simulazione
4. Alcuni tipi di dato
5. Dimensione di vettori di bit in operazioni aritmetiche
6. Come salvare le forme d'onda

Slides utili


Esercizi:


Temi d'esame VHDL:



Domande e Risposte


1. Come installare la licenza di Quartus II

Salvare il file ricevuto in email da Altera sul proprio disco fisso con estensione .dat (es. quartus.dat). In Quartus II, selezionare License Setup dal menu Tools e selezionare il file di licenza appena salvato.

Torna all'indice

2. Alcuni problemi di licenza

E' stato riscontrato il seguente problema di licenza, che affligge la versione 2.2 qualora la scheda di rete non sia collegata fisicamente ad alcun apparato/host. Quartus II non rileva il MAC address della scheda di rete (NIC), come mostrato in figura. Pertanto, il check della licenza non può andare a buon fine. Questo bug non sembra coinvolgere la versione 4.1sp2. Il problema è stato risolto, utilizzando le indicazioni disponibili all'URL: http://support.microsoft.com/kb/articles/Q239/9/24.asp
La documentazione di Quartus II riferisce inoltre che, in presenza di più schede di rete attive, lo stesso problema potrebbe ripresentarsi. La soluzione è lasciare attiva sullo stesso PC, soltanto la scheda di rete a cui si riferisce la licenza.

Torna all'indice

3. Errori in simulazione

Qualora venissero ottenuti degli errori nel momento in cui si effettuano simulazioni funzionali in Quartus II v4.1, ci si ricordi di eseguire (prima) il comando Generate Functional Simulation Netlist dal menu Processing.

Torna all'indice

4. Alcuni tipi di dato

Per utilizzare alcune operazioni e tipi di dato è necessario caricare (prima della definizione di ogni entity che ne faccia uso) alcuni specifici package della libreria IEEE;
std_logic use IEEE.std_logic_1164.all;
unsigned use IEEE.std_logic_unsigned.all;
signed use IEEE.std_logic_signed.all;
operazioni aritmetiche use IEEE.std_logic_arith.all;


Torna all'indice

5. Dimensione di vettori di bit in operazioni aritmetiche

In generale occorre tenere in considerazione, in fase di progetto, le ben note regole dell'aritmetica computazionale: In fase di progetto dunque sarà opportuno calcolare le ampiezze dei segnali utilizzati per operazioni aritmetiche:

[...]
signal a, b : unsigned(3 downto 0); --n bit
signal s : unsigned(4 downto 0); --n+1 bit
signal m : unsigned(7 downto 0); --2n bit
[...]

Tuttavia, poichè Quartus interpreta il codice cercando di estrarre operazioni note (somme, contatori, moltiplicatori, etc.) che già possiede in alcune librerie interne, risulta necessario conformarsi alle notazioni di tali componenti. Per le moltiplicazioni vale la regola n bit->2n bit, mentre per le somme il componente che Quartus rileva ed istanzia internamente possiede ingressi ed uscite di pari ampiezza ed un carry out per il bit (n+1)-esimo. Non essendo possibile raggiungere i pin di questo componente "interno", risulta necessario conformarsi a questa notazione nel seguente modo:

[...]
--valgono le definizioni di segnali riportate sopra
s <= conv_unsigned(a,5) + conv_unsigned(b,5); --estensione di 1 bit degli addendi
m <= a*b;
[...]

In questo modo, per le somme, l'addendo viene esteso a n+1 bit all'ingresso del sommatore, mentre i segnali restano in tutti gli altri ambiti a n bit.
Un'alternativa potrebbe essere quella di svolgere le operazioni di somma utilizzando dati di tipo integer, tramite per esempio tramite la funzione di conversione conv_integer(valore_signed_unsigned). Tuttavia occorre prestare attenzione alle ri-conversioni in signed/unsigned o std_logic_vector, assicurandosi di utilizzare il numero corretto di bit. Qualora si definissero dei segnali di tipo integer definire sempre il loro range di utilizzo:
signal n : integer range 0 to 255;

Torna all'indice

6. Come salvare le forme d'onda

Per includere nel file di forme d'onda .vwf (vector waveform file) anche le forme d'onda dei segnali di output e dei nodi interni ottenuti dopo la simulazione: In questo modo verranno aggiunti al file .vwf creato dall'utente i risultati della simulazione.

Torna all'indice


Microelectronics Group Home Page Staff
Research Activities Teaching Activity
Publications Local Stuff
DEIS Home Page University of Bologna Home Page


External link, Local link, For local sites only, Stiil empty.