26
1 Creazione di un Account Per poter accedere ai pc del LAB2 è necessario creare il nuovo account utente (se non lo avete già) con user name del tipo s0000123456; gli account con user name tipo x0123456 verranno cancellati dal 1° Novembre! Per creare i nuovi account è necessario effettuare l’accesso ai pc con: USER= nuovi PASSWORD= nuovi poi seguite la procedura guidata. UNA VOLTA CREATO IL NUOVO ACCOUNT DOVETE EFFETTUARE IL LOGOUT E POI EFFETTUARE IL LOGIN CON IL NUOVO ACCOUNT Esercitazioni di Reti Logiche

1 Creazione di un Account Per poter accedere ai pc del LAB2 è necessario creare il nuovo account utente (se non lo avete già) con user name del tipo s0000123456;

Embed Size (px)

Citation preview

Page 1: 1 Creazione di un Account Per poter accedere ai pc del LAB2 è necessario creare il nuovo account utente (se non lo avete già) con user name del tipo s0000123456;

1

Creazione di un Account

Per poter accedere ai pc del LAB2 è necessario creare il nuovo account utente (se non lo avete già) con user name del tipo s0000123456; gli account con user name tipo x0123456 verranno cancellati dal 1° Novembre!Per creare i nuovi account è necessario effettuare l’accesso ai pc con:

USER= nuoviPASSWORD= nuovi

poi seguite la procedura guidata.

UNA VOLTA CREATO IL NUOVO ACCOUNT DOVETE EFFETTUARE IL LOGOUT E POI EFFETTUARE IL LOGIN CON IL NUOVO ACCOUNT

Esercitazioni di Reti Logiche

Page 2: 1 Creazione di un Account Per poter accedere ai pc del LAB2 è necessario creare il nuovo account utente (se non lo avete già) con user name del tipo s0000123456;

2

Dal sito:

www-lia.deis.unibo.it/materiale/retilogiche

scaricate i 3 file (mux4.qpf , .bdf , .vwf).

È importante che i file siano nella stessa cartella e che non vengano rinominati!

Page 3: 1 Creazione di un Account Per poter accedere ai pc del LAB2 è necessario creare il nuovo account utente (se non lo avete già) con user name del tipo s0000123456;

3

Cos’è Quartus II

Quartus II è un software nato per programmare gli FPGA (Field Programmable Gate Array): partendo da un codice sorgente scritto in linguaggio VHDL, che descrive il circuito logico, Quartus II “traduce in hardware” tale codice sorgente. Dopo aver compilato il codice è possibile simulare il circuito virtuale prima di programmare l’FPGA.

Inoltre nelle ultime versioni di Quartus II è disponibile un editor grafico che permette di disegnare il circuito logico, evitando così di dover programmare in VHDL.

Dunque l’editor grafico e il tool di simulazione rendono Quartus II un software perfetto per le nostre esercitazione in laboratorio!

Quartus II è disponibile nella versione “Web Edition”, gratuita, ed è scaricabile dal sito web di Altera (è necessario registrarsi).

Quartus II Web Edition Software v9.0 Service Pack 2 (1.31 GB)

Page 4: 1 Creazione di un Account Per poter accedere ai pc del LAB2 è necessario creare il nuovo account utente (se non lo avete già) con user name del tipo s0000123456;

4

File .qpf : contiene tutte le informazioni sul progetto e viene generato in automatico alla fine del New Project Wizard. Aprendo il file .qpf si caricano anche tutti gli altri file associati al progetto.

File .bdf : è il file che contiene il circuito logico, questo file viene generato dal Graphic Editor

File .vwf : è il file contenente le forme d’onda d’ingresso necessarie a simulare il circuito e dopo la simulazione viene aggiornato con la forme d’onda d’uscita

I File di QuartusQuartus II lavora con moltissimi tipi di file, ma quelli che davvero ci interessano sono solo 3, gli altri vengono generati e utilizzati in automatico dal programma quindi noi non li utilizzeremo mai direttamente.

