WEEK #12 Rapid Prototyping with FPGA EMT 351 Digital IC Design.

Slides:



Advertisements
Similar presentations
Sistemas Digitais I LESI - 2º ano Lesson 9 - Memory, CPLDs and FPGAs U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA Prof. João Miguel Fernandes
Advertisements

ECE 506 Reconfigurable Computing Lecture 2 Reconfigurable Architectures Ali Akoglu.
FPGA (Field Programmable Gate Array)
Lecture 15 Finite State Machine Implementation
1 Programmable Logic. 2 Prgrammable Logic Organization Pre-fabricated building block of many AND/OR gates (or NOR, NAND) "Personalized" by making or breaking.
EELE 367 – Logic Design Module 2 – Modern Digital Design Flow Agenda 1.History of Digital Design Approach 2.HDLs 3.Design Abstraction 4.Modern Design Steps.
Programmable Logic Devices
What is memory? Memory is used to store information within a computer, either programs or data. Programs and data cannot be used directly from a disk or.
PLD Technology Basics. Basic PAL Architecture DQ Q CLK OE Fuse.
EECE579: Digital Design Flows
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.
1. 2 FPGAs Historically, FPGA architectures and companies began around the same time as CPLDs FPGAs are closer to “programmable ASICs” -- large emphasis.
Chapter 6 Memory and Programmable Logic Devices
General FPGA Architecture Field Programmable Gate Array.
EET 252 Unit 5 Programmable Logic: FPGAs & HDLs  Read Floyd, Sections 11-5 to  Study Unit 5 e-Lesson.  Do Lab #5.  Lab #5a due next week. 
EE 261 – Introduction to Logic Circuits Module #8 Page 1 EE 261 – Introduction to Logic Circuits Module #8 – Programmable Logic & Memory Topics A.Programmable.
Section I Introduction to Xilinx
BR 1/001 Implementation Technologies We can implement a design with many different implementation technologies - different implementation technologies.
CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to PLDs.
Memory and Programmable Logic
CPLD 1.1 ©Paul R. Godin Last Mod: Dec 2013 gmail.com.
EE4OI4 Engineering Design Programmable Logic Technology.
EGRE 427 Advanced Digital Design Figures from Application-Specific Integrated Circuits, Michael John Sebastian Smith, Addison Wesley, 1997 Chapter 4 Programmable.
Section II Basic PLD Architecture. Section II Agenda  Basic PLD Architecture —XC9500 and XC4000 Hardware Architectures —Foundation and Alliance Series.
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Fundamentals Tenth Edition Floyd.
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)
CSET 4650 Field Programmable Logic Devices Dan Solarek Introduction to CPLDs Complex Programmable Logic Devices.
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.
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.
The Design Warrior’s Guide to FPGAs Devices, Tools, and Flows. ISBN Copyright © 2004 Mentor Graphics Corp. ( Technology timeline.
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.
0/13 Introduction to Programmable Logic Devices Aleksandra Kovacevic Veljko Milutinovic
Field Programmable Gate Arrays (FPGAs) An Enabling Technology.
Basic Sequential Components CT101 – Computing Systems Organization.
EE3A1 Computer Hardware and Digital Design
Programmable Logic Devices
FPGA Based System Design
Chapter 3 How transistors operate and form simple switches
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
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-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n FPGA fabric architecture concepts.
Thinning Lines Between Software and Hardware Programmable Logic Devices Adam Foust.
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.
Programmable Logic Devices
Chapter- 9 Programmable Logic Devices DHADUK ANKITA ENRL NO Noble Engineering College- Junagadh.
ETE Digital Electronics
Sequential Programmable Devices
Sequential Logic Design
Complex Programmable Logic Device (CPLD) Architecture and Its Applications
Electronics for Physicists
Introduction to Programmable Logic Devices
Electronics for Physicists
Programmable logic and FPGA
Presentation transcript:

WEEK #12 Rapid Prototyping with FPGA EMT 351 Digital IC Design

INTRODUCTION TO FPGA Acronym for Field Programmable Gate Array FPGAs are programmable semiconductor devices that are based around a matrix of configurable logic blocks (CLBs) connected via programmable interconnects FPGAs can be programmed to the desired application or functionality requirements (opposite to Application Specific Integrated Circuits (ASICs) where the device is custom built for the particular design) Although one-time programmable (OTP) FPGAs are available, the dominant type are SRAM based which can be reprogrammed as the design evolves (changes)

FPGA HISTORY ’47: Shockley, et. al. introduce first transistor at Bell Labs ’50: Bipolar junction transistor (BJT) introduced ’62: Hofstein, et. al. introduce metal-oxide semiconductor field-effect transistor (MOSFET) at RCA ’58: Jack Kilby introduced the integrated circuit ’70: Intel introduced 1024-bit DRAM, Fairchild introduced 256-bit SRAM ’71: Intel introduced first microprocessor, 4004 ’70: PLDs introduced, later CPLDs Xilinx introduced first FPGA in ’84, but engineers didn’t embrace them until early ’90s.

FPGA HISTORY – PLDs Early programmable logic device (PLD) offers programmable arrays to implement 2- level logic in sum-of-product (SOP) form Hierarchy of PLDs

Pre-wired AND array & programmable OR array PROMs were originally intended for use as computer memories to store programs and constant data However, engineers used them to implement lookup tables and state machines PROMs can be used to implement any block of combinational logic An important limitation of PROM is that the AND plane produces all products whether they are used or not  limits the number of inputs. FPGA HISTORY – PLDs (PROMs)

Programmable Logic Arrays (PLAs) allowed both the AND and OR plane to be programmed Number of AND functions in the AND array in independent of the number of inputs to the device Product terms can be shared among output functions The programmable links slow signals -- thus PLAs are slower then PROMs PLAs never achieved any significant level of market presence FPGA HISTORY – PLDs (PLAs)

Structure of PLA

Programmable Array Logic (PALs) were introduced in late 70’s to address speed problem of PLAs The AND array is programmable and the OR array is predefined, therefore they are faster than PLAs However, PALs only allow a restricted number of product terms to be OR’ed, at least on chip Real devices have many more inputs and outputs plus a variety of options available including: –The ability to invert the outputs –The ability to tristate the outputs –The ability to latch the outputs –The ability to configure certain pins as input or output FPGA HISTORY – PLDs (PALs)

Structure of PAL

In ’84, Altera introduced a CPLD based on a combination of CMOS and EPROM technologies CMOS allowed low power and high density while EPROM enabled these devices to be used for development and prototyping Altera’s real contribution was to use an interconnection array with less than 100% connectivity This increased complexity of software but keep the device scalable in terms of speed, power and cost Interconnection matrix usually has more wires than the individual SPLD blocks  a MUX is used to connect them. The programmable switches may be EPROM, EEPROM, FLASH or SRAM based. FPGA HISTORY – CPLDs

A generic CPLD structure typically consists of several SPLD blocks sharing a common programmable interconnection matrix Both the SPLDs and the interconnect can be programmed FPGA HISTORY – CPLDs

In early ’80s, a gap emerged in the digital IC continuum (field) At one end, SPLDs and CPLDs provided high configurability, fast design and modification times, but supported only small to moderate functions At the other end, ASICs supported large complex designs but were immutable once fabricated, expensive and time-consuming to design FPGA HISTORY – Early FPGAs Xilinx developed and made available in ’84 a new class of IC called the FPGA to fill the gap

The first FPGAs were based on CMOS and used SRAM cells for configuration The early chips used an array of programmable logic blocks (PLBs), which comprised a 3-input lookup table (LUT), a register and a MUX Each PLB can be programmed individually to perform an unique function The FF can be triggered by a positive or negative-going clock MUX allows selection of the LUT output or an external input PLB FPGA HISTORY – Early FPGAs The LUT can implement any 3- input logic function

Early FPGA Architecture FPGA HISTORY – Early FPGAs

FPGA TECHNOLOGIES Types of FPGA Anti-fused -based EPROM -based SRAM -based

programmed off-lineAntifuse-based FPGAs are programmed off-line using a special chip programmer Advantages non- volatile –Configuration is retained during power cycle (non- volatile). –They don’t require an external memory to store their configuration data, which saves on board cost and real estate Disadvantage –One-time-programming (OTP) –One-time-programming (OTP)  Not much use in development and prototyping environments FPGA TECHNOLOGIES – Anti-fused-based

rad hardTheir interconnect structure is "rad hard", or relatively immune to the effects of radiation the configuration data is buried deep inside them Unfortunately, the technology used to fabricate anti-fuse FPGAs is one or more generations behind the technology used for SRAM versions FPGA TECHNOLOGIES – Anti-fused-based

Configuration cells are connected together in a long shift-register-style chain (scan chain) Programmingoff-linesomein- system programmingProgramming done off-line, some allow in- system programming (ISP) Use charged floating gates, programmed by a high voltage Reprogrammablenon-volatileReprogrammable & non-volatile longer programming timeProgramming time is about 3 times longer than SRAM version (longer programming time) FPGA TECHNOLOGIES – EPROM-based

high static powerHave high static power because of the internal pull-up resistors For security, some use a multibit key (50 to several hundred bits) Disadvantage –The devices require about 5 additional process steps beyond the standard CMOS process –Similar to antifuse, this causes a lag of these devices, technology wise FPGA TECHNOLOGIES – EPROM-based

CMOS transmission gatesMainly uses CMOS transmission gates to establish interconnect Status of the gatescontentsStatus of the gates is determined by contents of SRAM configuration memory fast reconfigurationThe majority use SRAM based configuration cells, which allows fast reconfiguration –Allows new design ideas to be quickly implemented and tested –Allows evolving standards and protocols to be accommodated –Allows the FPGA to carry out multiple functions, such as self-test or board/system test at power- up and something else later FPGA TECHNOLOGIES – SRAM-based

very heavily invested inAnother advantage - SRAM technology is very heavily invested in, and therefore, FPGA companies can leverage this –The same process used to fabricate the logic gates on the FPGA is used to fabricate SRAM  no special processing steps are needed Disadvantage volatility external memorymicroprocessor –In terms of volatility, which is overcome with a special external memory device or microprocessor (costly either way) difficult to protectintellectual property –Can be difficult to protect your intellectual property  the configuration file maybe somewhere on disk, in memory, etc  SOLUTION: use bitstream encryption FPGA TECHNOLOGIES – SRAM-based

Comparison between types of FPGA

THE CURRENT FPGA STRUCTURE Basic FPGA Architecture I/O Block Configurable Logic Blocks Digital Clock Management Interconnect Memory

FPGA STRUCTURE – Common Features Configurable Logic Block (CLBs) –Basic logic unit in an FPGA –Exact numbers and features vary from device to device, but every CLB consists of a configurable switch matrix with 4 or 6 inputs, some selection circuitry (MUX, etc), and flip-flops –The switch matrix is highly flexible and can be configured to handle combinatorial logic, shift registers, or RAM Inner structure of CLB

SelectIO (IOBs) –Provides the ideal interface bridge in the system –Grouped in banks with each bank independently able to support different I/O standards –Today’s leading FPGAs provide over a dozen I/O banks, thus allowing flexibility in I/O support FPGA STRUCTURE – Common Features Inner structure of IOB

Interconnect –Flexible interconnect routing routes the signals between CLBs and to and from I/Os –Various types of routing; from that designed to interconnect between CLBs to fast horizontal and vertical long lines spanning the device to global low-skew routing for Clocking and other global signals –Design software makes the interconnect routing task hidden to the user unless specified otherwise, thus significantly reducing design complexity. FPGA STRUCTURE – Common Features

Memory –Embedded Block RAM memory is available in most FPGAs –Allows for on-chip memory for your design Digital Clock Management –Provided by most FPGAs in the industry –The most advanced FPGAs from Xilinx offer both digital clock management and phase-looped locking that provide precision clock synthesis combined with jitter reduction and filtering FPGA STRUCTURE – Common Features

FPGA STRUCTURE – Altera Stratix II

FPGAs vs. ASICs – Design Advantages FPGA & ASIC Design Advantages FPGA Design AdvantagesASIC Design Advantages Faster time-to-market - no layout, masks or other manufacturing steps are needed Full custom capability - for design since device is manufactured to design specs No upfront NRE (non recurring expenses) - costs typically associated with an ASIC design Lower unit costs - for very high volume designs Simpler design cycle - due to software that handles much of the routing, placement, and timing Smaller form factor - since device is manufactured to design specs More predictable project cycle - due to elimination of potential re-spins, wafer capacities, etc. Higher raw internal clock speeds Field reprogramability - a new bitstream can be uploaded remotely

FPGAs vs. ASICs – Design Flow FPGA vs. ASICs Flow Design Comparison

RAPID PROTOTYPING WITH VERILOG & FPGA Definition –Create a working prototype as quickly as possible using FPGA with Verilog as the design entry Advantages –It bypass the structural detail that is forced by schematic-based entry method –Allows usage of single clock  timing-driven routing tools works more efficient –FPGA is register-rich  recommended to employ one-hot encoding in state machines  produce simpler NS & output logic

RAPID PROTOTYPING WITH VERILOG & FPGA