Docente: Dott. Stefano MARSI Elettronica 2 FPGA Sviluppo di circuiti logici su dispositivi programmabili Durata del corso • Il corso dura complessivamente 6 settimane (fino al 31 ottobre circa) • Per la laurea TRIENNALE e SPECIALISTICA – Il corso copre 1/2 modulo ( 3 CFU) – nella II parte del primo trimestre un altro 1/2 modulo sara’ coperto da Elettronica III (Carrato)) Cosa e’ richiesto all’ Universita’ Creare dei validi TECNICI in grado di utilizzare le moderne tecnologie Evitare gli abbandoni ed i fuori-corso ed incrementare il numero degli studenti che terminano regolarmente gli Studi Dare agli studenti una preparazione professionale che li introduca al futuro ambiente di lavoro (mediante stage, tirocinii ed altro) Cosa e’ richiesto all’ Universita’ Creare dei validi TECNICI in grado di utilizzare le moderne tecnologie Evitare gli abbandoni ed i fuori-corso ed incrementare il numero degli studenti che terminano regolarmente gli Studi Dare agli studenti una preparazione professionale che li introduca al futuro ambiente di lavoro (mediante stage, tirocinii ed altro) Com’e’ strutturato il corso • Il Corso e’ fondamentalmente a carattere pratico – Poche lezioni teoriche – Diverse esercitazioni pomeridiane di laboratorio – Utilizzo di materiale didattico all’avanguardia • • • • Circuiti programmabili Schede di sviluppo Software Sala calcolatri – Eventuale disponibilita’ gratuita del software agli studenti. Cosa e’ richiesto all’ Universita’ Creare dei validi TECNICI in grado di utilizzare le moderne tecnologie Evitare gli abbandoni ed i fuori-corso ed incrementare il numero degli studenti che terminano regolarmente gli Studi Dare agli studenti una preparazione professionale che li introduca al futuro ambiente di lavoro (mediante stage, tirocinii ed altro) Com’e’ strutturato il corso • La frequenza del corso e delle esercitazioni garantisce il superamento dell’esame con esito positivo • Se la frequenza e’ stata globale NON ci saranno ne’ temi scritti ne’ appelli orali • Il voto finale sara’ funzione: – dei risultati conseguiti durante il corso – dell’impegno dimostrato durante le esercitazioni – dell’ interesse manifestato nelle tematiche trattate • Nel caso di frequenza “saltuaria” l’esame dovra’ essere integrato con opportune prove scritte e/o orali. • L’esame con esito positivo NON e’ ripetibile! Cosa e’ richiesto all’ Universita’ Creare dei validi TECNICI in grado di utilizzare le moderne tecnologie Evitare gli abbandoni ed i fuori-corso ed incrementare il numero degli studenti che terminano regolarmente gli Studi Dare agli studenti una preparazione professionale che li introduca al futuro ambiente di lavoro (mediante stage, tirocinii ed altro) Com’e’ strutturato il corso • Verra’ ricreato un moderno ambiente di Lavoro • Verranno realizzati dei GRUPPI DI LAVORO composti da due o tre studenti • Detti gruppi verranno istituiti “d’ufficio” senza tener conto di eventuali “amicizie, corregionalita’, impegni omologhi ecc… • Viene richiesto lo svolgimento di un “lavoro di squadra” • Una parte dei risultati conseguiti (ed i conseguenti voti) saranno di tipo COMPARATIVO Com’e’ strutturato il corso • All’atto pratico come si svolgera’ il corso: – 25 Ore di lezioni in aula per illustrare: • • • • la struttura dei moderni circuiti programmabili la struttura di una versatile scheda di sviluppo il funzionamento di un opportuno tool di sviluppo Il tutto corredato di dimostrazioni pratiche – Un giorno a settimana sara’ dedicato a svolgere in modo autonomo un’esercitazione guidata (con supervisione). – Il laboratorio rimarra’ a disposizione degli studenti durante i normali orari d’ufficio (senza supervisione) – In ulteriori 2 ore verra’ sviluppato un progetto ex-novo (che verra’ valutato ai fini del voto finale) Com’e’ strutturato il corso • Concorrera’ alla definizione del voto: – Una opportuna dimostrazione funzionale del corretto funzionamento del dispositivo in tempo reale – La stesura (a posteriori) di una buona relazione • NON prolissa • Ben documentata • Scritta con opportuna proprieta’ di linguaggio ed in modo scientificamente corretto. – La relazione dovra’ essere presentata entro e non oltre 5 giorni dalla data dell’esercitazione. • A fine corso ogni gruppo definira’ concordemente col docente un progetto finale nel quale far convergere le conoscenze acquisite. Orario del Corso • Per le prime due settimane: – Lezioni Lunedi’ dalle 8 alle 10 (e lunedi’ pomeriggio ?) – Lezioni il Venerdi’ dalle 8 alle 11 • Per altre tre settimene: – Lezione il Lunedi’ ed il Venerdi’ mattina – Laboratorio guidato il Lunedi’ pomeriggio – Laboratorio autonomo il (Martedi’ mattina dalle 8 alle 11 ???) • L’ultima settimana: – Eventuale recupero – Laboratorio guidato il Lunedi’ pomeriggio – Laboratorio autonomo il Martedi’ mattina OBIETTIVI FORMATIVI • Conoscenza della struttura di moderni circuiti programmabili • Approfondimento della struttura di un moderno tool di sviluppo e degli strumenti a disposizione del progettista • Applicazioni pratiche su di un versatile e moderno ambiente di sviluppo • Conoscenza specifica di una scheda di sviluppo per il test di architetture in tempo reale (Board XESS) • Conoscenze di base del linguaggio VHDL PREREQUISITI consigliati • • • • • Algebra booleana Basi di elettronica digitale (porte logiche, flip flop, ecc...) Macchine a stati finiti Circuiti logici asincroni e sincroni Dimestichezza nell’uso di un PC MATERIALE didattico – Materiali strettamente legati al corso: • http://www.units.it/marsi/elettronica2 – Materiali inerenti i circuiti programmabili ed il tool di sviluppo • http://www.xilinx.com – Materiali inerenti la scheda adottata • http://www.xess.com – Mailing lists: • una specifica al corso di Elettronica (Italiano) • una dedicata agli sviluppatori su schede xess (Inglese) MATERIALE didattico Il corso e’ stato parzialmente supportato dal programma XSA-50 Board from Xess Corp. Software for Labs V6.2.03 i ISE Software – Design Entry – XST Synthesis – Implementation – Simulation (MXE-II) – iMPACT Programmer CORE Generator – Parameterizable Cores StateCAD/State Bencher – State Machine Design HDL Bencher – Test Bench Generation Software for Students FREE ISE WebPACK™ — — — — Downloadable desktop solution HDL / ABEL synthesis & simulation JTAG and 3rd party EDA support Supports all Xilinx CPLD families, Spartan II, next generation Spartan, and Virtex E/Virtex II (up to 300K gates) Xilinx Student Edition – v6.2i XSE – Accepts VHDL, Verilog & standard netlists – Fitting and timing reports — Supports all Xilinx CPLD families, Spartan II, next generation Spartan, and Virtex E/Virtex II (up to 300K gates) Xilinx Design Series from Prentice Hall Digital Design Principles and Practices (3rd Ed) John Wakerly Introductory VHDL: From Simulation to Synthesis, 1/e Sudhakar Yalamanchili Logic and Computer Design Fundamentals Morris Mano and Charles Kime Modeling, Synthesis and Rapid Prototyping Using the Verilog HDL By: Michael Ciletti XUP URL: university.xilinx.com Xilinx University Resource Center Hosted by Michigan State University Professor Resources - Teaching Materials - Support Texts Student Resources - Tutorials - Project Examples General Resources - Hardware/Software Online Support - Discussion Forum - FAQ’s - Email support www.xup.msu.edu Spartan-IIE On-Chip Memory System Clock Management Distributed Memory Block Memory External Memory Digital Delay Lock Loops (DLLs) DLL System Interfacing SelectI/O+TM Technology Support major I/O standards DLL ... CLB IOB CLB ... I R O A B M CLB ... I R O A B M IOB IOB ... CLB IOB DLL R I A O M B R I A O M B DLL Logic & Routing Flexible logic implementation Vector Based Routing Internal 3-State bussing On-Chip Verification ChipScope ILA System Diagram USER FUNCTION Chipscope ILA USER FUNCTION ILA ILA PC running ChipScope USER FUNCTION JTAG MultiLINX Cable or Parallel Cable III Target Board JTAG Connection Control ILA Target FPGA with ILA core Computer Architecture MicroBlaze Solution - MDK 2.1 Soft Processor Core – – – – 32-bit - Harvard Bus RISC Architecture Size: 900 Logic Cells Speed: 125 MHz, 82 D-MIPS 32 General Purpose Registers; 3 Operand Instruction Format IBM CoreConnnect Bus Standard Peripheral set – – – – – Timer, Counter Arbiter UART, Interrupt controller, SPI GPIO, Watchdog timer External flash, SRAM interface GNU Development tools Demo Board from partners Sample applications Digital Signal Processing DSP Modeling MATLAB® Automatic Translation Simulink® Implementation & Verification System Architect FPGA or DSP Designer Designer Generate: - VHDL/Verilog - IP cores Synthesis ® XST® Leonardo Spectrum® Synplify® ISE® 5.1i