Page 5: 1 Creazione di un Account Per poter accedere ai pc del LAB2 è necessario creare il nuovo account utente (se non lo avete già) con user name del tipo s0000123456;

5

Come funziona Quartus II

VHDLEditor Grafico

GenerazioneNetlist

Analisi ed Elaborazione

Simulazione

Forme d’onda

Sintesi edElaborazione

Generazione File Programmazione

ProgrammazioneFPGA

Non verrà trattato in questo corso

Page 6: 1 Creazione di un Account Per poter accedere ai pc del LAB2 è necessario creare il nuovo account utente (se non lo avete già) con user name del tipo s0000123456;

6

Accedere alla finestra Customize dal menu Tools, quindi selezionare MAX+PLUS II nel tab General.

Impostazioni iniziali per QuartusPer le esercitazioni utilizzeremo Quartus II con l’interfaccia di MAX+PLUS II. All’avvio, nel campo Look, scegliete MAX+PLUS II, oppure una volta avviato Quartus II seguite il seguente procedimento:

Page 7: 1 Creazione di un Account Per poter accedere ai pc del LAB2 è necessario creare il nuovo account utente (se non lo avete già) con user name del tipo s0000123456;

7

Poi nel tab Toolbars scegliere Standard MAX+PLUS II. Lasciare il resto a default.

Impostazioni iniziali per Quartus

Page 8: 1 Creazione di un Account Per poter accedere ai pc del LAB2 è necessario creare il nuovo account utente (se non lo avete già) con user name del tipo s0000123456;

8

Un esempio

• Progetto di un Multiplexer a quattro vie (MUX4)

Page 9: 1 Creazione di un Account Per poter accedere ai pc del LAB2 è necessario creare il nuovo account utente (se non lo avete già) con user name del tipo s0000123456;

9

