Digital Circuit Design on FPGA

Slides:



Advertisements
Similar presentations
Day - 3 EL-313: Samar Ansari. INTEGRATED CIRCUITS Integrated Circuit Design Methodology EL-313: Samar Ansari Programmable Logic Programmable Array Logic.
Advertisements

FPGA (Field Programmable Gate Array)
Introduction to Programmable Logic John Coughlan RAL Technology Department Electronics Division.
Survey of Reconfigurable Logic Technologies
Programmable Logic 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.
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.
Programmable logic and FPGA
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.
An Introduction to FPGA and SOPC Development Board Yong Wang.
CS 151 Digital Systems Design Lecture 38 Programmable Logic.
General FPGA Architecture Field Programmable Gate Array.
EE 261 – Introduction to Logic Circuits Module #8 Page 1 EE 261 – Introduction to Logic Circuits Module #8 – Programmable Logic & Memory Topics A.Programmable.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Storey: Electrical & Electronic Systems © Pearson Education Limited 2004 OHT 27.1 Implementing Digital Systems  Introduction  Semiconductor Memory 
BR 1/001 Implementation Technologies We can implement a design with many different implementation technologies - different implementation technologies.
Lecture 2: Field Programmable Gate Arrays September 13, 2004 ECE 697F Reconfigurable Computing Lecture 2 Field Programmable Gate Arrays.
EET 252 Unit 4 Programmable Logic: SPLDs & CPLDs  Read Floyd, Sections 11-1 to  Study Unit 4 e-Lesson.  Do Lab #4.  Homework #4 and Lab #4 due.
EE4OI4 Engineering Design Programmable Logic Technology.
FPGA Architecture.
EGRE 427 Advanced Digital Design Figures from Application-Specific Integrated Circuits, Michael John Sebastian Smith, Addison Wesley, 1997 Chapter 4 Programmable.
Introduction to Programmable Logic Devices John Coughlan RAL Technology Department Electronics Division.
Electronics in High Energy Physics Introduction to Electronics in HEP Field Programmable Gate Arrays Part 1 based on the lecture of S.Haas.
PROGRAMMABLE LOGIC DEVICES (PLD)
CPLD (Complex Programmable Logic Device)
Memory and Programmable Logic Memory device: Device to which binary information is transferred for storage, and from which information is available for.
1 Moore’s Law in Microprocessors Pentium® proc P Year Transistors.
Modern VLSI Design 4e: Chapter 6 Copyright  2008 Wayne Wolf Topics Memories: –ROM; –SRAM; –DRAM; –Flash. Image sensors. FPGAs. PLAs.
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
Chapter 4 Programmable Logic Devices: CPLDs with VHDL Design Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey All rights.
Introduction to Programmable Logic Devices John Coughlan STFC Technology Department Detector & Electronics Division.
Sept. 2005EE37E Adv. Digital Electronics Lesson 1 CPLDs and FPGAs: Technology and Design Features.
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.
ECE 3110: Introduction to Digital Systems Introduction (Contd.)
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
Programmable Logic Devices
Advanced FPGA Based System Design
CPLD Vs. FPGA Positioning Presentation
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.
Programmable Logic Device Architectures
Delivered by.. Love Jain p08ec907. Design Styles  Full-custom  Cell-based  Gate array  Programmable logic Field programmable gate array (FPGA)
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.
3-1 MKE1503/MEE10203 Programmable Electronics Computer Engineering Department Faculty of Electrical and Electronic Universiti Tun Hussein Onn Malaysia.
FPGA Technology Overview Carl Lebsack * Some slides are from the “Programmable Logic” lecture slides by Dr. Morris Chang.
Rapid Prototyping with PLDs 4 th & 7 th October 2005.
FPGA 상명대학교 소프트웨어학부 2007년 1학기.
Programmable Logic Devices
Introduction to ASICs ASIC - Application Specific Integrated Circuit
ETE Digital Electronics
Programmable Logic Devices
Sequential Programmable Devices
Topics SRAM-based FPGA fabrics: Xilinx. Altera..
An Introduction to FPGA and SOPC Development Board
Electronics for Physicists
Chapter 13 – Programmable Logic Device Architectures
HIGH LEVEL SYNTHESIS.
Electronics for Physicists
Programmable logic and FPGA
Presentation transcript:

Digital Circuit Design on FPGA Nattha Jindapetch November 2008

Agenda Design trends Programmable logic FPGA design flow & Tools LABs IC technology revolution Design styles System integration Programmable logic FPGA design flow & Tools LABs

IC Technology Revolution

Invention of the Transistor 1947: first point contact transistor at Bell Labs

The First Integrated Circuit 1966: ECL 3-Input gate at Motorola

