User Tools

Site Tools


slp_main

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
slp_main [2026/02/24 20:53] – adminslp_main [2026/05/22 09:04] (current) – admin
Line 1: Line 1:
-=====Corso di Dispositivi Logici Programmabili=====+=====Corso di Sistemi Logici Programmabili=====
  
 ----------------------------- -----------------------------
 Link: [[avvisi_slp|Avvisi]]  (nessun avviso)  Link: [[avvisi_slp|Avvisi]]  (nessun avviso) 
 ----------------------------- -----------------------------
 +
 +====Contenuti del corso ====
  
 Il corso affronta il problema della descrizione di sistemi logici complessi mediante un il lingiaggio formale di descrizione dell'hardware VHDL, la sintesi di sistemi digitali su FPGA e il progetto di SoC su FPGA.  Il corso affronta il problema della descrizione di sistemi logici complessi mediante un il lingiaggio formale di descrizione dell'hardware VHDL, la sintesi di sistemi digitali su FPGA e il progetto di SoC su FPGA. 
Line 9: Line 11:
 Dopo aver introdotto i fondamenti del linguaggio VHDL, questo verrà usato: Dopo aver introdotto i fondamenti del linguaggio VHDL, questo verrà usato:
   - per la descrizione e la simulazione di dispositivi digitali   - per la descrizione e la simulazione di dispositivi digitali
-  - per la descrizione, la sintesi e la realizzazione di sistemi digitali su FPGA. +  - per la descrizione, la sintesi e la realizzazione di sistemi digitali e SoC 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.  +
- +
-<hidden 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.  +
- +
-</hidden> +
-Link: [[es_VHDL_simu_01|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.  +
-<hidden 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.  +
- +
-</hidden> +
-Link: [[es_QUARTUS_simu_01| 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 [[http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=english&No=1021|DE10-Lite]]. +
-Saranno comunque disponibili altre schede di sviluppo ([[http://www.terasic.com.tw/cgi-bin/page/archive.pl?No=593|DE0-nano]], [[http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=53&No=83|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_Nani|Tang Nano]].  +
-==== Note, documenti e altro materiale utile ====+
  
-Note, documenti e altro materiale utile sono disponibili seguendo  questo [[documenti_dlp| link ]].+Parte integrante del corso è lo studio della rappresentazione dei numeri interi relativi in complemento a due e degli algoritmi per l'esecuzione delle operazioni elementari (somma, sottrazione, moltiplicazione, divisione). Viene inoltre studiata la rappresentazione di grandezze in notazione 1.n e le relative modalità di esecuzione di operazioni elemtari (somma, prodotto). 
  
 +L'esame presuppone lo sviluppo di un progetto scelto fra quelli proposti dal docente (vedi più sotto il link alla pagina dedicata alla descrizione dei progetti proposti). L'esame consiste nella discussione del progetto e in una prova orale sugli argomenti del corso.  
  
-==== Temi di esame ====+====Link ====
  
-Lo studente deve scegliere e implementare uno dei sistemi descritti in questo [[Elenco_temi_esame|link]].  +   *[[SEP_Intro_VHDL|Introduzione elementare al VHDL]] 
-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.  +    
- +   *[[SEP_Software|Strumenti e software utilizzati nel corso]]  
 +    
 +   *[[SEP_Note|Note e appunti]] 
 +    
 +   *[[temi_di_esame_sep_24| Temi di progetto]] 
 +   
 +   
 +   
 +  
  
  
slp_main.1771966420.txt.gz · Last modified: by admin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki