FPGA How do they work?

Similar documents
FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011

Digital Integrated Circuits

EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs)

Outline. EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) FPGA Overview. Why FPGAs?

FPGA Based Digital Design Using Verilog HDL

Programmable Logic Devices

INTRODUCTION TO FPGA ARCHITECTURE

L2: FPGA HARDWARE : ADVANCED DIGITAL DESIGN PROJECT FALL 2015 BRANDON LUCIA

Field Programmable Gate Array (FPGA)

SYSTEM DESIGNING AND MODELLING USING FPGA

EITF35: Introduction to Structured VLSI Design

ECE 331 Digital System Design

Basic FPGA Architectures. Actel FPGAs. PLD Technologies: Antifuse. 3 Digital Systems Implementation Programmable Logic Devices

PINE TRAINING ACADEMY

An Introduction to Programmable Logic

New development within the FPGA area with focus on soft processors

FIELD PROGRAMMABLE GATE ARRAYS (FPGAS)

ISE Design Suite Software Manuals and Help

Computer Structure. Unit 2: Memory and programmable devices

FPGA Implementations

DIGITAL DESIGN TECHNOLOGY & TECHNIQUES

Chapter 5: ASICs Vs. PLDs

Field Programmable Gate Arrays (FPGAs)

Field Programmable Gate Array

Design Methodologies and Tools. Full-Custom Design

INTRODUCTION TO FIELD PROGRAMMABLE GATE ARRAYS (FPGAS)

ECEN 449 Microprocessor System Design. FPGAs and Reconfigurable Computing

FPGA: What? Why? Marco D. Santambrogio

Workspace for '4-FPGA' Page 1 (row 1, column 1)

Introduction to Field Programmable Gate Arrays

Introduction to Modern FPGAs

System-on Solution from Altera and Xilinx

Programmable Logic Devices FPGA Architectures II CMPE 415. Overview This set of notes introduces many of the features available in the FPGAs of today.

Digital Systems Design. System on a Programmable Chip

Design Methodologies. Full-Custom Design

Xilinx DSP. High Performance Signal Processing. January 1998

CMPE 415 Programmable Logic Devices Introduction

Memory and Programmable Logic

Introduction to FPGAs. H. Krüger Bonn University

Field Program mable Gate Arrays

Advanced FPGA Design Methodologies with Xilinx Vivado

Chapter 10: Design Options of Digital Systems

Synthesis of VHDL Code for FPGA Design Flow Using Xilinx PlanAhead Tool

FPGAs: Instant Access

Advanced Digital Design Using FPGA. Dr. Shahrokh Abadi

Handouts. FPGA-related documents

Spiral 2-8. Cell Layout

Handouts. 1. Project Guidelines and DSP Function Generator Design Specifications. (We ll discuss the project at the beginning of lab on Wednesday)

FPGA architecture and design technology

Overview. CSE372 Digital Systems Organization and Design Lab. Hardware CAD. Two Types of Chips

CHAPTER 9 MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES

FPGAs in a Nutshell - Introduction to Embedded Systems-

Embedded Controller Design. CompE 270 Digital Systems - 5. Objective. Application Specific Chips. User Programmable Logic. Copyright 1998 Ken Arnold 1

Programmable Logic Devices

Creating Computers from (almost) scratch using FPGAs, VHDL and FORTH. Recreative explorations of the hardware/software co-design space

Readings: Storage unit. Can hold an n-bit value Composed of a group of n flip-flops. Each flip-flop stores 1 bit of information.

FPGA Design Flow 1. All About FPGA

Design of DMA Controller Using VHDL

Advanced FPGA Design Methodologies with Xilinx Vivado

Programmable Logic. Any other approaches?

Graduate Institute of Electronics Engineering, NTU FPGA Design with Xilinx ISE

Evolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic

FYSE420 DIGITAL ELECTRONICS. Lecture 7

EE 466/586 VLSI Design. Partha Pande School of EECS Washington State University

Topics. Midterm Finish Chapter 7

FPGAs: FAST TRACK TO DSP

Graduate course on FPGA design

Digital Electronics 27. Digital System Design using PLDs

DSP Co-Processing in FPGAs: Embedding High-Performance, Low-Cost DSP Functions

Chapter 1 Overview of Digital Systems Design

FPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function.

Outline of Presentation

FPGA for Dummies. Introduc)on to Programmable Logic

Signal Processing Algorithms into Fixed Point FPGA Hardware Dennis Silage ECE Temple University

Review. EECS Components and Design Techniques for Digital Systems. Lec 03 Field Programmable Gate Arrays

Chapter 2. FPGA and Dynamic Reconfiguration ...

FPGA introduction 2008

Caliber Interconnect Solutions (Pvt) Ltd No 6,1 st Street Gandhi Nagar, Kavundampalayam, Coimbatore-30.

PROGRAMMABLE MODULES SPECIFICATION OF PROGRAMMABLE COMBINATIONAL AND SEQUENTIAL MODULES

Experiment 3. Digital Circuit Prototyping Using FPGAs

Lecture 7. Standard ICs FPGA (Field Programmable Gate Array) VHDL (Very-high-speed integrated circuits. Hardware Description Language)

Outline. Field Programmable Gate Arrays. Programming Technologies Architectures. Programming Interfaces. Historical perspective

FPGA. Agenda 11/05/2016. Scheduling tasks on Reconfigurable FPGA architectures. Definition. Overview. Characteristics of the CLB.

Fast implementation and fair comparison of the final candidates for Advanced Encryption Standard using Field Programmable Gate Arrays

AL8253 Core Application Note

Field Programmable Gate Array Implementation Technology

BASICS. Design. Field-programmable gate arrays. Tradeoffs Abound. FPGAs offer all of the features needed to implement. in FPGA Design.

EECS150 - Digital Design Lecture 3 - Field Programmable Gate Arrays (FPGAs) Project platform: Xilinx ML

The Xilinx XC6200 chip, the software tools and the board development tools

ELCT 912: Advanced Embedded Systems

ELE432. ADVANCED DIGITAL DESIGN HACETTEPE UNIVERSITY Introduction and FPGA issues

! Program logic functions, interconnect using SRAM. ! Advantages: ! Re-programmable; ! dynamically reconfigurable; ! uses standard processes.

FPGA for Software Engineers

Digital Blocks Semiconductor IP

New Logic Module for secured FPGA based system

Today. Comments about assignment Max 1/T (skew = 0) Max clock skew? Comments about assignment 3 ASICs and Programmable logic Others courses

VHX - Xilinx - FPGA Programming in VHDL

Full Linux on FPGA. Sven Gregori

Design Space Exploration Using Parameterized Cores

MIGRATING MICROCONTROLLER BASED CONTROL SYSTEMS INTO THE NANO FABRICS OF FPGAS

Transcription:

ent FPGA How do they work? ETI135, Advanced Digital IC Design What is a FPGA? Manufacturers Distributed RAM History FPGA vs ASIC FPGA and Microprocessors Alternatives to FPGAs Anders Skoog, Stefan Granlund 21-02-2012 What is a FPGA? FPGA Typical applications Field-Programmable Gate Array Digital logic chips that can be reconfigured so that they preform a logic function Programmed with HDL languages e.g. VHDL or Verilog Aerospace & Defense Automotive Medical/Scientific i Storage & servers Wired & wireless communications [B1] 1

FPGA Design Block structure CLB (Configureable Logic Block) RAM IOB DSP Microprocessors Multipliers [B2] [B2] Logic-Cell Behaviour to duplicate Lookup on FPGA Smallest part in FPGA Consists at least of Lookup Table (4-6 inputs) D-flipflop MUX [B3] 3-input AND & OR [B4] Input Output 0000 0 0001 0 0010 0 [B3] 0011 0 0100 0 0101 0 0110 0 0111 1 1000 1 1001 1 1010 1 1011 1 1100 1 1101 1 1110 1 1111 1 2

Several Logic cells then gets interconnected [B5] [B6] [B7] Logic Cells can be connected to slices Interconnections between blocks is managed with Switch Matrices Several Slices form a CLB [B8] [B10] [B9] 3

Interconnections between two adjacent CLB [B17] [B2] IOB [B2] [B14] 4

Configuration of FPGA The FPGA clears (initializes) the internal configuration memory Configuration data is loaded into the internal memory The user-application is activated by a start-up process [B18] Configuration of FPGA Example of VHDL-code [B4] [B11] 5

Design Flow IP-Cores 1. Describe function in HDL or Schematic 2. Simulate 3. Synthesize and create netlist 4. Simulate with netlist 5. Place and Route 6. Simulate/verify Place and Route 7. Generate binary files 8. Upload to FPGA via JTAG interface or to a external memory device IP-Cores are a reusable unit of logic, cell, or chip layout design that is the intellectual property of one party. Soft cores: HDL code or as an Netlist t Hard cores: ASICs embedded on FPGA FFT, AC97, ARM processors, MIPS, MP3 codec Opencores.org Manufacturers Xilinx vs Altera Design philosophy Major manufacturers (80% of market): Xilinx (over 50% of market) Altera Other manufacurers: Lattice semiconductor Actel SiliconBlue QuickLogic Xilinx: Tries to include as many features as possible, at the cost of increasing the complexity of the FPGA. Altera: Include the features most people use, to keep the complexity down. ef. [1] 6