Il Multiplexer (MUX) è un circuito con 2^N ingressi, N segnali di selezione (quindi 2^N + N ingressi) e 1 uscita. La sua funzione è portare in uscita uno ed uno solo dei segnali di ingresso, in base al valore dei suoi segnali di selezione. Da qui si deduce che se (prendiamo come esempio un mux a 4 ingressi e 1 uscita):

}D,C,B,A{OUT

DIN;CIN;BIN;AIN 3210

La relazione ingresso-uscita dipende da come è costruito il mux, in ogni modo la più comune descrizione logica diun mux è la seguente:

dove S0 ed S1 sono i segnali di selezione

S1 S0 OUT

0 0 IN 0

0 1 IN 1

1 0 IN 2

1 1 IN 3

Cos’è un Multiplexer?

Page 10: 1 Creazione di un Account Per poter accedere ai pc del LAB2 è necessario creare il nuovo account utente (se non lo avete già) con user name del tipo s0000123456;

10

Apertura del progettoPer questo primo esempio servono i file mux4.qpf mux4.bdf e mux4.vwf scaricabili dal sito dell’esercitazione. I 3 file devono essere in un’unica cartella.

Per prima cosa aprite il file di progetto mux4.qpf con Quartus II. Quando lo aprirete non vedrete niente, tranne il percorso del file in alto, perché il file .qpf contiene solo delle informazioni sui file che bisogna simulare.

I tre file vanno aperti nella stessa finestra di Quartus II! Quindi aprite il .qpf e poi dalla finestra di Quartus II dov’è aperto il .qpf aprite gli altri file. Se fate doppio click su ogni file, verrà aperto 3 volte Quartus II in 3 finestre diverse E NON VA BENE!

Ora aprite il file .bdf e dal menu Project cliccate Add Current File To Project… (se l’opzione non è cliccabile significa che il file è già presente nel progetto: meglio così!) quindi ripetete l’operazione per il file .vwf.

Per verificare che i file .bdf e .vwf siano stati aggiunti correttamente al progetto potete cliccare su Add/Remove Files In Project dal menu project: se nella lista non compaiono i 2 files dovete selezionarli uno alla volta e cliccare di nuovo Add Current File To Project…

Page 11: 1 Creazione di un Account Per poter accedere ai pc del LAB2 è necessario creare il nuovo account utente (se non lo avete già) con user name del tipo s0000123456;

11

Come potete vedere ci siamo fermati ad un livello di astrazione che comprende solo gate logici, senza scendere al livello dei transistor.

Il multiplexer (MUX) può essere realizzato in svariati modi e per questa esercitazione abbiamo scelto il circuito con decoder a 2 ingressi e 4 uscite, 4 AND a 2 ingressi e 1 OR a 4 ingressi.

I due ingressi del decoder sono i segnali di selezione del MUX e gli ingressi dei 4 AND sono gli ingressi del MUX.

Com’è fatto un MUX

IN0

IN1

IN2

IN3

OUT

S0 S1

Page 12: 1 Creazione di un Account Per poter accedere ai pc del LAB2 è necessario creare il nuovo account utente (se non lo avete già) con user name del tipo s0000123456;

12

Decoder

Input(Dec)==S[1..0]= i (base 10)

Output(Dec)

Uscita attiva per i=0

Output(AND)=IN0 quando i=0

Page 13: 1 Creazione di un Account Per poter accedere ai pc del LAB2 è necessario creare il nuovo account utente (se non lo avete già) con user name del tipo s0000123456;

13

Le quattro uscite del decoder sono sempre tutte a 0 tranne una a 1: in pratica si attiva solo l’uscita i-esima del decoder dove i è la corrispondente cifra decimale dell’ingresso (es.: S1=1 , S0=1 => Input(Dec)=11 => i=3 ) e l’uscita di destra del decoder è quella attiva per i=0.

Dunque i 4 AND collegati ai 4 ingressi del MUX saranno attivi 1 alla volta: è attivato solo l’AND collegato all’ingresso i-esimo del MUX (dove i ha lo stesso valore di prima), quindi l’uscita dell’AND attivo è INi che viene portata in ingresso all’OR, i cui ingressi sono tutti a 0 tranne uno che vale INi di conseguenza l’uscita dell’OR è INi.

Funzionamento

Page 14: 1 Creazione di un Account Per poter accedere ai pc del LAB2 è necessario creare il nuovo account utente (se non lo avete già) con user name del tipo s0000123456;

14

Impostazioni per la simulazioneDal menu Assignments cliccare su Settings… e selezionare dal menu a sinistra Simulator Settings , quindi assicurarsi che nel campo Simulation Mode sia selezionata l’opzione Functional e non Timing, altrimenti la simulazione non viene effettuata nel modo corretto, perché vengono tenuti in considerazione i ritardi di propagazione dei gate logici (il che richiede alcuni minuti)

Page 15: 1 Creazione di un Account Per poter accedere ai pc del LAB2 è necessario creare il nuovo account utente (se non lo avete già) con user name del tipo s0000123456;

15

Analisi, Netlist e Simulazione

A questo punto possiamo iniziare ad utilizzare Quartus II.

Il circuito è già pronto per l’analisi. Quindi dal menu Processing -> Start selezionare Start Analysis & Elaboration. Il processo testa il circuito, verifica cioè che le connessioni siano corrette, che gli ingressi e le uscite siano nella giusta direzione, ecc…

Prima di passare alla simulazione vera e propria è necessario creare la Netlist del circuito.

Dal menu Processing cliccare su Generate Functional Simulation Netlist.

Ora possiamo finalmente simulare il circuito con le forme d’onda d’ingresso presenti nel file .vwf. Cliccate su Processing -> Start Simulation. Finito il processo, per vedere il risultato della simulazione selezionate il file .vwf in Quartus II e se richiesto salvate la forma d’onda d’uscita.

Page 16: 1 Creazione di un Account Per poter accedere ai pc del LAB2 è necessario creare il nuovo account utente (se non lo avete già) con user name del tipo s0000123456;

16

Editor Grafico

GenerazioneNetlist

Analisi ed Elaborazione

Simulazione

Forme d’onda

1) Processing -> Start -> Start Analysis & Elaboration

