Digital Design Copyright Frank Vahid 1 Digital Design Chapter 7: Physical Implementation Slides to accompany the textbook Digital Design, First Edition,

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

Programmable Logic Devices
Digital Design Copyright © 2006 Frank Vahid 1 FPGA Internals: Lookup Tables (LUTs) Basic idea: Memory can implement combinational logic –e.g., 2-address.
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 9 Programmable Configurations Read Only Memory (ROM) – –a fixed array of AND gates.
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
BR 1/991 Programmable Logic There has to be a better way to implement a logic function than to hook together discrete 74XX packages or create a custom.
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.
1 Other Technologies Off-the-shelf logic (SSI) IC –Logic IC has a few gates, connected to IC's pins Known as Small Scale Integration (SSI) –Popular logic.
Digital Design 2e Copyright © 2010 Frank Vahid 1 Digital Design Chapter 7: Physical Implementation Slides to accompany the textbook Digital Design, with.
Evolution of implementation technologies
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Chapter 3 – Combinational.
Digital Design – Physical Implementation Chapter 7 - Physical Implementation.
Multiplexers, Decoders, and Programmable Logic Devices
ECE 331 – Digital System Design Tristate Buffers, Read-Only Memories and Programmable Logic Devices (Lecture #16) The slides included herein were taken.
EET 1131 Unit 4 Programmable Logic Devices  Read Kleitz, Chapter 4.  Homework #4 and Lab #4 due next week.  Quiz next week.
Physical Implementation 1)Manufactured Integrated Circuit (IC) Technologies 2)Programmable IC Technology 3)Other Technologies Manufactured IC Technologies.
Chapter 7: Physical Implementation
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.
Digital Design Copyright © 2006 Frank Vahid 1 Digital Design Slides to accompany the textbook Digital Design, First Edition, by Frank Vahid, John Wiley.
Digital Design Copyright © 2006 Frank Vahid 1 Digital Design Chapter 2: Combinational Logic Design Slides to accompany the textbook Digital Design, First.
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.
Digital Circuit Implementation. Wafers and Chips  Integrated circuit (IC) chips are manufactured on silicon wafers  Transistors are placed on the wafers.
Figure to-1 Multiplexer and Switch Analog
EE 261 – Introduction to Logic Circuits Module #8 Page 1 EE 261 – Introduction to Logic Circuits Module #8 – Programmable Logic & Memory Topics A.Programmable.
Chapter 4 Programmable Logic Devices: CPLDs with VHDL Design Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey All rights.
BR 1/001 Implementation Technologies We can implement a design with many different implementation technologies - different implementation technologies.
Memory and Programmable Logic
EE4OI4 Engineering Design Programmable Logic Technology.
Unit 9 Multiplexers, Decoders, and Programmable Logic Devices
Programmable Implementation Technologies Digital Logic Design Instructor: Kasım Sinan YILDIRIM.
EGRE 427 Advanced Digital Design Figures from Application-Specific Integrated Circuits, Michael John Sebastian Smith, Addison Wesley, 1997 Chapter 4 Programmable.
Unit 9 Multiplexers, Decoders, and Programmable Logic Devices Ku-Yaw Chang Assistant Professor, Department of Computer Science.
PROGRAMMABLE LOGIC DEVICES (PLD)
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
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.
0/13 Introduction to Programmable Logic Devices Aleksandra Kovacevic Veljko Milutinovic
Basic Sequential Components CT101 – Computing Systems Organization.
ECE 3110: Introduction to Digital Systems Introduction (Contd.)
EE3A1 Computer Hardware and Digital Design
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Logic and Computer Design.
FPGA Based System Design
Chapter 3 How transistors operate and form simple switches
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.
Basic Logic Functions Chapter 2 Subject: Digital System Year: 2009.
Programmable Logic Device Architectures
EE121 John Wakerly Lecture #15
PLDS Mohammed Anvar P.K AP/ECE Al-Ameen Engineering College.
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.
3-1 MKE1503/MEE10203 Programmable Electronics Computer Engineering Department Faculty of Electrical and Electronic Universiti Tun Hussein Onn Malaysia.
Gunjeet Kaur Dronacharya Group of Institutions. Outline Introduction Random-Access Memory Memory Decoding Error Detection and Correction Programmable.
Programmable Logic Devices
1 Programmable Logic There are other ways to implement a logic function than to hook together discrete 74XX packages or create a custom Integrated Circuit.
This chapter in the book includes: Objectives Study Guide
ETE Digital Electronics
Chapter 7: Physical Implementation
Electronics for Physicists
This chapter in the book includes: Objectives Study Guide
Programmable Logic Devices: CPLDs and FPGAs with VHDL Design
Physical Implementation Manufactured IC Technologies
Introduction to Programmable Logic Devices
EEE2243 Digital System Design Chapter 9: Advanced Topic: Physical Implementation by Muhazam Mustapha extracted from Frank Vahid’s slides, May 2012.
Electronics for Physicists
ECE 352 Digital System Fundamentals
Unit -4 Introduction to Embedded Systems Tuesday.
Presentation transcript:

