Lecture 3 1 ECE 412: Microcomputer Laboratory Lecture 3: Introduction to FPGAs.

Slides:



Advertisements
Similar presentations
FPGA (Field Programmable Gate Array)
Advertisements

Introduction to Programmable Logic John Coughlan RAL Technology Department Electronics Division.
ECE 506 Reconfigurable Computing ece. arizona
Xilinx CPLDs and FPGAs Module F2-1. CPLDs and FPGAs XC9500 CPLD XC4000 FPGA Spartan FPGA Spartan II FPGA Virtex FPGA.
Survey of Reconfigurable Logic Technologies
Programmable Logic Devices
Spartan II Features  Plentiful logic and memory resources –15K to 200K system gates (up to 5,292 logic cells) –Up to 57 Kb block RAM storage  Flexible.
Graduate Computer Architecture I Lecture 15: Intro to Reconfigurable Devices.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR SRAM-based FPGA n SRAM-based LE –Registers in logic elements –LUT-based logic element.
PLD Technology Basics. Basic PAL Architecture DQ Q CLK OE Fuse.
EECE579: Digital Design Flows
Implementing Logic Gates and Circuits Discussion D5.1.
Implementing Logic Gates and Circuits Discussion D5.3 Section 11-2.
Lecture 2: Field Programmable Gate Arrays I September 5, 2013 ECE 636 Reconfigurable Computing Lecture 2 Field Programmable Gate Arrays I.
ENGIN112 L38: Programmable Logic December 5, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 38 Programmable Logic.
The Spartan 3e FPGA. CS/EE 3710 The Spartan 3e FPGA  What’s inside the chip? How does it implement random logic? What other features can you use?  What.
Configurable System-on-Chip: Xilinx EDK
Evolution of implementation technologies
Programmable logic and FPGA
XC6200 Family FPGAs By: Ahmad Alsolaim Alsolaim.
Multiplexers, Decoders, and Programmable Logic Devices
February 4, 2002 John Wawrzynek
ECE 331 – Digital System Design Tristate Buffers, Read-Only Memories and Programmable Logic Devices (Lecture #16) The slides included herein were taken.
1. 2 FPGAs Historically, FPGA architectures and companies began around the same time as CPLDs FPGAs are closer to “programmable ASICs” -- large emphasis.
Programmable Array Logic (PAL) Fixed OR array programmable AND array Fixed OR array programmable AND array Easy to program Easy to program Poor flexibility.
CS 151 Digital Systems Design Lecture 38 Programmable Logic.
Introduction to FPGA’s FPGA (Field Programmable Gate Array) –ASIC chips provide the highest performance, but can only perform the function they were designed.
Lecture 7 Lecture 7: Hardware/Software Systems on the XUP Board ECE 412: Microcomputer Laboratory.
General FPGA Architecture Field Programmable Gate Array.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Section I Introduction to Xilinx
Lecture 2: Field Programmable Gate Arrays September 13, 2004 ECE 697F Reconfigurable Computing Lecture 2 Field Programmable Gate Arrays.
EE4OI4 Engineering Design Programmable Logic Technology.
Section II Basic PLD Architecture. Section II Agenda  Basic PLD Architecture —XC9500 and XC4000 Hardware Architectures —Foundation and Alliance Series.
Ch.9 CPLD/FPGA Design TAIST ICTES Program VLSI Design Methodology Hiroaki Kunieda Tokyo Institute of Technology.
Open Discussion of Design Flow Today’s task: Design an ASIC that will drive a TV cell phone Exercise objective: Importance of codesign.
Electronics in High Energy Physics Introduction to Electronics in HEP Field Programmable Gate Arrays Part 1 based on the lecture of S.Haas.
System Arch 2008 (Fire Tom Wada) /10/9 Field Programmable Gate Array.
CSET 4650 Field Programmable Logic Devices
J. Christiansen, CERN - EP/MIC
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR FPGA Fabric n Elements of an FPGA fabric –Logic element –Placement –Wiring –I/O.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n FPGA fabric architecture concepts.
Programmable Logic Devices
Introduction to FPGA Created & Presented By Ali Masoudi For Advanced Digital Communication Lab (ADC-Lab) At Isfahan University Of technology (IUT) Department.
Field Programmable Gate Arrays (FPGAs) An Enabling Technology.
Basic Sequential Components CT101 – Computing Systems Organization.
BR 1/991 Issues in FPGA Technologies Complexity of Logic Element –How many inputs/outputs for the logic element? –Does the basic logic element contain.
EE3A1 Computer Hardware and Digital Design
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU FPGA Design with Xilinx ISE Presenter: Shu-yen Lin Advisor: Prof. An-Yeu Wu 2005/6/6.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
FPGA Based System Design
M.Mohajjel. Why? TTM (Time-to-market) Prototyping Reconfigurable and Custom Computing 2Digital System Design.
ESS | FPGA for Dummies | | Maurizio Donna FPGA for Dummies Basic FPGA architecture.
FPGA-Based System Design: Chapter 1 Copyright  2004 Prentice Hall PTR Moore’s Law n Gordon Moore: co-founder of Intel. n Predicted that number of transistors.
Introduction to Field Programmable Gate Arrays Lecture 1/3 CERN Accelerator School on Digital Signal Processing Sigtuna, Sweden, 31 May – 9 June 2007 Javier.
Survey of Reconfigurable Logic Technologies
EE121 John Wakerly Lecture #15
Delivered by.. Love Jain p08ec907. Design Styles  Full-custom  Cell-based  Gate array  Programmable logic Field programmable gate array (FPGA)
FPGA Field Programmable Gate Arrays Shiraz University of shiraz spring 2012.
Reconfigurable Architectures Greg Stitt ECE Department University of Florida.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n FPGA fabric architecture concepts.
Introduction to Field Programmable Gate Arrays (FPGAs) EDL Spring 2016 Johns Hopkins University Electrical and Computer Engineering March 2, 2016.
FPGA Technology Overview Carl Lebsack * Some slides are from the “Programmable Logic” lecture slides by Dr. Morris Chang.
ETE Digital Electronics
Topics SRAM-based FPGA fabrics: Xilinx. Altera..
Electronics for Physicists
We will be studying the architecture of XC3000.
Electronics for Physicists
Programmable logic and FPGA
Reconfigurable Computing (EN2911X, Fall07)
Presentation transcript:

Lecture 3 1 ECE 412: Microcomputer Laboratory Lecture 3: Introduction to FPGAs

Lecture 3 2 Objectives Understand the basics of how FPGAs work –So that the CAD tools make sense to you

Lecture 3 3 Review Questions This semester, as quiz preparation, I hope to begin each lecture with one or two questions based on the last lecture’s material. The answers will be included, and both posted on the web in the LECTURES portion, as usual. We will spend a few minutes discussing the answers, and any other issues or items not clear from the earlier lectures; feel free to ask anything!

Lecture 3 4 Programmable Logic Device Advantages Short TAT (total turnaround time) No or very low NRE (non-recurring expenses ) Field-reprogrammable Platform-based design

Lecture 3 5 Today - Two Major Types of Programmable Logic CPLD (complex programmable logic device) –coarse-grained two-level AND-OR programmable logic arrays (PLAs) –fast and more predictable delay –simpler interconnect structures FPGA (field programmable gate array) –fine-grained logic cells –high logic density –good design flexibility

Lecture 3 6 A Generic FPGA Architecture Programmable IO K LUT Inputs D FF Clock Out BLE # 1 BLE # N N Outputs I Inputs Clock I N Programmable Logic (CLB) Programmable Routing

Lecture 3 7 Conceptual Structure of a Logic Block and Its Peripheral

Lecture 3 8 An Implementation of a 4-input Look-up Table (4-LUT) Out = f (in0, in1, in2, in3) In0In1In2In3 Out … 16 SRAMs

Lecture 3 9 Interconnect 2-Dimensional mesh of wires, with switching elements at wire crossings to control routing –Bit patterns stored into the switch SRAMs determine routing –Switch connections programmed as part of configuring array To optimize for speed, many designs include multiple lengths of wire –Single-length (connect adjacent switches) –Double-length (connect to switches two hops away) Long lines (run entire length/width of array)

Lecture 3 10 Interconnects Architecture parameters channel width (W), switch block flexibility (Fs – the number of wires to which each incoming wire can connect in a switch block), connection block flexibility (Fc – the number of wires in each channel to which a logic block input or output pin can connect), and segmented wire lengths (the number of logic blocks a wire segment spans).

Commercial FPGAs Commercial FPGA chips contain a large amount of dedicated interconnects with different fixed lengths. These interconnects are usually point-to-point and uni-directional connections for performance improvement. There are dedicated carry chain and register chain interconnects within and between logic blocks as well. Dedicated interconnects in Xilinx’s Spartan-3E An 8-bit carry-select adder in Altera ’ s Stratix

Commercial FPGAs Modern FPGAs also provide embedded IP cores, such as memories, DSP blocks, and processors, to facilitate the implementation of system-on-a-chip (SoC) designs.

Lecture 3 13 Xilinx CLB – a.k.a. “Slice” input variables control variables clock output registers

Lecture 3 14 Input-Output Blocks One IOB per FPGA pin –Allows pin to be used as input, output, or bidirectional (tri-state) Inputs –Direct –Registered –Drive dedicated decoder logic for address recognition IOB may also include logic for boundary scan (JTAG)

Lecture 3 15 Xilinx IOB tri-state output buffer input output

A Typical FPGA Design Flow (1) RTL design RTL elaboration Architecture - independent optimization Technology mapping and architecture- specificoptimization Placement- driven optimization and incrementalplacement Routing Bitstream generation Clustering and placement Bitstream RTL design  The most widely used design specification languages are Verilog or VHDL at the register transfer (RT) level  New trend toward moving to specification at a higher level of abstraction, where a behavior synthesis tool is used to generate the RTL specification in Verilog or VHDL RTL elaboration  This identifies and/or infers datapath operations, such as additions, multiplications, register files, and/or memory blocks, and control logic

Architecture-independent optimization –Datapath optimization –Control logic optimization Technology mapping and architecture-specific optimization –Datapath to on-chip dedicated circuit structures –Control logic to basic programmable logic elements (BLEs) –Datapath operations to BLEs RTL design RTL elaboration Architecture - independent optimization Technology mapping and architecture- specificoptimization Placement- driven optimization and incrementalplacement Routing Bitstream generation Clustering and placement Bitstream A Typical FPGA Design Flow (2)

Clustering and placement –Clustering and placement can be carried out separately or simultaneously Placement-driven optimization and incremental placement –Deal with interconnects bottleneck –Incremental placement to legalize Routing –Global routing and detail routing RTL design RTL elaboration Architecture - independent optimization Technology mapping and architecture- specificoptimization Placement- driven optimization and incrementalplacement Routing Bitstream generation Clustering and placement Bitstream A Typical FPGA Design Flow (3)

Lecture 3 19 FPGAs -- Pros Reasonably Cheap at low volume –Good for low-volume parts, more expensive than IC for high-volume parts –Can migrate from SRAM based to fuse based when volume ramps up Short Design Cycle (~1sec programming time) Reprogrammable –Can download bug fix into units you’ve already shipped Large capacity (millions of gates, though we won’t use any that big) –FPGAs in the lab are “rated” at ~1M gates for 30K LE’s More flexible than PLDs -- can have internal state

Lecture 3 20 FPGA’s -- Cons Lower capacity, speed and higher power consumption than building an ASIC –Sub-optimal mapping of logic into CLB’s – often 60% utilization –Much lower clock frequency than max CLB toggle rate – often 40% –Less dense layout and placement and slower operation due to programmability Overhead of configurable interconnect and logic blocks CPLDs may be faster than FPGA for designs they can handle

Lecture 3 21 Evolution of the FPGA Early FPGAs used mainly for “glue logic” between other components –Simple CLBs, small number of inputs –Focus was on implementing “random” logic efficiently As capacities grew, other applications emerged –FPGAs as alternative to custom IC’s for entire applications –Computing with FPGAs FPGAs have changed to meet new application demands –Carry chains, better support for multi-bit operations –Integrated memories, such as the block RAMs in the devices we’ll use –Specialized units, such as multipliers, to implement functions that are slow/inefficient in CLBs –Newer devices incorporate entire CPUs: Xilinx Virtex device family has 1-4 Power PC CPUs Devices that don’t have CPU hardware generally support synthesized CPUs

Lecture 3 22 Next Lecture Introduction to VHDL