2) Processing -> Generate Functional Simulation Netlist

3) Processing -> Start Simulation

Riassumendo…

Page 17: 1 Creazione di un Account Per poter accedere ai pc del LAB2 è necessario creare il nuovo account utente (se non lo avete già) con user name del tipo s0000123456;

17

Ora potete modificare i 6 segnali d’ingresso per simulare differenti casi di funzionamento del MUX.

Per modificare un segnale è sufficiente selezionarne una parte (oppure tutto) e assegnargli un valore con i comandi sulla sinistra oppure con il doppio click sulla selezione e l’inserimento del valore binario nel campo value.

Attenzione: i 4 segnali di input (IN i) sono descritti da un solo bit, quindi nel campo value dovete inserire 1 o 0, mentre i 2 segnali di selezione sono raggruppati in un unico segnale descritto da un vettore di 2 bit, quindi il valore di value è a 2 bit (es.: value= 10 )

Modifica delle forme d’onda

Page 18: 1 Creazione di un Account Per poter accedere ai pc del LAB2 è necessario creare il nuovo account utente (se non lo avete già) con user name del tipo s0000123456;

18

Per creare un nuovo progetto andare in File -> New Project Wizard

Nel primo campo indicare la directory in cui verranno salvati i file del progetto (conviene creare una cartella contenente una cartella diversa per ogni progetto!).

Nel secondo campo indicare il nome del progetto. Il terzo campo verrà riempito automaticamente con lo stesso nome del progetto. Cliccare Finish

Creare un nuovo progetto

Page 19: 1 Creazione di un Account Per poter accedere ai pc del LAB2 è necessario creare il nuovo account utente (se non lo avete già) con user name del tipo s0000123456;

19

Creazione dello schema logico

Dal menu MAX+PLUS II aprire il Graphic Editor. Utilizzando semplicemente il Symbol Tool e il Node Tool è possibile disegnare un circuito.

Symbol Tool Apre la libreria per selezionare i componenti da aggiungere

Text Tool Permette di scrivere del testo

Node Tool Disegna i “fili” di collegamento tra i componenti

Zoom

Specchia il componente

Ruota il componente

Page 20: 1 Creazione di un Account Per poter accedere ai pc del LAB2 è necessario creare il nuovo account utente (se non lo avete già) con user name del tipo s0000123456;

20

Creazione dello schema logico

La libreria interna di Quartus contiene molti componenti, sia elementari (AND, OR, ecc…) sia più complessi, sufficienti a creare tutti gli schemi che verranno utilizzati durante le esercitazioni.

Per prima cosa vanno piazzati i componenti utilizzando il Symbol Tool. Premendo il relativo pulsante si aprirà una finestra nella quale si può scegliere un componente per volta navigando tra le varie categorie (i gate elementari sono in Primitives -> Logic). Una volta piazzati sull’area di lavoro, i componenti si possono spostare, ruotare, specchiare e rinominare.

Page 21: 1 Creazione di un Account Per poter accedere ai pc del LAB2 è necessario creare il nuovo account utente (se non lo avete già) con user name del tipo s0000123456;

21

Creazione dello schema logico

A questo punto bisogna effettuare le connessioni con Orthogonal Node Tool prestando molta attenzione ai collegamenti con gli ingressi/uscite dei componenti. Nell’esempio possiamo vedere che il collegamento a destra è stato effettuato correttamente mentre il collegamento a sinistra è errato. Infatti anche se graficamente il “filo” è a contatto con l’ingresso dell’AND, il collegamento reale non c’è!!!

Il Graphic Editor evidenzia con una X le terminazioni dei fili volanti

Collegamento sbagliato Collegamento

corretto

Page 22: 1 Creazione di un Account Per poter accedere ai pc del LAB2 è necessario creare il nuovo account utente (se non lo avete già) con user name del tipo s0000123456;

22