Digital Design Copyright Frank Vahid 1 Digital Design Chapter 7: Physical Implementation Slides to accompany the textbook Digital Design, First Edition, by Frank Vahid, John Wiley and Sons Publishers, Copyright by Frank Vahid Instructors of courses requiring Vahid's Digital Design textbook (published by John Wiley and Sons) have permission to modify and use these slides for customary course-related activities, subject to keeping this copyright notice in place and unmodified. These slides may be posted as unanimated pdf versions on publicly-accessible course websites.. PowerPoint source (or pdf with animations) may not be posted to publicly-accessible websites, but may be posted for students on internal protected sites or distributed directly to students by other electronic means. Instructors may make printouts of the slides available to students for a reasonable photocopying charge, without incurring royalties. Any other use requires explicit permission. Instructors may obtain PowerPoint source or obtain special use permissions from Wiley – see for information. Some changes by Mark Brehob

Digital Design Copyright Frank Vahid 2 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 we get from (a) to (b)? k p s w BeltWarn IC (a) Digital circuit design (b) Physical implementation

Digital Design Copyright Frank Vahid 3 Manufactured IC Technologies We can manufacture our own IC –Months of time and millions of dollars –(1) Full-custom or (2) semicustom (1) Full-custom IC –We make a full custom layout Using CAD tools Layout describes the location and size of every transistor and wire –A fab (fabrication plant) builds IC for layout –Hard! Fab setup costs ("non-recurring engineering", or NRE, costs) high Error prone (several "respins") Fairly uncommon –Reserved for special ICs that demand the very best performance or the very smallest size/power k p s w BeltWarn IC Fab months Custom Layout

Digital Design Copyright Frank Vahid Full Custom inverter 4 Images from and

Digital Design Copyright Frank Vahid Take away – full custom Very expensive and slow –Requires folks who really know what they are doing and requires them to take time EECS 312 final project is to build a fairly small device (e.g. 4-bit adder) with certain space and power bounds. This is a multi- week thing! –Fabrication will generally not have any short cuts. So might take months to get this spun. Best performance –Can tune the heck out of things and make stuff go really fast or use very little power. Where do you think this sees use? 5

Digital Design Copyright Frank Vahid Gate array From Wikipedia: –A gate array circuit is a prefabricated silicon chip circuit with no particular function in which transistors, standard NAND or NOR logic gates, and other active devices are placed at regular predefined positions and manufactured on a wafer, usually called a master slice. Creation of a circuit with a specified function is accomplished by adding a final surface layer or layers of metal interconnects to the chips on the master slice late in the manufacturing process, joining these elements to allow the function of the chip to be customized as desired. –Gate array master slices are usually prefabricated and stockpiled in large quantities regardless of customer orders. The design and fabrication according to the individual customer specifications may be finished in a shorter time compared with standard cell or full custom design. 6

Digital Design Copyright Frank Vahid 7 Manufactured IC Technologies – Gate Array ASIC (2) Semi-custom IC –"Application-specific IC" (ASIC) –(a) Gate array or (b) standard cell (2a) Gate array –Series of gates already laid out on chip –We just wire them together Using CAD tools –Vs. full-custom Cheaper and quicker to design But worse performance, size, power –Was quite popular Sees less use today AFAICT k p s w BeltWarn w Fab weeks (just wiring) (a) IC (d) k p s (c) (b)

Digital Design Copyright Frank Vahid 8 Manufactured IC Technologies – Gate Array ASIC (2a) Gate array –Example: Mapping a half-adder to a gate array Gate array s co a b co = ab s = a'b + ab' a'bab' Half-adder equations: ab

Digital Design Copyright Frank Vahid 9 Manufactured IC Technologies – Standard Cell ASIC (2) Semicustom IC –"Application-specific IC" (ASIC) –(a) Gate array or (b) standard cell (2b) Standard cell –Pre-laid-out "cells" exist in library, not on chip –Designer instantiates cells into pre-defined rows, and connects –Vs. gate array Better performance/power/size A bit harder to design –Vs. full custom Not as good of circuit, but still far easier to design w k p s w BeltWarn k p s Fab 1-3 months (cells and wiring) ( a ) IC ( d ) ( c ) ( b ) Cell library cell row

