matite e gomma

Logo di Conformità WCAG-1 di Livello Tripla A, W3C-WAI Web Content Accessibility Guidelines 1.0

Validazione XHTML 1.0 Validazione CSS 3
Logo del Dipartimento di Matematica e Informatica, Insegnamento di Sistemi dedicati, link al Forum

Introduzione al progetto di sistemi hardware con FPGA

Esercitazione 02 di Sistemi dedicati

Docente: Giuseppe Scollo

Università di Catania
Dipartimento di Matematica e Informatica
Corso di Laurea Magistrale in Informatica, AA 2019-20

Indice

  1. Introduzione al progetto di sistemi hardware con FPGA
  2. argomenti dell'esercitazione
  3. struttura di una FPGA
  4. flusso di lavoro del progetto con FPGA
  5. sintesi automatica su FPGA
  6. esperienza di laboratorio
  7. uno schematico Quartus Prime per il datapath del Collatz delay
  8. un testbench di simulazione per il datapath del Collatz delay
  9. l'output di una simulazione
  10. note operative
  11. riferimenti

argomenti dell'esercitazione

in questa esercitazione si trattano:

struttura di una FPGA

precursori: PLA, PAL, CPLD

costituenti tipici di una FPGA:

un modello di blocco logico programmabile

un modello di blocco logico programmabile

configurazione del blocco in figura:

  • assegnamento di una funzione logica alla look-up table (LUT)
  • funzionamento combinatorio o sincrono
  • ingresso di abilitazione del pilota di uscita

flusso di lavoro del progetto con FPGA

sequenza di lavoro tipica (non tutti i passi sono presenti in ogni progetto):

  1. specifica RTL (progetto di schematico o HDL)
  2. analisi sintattica e semantica statica
    • correzione di eventuali errori, reiterazione dell'analisi
  3. sintesi RTL
  4. simulazione RTL
    • correzione di eventuali errori semantici, reiterazione di analisi e simulazione
  5. analisi temporale e regolazione del clock
  6. sintesi fisica

sintesi automatica su FPGA

la sintesi fisica, automatizzata da numerosi strumenti di analisi e ottimizzazione, si compone di vari processi:

esperienza di laboratorio

si possono descrivere, simulare e sintetizzare modelli di circuiti hardware anche senza fare ricorso a un HDL, quando si dispone di un editor grafico per la costruzione dello schematico e di strumenti software adeguati

  • lanciare Quartus e lì creare un nuovo progetto di nome schematic_delay_collatz
  • costruire uno schematico del circuito per il delay di traiettorie di Collatz presentato nella seconda lezione
    • un modello che usa diversi moduli parametrici di libreria (lpm) è nella prossima figura
  • compilare e correggere eventuali errori segnalati
  • confrontare l'uso di risorse (n. di LE e registri) e slack di caso peggiore con quelli ottenuti dalla compilazione e analisi temporale condotte nella prima esperienza di laboratorio
  • creare un testbench per la simulazione con una sequenza di due o tre input quali valori iniziali di altrettante traiettorie
    • la temporizzazione dell'input per ogni traiettoria successiva alla prima va calcolata in modo che sia successiva alla segnalazione della fine del calcolo per la traiettoria precedente, v. per esempio la successiva figura
  • lanciare l'esecuzione della simulazione funzionale e verificare la corrispondenza del risultato alle attese, v. per esempio l'ultima figura

uno schematico Quartus Prime per il datapath del Collatz delay

schematico con uso di moduli parametrici di libreria (lpm)

schematico con uso di moduli parametrici di libreria (lpm)

un testbench di simulazione per il datapath del Collatz delay

testbench di simulazione per il datapath del Collatz delay

testbench di simulazione per il datapath del Collatz delay

l'output di una simulazione

output della simulazione per il datapath del Collatz delay

output della simulazione per il datapath del Collatz delay

note operative

alcune note per l'esecuzione dell'esperienza senza eccessivo sforzo:

  • le note che seguono, in inglese, indicano alcuni accorgimenti pratici per superare piccoli problemi che possono rallentare o compromettere l'esecuzione dell'esperienza di laboratorio
  1. note sui diagrammi schematici Quartus
  2. note sull'uso di moduli parametrici di libreria (LPM) Quartus

riferimenti

letture raccomandate:

materiali utili per l'esperienza di laboratorio proposta (fonte: Intel® FPGA University Program, November 2016)