ELCT 903 Programmable Logic Circuits: Introduction Dr. Eng. Amr T. Abdel-Hamid Fall 2010 Course Contents Programmable Logic Circuits Introduction to Programmable Logic Devices Number systems and basic arithmetic operations Computer Arithmetic Basic Functions: Addition Multiplication Division Floating-point arithmetic Special FP Functions Dr. Amr Talaat Pipelining Basics Test Bench Generation ELECT 90X Course Grading Programmable Logic Circuits Exams Quizzes (10%) 3 Quizzes: best 2 Midterm (20%) Final exam (40%) Assignments (50%) Dr. Amr Talaat Project (25%) ELECT 90X Project Programmable Logic Circuits Course Project: Building a Fast Floating Point MIPS Microprocessor Other topics (after instructor approval) Mixed Signal Design IP Protection More in your master/graduation project topic to publish a paper? Dr. Amr Talaat ELECT 90X Project Programmable Logic Circuits Phase 0: Select your partner (27/9/2010) Submit list of your group members (2-4 per group) Dr. Amr Talaat Phase 1: . . . . . Phase N: Finael Project Implementation + Report (2 weeks before finals) FINAL Non-Negotiable deadline ELECT 90X In time & It is too LATE Policy Programmable Logic Circuits In phases 0, & 1: 5% of project grade penalty per day for being late In phase 2, to n: No late presentation is possible. Dr. Amr Talaat Honor code 100% penalty for both copier and copy-giver of Any Report/CODE. ELECT 90X Why PLCs? Programmable Logic Circuits Main Design Goal: Construct an implementation with d esired functionality. Key design challenge: Simultaneously optimize numer ous design metrics Design metric: A measurable feature of a system’s implementation Optimizing design metrics is a key challenge Dr. Amr Talaat ELECT 90X Design Challenge Programmable Logic Circuits Size: the physical space required by the system Performance: the execution time or throughput of the syst em Power: the amount of power consumed by the system Energy Dr. Amr Talaat What is the difference between power and Energy? ELECT 90X Design Challenge Programmable Logic Circuits Time-to-prototype: the time needed to build a working version of the system Time-to-market: the time required to develop a system to the point th at it can be released and sold to customers Maintainability: the ability to modify the system after its initial release NRE cost (Non-Recurring Engineering cost): The one -time monetary cost of designing the system Flexibility: the ability to change the functionality of the s ystem without incurring heavy NRE cost Dr. Amr Talaat ELECT 90X Time-to Market Period during which the product would have highest sales Average time-to-market constraint is about 8 months Delays can be costly Dr. Amr Talaat Revenues ($) Programmable Logic Circuits Time required to develop a product to the point it can be sold t o customers Market window Time (months) ELECT 90X Delayed Market Entry Peak revenue Revenues ($) Programmable Logic Circuits Simplified revenue model Peak revenue from delayed entry Market rise Delayed Dr. Amr Talaat D On-time entry On-time W Delayed entry Market fall Product life = 2W, peak at W Time of market entry defines a triangle, representing marke t penetration Triangle area equals revenue Loss The difference between the o n-time and delayed triangle ar eas 2W Time ELECT 90X Design Productivity Gap Programmable Logic Circuits 1981 leading edge chip required 100 designer months 10,000 transistors / 100 transistors/month 2002 leading edge chip requires 30,000 designer months 150,000,000 / 5000 transistors/month Designer cost increase from $1M to $300M Dr. Amr Talaat Logic transistors per chip (in millions) 10,000 100,000 1,000 10,000 100 10 1 0.1 0.01 0.001 Gap IC capacity productivity 1000 100 10 1 Productivity (K) Trans./Staff-Mo. 0.1 0.01 ELECT 90X The Mythical Man-Month Programmable Logic Circuits The situation is even worse than the productivity gap indicates In theory, adding designers to team reduces project completion time In reality, productivity per designer decreases due to complexities of team management and c ommunication In the software community, known as “the mythical man-month” (Brooks 1975) At some point, can actually lengthen project completion time! (“Too many cooks”) 1M transistors, 1 designer=5000 trans/month Each additional designer reduces for 100 trans/month So 2 designers produce 4900 trans/month each Dr. Amr Talaat 60000 50000 40000 30000 20000 10000 16 Team 15 16 18 19 23 24 Months until completion 43 Individual 0 10 20 30 Number of designers 40 ELECT 90X NRE and Unit Cost Metrics Programmable Logic Circuits Costs: Unit cost: the monetary cost of manufacturing each copy of the system, exclu ding NRE cost NRE cost (Non-Recurring Engineering cost): the one-time monetary cost of d esigning the system total cost = NRE cost + unit cost * # of units per-product cost = total cost / # of units = (NRE cost / # of units) + unit cost • Example Dr. Amr Talaat – NRE=$2000, unit=$100 – For 10 units – total cost = $2000 + 10*$100 = $3000 – per-product cost = $2000/10 + $100 = $300 Amortizing NRE cost over the units results in an additional $200 per unit ELECT 90X NRE and unit cost metrics Programmable Logic Circuits Compare technologies by costs -- best depends on quantity Technology A: NRE=$2,000, unit=$100 Technology B: NRE=$30,000, unit=$30 Technology C: NRE=$100,000, unit=$2 • But, must also consider time-to-market Dr. Amr Talaat ELECT 90X Hardware Design Flow Programmable Logic Circuits Human Behavioral Description Human Gate Level Synthesis RTL Implementation Logic Synthesis Layout Synthesis Chip Programming Layout (Masks) Dr. Amr Talaat PLC Manufacturing Product ASIC ELECT 90X Programmable Logic Programmable Logic Circuits Dr. Amr Talaat Many programmable logic devices are field- programmable, i. e., can be programmed outside of the manufacturing environment Most programmable logic devices are erasable and reprogramm able. Allows “updating” a device or correction of errors Allows reuse the device for a different design - the ultimate i n re-usability! Ideal for course laboratories Programmable logic devices can be used to prototype design th at will be implemented for sale in regular ICs. Complete Intel Pentium designs were actually prototyped wit h specialized systems based on large numbers of VLSI progr ammable devices! ELECT 90X Programmable Logic Circuits Programmable Logic Circuits Facts: It is most economical to produce an IC in large volumes Many designs required only small volumes of Ics A programmable logic part can be: made in large volumes programmed to implement large numbers of different low-volum e designs Dr. Amr Talaat ELECT 90X Hierarchy of Logic Implementations Programmable Logic Circuits Logic Standard Logic TTL ASIC Programmable Logic Devices CMOS SemiCustom ICs (FPLDs) SPLDs (e.g., PALs) CPLDs FPGAs Gate Arrays Full Custom ICs Cell-Based ICs Dr. Amr Talaat ELECT 90X Programming Technologies Programmable Logic Circuits Programming technologies are used to: Control connections Build lookup tables Control transistor switching Dr. Amr Talaat The technologies Control connections Mask programming Fuse Antifuse Single-bit storage element ELECT 90X Programming Technologies Programmable Logic Circuits Dr. Amr Talaat The technologies (continued) Build lookup tables Storage elements (as in a memory) Transistor Switching Control Stored charge on a floating transistor gate Erasable Electrically erasable Flash (as in Flash Memory) Storage elements (as in a memory) ELECT 90X Technology Characteristics Programmable Logic Circuits Permanent - Cannot be erased and reprogrammed Mask programming Fuse Antifuse Dr. Amr Talaat Reprogrammable Volatile - Programming lost if chip power lost Single-bit storage element Non-Volatile Erasable Electrically erasable Flash (as in Flash Memory) ELECT 90X Field- Programmable Logic Devices Programmable Logic Circuits Dr. Amr Talaat • Component function is defined by user s program. • Logic Cells Fields are interconnected b y programming. • Advantages: - Flexible design that changes by re programming, ease of design chang es - Reduce prototype-product time - Large scale integration (over 100 0 00 gates) - Reliability increased, low financial risk - Smaller device, low start-up cost ELECT 90X 4/13 Programmable Configurations Programmable Logic Circuits Read Only Memory (ROM) - a fixed array of AND gate s and a programmable array of OR gates Programmable Array Logic (PAL) - a programmable array of AND gates feeding a fixed array of OR gates. Programmable Logic Array (PLA) - a programmable array of AND gates feeding a programmable array of O R gates. Complex Programmable Logic Device (CPLD) /Field - Programmable Gate Array (FPGA) - complex enoug h to be called “architectures” Dr. Amr Talaat ELECT 90X ROM Programmable Logic Circuits • A special device (called a burner), used to put the information, supplies an electrical current to specific cells in the ROM that effectively blows a fuse in them = burning the PROM. From that point on, chip is read-only. • PROM was the first type of user-programmable chi p; address lines = logic circuit inputs data lines = logic circuit outputs Dr. Amr Talaat • PROMs are inefficient architecture for realizing logi c circuit: ELECT 90X 6/13 Read Only Memory Example Programmable Logic Circuits Dr. Amr Talaat Example: A 8 X 4 ROM (N = 3 input lines, M= 4 output lines) The fixed "AND" array is a X X D7 D6 “decoder” with 3 inputs and 8 X D5 outputs implementing minterms. X D4 The programmable "OR“ A2 D3 A X D2 array uses a single line to X B A1 D1 represent all inputs to an X A0 D0 C OR gate. An “X” in the array corresponds to attaching the minterm to the OR Read Example: For input (A2,A1,A0) = 011, output is (F3,F2,F1,F0 ) = 0011. F2 F1 F3 What are functions F3, F2 , F1 and F0 in terms of (A2, A1, A0)? X X X F0 ELECT 90X PLA Programmable Logic Circuits • PLA was the first device deve loped for implementing f ( x1 ,..., xn ) ( x1 ,..., xn ) • Consist of two levels of logic gates - programmable “wired” AND-plane & OR-pla ne • Drawbacks: Dr. Amr Talaat • Expensive to manufact ure Note: • Offered somewhat poor speed-performance ELECT 90X Programmable Logic Array Exampl e Programmable Logic Circuits A B Could the PLA implement the What are the equations for F1 and F2? functions without the XOR gates? C X X X X X Dr. Amr Talaat X X AB 2 X BC 3 X AC 1 X X 4 X X AB X C C B B AA 3-input, 3-output PLA with 4 p roduct terms X Fuse intact Fuse blown X 0 1 F1 F2 ELECT 90X Programmable Logic Array (PLA) Programmable Logic Circuits Compared to a ROM and a PAL, a PLA is the most flexible havi ng a programmable set of ANDs combined with a programmable set of ORs. Advantages A PLA can have large N and M permitting implementation of equations that are impractical for a ROM (because of the nu mber of inputs, N, required A PLA has all of its product terms connectable to all outputs, overcoming the problem of the limited inputs to the PAL Ors Some PLAs have outputs that can be complemented, adding POS functions Dr. Amr Talaat ELECT 90X Programmable Logic Array (PLA) Programmable Logic Circuits Disadvantages Often, the product term count limits the application of a PLA. Two-level multiple-output optimization is required t o reduce the number of product terms in an imple mentation, helping to fit it into a PLA. Multi-level circuit capability available in PAL not av ailable in PLA. PLA requires external connections to do multi-level circuits. Dr. Amr Talaat ELECT 90X PAL Programmable Logic Circuits • Overcame weaknesses of P LA • Single level of programmability consists of a programmable “wired” AND-plane & fixed OR-gates • Simpler to program and cheaper implementation Dr. Amr Talaat • Limited numbers of terms in each output ELECT 90X Programmable Array Logic (PAL) Programmable Logic Circuits Dr. Amr Talaat The PAL is the opposite of the ROM, having a programmable set of ANDs combined with fixed ORs. Disadvantage ROM guaranteed to implement any M functions of N inputs. PAL may have too few inputs to the OR gates. Advantages For given internal complexity, a PAL can have larger N and M Some PALs have outputs that can be complemented, adding PO S functions No multilevel circuit implementations in ROM (without external co nnections from output to input). PAL has outputs from OR terms as internal inputs to all AND terms, making implementation of multi-level circuits easier. ELECT 90X AND gates inputs 0 1 2 3 4 5 6 7 8 9 X 2 F1 3 I 15 A X X X 6 X 7 F2 X 5 X 4 X X I25 B X X 8 X F3 X F1 = F2 = F3 = F4 = Product 1 term X 4-input, 3-output PAL with fixed, 3-input OR terms What are the equations for F1 through F4? X Programmable Logic Circuits Programmable Array Logic Exampl e 9 X F4 X 12 X 11 X 10 X Dr. Amr Talaat I35 C I4 0 1 2 3 4 5 6 7 8 9 ELECT 90X Programmable Logic Devices (PLD) Programmable Logic Circuits Dr. Amr Talaat ELECT 90X Register PLA Programmable Logic Circuits • Contain flip flops connected to the OR gate outputs • Importance: sequential circuit s can be realize d • Profound effect on digital hardware desi gn • Basis for more sophisticated archite ctures Dr. Amr Talaat ELECT 90X 9/13 CPLD Programmable Logic Circuits possibility to produce devices • Technology advanced with higher capacity than SPL Ds. • Structure grows too quickly in size as the number of inputs is increased • Integrating multiple SPLDs onto a single chip the only feasible way to provide large capacity devices based on SPLD Dr. Amr Talaat • Programmably connect the SPLD blocks together • Logic capacity up to the equivalent of about 50 typical SPLD de vices ELECT 90X 10/1 Sequential PLD Programmable Logic Circuits Sequential Programmable Logic Device (SPLD) Dr. Amr Talaat ELECT 90X Basic Macrocell of Sequential PLD Programmable Logic Circuits Dr. Amr Talaat ELECT 90X Complex PLD (CPLD) Programmable Logic Circuits CPLD consists multiple SPLD arrays and programmable interconnections. LAB = SPLD PIA: Programmable Interconnect Array Dr. Amr Talaat LAB & PIA are programmed using software. CPLD “density” is usually specified in terms of macrocells or LAB. Altera & Xilinx are the major manufacturers. ELECT 90X CPLD Programmable Logic Circuits Dr. Amr Talaat ELECT 90X Altera CPLDs Programmable Logic Circuits Altera produces three lines of CPLDs EPLD series MAX series FLEX series It also produces a complete design tool Dr. Amr Talaat MAX+PLUS 2 Quartus II ELECT 90X Programmable Logic Circuits Altera MAX 7000 CPLD Dr. Amr Talaat ELECT 90X Xilinx CPLDs Programmable Logic Circuits CoolRunner II, XC9500 XC9500 is similar to MAX 7000, has PAL architecture CoolRunner II has PLA architecture Dr. Amr Talaat ELECT 90X Programmable Logic Circuits CoolRunner II Architecture Dr. Amr Talaat FB = LAB AIM (Advanc ed Intercon nect Matrix) = PIA 2~32 FBs ELECT 90X FPGA Programmable Logic Circuits Provides logic blocks instead of AND or NAND plane Typical logic blocks is LUT Volatile devices Programmable read-only memory (PROM) can be used to make it nonvolatile Dr. Amr Talaat ELECT 90X FPGA Programmable Logic Circuits • Difficult extending CPLDs architectures to higher densiti es - a different approach is needed • FPGAs comprise an array of uncommited circuit elemen ts, called logic blocks, and interconnect resources • FPGA configuration is performed through programming by the end user. Dr. Amr Talaat ELECT 90X FPGA Programmable Logic Circuits Dr. Amr Talaat ELECT 90X LUT as Logic Block Programmable Logic Circuits x1 0/1 0/1 f 0/1 0/1 x2 (a) Circuit for a two-input LUT x1 x2 f1 0 0 1 1 1 0 0 1 0 1 0 1 3-input LUT x1 x2 0/1 0/1 (b) f 1 = x 1 x 2 + x 1 x 2 0/1 0/1 x1 0 0/1 f1 0/1 0 Dr. Amr Talaat 0/1 1 x2 f 0/1 1 x3 (c) Storage cell contents in the LUT ELECT 90X FPGA concept Programmable Logic Circuits Field Programmable Gate Array Basic elements: Configurable logic block (CLB) I/O block interconnections CLB is simpler than LAB or FB, but there are many more of them Dr. Amr Talaat ELECT 90X Configurable Logic Block (CLB) Programmable Logic Circuits Many FPGAs are volatile because their LUTs are based on SRAM. Dr. Amr Talaat ELECT 90X Which Way to Go? Programmable Logic Circuits ASICs FPGAs Off-the-shelf High performance Low development cost Low power Short time to market Dr. Amr Talaat Low cost in high volumes Reconfigurability ELECT 90X