Digital Design Copyright Frank Vahid 10 Manufactured IC Technologies – Standard Cell ASIC (2b) Standard cell –Example: Mapping a half-adder to standard cells s co a b co = ab s = a'b + ab' aba'b ab' cell row gate array s co a b a'bab'ab Notice fewer gates and shorter wires for standard cells versus gate array, but at cost of more design and manufacturing effort

Digital Design Copyright Frank Vahid Question: What are the key differences between standard cells and gate array design? 11

Digital Design Copyright Frank Vahid 12 Implementing Circuits Using NAND Gates Only (We’ve been doing this since GA1!) Gate array may have NAND gates only –NAND is universal gate Any circuit can be mapped to NANDs only Convert AND/OR/NOT circuit to NAND-only circuit using mapping rules –After converting, remove double inversions a b xx F=x' Inputs x 0 1 Output F 1 0 a 0 1 b 0 1 a b a b F=ab (ab)' a b a b F=a+b F=(a'b')'=a''+b''=a+b Double inversion a

Digital Design Copyright Frank Vahid 13 Implementing Circuits Using NOR Gates Only Example: Half adder a s b a b ( a ) ( c ) a b a b s double inversion ( b ) a b a b s

Digital Design Copyright Frank Vahid 14 k p s w ( c ) Implementing Circuits Using NOR Gates Only Example: Seat belt warning light on a NOR-based gate array –Note: if using 2-input NOR gates, first convert AND/OR gates to 2-inputs w k p s ( d ) ( a ) k p w was s ( b )

Digital Design Copyright Frank Vahid 15 Programmable IC Technology – FPGA 7.3 Manufactured IC technologies require weeks to months to fabricate –And have large (hundred thousand to million dollar) initial costs Programmable ICs are pre-manufactured –Can implement circuit today –Just download bits into device –Slower/bigger/more-power than manufactured ICs But get it today, and no fabrication costs Popular programmable IC – FPGA –"Field-programmable gate array" Developed late 1980s Though no "gate array" inside –Named when gate arrays were very popular in the 1980s Programmable in seconds

Digital Design Copyright Frank Vahid 16 FPGA Internals: Lookup Tables (LUTs) Basic idea: Memory can implement combinational logic –e.g., 2-address memory can implement 2-input logic –1-bit wide memory – 1 function; 2-bits wide – 2 functions Such memory in FPGA known as Lookup Table (LUT) ( b )( a ) ( d ) F = x'y' + xy G = xy' x y F G F = x'y' + xy x y F x1 Mem rd a1 a0 1 y x D F 4x1 Mem rd a1 a0 1 D ( c ) y=0 x=0 F=1 4x2 Mem rd a1 a0 1 x y D1D0 FG ( e )

Digital Design Copyright Frank Vahid 17 FPGA Internals: Lookup Tables (LUTs) Example: Seat-belt warning light (again) k p s w BeltWarn ( a ) ( b ) k p s w Programming (seconds) Fab 1-3 months ( c ) 8x1 Mem D w I C a2 a1 a0 k p s

Digital Design Copyright Frank Vahid 18 FPGA Internals: Lookup Tables (LUTs) Lookup tables become inefficient for more inputs –3 inputs  only 8 words –8 inputs  256 words; 16 inputs  65,536 words! FPGAs thus have numerous small (3, 4, 5, or even 6-input) LUTs –If circuit has more inputs, must partition circuit among LUTs –Example: Extended seat-belt warning light system: 5-input circuit, but 3- input LUTs available Map to 3-input LUTs k p s t d w BeltWarn ( a ) Partition circuit into 3-input sub-circuits k p s t d x w BeltWarn ( b ) 3 inputs 1 output x=kps' 3 inputs 1 output w=x+t+d Sub-circuits have only 3-inputs each 8x1Mem D a2 a1 a0 k p s kps' x d t ( c ) 8x1Mem D w a2 a1 a0 x+t+d

Digital Design Copyright Frank Vahid 19 LUTs