Creazione dello schema logicoFinito di creare il circuito logico bisogna specificare quali sono i nodi di ingresso e di uscita. Quartus è in grado di riconoscere in automatico solo alcuni nodi di input e output cioè solo quelli non connessi a niente! Nell’esempio riconosce l’uscita dell’OR come output e solo gli ingressi non connessi degli AND come input, mentre non è in grado di riconoscere i due ingressi centrali degli AND in quanto sono connessi tra loro!

Per l’assegnazione in automatico bisogna selezionare tutto le schema (o un gate per volta), cliccare con il tasto destro e selezionare l’opzione Generate Pins for Symbol Ports

Page 23: 1 Creazione di un Account Per poter accedere ai pc del LAB2 è necessario creare il nuovo account utente (se non lo avete già) con user name del tipo s0000123456;

23

Creazione dello schema logicoIN1, IN2 e OUT sono stati aggiunti con il procedimento descritto prima, mentre Input_Symbol_Tool è stato aggiunto con Symbol Tool (Primitives -> Pin) come fosse un normale componente ed è stato collegato al circuito

Ora il circuito è finito ed è pronto per l’analisi (non la simulazione!). Quindi dal menu Processing -> Start selezionare Start Analysis & Elaboration. Il processo testa il circuito, verifica cioè che le connessioni siano corrette, che gli ingressi e le uscite siano nella giusta direzione, ecc… Al termine se l’esito è Not Successful in basso verranno indicati Errors e Warnings: leggeteli attentamente per capire dov’è l’errore! Se l’esito invece è positivo potrete simulare il circuito.

Page 24: 1 Creazione di un Account Per poter accedere ai pc del LAB2 è necessario creare il nuovo account utente (se non lo avete già) con user name del tipo s0000123456;

24

Prima di passare alla simulazione vera e propria è necessario creare la Netlist del circuito.

Dal menu Processing cliccare su Generate Functional Simulation Netlist.Se il processo di Analysis & Elaboration ha avuto esito negativo o non è stato eseguito non è possibile creare la Netlist! La generazione della Netlist si può effettuare solo dopo un Analysis & Elaboration andata a buon fine.

Inoltre se l’analisi precedente ha avuto esito positivo ma con alcuni Warnings allora la generazione della Netlist potrebbe non andare a buon fine, in tal caso è necessario risolvere i Warnings e ripetere la generazione della Netlist.

La Netlist va rigenerata ogni volta che si modifica il circuito, dopo il processo di Analysis & Elaboration.

Netlist

Page 25: 1 Creazione di un Account Per poter accedere ai pc del LAB2 è necessario creare il nuovo account utente (se non lo avete già) con user name del tipo s0000123456;

25

Vector Waveform File (.vwf )

Per assegnare gli ingressi di un circuito è necessario creare un file .vwf . Per fare ciò cliccare su File -> New e selezionare Vector Waveform File

Quindi doppio click sulla tabella vuota a sinistra -> Node Finder…

Lasciate tutto a default, assicurandovi che nel campo Filter sia selezionata l’opzione Pins: all , ora cliccate su List: vi compariranno in automatico tutti gli ingressi e le uscite del vostro circuito.

DoppioClick qui

Page 26: 1 Creazione di un Account Per poter accedere ai pc del LAB2 è necessario creare il nuovo account utente (se non lo avete già) con user name del tipo s0000123456;

26

Simulazione del circuito

Selezionate i segnali che vi interessano (generalmente tutti!) e questi vi compariranno nella schermata principale, ora è necessario impostare l’End Time della simulazione dal menu Edit e dopo, coerentemente, la Grid Size… (non ha senso impostare End Time= 1s e Grid Size= 1us : avrete la griglia divisa in 1milione di parti!).

Per modificare un segnale, selezionate la parte del segnale che vi interessa e con i comandi sulla sinistra (o con il tasto destro del mouse -> Value) assegnategli un valore. Ora potete finalmente simulare il vostro circuito dal menu Processing -> Start Simulation