Introduction to Field Programmable Gate Arrays Robert Trausmuth • Email

Introduction to Field Programmable Gate Arrays Robert Trausmuth • Email

Introduction to Field Programmable Gate gineering n Arrays E Robert Trausmuth Wiener Neustadt University of Applied Sciences Summer 2006 mputer o C Wiener Neustadt University of Applied Sciences, Austria Robert Trausmuth • email: [email protected] • phone: +43.2622.89084.240 • fax: +43.2622.89084.99 • http://www.fhwn.ac.at/ gineering n E mputer o C Wiener Neustadt University of Applied Sciences, Austria 2 1 Outline • Introduction to FPGA • FPGA history • basic FPGA structure • how to program FPGAs (VHDL) • platform FPGAs gineering • on-chip bus system n E • hardware/software codesign • techniques for parallel processing mputer o C Wiener Neustadt University of Applied Sciences, Austria 3 (traditional) design flow of logic circuits • Determine the logic behavior (truth table) • Simplify (Karnaugh maps) • Select proper Integrated Circuits • Develop Printed Ciruit Board • Build prototype and test it gineering n E Technical limits through Large Scale Integration (LSI) and VLSI technique mputer o C Wiener Neustadt University of Applied Sciences, Austria 4 2 Why are they called logic circuits? • Logic: The study of the principles of reasoning. • The 19th Century Mathematician, George Boole, developed a mathematical system (algebra) involving logic, Boolean Algebra. • His variables took on TRUE, FALSE • Later Claude Shannon (father of information gineering theory) showed how to n map Boolean Algebra E to digital circuits: mputer o C Wiener Neustadt University of Applied Sciences, Austria 5 FPGA • Field Programmable Gate Array – Control Logic Blocks (CLBs) – Can be combined as needed – Logic circuits are implemented as „program“ gineering „Programmable Hardware“ n E mputer o C Wiener Neustadt University of Applied Sciences, Austria 6 3 A brief history in time • Logic circuits have been implemented in discrete elements (gates) • Around 1960 a new idea was born: – Set up the gates and build controllable interconnections in between • 1985 first FPGA-chip (XILINX) gineering n E • alternative: ASIC (Application Specific Integrated Circuit) mputer o C Wiener Neustadt University of Applied Sciences, Austria 7 Why programmable logic? • By the early 1980’s most of the logic circuits in typical systems where absorbed by a handful of standard large scale integrated circuits (LSI). – Microprocessors, bus/IO controllers, system timers, ... • Every system still had the need for random “glue logic” to help connect the large ICs: – generating global control signals (for resets etc.) – data formatting (serial to parallel, multiplexing, etc.) gineering n E • Systems had a few LSI components and lots of small low density SSI (small scale IC) and MSI mputer o (medium scale IC) components. C Wiener Neustadt University of Applied Sciences, Austria 8 4 Why programmable logic? • Custom ICs (ASICs) sometimes designed to replace the large amount of glue logic: – reduced system complexity and manufacturing cost, improved performance. – However, custom ICs are relatively very expensive to develop, and delay introduction of product to market (time to market) because of increased design time. • Note: need to worry about two kinds of costs: gineering 1. cost of development, sometimes called non-recurring n engineering (NRE) E 2. cost of manufacturing – A tradeoff usually exists between NRE cost and manufacturing costs mputer o C Wiener Neustadt University of Applied Sciences, Austria 9 Why programmable logic? • Custom IC approach only viable for products – very high volume (where NRE could be amortized), – not time to market sensitive. total A costs B gineering A FPGA n E NRE B ASIC number of units manufactured (volume) mputer o C Wiener Neustadt University of Applied Sciences, Austria 10 5 Why programmable logic? • FPGAs introduced as an alternative to custom ICs for implementing glue logic: – improved density relative to discrete SSI/MSI components (within around 10x of custom ICs) – with the aid of computer aided design (CAD) tools circuits could be implemented in a short amount of time (no physical layout process, no mask making, no IC manufacturing), relative to ASICs. • lowers NREs • shortens TTM gineering n E • Because of Moore’s law the density (gates/area) of FPGAs continued to grow through the 80’s and 90’s to the point where major data processing functions can be implemented on a single FPGA. mputer o C Wiener Neustadt University of Applied Sciences, Austria 11 Programmable Logic Devices • PLDs – AND/OR matrix – Additional inverters and registers (flip flops) – PLA (AND free, OR free) – PAL (AND free, OR fixed) gineering – PROM (AND fixed, OR free) n E mputer o C Wiener Neustadt University of Applied Sciences, Austria 12 6 Programmable logic arrays (PLAs) • Pre-fabricated building block of many AND/OR gates – Actually NOR or NAND – ”Personalized" by making or breaking connections among gates – Programmable array block diagram for sum of gineering products form n E mputer o C Wiener Neustadt University of Applied Sciences, Austria 13 Programmable logic arrays (PLAs) a b c Predefined link Programmable link e N/A l & b y a a r m N/A r m & a a r R N/A g O & o r l l l a !a b !b c !c P Predefined AND array gineering w x y n E mputer o C Wiener Neustadt University of Applied Sciences, Austria 14 7 Programmable Logic • Program (permanent) connections by – Breaking connections (blowing fuses) – Making connections (antifuses) radiation hard! – Writing EEPROM cells (rewritable) gineering n – Using RAM cells (volatile) E • “booting” the chip • easy reconfigurable (even during operation!) mputer o C Wiener Neustadt University of Applied Sciences, Austria 15 Programmable logic Predominantly Technology Symbol associated with ... Fusible-link SPLDs Antifuse FPGAs EPROM SPLDs and CPLDs E2PROM/ SPLDs and CPLDs FLASH (some FPGAs) SRAM SRAM FPGAs (some CPLDs) gineering n E Amorphous silicon column Polysilicon via Metal Oxide Metal Substrate (a) Before programming (b) After programming mputer o C Wiener Neustadt University of Applied Sciences, Austria 16 8 Complex Programmable Logic Devices • CPLDs – Combination of a few PLAs and programmable interconnection lines – Good for fast logic implementation – Only few registers gineering n E mputer o C Wiener Neustadt University of Applied Sciences, Austria 17 Field Programmable Gate Arrays • FPGAs – Fine grained logic blocks – Special I/O blocks – Programmable switching matrix and lots of connection lines gineering n E Programmable interconnect Programmable logic blocks mputer o C Wiener Neustadt University of Applied Sciences, Austria 18 9 Example: Spartan II architecture gineering n E mputer o C Wiener Neustadt University of Applied Sciences, Austria 19 Switch matrix detail gineering n E mputer o C Wiener Neustadt University of Applied Sciences, Austria 20 10 Switch matrix detail gineering n E mputer o C Wiener Neustadt University of Applied Sciences, Austria 21 Basic logic cell • 16 bit shift register or • 16 bit RAM or • 4 to 1 lookup table 16-bit SR 16x1 RAM a 4-input b LUT y c mux • multiplexer d flip-flop q e gineering • 1 bit register clock n clock enable E set/reset mputer o C Wiener Neustadt University of Applied Sciences, Austria 22 11 Control Logic Block • Consists of several logic cells Configurable logic block (CLB) Slice Slice CLB CLB Logic cell Logic cell Logic cell Logic cell Slice Slice gineering CLB CLB Logic cell Logic cell n E Logic cell Logic cell mputer o C Wiener Neustadt University of Applied Sciences, Austria 23 CLB detail gineering n E mputer o C Wiener Neustadt University of Applied Sciences, Austria 24 12 IOB detail gineering n E mputer o C Wiener Neustadt University of Applied Sciences, Austria 25 How to program FPGAs gineering n E mputer o C Wiener Neustadt University of Applied Sciences, Austria 26 13 FPGA design flow • Design Entry: – Create your design files using: • schematic editor or • hardware description language (Verilog, VHDL) • Design “implementation” on FPGA: – Partition, place, and route to create bit-stream file • Design verification: gineering – Use high language executable functional model (C/C++) n E – Use Simulator to check VHDL function – other software determines max clock frequency – Load onto FPGA device (cable connects PC to development board) mputer • check operation at full speed in real environment. o C Wiener Neustadt University of Applied Sciences, Austria 27 The VHDL language • Hardware Description Language (HDL) – High-level language for to model, simulate, and synthesize digital circuits and systems. – Not all VHDL statements are synthesizable! • History – 1980: US Department of Defense starts Very High gineering Speed Integrated Circuit program (VHSIC) n – 1987: Institute of Electrical and Electronics Engineers E ratifies IEEE Standard 1076 (VHDL’87) – 1993: VHDL language was revised and updated mputer o C Wiener Neustadt University of Applied Sciences, Austria 28 14 Terminology • Behavioral modeling – Describes the functionality of a component/system – For the purpose of simulation and synthesis • Structural modeling – A component is described by the gineering interconnection of lower level n E components/primitives – For the purpose of synthesis and simulation mputer o C Wiener Neustadt University of Applied Sciences, Austria 29 VHDL concepts • Hierarchy – Self-contained components • Abstraction – Behavioral description – Structural description – Data flow description gineering n E • Code Reuse – libraries mputer o C Wiener Neustadt University of Applied Sciences, Austria 30 15 VHDL entity • Black box from outside • Only the interface is described

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    38 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us