Digital Design Copyright Frank Vahid 20 8x2Mem. D0D a2 a1 a0 a b c ( c ) ( a ) ( b ) 8x2Mem. D0D a2 a1 a0 a c b a c b d d e e F F t FPGA Internals: Lookup Tables (LUTs) LUT typically has 2 (or more) outputs, not just one Example: Partitioning a circuit among 3-input 2-output lookup tables First column unused; second column implements AND F e d t Second column unused; first column implements AND/OR sub-circuit (Note: decomposed one 4- input AND input two smaller ANDs to enable partitioning into 3-input sub-circuits)

Digital Design Copyright Frank Vahid 21 FPGA Internals: Lookup Tables (LUTs) Example: Mapping a 2x4 decoder to 3-input 2-output LUTs 8x2Mem D0D a2 a1 a0 i1i0 ( b )( a ) 8x2Mem D0D1 d1d0d3d a2 a1 a0 0 i1 i0 0 d0 d1 d2 d3 Sub-circuit has 2 inputs, 2 outputs

Digital Design Copyright Frank Vahid 22 8x2Mem. 00 D0D a2 a1 a0 P1 P0 P6 P7 P8 P9 P2 P3 P5 P4 ( a ) 8x2Mem. 00 D0D a2 a1 a0 m0 m1 o0 o1 m2 m3 Switch matrix FPGA (partial) FPGA Internals: Switch Matrices Previous slides had hardwired connections between LUTs Instead, want to program the connections too Use switch matrices (also known as programmable interconnect) –Simple mux-based version – each output can be set to any of the four inputs just by programming its 2-bit configuration memory ( b ) m0 o0 o1 i0 s0 d s1 i1 i2 i3 m1 m2 m3 2-bit memory 2-bit memory Switch matrix 4x1 mux i0 s0 d s1 i1 i2 i3 4x1 mux

Digital Design Copyright Frank Vahid 23 8x2Mem D0D a2 a1 a0 0 0 d3 d2 d1 d0 i1 i0 i1 ( a ) 8x2Mem D0D a2 a1 a0 m0 m1 o0 o1 m2 m3 Switch matrix FPGA (partial) FPGA Internals: Switch Matrices Mapping a 2x4 decoder onto an FPGA with a switch matrix ( b ) m0 o0 o1 i0 s0 d s1 i1 i2 i3 m1 m2 m3 Switch matrix 4x1 mux i0 s0 d s1 i1 i2 i3 4x1 mux These bits establish the desired connections

24 F=A*B+C G=A*B*C*!D*E

25 F=A*B+C G=A*B*C*!D*E

Digital Design Copyright Frank Vahid 26 FPGA Internals: Configurable Logic Blocks (CLBs) LUTs can only implement combinational logic Need flip-flops to implement sequential logic Add flip-flop to each LUT output –Configurable Logic Block (CLB) LUT + flip-flops –Can program CLB outputs to come from flip-flops or from LUTs directly 8x2Mem. 00 D0D a2 a1 a0 P1 P0 P2 P3 P5 P4 8x2Mem. 00 D0D a2 a1 a0 m0 m1 o0 o1 m2 m3 Switch matrix FPGA 00 CLB P6 P7 P8 P9 flip-flop CLB output 00 2x bit CLB output configuration memory

Digital Design Copyright Frank Vahid 27 FPGA Internals: Sequential Circuit Example using CLBs 8x2Mem D0D a2 a1 a0 0 0 a b d c 8x2Mem D0D a2 a1 a0 m0 m1 o0 o1 m2 m3 Switch matrix FPGA x CLB z y x w 11 abcd wxy ( a ) ( b ) ( c ) z a a1 a a0 b D1 w=a' D0 x=b' Left lookup table below unused

Digital Design Copyright Frank Vahid 28 FPGA Internals: Overall Architecture Consists of hundreds or thousands of CLBs and switch matrices (SMs) arranged in regular pattern on a chip CLB SM CLB Represents channel with tens of wires Connections for just one CLB shown, but all CLBs are obviously connected to channels

Digital Design Copyright Frank Vahid 29 FPGA Internals: Programming an FPGA All configuration memory bits are connected as one big shift register –Known as scan chain Shift in "bit file" of desired circuit 8x2Mem D0D a2 a1 a0 0 0 Pin Pclk a b d c Pin Pclk 8x2Mem D0D a2 a1 a0 m0 m1 o0 o1 m2 m3 Switch matrix FPGA x12x CLB z y x w ( c ) ( b ) ( a ) Conceptual view of configuration bit scan chain is that of a 40-bit shift register Bit file contents for desired circuit: This isn't wrong. Although the bits appear as "10" above, note that the scan chain passes through those bits from right to left – so "01" is correct here. a

