User Tools

Site Tools


dispositivi_logici_programmabili

Corso di Dispositivi Logici Programmabili


Link: Avvisi (ultimo avviso 30/05/2020)


Il corso affronta il problema della descrizione di sistemi logici complessi mediante un il lingiaggio formale di descriione dell'hardware VHDL.

Dopo aver introdotto i fondamenti del linguaggio VHDL, questo verrà usato:

  1. per la descrizione e la simulazione di dispositivi digitali
  2. per la descrizione, la sintesi e la realizzazione di sistemi digitali su FPGA.

VHDL per la descrizione e la simulazione di dispositivi digitali

Il linguaggio VHDL può essere usato per descrivere il comportamento presunto di blocchi logici, per specificare come questi blocchi sono interconnessi fra loro per formare un sistema più complesso e per simulare il comportamento del sistema complessivo in risposta a specifici stimoli.

espandi

espandi

In un contesto del genere, in VHDL si descrive il comportamento specificando come e in che tempi le uscite dei blocchi logici si adeguano ai cambiamenti dell'ingresso. Per esempio, nel descrivere un inverter, si potrà specificare che si tratta di un sistema con un ingresso e una uscita e che quando l'ingresso passa da “0” a “1”, l'uscita diventa “0” con un ritardo di 5 ns, mentre quando l'ingresso passa da “1” a “0”, l'uscita diventa “1” con un ritardo di 7 ns.

Una volta descritti tutti i blocchi, il VHDL consente di specificare come devono essere interconnessi alcuni/tutti i blocchi per formare un blocco più complesso, come questi blocchi possono essere a loro volta interconnessi per formare blocchi ancora più complessi fino ad arrivare al blocco che costituisce il sistema che si intende studiare mediante simulazione.

Si può quindi procedere alla simulazione ricorrendo ad alcune specifiche peculiarità del VHDL per generare i segnali di ingresso al sistema. Si vada al link qui sotto per una descrizione a grandi linee del processo di descrizione e simulazione.

Link: introduzione ed esempio di simulazione

VHDL per la descrizione, la sintesi e la realizzazione di sistemi digitali su FPGA

Il VHDL può essere usato per la descrizione di sistemi digitali da realizzare su sistemi FPGA (Field Programmable Gate Array). Sotto opportune condizioni, una descrizione VHDL può essere automaticamente trasformata in un sistema elettronico su singolo circuito integrato sfruttando le potenzialità dei ciruiti FPGA.

espandi

espandi

I dispositivi FPGA sono circuiti integrati che contengono un elevato numero di dispositivi logici elementari configurabli e una fitta rete di interconnessioni che può essere programmata dall'utente. Oltre ad alcune migliaia (o decine di migliglia) di blocchi logici elementari (un blocco logico elementare è tipicamente una rete combinatoriale programmabile con pochi ingressi e uscite con la possibilità di usare un registro), alcune FPGA dispondono di blocchi specializzati (memorie configurabili, moltiplicatori paralleli, ecc). In questo contesto il VHDL può essere usato per descrivere il comportamento di blocchi logici e il modo in cui questi blocchi logici sono fra loro interconnessi. Lo scopo è arrivare a una effettiva realizzazione delle funzioni logiche descritte sfruttando i circuiti interni alla FPGA. Esistono software in grado di convertire una specifica VHDL, anche ad alto livello, in opportune configurazioni circuitali all'interno della FPGA. E' evidente, però, che in questo caso non ha senso specificare ritardi di propagazione all'interno della descrizione VHDL: non si sa a priori in che forma (con quali componenti) verrà realizzata la funzione logica descritta e, a maggior ragione, non si conoscono a priori i ritardi di propagazione all'interno del sistema che verrà realizzato. In questo caso sono i software di sviluppo delle case produttrici che, oltre a occuparsi della sintesi del sistema, stimano ritardi conseguenti alla particolare realizzazione ottenuta e consentono di effettuare una simulazione (gestita da software proprietario) del comportamento del sistema. Il sistema costruito può immediatamente diventare un sistema reale mediante la programmazione di una FPGA.

Si vada al link qui sotto per una descrizione a grandi linee del processo di descrizione, sintesi e verifica su scheda di sviluppo INTEL (ALTERA) DE10-Lite.

Link: esempio di descrizione con VHDL e simulazione con QUARTUS

Software

Tutti i software che verranno usati durante il corso sono preistallati e pronti per l'uso in una macchina virtuale che può essere utilizzata con VirtualBox.

VHDL per la descrizione e la simulazione di dispositivi digitali

Si può usare un qualunque editor di testo per la scrittura di file VHDL. Per il controllo sintattico e per la simulazione si userà il pacchetto open source GHDL. Per la visualizzazione grafica dei risultati della simulazione si userà il visulizzatore gtkwave.

VHDL per la descrizione, la sintesi e la realizzazione di sistemi digitali su FPGA

Verrà usato il sistema di sviluppo Quartus II di Altera (ora Intel), che raccoglie in un unico ambiente di sviluppo integrato editor, compilatore, simulatore e programmatore per schede di sviluppo.

Attività di Laboratorio

La maggior parte delle attività di laboratorio faranno riferimento al sistema di sviluppo Altera DE10-Lite. Saranno comunque disponibili altre schede di sviluppo (DE0-nano, DE1).

Attività di Laboratorio (Emergenza coronavirus)

Per consentire una attività di laboratorio significativa presso il domicilio di ciascuno studente è possibile acquisire componenti a basso costo e costruire sistemi digitali di modesta complessità basati sulla FPGA GW1N per la quale è disponibile commercialmente una schedina di sviluppo (Tang Nano) con costo inferiore a 10 euro. Se si completa il sistema con una interfaccia seriale asincrona per il collegamento con il relativo IP sviluppato nel corso delle lezioni, possono essere sviluppati sistemi di moderata complessità interfacciati con applicazioni sviluppate su personal computer. Le indicazioni per reperire l'hardware necessario, per ottenere, istallare e utilizzar il sistema di sviluppo, assieme alle istruzioni per per completare la schedina di sviluppo FPGA con un adattatore USB-UART (SENZA ESEGUIRE SALDATURE) sono reperibili alla pagina Tang Nano.

Note, documenti e altro materiale utile

Note, documenti e altro materiale utile sono disponibili seguendo questo link .

Temi di esame

Lo studente deve scegliere e implementare uno dei sistemi descritti in questo link. Lo studente deve comunicare la scelta al docente e attendere la sua approvazione. Una volta che uno dei sistemi è stato scelto e assegnato a uno studente, questo non è più disponibile per la scelta. Per questa ragione si suggerisce di comunicare la scelta solo nel momento nel quale si è certi di voler sostenere l'esame in tempi brevi.

dispositivi_logici_programmabili.txt · Last modified: 2020/06/01 09:16 by admin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki