ΗΜΥ 664 ΨΗΦΙΑΚΟΣ ΣΧΕΔΙΑΣΜΟΣ ΜΕ FPGAs Χειμερινό Εξάμηνο 2010 ΔΙΑΛΕΞΗ 1: ΕΙΣΑΓΩΓΗ / Introduction ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Λέκτορας ΗΜΜΥ (ttheocharides@ucy.ac.cy)
ΔΙΟΙΚΗΤΙΚΑ Διδάσκων: Δρ. Χάρης Θεοχαρίδης Ώρες Γραφείου: TBA ΗΜΥ664 Δ01 Introduction.2 Γραφείο: Green Park, #108 Tηλέφωνο: 22892259 email: ttheocharides@ucy.ac.cy Διαλέξεις: - The million dollar question Lets plan. Εργαστήριο: TBD Κεντρικά Καλλιπόλεως, Εργαστήριο Α020 URL: http://www.eng.ucy.ac.cy/theocharides/courses/ece664 Βιβλίογραφία : Application Specific Integrated Circuits, Michael John Sebastian Smith, Addison-Wesley Publishing Company, VLSI Design Series, 1040 pages ISBN 0-201-50022-1, June 1997, http://wwwee.eng.hawaii.edu/~msmith/asics/html/asics.htm FPGA Based System Design, Wayne Wolf, June 2004, Prentice Hall. Σημειώσεις και φυλλάδια από το Εργαστήριο και τις διαλέξεις. Σημειώσεις: pdf στην ιστοσελίδα μετά τις διαλέξεις Theocharides, ECE, 2010
ΒΑΘΜΟΛΟΓΙΑ Εισαγωγικές Ασκήσεις εργαστηρίου 25% 1 η άσκηση 20 μονάδες 2 η άσκηση 25 μονάδες 3 η άσκηση 25 μονάδες 4 η άσκηση 30 μονάδες Ομαδική Εργασία Εργαστηρίου 25% Ατομική Μελέτη (Αναφορά και Παρουσίαση) Εξαμήνου Βασισμένη στο Εργαστήριο 25% Τελική Εξέταση (εφ όλης της ύλης) 25% Απαραίτητες προϋποθέσεις επιτυχίας στο μάθημα είναι: η εξασφάλιση συνολικού βαθμού πέραν του 50% ΗΜΥ664 Δ01 Introduction.3 Theocharides, ECE, 2010
ΠΕΡΙΕΧΟΜΕΝΑ ΜΑΘΗΜΑΤΟΣ Introduction to FPGAs and their use, applications and design methodologies FPGA Design Flow Overview Lab 1 FPGA Architectures FPGA Design Flow Step by Step Lab 2 FPGA Synthesis, Implementation, Mapping, Placement, Routing and Optimization FPGA Design Flow vs. ASIC Design Flow Lab 3 Test, Verification and Performance Evaluation On-Board I/O and Evaluation Lab 4 Memory and I/O Design Issues Lab Completion - Evaluation ΣΤΑΔΙΟ 1: ΕΙΣΑΓΩΓΗ ΗΜΥ664 Δ01 Introduction.4 Theocharides, ECE, 2010
ΠΕΡΙΕΧΟΜΕΝΑ ΜΑΘΗΜΑΤΟΣ FPGAs for Digital Signal Processing Project Assignment and Specifications FPGAs for Digital Image and Video Processing Project Specifications and Requirements Device Drivers and I/O Controller Design FPGA Approach Project- Implementation FPGAs in Embedded System Design Project - Implementation Industrial and Automotive FPGA based Systems Project - Implementation ΣΤΑΔΙΟ 2: ΤΡΕΧΟΝΤΑ ΘΕΜΑΤΑ ΗΜΥ664 Δ01 Introduction.5 Theocharides, ECE, 2010
ΠΕΡΙΕΧΟΜΕΝΑ ΜΑΘΗΜΑΤΟΣ Nanoscale, 3-D and Emerging FPGA Architectures Project Implementation Partial Reconfiguration Project Implementation Principles of Reconfigurable Computing Project Evaluation ΣΤΑΔΙΟ 3: ΑΝΑΔΥΟΜΕΝΑ ΘΕΜΑΤΑ FPGAs in the Future Project Presentations ΗΜΥ664 Δ01 Introduction.6 Theocharides, ECE, 2010
ΤΙ ΠΡΕΠΕΙ ΝΑ ΞΕΡΕΤΕ Προαπαιτούμενα: ΗΜΥ 210, 211, 212 και ΗΜΥ 213 και αποδεδειγμένη γνώση σε όλα από τα ακόλουθα: Βασικές Αρχές Προγραμματισμού Υπολογιστών Αριθμητικά Συστήματα Δυαδική Άλγεβρα Συνδυαστικά και Ακολουθιακά Κυκλώματα Οργάνωση και βασικά συνιστώσα ηλεκτρονικών υπολογιστών. ΗΜΥ664 Δ01 Introduction.7 Theocharides, ECE, 2010
ΔΙΑΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ Η τάξη έχει μεγάλες απαιτήσεις Ξεχάστε φίλους/φίλες, θείους/θείες... Οι καινούριοι σας φίλοι είναι το FPGA board, ο Φύλακας του Α020 αν δεν έχετε PC σπίτι, η καντίνα των κεντρικών κτηρίων, ο καφές (ή η μπύρα), και η καινούρια οικογένειά σας οι συμφοιτητές/τριες σας που βρίσκονται αυτή την στιγμή στην αίθουσα (ή που έχουν πάρει το μάθημα αλλά απουσιάζουν σήμερα). Είναι Project-Based τάξη, όπου το κύριο φόρτο εργασίας θα είναι στην πραγματοποίηση εργαστηριακών ασκήσεων. Σχεδίαση, Υλοποίηση, Σύνθεση και Εφαρμογή με Χρήση Εργαλείων και Τελευταίας Τεχνολογίας FPGA Πίνακα. Διαλέξεις: 4-5 βδομάδες εισαγωγή και βασικά στοιχεία FPGA. 4 βδομάδες τρέχοντα θέματα FPGAs 2-3 βδομάδες ερευνητικά θέματα FPGA. 1 βδομάδα παρουσιάσεις * ΗΜΥ664 Δ01 Introduction.8 Theocharides, ECE, 2010
Εργαστήριο Το μάθημα αυτό είναι περισσότερο μάθημα εργαστηρίου. Το εργαστήριο θα χωριστεί σε δυο μέρη - Το μέρος Α περιλαμβάνει ατομική εργασία ώστε να αφομοιώσετε τα βασικά στοιχεία του μαθήματος, και απευθύνεται στους φοιτητές χωρίς να έχουν πάρει το αντίστοιχο προπτυχιακό μάθημα. - Το μέρος Β περιλαμβάνει ομαδική εργασία. Θα χωριστείτε σε ομάδες των 2-3 (αναλόγως) και θα σας δοθεί μελέτη εξαμήνου (project). Επιδίωξή μου είναι η κάθε ομάδα να έχει τουλάχιστον ένα/μια φοιτητή/τρια με προηγούμενη πείρα σε εργαστήριο κυκλωμάτων/fpga Περισσότερα για το εργαστήριο στην επόμενη διάλεξη. ΗΜΥ664 Δ01 Introduction.9 Theocharides, ECE, 2010
The FPGA Board we will work (most likely!) Video Interface Card FPGA VGA OUT CF Card ECE 664 L1. Introduction.10 Theocharides, 2010
Introduction to FPGAs... ECE 664 L1. Introduction.11 Theocharides, 2010
Abstraction Layers in Modern Systems Software, O/S and Run-Time System Application Algorithm Programming Language Operating System/Virtual Machines Instruction Set Architecture (ISA) Microarchitecture Gates/Register-Transfer Level (RTL) Circuits Devices Physics Hardware System K. Asanovic, UC Berkeley ECE 664 L1. Introduction.12 Theocharides, 2010
How does that work? HLL Program foo.c Asm Lang. Pgm foo.s Machine Lang. pgm foo.o foo.exe Software Hardware Instruction Set Architecture Machine Organization Instr. Set Proc. Datapath & Control I/O system David Culler, UC Berkeley Digital Design Circuit Design Layout & fab Semiconductor Materials ECE 664 L1. Introduction.13 Theocharides, 2010
GENERAL PURPOSE MICRO- PROCESSORS μp THE HARDWARE SPECTRUM GRAPHICS PROCESSING UNIT GPU ASIC (Application- Specific Integrated Circuits ) DSP (Digital Signal Processors) FPGAs (Field- Programmable Gate Arrays) And Programmable Logic Traditional Architecture, Fetch - Decode Execute (typically) Graphics Processors, Optimized for Graphics and Video Processing Full Custom Circuits optimized to perform certain tasks Processors optimized in digital signal processing (audio, video, filters, etc.) Programmable hardware; technology enables user to activate certain configurations to perform logic and arithmetic functions, control and signal transmission ECE 664 L1. Introduction.14 Theocharides, 2010
The world of digital integrated circuits beyond the microprocessor! Integrated Circuits Full-Custom ASICs Semi-Custom ASICs User Programmable PLD FPGA PAL PLA PML LUT (Look-Up Table) MUX Gates ECE 664 L1. Introduction.15 Theocharides, 2010
What is an FPGA? Configurable Logic Blocks Block RAMs Block RAMs I/O Blocks Block RAMs ECE 664 L1. Introduction.16 Theocharides, 2010
What characterizes Reconfigurable Computing? Parallelism, specialization, hardware-level adaptation Parallelism customized to meet design objectives Logic specialized to perform specific function Functionality changed as problem requirements change ECE 664 L1. Introduction.17 Theocharides, 2010
Microprocessor v.s. ASIC For a given function, we can implement it by using a general purpose microprocessor or by designing an ASIC Microprocessor Full-Custom 1. General purpose 1. Application specific 2. Flexible and easy to update by loading new software 3. Typically, the performance is not optimized for a given task 2. Less flexible and almost impossible to Update unless the ASIC contains programmable circuits 3. Normally, optimal performance ECE 664 L1. Introduction.18 Theocharides, 2010
Microprocessor-based Systems (Temporal) Data Storage (Register File) A B C ALU 64 Generalized to perform many functions well. Operates on fixed data sizes. Inherently sequential - Constrained even with multiple data paths. ECE 664 L1. Introduction.19 Theocharides, 2010
How Does A Microprocessor Work? First, an instruction is fetched into the microprocessor Second, the instruction is decoded for execution Finally, the instruction is executed. ECE 664 L1. Introduction.20 Theocharides, 2010
Reconfigurable architectures can be easily modified to achieve optimal performance for a given application. Example: calculate Y = A X 2 + B X + C FPGA General purpose microprocessor 14-21 ECE 664 L1. Introduction.21 Theocharides, 2010
Reconfigurable Computing if (A > B) { H = A; L = B; } else { H = B; L = A; } A Functional Unit H B L Create specialized hardware for each application. Functional units optimized to perform a special task. ECE 664 L1. Introduction.22 Theocharides, 2010
Example: Bubblesort Problem (Spatial) A B A B H L H L A B A B H L H L A H B L Smallest Largest Adapt interconnect to problem. Take advantage of parallelism. ECE 664 L1. Introduction.23 Theocharides, 2010
Implementation Spectrum Microprocessor Reconfigurable Hardware ASIC ASIC gives high performance at cost of inflexibility. Processor is very flexible but not tuned to the application. Reconfigurable hardware is a nice compromise. ECE 664 L1. Introduction.24 Theocharides, 2010
Reconfigurable Hardware A B C D Look-up table (LUT) Out A B C D = out Each LUT operates on four one-bit inputs. Output is one data bit. Can perform any boolean function of four inputs 2 4 2 = 64K functions (4096 patterns) ECE 664 L1. Introduction.25 Theocharides, 2010
Logic Element Inputs Look-Up Table (LUT) Out Clock State Enable ECE 664 L1. Introduction.26 Theocharides, 2010
Field-Programmable Gate Array Logic Element Tracks LE LE LE LE LE LE LE LE LE LE LE LE Each logic element outputs one data bit. Interconnect programmable between elements. Interconnect tracks grouped into channels. ECE 664 L1. Introduction.27 Theocharides, 2010
FPGA Architecture Issues Logic Element Need to explore architectural issues. How much functionality should go in a logic element? How many routing tracks per channel? Switch population? ECE 664 L1. Introduction.28 Theocharides, 2010
FPGA Advantages Manufacturing cycle for ASIC is very costly, lengthy and engages lots of manpower Mistakes not detected at design time have large impact on development time and cost FPGAs are perfect for rapid prototyping of digital circuits Easy upgrades like in case of software Unique applications reconfigurable computing ECE 664 L1. Introduction.29 Theocharides, 2010
Major FPGA Vendors SRAM-based FPGAs Xilinx, Inc. Altera Corp. Share over 60% of the market Atmel Lattice Semiconductor Flash & antifuse FPGAs Actel Corp. Quick Logic Corp. ECE 664 L1. Introduction.30 Theocharides, 2010
Xilinx Primary products: FPGAs and the associated CAD software Programmable Logic Devices ISE Alliance and Foundation Series Design Software Main headquarters in San Jose, CA Fabless* Semiconductor and Software Company UMC (Taiwan) {*Xilinx acquired an equity stake in UMC in 1996} Seiko Epson (Japan) TSMC (Taiwan) ECE 664 L1. Introduction.31 Theocharides, 2010
Xilinx FPGA Families Old families XC3000, XC4000, XC5200 Old 0.5µm, 0.35µm and 0.25µm technology. Not recommended for modern designs. High-performance families Virtex (0.22µm) Virtex-E, Virtex-EM (0.18µm) Virtex-II, Virtex-II PRO (0.13µm) Virtex-4 (0.09µm) Low Cost Family Spartan/XL derived from XC4000 Spartan-II derived from Virtex Spartan-IIE derived from Virtex-E Spartan-3 ECE 664 L1. Introduction.32 Theocharides, 2010
Desktop Megaprocessor Computer ECE 664 L1. Introduction.33 Theocharides, 2010
So...what can we do with FPGAs? ECE 664 L1. Introduction.34 Theocharides, 2010