Programmable Logic Devices Zainalabedin Samadi. Embedded Systems Technology  Programmable Processors  Application Specific Processor (ASIP)  Single.

Slides:



Advertisements
Similar presentations
FPGA (Field Programmable Gate Array)
Advertisements

1 KU College of Engineering Elec 204: Digital Systems Design Lecture 9 Programmable Configurations Read Only Memory (ROM) – –a fixed array of AND gates.
Programmable Logic Devices
EECE579: Digital Design Flows
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.
Evolution of implementation technologies
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 Introduction A digital circuit design is just an idea, perhaps drawn on paper We eventually need to implement the circuit on a physical device –How do.
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.
Chapter 6 Memory and Programmable Logic Devices
Digital Circuit Implementation. Wafers and Chips  Integrated circuit (IC) chips are manufactured on silicon wafers  Transistors are placed on the wafers.
General FPGA Architecture Field Programmable Gate Array.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
BR 1/001 Implementation Technologies We can implement a design with many different implementation technologies - different implementation technologies.
Memory and Programmable Logic
EGRE 427 Advanced Digital Design Figures from Application-Specific Integrated Circuits, Michael John Sebastian Smith, Addison Wesley, 1997 Chapter 4 Programmable.
PLD (Programmable Logic Device) Wednesday, October 07, ARINDAM CHAKRABORTY LECTURER,DEPT. OF ECE INSTITUTE OF ENGINEERING & MANAGEMENT.
PROGRAMMABLE LOGIC DEVICES (PLD)
CPLD (Complex Programmable Logic Device)
Embedded System Design 王佑中 Yu-Chung
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.
J. Christiansen, CERN - EP/MIC
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.
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.
ECE 3110: Introduction to Digital Systems Introduction (Contd.)
EE3A1 Computer Hardware and Digital Design
FPGA Based System Design
Advanced FPGA Based System Design
M.Mohajjel. Why? TTM (Time-to-market) Prototyping Reconfigurable and Custom Computing 2Digital System Design.
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.
FPGA CAD 10-MAR-2003.
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)
Reconfigurable Architectures Greg Stitt ECE Department University of Florida.
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.
Embedded Real-Time Systems
Programmable Logic Devices Tulika Mitra Copyright © 2001 Tulika Mitra.
Gunjeet Kaur Dronacharya Group of Institutions. Outline Introduction Random-Access Memory Memory Decoding Error Detection and Correction Programmable.
Programmable Logic Devices
Chapter- 9 Programmable Logic Devices DHADUK ANKITA ENRL NO Noble Engineering College- Junagadh.
Introduction to the FPGA and Labs
Introduction to ASICs ASIC - Application Specific Integrated Circuit
ETE Digital Electronics
Programmable Logic Devices
Sequential Programmable Devices
Electronics for Physicists
Chapter 1: Introduction
Programmable Logic Devices: CPLDs and FPGAs with VHDL Design
FIGURE 7.1 Conventional and array logic diagrams for OR gate
Introduction to Programmable Logic Devices
HIGH LEVEL SYNTHESIS.
Programmable Logic- How do they do that?
EEE2243 Digital System Design Chapter 9: Advanced Topic: Physical Implementation by Muhazam Mustapha extracted from Frank Vahid’s slides, May 2012.
Introduction to VLSI Design Logic Arrays
Electronics for Physicists
"Computer Design" by Sunggu Lee
Unit -4 Introduction to Embedded Systems Tuesday.
Programmable logic and FPGA
Presentation transcript:

Programmable Logic Devices Zainalabedin Samadi

Embedded Systems Technology  Programmable Processors  Application Specific Processor (ASIP)  Single purpose hardware 2

Embedded System Technology  Differ in their customization for the problem at hand 3 total = 0 for i = 1 to N loop total += M[i] end loop General-purpose processor Single-purpose hardware Application-specific processor Desired functionality

General-purpose processors  Programmable device used in a variety of applications  Also known as “microprocessor”  Features  Program memory  General datapath with large register file and general ALU  User benefits  Low time-to-market and NRE costs  High flexibility  Example: Pentium, ARM, … 4 IRPC Register file General ALU DatapathController Program memory Assembly code for: total = 0 for i =1 to … Control logic and State register Data memory

NRE and unit cost metrics  Unit cost  the monetary cost of manufacturing each copy of the system, excluding NRE cost  NRE cost (Non-Recurring Engineering cost)  The one-time monetary cost of designing the system  total cost = NRE cost + unit cost * # of units  per-product cost = total cost / # of units = (NRE cost / # of units) + unit cost 5

Application-specific processors  Programmable processor optimized for a particular class of applications having common characteristics  Features  Program memory  Optimized datapath  Special functional units  Benefits  Some flexibility, good performance, size and power  Example: DSP, Media Processor 6 IRPC Registers Custom ALU DatapathController Program memory Assembly code for: total = 0 for i =1 to … Control logic and State register Data memory

Single-purpose hardware  Digital circuit designed to execute exactly one program  coprocessor, accelerator  Features  Contains components needed to execute a single program  No program memory  Benefits  Fast  Low power  Small size 7 Datapath Controller Control logic State register Data memory index total +

IC technology  Three types of IC technologies  Full-custom/VLSI  Semi-custom ASIC (gate array and standard cell)  PLD (Programmable Logic Device) 8

Full-custom/VLSI  All layers are optimized for an embedded system’s particular digital implementation  Placing transistors  Sizing transistors  Routing wires  Benefits  Excellent performance, small size, low power  Drawbacks  High NRE cost (e.g., $300k), long time-to-market 9

