PISA 02032016 INTRODUZIONE ALLA TECNOLOGIA DELLFPGA FIELD PROGRAMMABLE
PISA, 02/03/2016 INTRODUZIONE ALLA TECNOLOGIA DELL’FPGA FIELD PROGRAMMABLE GATE ARRAYS Calliope-Louisa Sotiropoulou Marie Curie IAPP Fellow - University of Pisa
Introduzione alla logica digitale: ‘ 0’ o ‘ 1’? � La logica digitale è basata su due stati: �Ogni segnale può avere 2 valori ‘ 0’/’Falso’ o ‘ 1’/’Vero’ � Ogni sistema può essere rappresentato su 4 livelli: �L’ architettura (alto livello) �La logica (porte logiche) �Il circuito (componenti discreti) �Il layout (implementazione su silicio) C. -L. Sotiropoulou - Pisa, 02/03/2016 2
I circuiti digitali � I circuiti digitali sono realizzati combinando porte digitali � Ogni porta esegue una specifica funzione logica � Collegando più porte si realizzano funzioni logiche più complicate C. -L. Sotiropoulou - Pisa, 02/03/2016 3
I circuiti integrati � Grazie alla nuova tecnologia è possibile realizzare circuiti molto grandi dentro un spazio molto piccolo: C. -L. Sotiropoulou - Pisa, 02/03/2016 4
Le porte digitali � In base al numero di ingressi, che rappresentano il numero di variabili che una porta logica può ricevere in input, le porte logiche si possono classificare in : � porte a due variabili : AND, OR, XOR, NAND e XNOR � porte a singola variabile : NOT e BUFFER � Le porte OR e NOT (NOR) e AND e NOT (NAND) costituiscono un insieme funzionalmente completo: attraverso gli operatori logici che implementano è possibile generare qualsiasi funzione logica. � Le operazioni NAND e NOR costituiscono un insieme funzionalmente completo di operatori logici, ovvero consentono di rappresentare qualunque funzione logica. C. -L. Sotiropoulou - Pisa, 02/03/2016 5
Porta NOT � Implementa una logica negata: C. -L. Sotiropoulou - Pisa, 02/03/2016 6
Porta AND � Implementa una moltiplicazione logica: C. -L. Sotiropoulou - Pisa, 02/03/2016 7
Porta OR � Implementa una addizione logica: C. -L. Sotiropoulou - Pisa, 02/03/2016 8
Logica di Boole � Supponiamo di avere una frase ipotetica come questa: "Se piove o sto male non vado a scuola. " � Notiamo subito che esistono 2 condizioni (ingressi) e una conseguenza (uscita) che possiamo schematizzare come segue: � Non andrò a scuola se sarà vero che piove o (or) se sarà vero che sto male. In poche parole la conseguenza (uscita Y) sarà falsa ogni qualvolta l’ingresso A, l’ingresso B o entrambi (A e B) saranno veri. C. -L. Sotiropoulou - Pisa, 02/03/2016 9
Flip Flop � I flip-flop (o bistabili) sono circuiti elettronici sequenziali molto semplici, utilizzati come dispositivi di memoria elementare. � Flip-Flop D: Ha un ingresso per il dato, un ingresso di sincronizzazione (clock) e un'uscita. In corrispondenza del comando di clock, trasferisce l'ingresso in uscita e ve lo mantiene fin quando non cambia il suddetto ingresso. C. -L. Sotiropoulou - Pisa, 02/03/2016 10
Macchine a stati finiti � E’ un modello che permette di descrivere con precisione e in maniera formale il comportamento di molti sistemi � E’ descrito con “stati” e “transizioni” � Sono usati per controllare i sistemi elettronici C. -L. Sotiropoulou - Pisa, 02/03/2016 11
Tecnologia FPGA � Una Field Programmable Gate Array (FPGA) è un circuito integrato le cui funzionalità sono programmabili via software. Tali dispositivi consentono l'implementazione di funzioni logiche anche molto complesse, e sono caratterizzati da un'elevata scalabilità. � Un’ Application Specific Integrated Circuits (ASIC) è un circuito integrato creato appositamente per risolvere un'applicazione di calcolo ben precisa (specific purpose). C. -L. Sotiropoulou - Pisa, 02/03/2016 12
Tecnologia FPGA � Le FPGA moderne offrono: �Prestazioni �Risorse �Dispositivi per applicazioni specifiche �Un costo basso �Velocità di produzione dei sistemi C. -L. Sotiropoulou - Pisa, 02/03/2016 13
La logica dentro la FPGA � La struttura di una FPGA è in generale una matrice di blocchi logici configurabili, detti CLB (Configurable Logic Blocks), connessi fra loro attraverso interconnessioni programmabili. C. -L. Sotiropoulou - Pisa, 02/03/2016 14
La logica dentro la FPGA � Le interconessioni programmabili: C. -L. Sotiropoulou - Pisa, 02/03/2016 15
Schede con FPGA C. -L. Sotiropoulou - Pisa, 02/03/2016 16
Schede con FPGA C. -L. Sotiropoulou - Pisa, 02/03/2016 17
Schede con FPGA C. -L. Sotiropoulou - Pisa, 02/03/2016 18
Uso del FPGA (programmazione) � Per configurare le FPGA usiamo un linguaggio descrittivo del tipo HDL (Hardware Description Language) � Nei nostri esempii usiamo VHDL � Il programma va compilato e tradotto in un bistream (file digitale) per configurare la FPGA � Oggi, in laboratorio, useremo le schede ZYBO di Xilinx con il software Vivado per programmare le nostre FPGA C. -L. Sotiropoulou - Pisa, 02/03/2016 19
- Slides: 19