MOS Integrated Circuits 1970’s processes usually had only nMOS transistors Inexpensive, but consume power while idle Intel 1101 256-bit SRAM Intel 4004 4-bit Proc 1000 Trs, 1 MHz operation

High Performance Processors 2001: Intel Pentium Microprocessor 42 M transistors, 1.5 GHz operation CMOS, Low power

Moore’s Law Transistor counts have doubled every 2 years Integration Levels SSI: 10 gates MSI: 1000 gates LSI: 10,000 gates VLSI: > 10k gates

Corollaries Many other factors grow exponentially Ex: clock frequency, processor performance

Evolution of a Revolution www.intel.com

Design Styles

Design Styles Full-custom ASIC Cell-based ASIC Gate array Programmable logic Field programmable gate array (FPGA) Programmable logic device (PLD) Complex PLD (CPLD)

Full-Custom ASIC layout-based the designer draws each polygon “by hand” More compact design but longer design time only for analogue and high(est) volumes

Cell-Based ASIC used predefined building blocks (“cells”) designer creates a schematic that interconnects these cells layout = placement & interconnection of cells for “functionality” or “time-to market” driven design

Gate Array Each chip is prefabricated with an array of identical gates or cells. The chip is “customized” by fabricating routing layers on top. Time to market, cost

Field programmable gate array Chips are prefabricated with logic blocks and interconnects. Logic and interconnects can be programmed (erased and reprogrammed) by users. No fabrication is needed. Cost efficient for medium complexity (< 1M gates) designs

PLD and CPLD Programmable Logic Device (PLD, PLA, PAL, ...) AND-OR combinatorial logic, plus FF designer writes Boolean equations Small complexity only Complex PLD (CPLD) several PLD blocks programmable interconnection matrix

Trends in Design styles More complex system Digital and Analog IC (Mixed Signal) Hardware and Software Co-design SoC, SoPC Resulting in … Higher abstract design level Advanced design tools to automate complex designs Short design time to compete market share

Why HW/SW Co-design? Hardware (ASIC, FPGA) Software (Processor) Fast But very expensive Software (Processor) Flexible But slow Hardware + Software = Good solution? Requirements?

Example of Digital Camera

System Integration

System Integration MCM: Multi-Chip-Module

Benefits Less components Less inter-chip interconnects Component costs Board size and cost Assembly and testing costs Less inter-chip interconnects Reliability Power consumption Board design, fabrication and assembly costs Smaller system volume (in cm2) and weight Higher integration rate Smaller case costs Smaller transport costs In high volumes (in pcs), also lower circuit costs

SoP System-on-Package (SoP) or System-in-Package (SiP) are advanced multi-chip packaging technology complementing SoC.

SoC System-on-Chip –one term, many definitions “IBM definition”: a single-chip system containing analog, digital and MEMS (micro-electro-mechanical system) parts “Lucent definition”: a single-chip system containing analog and digital parts “Synopsys definition”: a single-chip digital system SoC, System-on-Chip is a relatively complex standalone system on a single semiconductor chip containing at least one processor, maybe some analog or even electro-mechanical parts, where the design needs to address on-chip communication

SoPC System-on-a-Programmable Chip (SOPC) term coined by Synopsys SoPC is a FPGA technology based user programmable solution P&R and programming done by the user No delay on prototype production No delay on mass production start No NRE (production start) costs Production tests done by the IC vendor Design resource and time savings in the design flow Quick and cheap modifications

SoC vs SoPC SoC manufacturing is costly Foundries more and more expensive Mask costs for fine-grain lithography are increasing Silicon vendors concentrate on big customers with big quantities Very few multi-project prototype services available Malfunction will cost a lot of money and time Full-wafer prototype round may cost even 500,000 ... 1M € FPGA-type solutions are also evolving On-chip processor cores Multi-million gate capacity Some vendors also provide coarse-grain reconfigurability FPGA-based SoC-type platforms thus have a growing niche

Programmable Logic

Programmable Logic Types of programmable logic: Programmable digital integrated circuit Standard off-the-shelf parts Desired functionality is implemented by configuring on-chip logic blocks and interconnections Advantages (compared to an ASIC): Low development costs Short development cycle Device can (usually) be reprogrammed Types of programmable logic: Complex PLDs (CPLD) Field programmable Gate Arrays (FPGA)

CPLD Architecture and Examples

Programmable switch or fuse PLD - Sum of Products Programmable AND array followed by fixed fan-in OR gates A B C AND plane Programmable switch or fuse

PLD - Macrocell Can implement combinational or sequential logic A B C Flip-flop Select Enable D Q Clock AND plane MUX The addition of a flip-flop and multiplexer allows implementation of both combinational and sequential logic. MUX selects combinational or sequential logic The output can be feed back into AND plane to be used as input to other cells. This allows the implementation of circuits that have multiple stages of logic gates and registers.