Semi-custom  Lower layers are fully or partially built  Designers are left with routing of wires and maybe placing some blocks  Benefits  Good performance, good size, less NRE cost than a full- custom implementation (perhaps $10k to $100k)  Drawbacks  Still require weeks to months to develop 10

PLD (Programmable Logic Device)  All layers already exist  Designers can purchase an IC  Connections on the IC are either created or destroyed to implement desired functionality  Field-Programmable Gate Array (FPGA) very popular  Benefits  Low NRE costs, almost instant IC availability  Drawbacks  Bigger, expensive (perhaps $30 per unit), power hungry, slower 11

Comparison 12 TechnologyPerformance/ Cost Time until running Time to change code functionality ASICVery HighVery LongImpossible FPGAMedium ASIP/ DSP HighLong GenericLow-MediumVery Short Very Short Speed Flexibility

13

14

Roadmap  PROM  PLA  PAL  CPLD  FPGA 15

PLD Definition  Programmable Logic Device (PLD):  An integrated circuit chip that can be configured by end use to implement different digital hardware  Also known as “Field Programmable Logic Device (FPLD) “ 16

PLD Advantages  Short design time  Less expensive at low volume 17 Volume Cost Nonrecurring engineering cost PLD ASIC

PLD Categorization 18 PLD SPLD HCPLD FPGACPLD PLAPAL Simple PLD High Capacity PLD Programmable Logic Array Programmable Array Logic Complex PLD Field Programmable Gate Array

Programmable ROM (PROM) 19 2 N x M ROM N inputM output Address: N bits; Output word: M bits ROM contains 2 N words of M bits each The input bits decide the particular word that becomes available on output lines

Logic Diagram of 8x3 PROM 20 Sum of minterms

Combinational Circuit Implementation using PROM I0 I1 I2 F0 F1 F2 F0 F1 F2

PROM Types  Programmable PROM  Break links through current pulses  Write once, Read multiple times  Erasable PROM (EPROM)  Program with ultraviolet light  Write multiple times, Read multiple times  Electrically Erasable PROM (EEPROM)/ Flash Memory  Program with electrical signal  Write multiple times, Read multiple times 22

PROM: Advantages and Disadvantages  Widely used to implement functions with large number of inputs and outputs  Design of control units (Micro-programmed control units)  For combinational circuits with lots of don’t care terms, PROM is a wastage of logic resources 23

CPLD 24 Logic Block Logic Block Logic Block Logic Block I/O Programmable Interconnect

CPLD Logic Block  Simple PLD  Inputs  Product-term array  Product term allocation function  Macro-cells (registers)  Logic blocks executes sum-of-product expressions and stores the results in micro- cell registers  Programmable interconnects route signals to and from logic blocks 25

Major CPLD Resources  Number of macro-cells per logic block  Number of inputs from programmable interconnect to logic block  Number of product terms in logic block 26

Structure of FPGA (Xilinx) 27 Logic Block I/O Block Interconnect

29

30

Configurable Logic Block CLB 31

Block RAM Xilinx FPGAs - 32

Details of One Virtex Slice Xilinx FPGAs - 33

Implements any Two 4-input Functions Xilinx FPGAs input function 3-input function; registere d

Implements any 5-input Function Xilinx FPGAs input function

Logic Function  Implemented as look-up table (LUT)  K-input LUT corresponds to 2 K x 1 bit memory  K-input LUT can implement any k-input 1-output logic function 36

Configuring FPGA  Configure CLB and IOB  Configure interconnect  Interconnect technology  SRAM  Anti-fuse (program once)  EPROM / EEPROM 37

Programming Technology NameRe-programmableVolatile EPROMyes (out of circuit)no EEPROMyes (in circuit)no SRAMyes (in circuit)yes Antifuseno 38

PLD Logic Capacity  SPLD: about 200 gates  CPLD  Altera FLEX (250K logic gates)  Xilinx XC9500  FPGA  Xilinx Vertex-E ( 3 million logic gates)  Xilinx Spartan (10K logic gates)  Altera 39

FPGA Design Flow 40 Design Entry Design Implementation Design Verification FPGA Configuration

Computer-aided Design  Can't design FPGAs by hand  way too much logic to manage, hard to make changes  Hardware description languages  specify functionality of logic at a high level  Validation - high-level simulation to catch specification errors  verify pin-outs and connections to other system components  low-level to verify mapping and check performance  Logic synthesis  process of compiling HDL program into logic gates and flip-flops  Technology mapping  map the logic onto elements available in the implementation technology (LUTs for Xilinx FPGAs) Xilinx FPGAs - 41

CAD Tool Path (cont’d)  Placement and routing  assign logic blocks to functions  make wiring connections  Timing analysis - verify paths  determine delays as routed  look at critical paths and ways to improve  Partitioning and constraining  if design does not fit or is unroutable as placed split into multiple chips  if design it too slow prioritize critical paths, fix placement of cells, etc.  few tools to help with these tasks exist today  Generate programming files - bits to be loaded into chip for configuration Xilinx FPGAs - 42

Design Entry (DK1 in our case) 43 SchematicHDL Compile Logic Equations Minimize Reduced Logic Equations (Netlist) Test vectors Simulation

Design Implementation  Input: Netlist Output: bitstream  Map the design onto FPGA resources  Break up the circuit so that each block has maximum n inputs  NP-hard problem  However, optimal solution is not required 44

Design Implementation (Cont.)  Place: assigns logic blocks created during mapping process to specific location on FPGA  Goal: minimize length of wires  Again NP-hard  Route: routes interconnect paths between logic blocks  NP-hard 45

Design Implementation Techniques  Simulated annealing  Genetic algorithm  Mincut method  Heuristic method 46

Design Verification & FPGA Configuration  Functional Simulation  Timing Simulation  Download bitstream into FPGA 47