Xilinx vs Altera RAM-implementation Distributed RAM Xilinx and Altera use "big" RAM-blocks Xilinx uses "Distributed RAM" for small RAMs Altera mixes smaller and bigger blocks of RAM Xilinx patented technology Turns a Logic-cell in to a small 16bit RAM, ROM or FIFO shift register [B3] [B12] [B16] History FPGA patent Invented by Ross Freeman Patent filed in in 1984 describing basic FPGA functions Patent No. 4,870,302 -- Each configurable logic element in the array is in itself capable of performing any one of a plurality of logic functions depending upon the control information placed in the configurable logic element. Each configurable logic element can have its function varied even after it is installed in a system by changing the control information placed in that element. History First commercially viable FPGA XC2064 1985 By co-founders of Xilinx Ross Freeman and Bernard Vonderschmitt 64 CLB with two 3-input lookup tables Today: Virtex 7 ~150 000 CLB with four 6-input lookup tables Ref. [2] Ref. [2] [3] 7

FPGA vs ASIC FPGA advantages FPGA vs ASIC ASIC advantages Simpler design cycle No "non recurring expenses" More predictable project cycle Reprogrammable Shorter time to market, 9 months compared to 2 years Dynamic power: ASIC 12 x less than FPGA Area: ASIC 40 x less than FPGA Speed: ASIC 3.2 x faster than FPGA Full custom capabillity Lower unit cost Ref. [5] Ref. [4] FPGA vs ASIC What to choose? FPGAs and Microprocessors ASIC High volume products Low power products High speed FPGA Low to medium volume products Needs to be flexible Short development time Combining Serial and parallel processing Reconfiguring FPGA at "run-time" Loading firmware at Power on [B13] 8

FPGAs and Microprocessors CPLD Alternative to FPGA Hardware processor embedded in FPGA PowerPC ARM Cortex-M3 Atmel Macocells with logic-gates and flip-flops Non-volatile configuration memory Soft processor core MicroBlaze Nios II Constant signal delay Not as flexible as FPGAs Less number of gates than a FPGA [B15] References Text Thank you for listening [1] "Altera and Xilinx Report: The Battle inues", 17-06-2008 http://seekingalpha.com/article/85478-altera-and-xilinx-report-the-battle-continues [2] "Xilinx Co-Founder Ross Freeman Honored as 2009 National Inventors Hall of Fame Inductee for Invention of FPGA", 11-02-2009 http://press.xilinx.com/phoenix.zhtml?c=212763&p=irol-newsarticle&id=1255523&highlight [3] "FPGA Comparison Table", 17-02-2012, http://www.xilinx.com/products/silicon-devices/fpga/index.htm [4] Ian Kuon & Johnatan Rose, "Measuring the Gap between FPGAs and ASICs", FPGA'06 06, February, 2006 http://www.eecg.toronto.edu/~jayar/pubs/kuon/kuonfpga06.pdf [5] Karthikeya "FPGA Vs ASIC Design: A Strategic Comparison" http://electronicsbus.com/fpga-vs-asic-design-verification-comparison/ Questions? [6] Spartan-3 Generation FPGA User Guide (v1.8), June 13, 2011 http://www.xilinx.com/support/documentation/user_guides/ug331.pdf [7] Spartan-3E FPGA Family Data Sheet (v3.8), August 26, 2009 http://www.xilinx.com/support/documentation/data_sheets/ds312.pdf 9

References Pictures [B1] Anders Skoog, 16-02-2012 [B2] http://www.xilinx.com/company/gettingstarted/, Retrieved 19-02-2012 [B3] http://www.fpga4fun.com/fpgainfo2.html, Retrieved 19-02-2012 [B4] Stefan Granlund, 20-02-2012 [B5] http://en.wikipedia.org/wiki/file:fpga_cell_example.png, Peter källström, may 2010 [B6] Spartan-3E FPGA Family Data Sheet (v3.8), August 26, 2009, page 29 [B7] http://www.fpga4fun.com/fpgainfo2.html, Retrieved 19-02-2012 [B8] Spartan-3 Generation FPGA User Guide (v1.8), June 13, 2011, page 396 [B9] Spartan-3 Generation FPGA User Guide (v1.8), June 13, 2011, page 396 [B10] Spartan-3E FPGA Family Data Sheet (v3.8), August 26, 2009, page 22 [B12] Xilinx Spartan-II FPGA Family Data sheet, 06-2008, page 3 [B11] Spartan-3E FPGA Family Data Sheet (v3.8), August 26, 2009, page 104 [B13] http://en.wikipedia.org/wiki/file:xilinx_s6-sp601_board.jpg, CC-by-sa-3.0 licens, 19-02-201 [B14] Spartan-3E FPGA Family Data Sheet (v3.8), August 26, 2009, page 11 [B15] http://www.xilinx.com/company/gettingstarted/, Retrieved 19-02-2012 [B16] Altera ACCEX 1K Data sheet ver. 3.4, may 2003, page 8 [B17] Spartan-3 Generation FPGA User Guide (v1.8), June 13, 2011, page 397 [B18] Spartan-3E Generation FPGA User Guide (v1.8), June 13, 2011, page 47 10