Interconnection Matrix CPLD Structure Integration of several PLD blocks with a programmable interconnect on a single chip PLD Block Interconnection Matrix I/O Block Basic PLDs can only implement designs of fairly modest sizes. The basic concept of a CPLD is many PLD blocks resident in one device with a high level of programmable connectivity

CPLD Example – Altera MAX7000 EPM7000 Series Block Diagram

CPLD Example –Altera MAX7000 EPM7000 Series Device Macrocell

FPGA Architecture

FPGA - Generic Structure I/O Logic block Interconnection switches FPGA building blocks: Programmable logic blocks Implement combinatorial and sequential logic Programmable interconnect Wires to connect inputs and outputs to logic blocks Programmable I/O blocks Special logic blocks at the periphery of device for external connections

Other FPGA Building Blocks Clock distribution Embedded memory blocks Special purpose blocks: DSP blocks: Hardware multipliers, adders and registers Embedded microprocessors/microcontrollers High-speed serial transceivers

FPGA – Basic Logic Element LUT to implement combinatorial logic Register for sequential circuits Additional logic (not shown): Carry logic for arithmetic functions Expansion logic for functions requiring more than 4 inputs LUT Out Select D Q A B C Clock

Look-Up Tables (LUT) Look-up table with N-inputs can be used to implement any combinatorial function of N inputs LUT is programmed with the truth-table LUT A B C D Z Truth-table Gate implementation LUT implementation

LUT Implementation Example: 3-input LUT 0/1 X1 X2 X3 F Example: 3-input LUT Based on multiplexers (pass transistors) LUT entries stored in configuration memory cells Configuration memory cells

Programmable Interconnect Interconnect hierarchy (not shown) Fast local interconnect Horizontal and vertical lines of various lengths LE Switch Matrix Switch Matrix

Switch Matrix Operation After Programming Before Programming 6 pass transistors per switch matrix interconnect point Pass transistors act as programmable switches Pass transistor gates are driven by configuration memory cells

Special Features Clock management PLL,DLL Eliminate clock skew between external clock input and on-chip clock Low-skew global clock distribution network Support for various interface standards High-speed serial I/Os Embedded processor cores DSP blocks

Configuration Storage Elements Static Random Access Memory (SRAM) each switch is a pass transistor controlled by the state of an SRAM bit FPGA needs to be configured at power-on Flash Erasable Programmable ROM (Flash) each switch is a floating-gate transistor that can be turned off by injecting charge onto its gate. FPGA itself holds the program reprogrammable, even in-circuit Fusible Links (“Antifuse”) Forms a forms a low resistance path when electrically programmed one-time programmable in special programming machine radiation tolerant

FPGA Vendors & Device Families Xilinx Virtex-II/Virtex-4: Feature-packed high-performance SRAM-based FPGA Spartan 3: low-cost feature reduced version CoolRunner: CPLDs Altera Stratix/Stratix-II High-performance SRAM-based FPGAs Cyclone/Cyclone-II Low-cost feature reduced version for cost-critical applications MAX3000/7000 CPLDs MAX-II: Flash-based FPGA Actel Anti-fuse based FPGAs Radiation tolerant Flash-based FPGAs Lattice CPLDs (EEPROM) QuickLogic ViaLink-based FPGAs

State of the Art in FPGAs Xilinx’s top of the line FPGA 65nm process technology 550MHz RAM blocks 6-input LUTs Serial connectivity Ethernet MACs Rocket I/O serial 6.5 GBps PCI Express endpoint Enhanced DSP blocks (25x18-bit MAC) 1760 pin BGA with 1200 I/O EasyPath

FPGA Design Flow Xilinx Design Flow This slide lists the major stages of implementing a design into a Xilinx device. The implementation stage consists of three steps, which will be discussed later in this presentation. Although simulation points can happen in other parts of the design cycle, the three simulation points in the above diagram are the Xilinx-recommended simulation points. More details on Timing Closure in a coming slide. For more detailed flow diagrams, refer to Chapter 2 (Design Flow) of the Development System Reference Guide at www.xilinx.com/literature/index.htm Xilinx Design Flow

LABs Lab1: Introduction Quick start Synthesis results Simulation RTL schematic Technology schematic Device utilization summary Timing summary Simulation Behavioral Post-Place and Route (PAR) Simulation

References Theerayod Wiangtong, “Design Trends on Digital System Design”, Lecture note, Electronic Department, Mahanakorn University of Technology, 2004 Fank Mayer, “High-Level IC Design”, Fraunhofer IIS, Erlangen, Germany, 2004 Stefan Haas, “FPGAs”, CERN Technical Training 2005 Xilinx University Program, http://www.xilinx.com/support/education-home.htm