Digital Design Copyright Frank Vahid 30 Other Technologies 7.4 Off-the-shelf logic (SSI) IC –Logic IC has a few gates, connected to IC's pins Known as Small Scale Integration (SSI) –Popular logic IC series: 7400 Originally developed 1960s –Back then, each IC cost $1000 –Today, costs just tens of cents I14I13I12I11I10I9I8 I1I2I3I4I5I6I7 VCC GND IC

Digital Design Copyright Frank Vahid Series Logic ICs

Digital Design Copyright Frank Vahid 32 Using Logic ICs Example: Seat belt warning light using off-the-shelf 7400 ICs –Option 1: Use one 74LS08 IC having 2-input AND gates, and one 74LS04 IC having inverters (a) Desired circuit (c) Connect ICs to create desired circuit I 14 I 13 I 12 I 11 74LS08 I C 74LS04 I C I 10 I 9 I 8 I 14 I 13 I 12 I 11 I 10 I 9 I 8 I 7 I 4 w k p I 1 I 6 I 3 I 2 s n I 5 I 7 I 4 I 1 I 6 I 3 I 2 I 5 k p s w ( a ) (b) Decompose into 2-input AND gates k p s w n ( b ) ( c ) a a

Digital Design Copyright Frank Vahid 33 Other Technologies Simple Programmable Logic Devices (SPLDs) –Developed 1970s (thus, pre-dates FPGAs) –Prefabricated IC with large AND- OR structure –Connections can be "programmed" to create custom circuit Circuit shown can implement any 3-input function of up to 3 terms –e.g., F = abc + a'c' O1 PLD I C I 3 I 2 I 1 programmable nodes

Digital Design Copyright Frank Vahid 34 Programmable Nodes in an SPLD Fuse based – "blown" fuse removes connection Memory based – 1 creates connection 1 mem Fuse "unblown" fuse 0 mem "blown" fuse programmable node (a) (b) Fuse based Memory based

Digital Design Copyright Frank Vahid 35 PLD Drawings and PLD Implementation Example Common way of drawing PLD connections: –Uses one wire to represent all inputs of an AND –Uses "x" to represent connection Crossing wires are not connected unless "x" is present Example: Seat belt warning light using SPLD k p s w BeltWarn Two ways to generate a 0 term O1 PLD I C I 3 I 2 I 1 ×× wired AND I 3  I 2' ×× ×××××× ××× w PLD I C spk kps' 0 0

Digital Design Copyright Frank Vahid 36 PLD Extensions Two-output PLD PLD with programmable registered outputs

Digital Design Copyright Frank Vahid 37 More on PLDs Originally (1970s) known as Programmable Logic Array – PLA –Had programmable AND and OR arrays AMD created "Programmable Array Logic" – "PAL" (trademark) –Only AND array was programmable (fuse based) Lattice Semiconductor Corp. created "Generic Array Logic – "GAL" (trademark) –Memory based As IC capacities increased, companies put multiple PLD structures on one chip, interconnecting them –Become known as Complex PLDs (CPLD), and older PLDs became known as Simple PLDs (SPLD) GENERALLY SPEAKING, difference of SPLDs vs. CPLDs vs. FPGAs: –SPLD: tens to hundreds of gates, and usually non-volatile (saves bits without power) –CPLD: thousands of gates, and usually non-volatile –FPGA: tens of thousands of gates and more, and usually volatile (but no reason why couldn't be non-volatile)

Digital Design Copyright Frank Vahid 38 Technology Comparisons Full-custom Standard cell (semicustom) Gate array (semicustom) FPGA PLD Easier designMore optimized Faster performance Higher density Lower power Larger chip capacity Quicker availability Lower design cost 7.5

Digital Design Copyright Frank Vahid 39 Technology Comparisons PLDFPGAGate array Standard cell Full-custom (3)(4) (2)(1) Easier design More optimized Custom Processor Programmable processor (1): Custom processor in full-custom IC Highly optimized (2): Custom processor in FPGA Parallelized circuit, slower IC technology but programmable IC technologies Processor varieties (3): Programmable processor in standard cell IC Program runs (mostly) sequentially on moderate-costing IC (4): Programmable processor in FPGA Not only can processor be programmed, but FPGA can be programmed to implement multiple processors/coprocessors

Digital Design Copyright Frank Vahid 40 Key Trend in Implementation Technologies Transistors per IC doubling every 18 months for past three decades –Known as "Moore's Law" –Tremendous implications – applications infeasible at one time due to outrageous processing requirements become feasible a few years later –Can Moore's Law continue – No?