Introduction Actel Logic Modules Xilinx LCA Altera FLEX, Altera MAX Power Dissipation

Similar documents
PROGRAMMABLE ASIC LOGIC CELLS

Examples of FPLD Families: Actel ACT, Xilinx LCA, Altera MAX 5000 & 7000

CSE140L: Components and Design Techniques for Digital Systems Lab. CPU design and PLDs. Tajana Simunic Rosing. Source: Vahid, Katz

March 13, :36 vra80334_appe Sheet number 1 Page number 893 black. appendix. Commercial Devices

DIGITAL CIRCUIT LOGIC UNIT 9: MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES

RELATED WORK Integrated circuits and programmable devices

L11/12: Reconfigurable Logic Architectures

L12: Reconfigurable Logic Architectures

Field Programmable Gate Arrays (FPGAs)

CSE140L: Components and Design Techniques for Digital Systems Lab. FSMs. Tajana Simunic Rosing. Source: Vahid, Katz

9 Programmable Logic Devices

Why FPGAs? FPGA Overview. Why FPGAs?

Reconfigurable Architectures. Greg Stitt ECE Department University of Florida

WINTER 15 EXAMINATION Model Answer

Computer Architecture and Organization

EE292: Fundamentals of ECE

DIGITAL SYSTEM FUNDAMENTALS (ECE421) DIGITAL ELECTRONICS FUNDAMENTAL (ECE422) LATCHES and FLIP-FLOPS

High Performance Carry Chains for FPGAs

Chapter 7 Memory and Programmable Logic

Lecture 6: Simple and Complex Programmable Logic Devices. EE 3610 Digital Systems

Microprocessor Design

Principles of Computer Architecture. Appendix A: Digital Logic

Computer Systems Architecture

TYPICAL QUESTIONS & ANSWERS

Combinational vs Sequential

Chapter Contents. Appendix A: Digital Logic. Some Definitions

A Tour of PLDs. PLD ARCHITECTURES. [Prof.Ben-Avi]

Design and Implementation of FPGA Configuration Logic Block Using Asynchronous Static NCL

Where Are We Now? e.g., ADD $S0 $S1 $S2?? Computed by digital circuit. CSCI 402: Computer Architectures. Some basics of Logic Design (Appendix B)

WINTER 14 EXAMINATION

Saturated Non Saturated PMOS NMOS CMOS RTL Schottky TTL ECL DTL I I L TTL

VU Mobile Powered by S NO Group

MODULE 3. Combinational & Sequential logic

THE KENYA POLYTECHNIC

EECS 140 Laboratory Exercise 7 PLD Programming

Find the equivalent decimal value for the given value Other number system to decimal ( Sample)

Logic. Andrew Mark Allen March 4, 2012

11. Sequential Elements

S.K.P. Engineering College, Tiruvannamalai UNIT I

Software Engineering 2DA4. Slides 3: Optimized Implementation of Logic Functions

Introduction to Digital Logic Missouri S&T University CPE 2210 Exam 3 Logistics

Digital Principles and Design

Integrated circuits/5 ASIC circuits

DIGITAL ELECTRONICS MCQs

EXPERIMENT: 1. Graphic Symbol: OR: The output of OR gate is true when one of the inputs A and B or both the inputs are true.

The word digital implies information in computers is represented by variables that take a limited number of discrete values.

R13 SET - 1 '' ''' '' ' '''' Code No: RT21053

ECE 263 Digital Systems, Fall 2015

CAD for VLSI Design - I Lecture 38. V. Kamakoti and Shankar Balachandran

The basic logic gates are the inverter (or NOT gate), the AND gate, the OR gate and the exclusive-or gate (XOR). If you put an inverter in front of

EL302 DIGITAL INTEGRATED CIRCUITS LAB #3 CMOS EDGE TRIGGERED D FLIP-FLOP. Due İLKER KALYONCU, 10043

MUHAMMAD NAEEM LATIF MCS 3 RD SEMESTER KHANEWAL

TIME SCHEDULE. MODULE TOPICS PERIODS 1 Number system & Boolean algebra 17 Test I 1 2 Logic families &Combinational logic

FPGA Design. Part I - Hardware Components. Thomas Lenzi

MODEL QUESTIONS WITH ANSWERS THIRD SEMESTER B.TECH DEGREE EXAMINATION DECEMBER CS 203: Switching Theory and Logic Design. Time: 3 Hrs Marks: 100

Light Emitting Diodes and Digital Circuits I

12-bit Wallace Tree Multiplier CMPEN 411 Final Report Matthew Poremba 5/1/2009

PALCE26V12 Family. 28-Pin EE CMOS Versatile PAL Device DISTINCTIVE CHARACTERISTICS GENERAL DESCRIPTION FINAL COM L: H-7/10/15/20 IND: H-10/15/20

DIGITAL TECHNICS. Dr. Bálint Pődör. Óbuda University, Microelectronics and Technology Institute

Solution to Digital Logic )What is the magnitude comparator? Design a logic circuit for 4 bit magnitude comparator and explain it,

CS6201 UNIT I PART-A. Develop or build the following Boolean function with NAND gate F(x,y,z)=(1,2,3,5,7).

Chapter 6. sequential logic design. This is the beginning of the second part of this course, sequential logic.

CS150 Fall 2012 Solutions to Homework 4

Light Emitting Diodes and Digital Circuits I

Bachelor Level/ First Year/ Second Semester/ Science Full Marks: 60 Computer Science and Information Technology (CSc. 151) Pass Marks: 24

Sequencing. Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Fall,

R13. II B. Tech I Semester Regular Examinations, Jan DIGITAL LOGIC DESIGN (Com. to CSE, IT) PART-A


MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

For Teacher's Use Only Q Total No. Marks. Q No Q No Q No

VLSI Design: 3) Explain the various MOSFET Capacitances & their significance. 4) Draw a CMOS Inverter. Explain its transfer characteristics

CS302 Digital Logic Design Solved Objective Midterm Papers For Preparation of Midterm Exam

DIGITAL SYSTEM DESIGN UNIT I (2 MARKS)

FIELD programmable gate arrays (FPGA s) are widely

COMP2611: Computer Organization. Introduction to Digital Logic

CHAPTER 6 ASYNCHRONOUS QUASI DELAY INSENSITIVE TEMPLATES (QDI) BASED VITERBI DECODER

Using minterms, m-notation / decimal notation Sum = Cout = Using maxterms, M-notation Sum = Cout =

A.R. ENGINEERING COLLEGE, VILLUPURAM ECE DEPARTMENT

problem maximum score 1 28pts 2 10pts 3 10pts 4 15pts 5 14pts 6 12pts 7 11pts total 100pts

IE1204 Digital Design F11: Programmable Logic, VHDL for Sequential Circuits

Efficient Architecture for Flexible Prescaler Using Multimodulo Prescaler

Chapter 5 Sequential Circuits

Figure 1: segment of an unprogrammed and programmed PAL.

COE328 Course Outline. Fall 2007

DHANALAKSHMI SRINIVASAN INSTITUTE OF RESEARCH AND TECHNOLOGY CS6201-DIGITAL PRINCIPLE AND SYSTEM DESIGN. I Year/ II Sem PART-A TWO MARKS UNIT-I

CSE 352 Laboratory Assignment 3

Hardware Design I Chap. 5 Memory elements

LORDS INSTITUTE OF ENGINEERING & TECHNOLOGY

Bit Swapping LFSR and its Application to Fault Detection and Diagnosis Using FPGA

An Application Specific Reconfigurable Architecture Diagnosis Fault in the LUT of Cluster Based FPGA

0 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 1 1 Stop bits. 11-bit Serial Data format

EECS 270 Final Exam Spring 2012

Department of Computer Science and Engineering Question Bank- Even Semester:

Lecture 2: Basic FPGA Fabric. James C. Hoe Department of ECE Carnegie Mellon University

EN2911X: Reconfigurable Computing Topic 01: Programmable Logic. Prof. Sherief Reda School of Engineering, Brown University Fall 2014

IE1204 Digital Design. F11: Programmable Logic, VHDL for Sequential Circuits. Masoumeh (Azin) Ebrahimi

Lecture 10: Programmable Logic


Light Emitting Diodes and Digital Circuits I

ME 515 Mechatronics. Introduction to Digital Electronics

Transcription:

Outline CPE 528: Session #12 Department of Electrical and Computer Engineering University of Alabama in Huntsville Introduction Actel Logic Modules Xilinx LCA Altera FLEX, Altera MAX Power Dissipation 13/02/2003 UAH-CPE528 2 Introduction Basic internal structure PLB Programmable Logic Blocks PI Programmable Interconnect Types of basic logic cells (1) multiplexer based (2) look-up table based, and (3) programmable array logic Actel ACT Actel ACT basic logic cell Logic Module Actel ACT 1 uses just one type of Logic Module Actel ACT 2 and 3 use two different types of Logic Modules 13/02/2003 UAH-CPE528 3 13/02/2003 UAH-CPE528 4 1

ACTEL Act 1 Logic Module (a) Organization of the basic logic cells. (b)the ACT 1 Logic Module. (c) An implementation using pass transistors (without any buffering). (d) An example logic macro. (Source: Actel.) Shannon Expansion Theorem Expansion F = F 1 = F (A + A )= F A + F A Example: expand F with respect to A F = A' B + A B C' + A' B' C = A (B C') + A' (B + B' C) cofactor F wrt A = B C, cofactor F wrt A = B + B' C F with respect to B F = B (A' + A C') + B' (A' C) We can continue to expand a function until we reach the canonical form a unique representation that uses only minterms minterm is a product term that contains all the variables of F 13/02/2003 UAH-CPE528 5 13/02/2003 UAH-CPE528 6 An Example F = (A B) + (B' C) + D = (A B) + (B' C) + [D (B + B )] = B (A+D) + B (C+D) = B F2 + B F1 F2 = A + D = A + D (A + A ) = A + A D = A 1 + A D F1 = C + D = C + D (C + C ) = C + C D = C 1 + C D Implementation A0 = D, A1 = 1, SA = C (F1) B0 = D, B1 = 1, SB = A (F2) S0 = 0, S1 = B Multiplexer Logic as Function Generators Logic functions of 2 variables 10 functions of these 16 can be implemented using just one 2:1 multiplexer (See Table 5.1 of the textbook) 13/02/2003 UAH-CPE528 7 13/02/2003 UAH-CPE528 8 2

Multiplexer Logic as Function Generators (cont d) Useful functions INV. The MUX acts as an inverter for one input only. BUF. The MUX just passes one of the MUX inputs directly to the output. AND. A two-input AND. OR. A two-input OR. AND1-1. A two-input AND gate with inverted input, equivalent to an NOR-11. NOR1-1. A two-input NOR gate with inverted input, equivalent to an AND-11. Multiplexer Logic as Function Generators (cont d) Figure 5.3 The ACT1 logic module as a boolean function generator. (a) A 2:1 MUX viewed as a logic wheel. (b) The ACT1 logic module viewed as two function wheels. 13/02/2003 UAH-CPE528 9 13/02/2003 UAH-CPE528 10 An Example F = NAND(A, B) F = (A B) = A + B' = A + B (A + A) = A + B A = 1 A + B A Implementation Wheel 1 => 1 (A0 = 1, A1 = 1, SA = 1) Wheel 2 => B (B0 = 1, B1 = 0, SB = B) MUX (1, B, A) => S0 = A, S1 = 0 Note: We do not have to worry how to use Logic Modules to construct combinational logic functions e.g., we use NAND2 gate symbol and software takes care of connecting the inputs in the right way to the Logic Module ACT 2 and ACT 3 Logic Modules Figure 5.4 The ACT2 and ACT3 logic modules. (a) The C-module. (b) The ACT2 S-module. (c) The ACT3 S-module. (d) The equivalent circuit of the SE. (e) The SE configured as a positive edge-triggered D flip-flop. 13/02/2003 UAH-CPE528 11 13/02/2003 UAH-CPE528 12 3

Timing Model and Critical Path Exact delay values in Actel FPGAs can not be determined until interconnect delay is known i.e., place and route are done Critical path delay between registers is: t PD + t SUD + t CO There is also a hold time for the flip-flops - t H The combinational logic delay t PD is dependent on the logic function (which may take more than one LM) and the wiring delays The flip-flop output delay t CO can also be influenced by the number of gates it drives (fanout ) 13/02/2003 UAH-CPE528 13 Worst-case timing Max delays in CMOS occur when operating under minimum voltage maximum temperature slow-slow process conditions (process variation which results in slow p-channel and slow n-channel transistors) Electronic Equipment classes Commercial. VDD = 5 V ± 5 %, T A (ambient) = 0 to +70 C. Industrial. VDD = 5 V ± 10 %, T A (ambient) = 40 to +85 C. Military: VDD = 5 V ± 10 %, T C (case) = 55 to +125 C. Military: Standard MIL-STD-883C Class B. Military extended: Unmanned spacecraft. Tj junction temperature => temperature of the transistors on the chip to calculate this we need power dissipated and thermal properties of the package 13/02/2003 UAH-CPE528 14 Xilinx LCA Xilinix LCA (Logic Cell Array) Configurable Logic Blocks (CLBs) bigger and more complex than the Actel cells => coarse-grain architecture XC3000 CLB inputs five logic inputs (A-E) common clock input (K) asynchronous direct-reset input (RD) enable clock (EC) XC3000 CLB outputs X, Y Using programmable MUXes connected to the SRAM programming cells we can independently connect each of the two CLB outputs to the outputs of flip-flops (QX, QY) or to the output of the combinational logic (F, G) 13/02/2003 UAH-CPE528 15 XC3000 CLB Figure 5.6 The XilinxXC3000 CLB (configurable logic block). 13/02/2003 UAH-CPE528 16 4

XC3000 CLB (cont d) LUT Look-Up Table 32-bit LUT stored in 32 bits of SRAM Suppose we need to implement the function F, F = A B C D E set the content of LUT cell number 31 to 1 clear the content of all other LUT cells (0 30) apply the input variables as an address to the SRAM only when ABCDE = 11111 the output F will be 1 CLB propagation delay is fixed, equal to LUT access time and does not depend on the function implemented XC3000 CLB (cont d) Combinational block inputs/outputs CLB inputs (A-E) flip-flop outputs (QX, QY) outputs from the LUT (F, G) Using LUT use five of seven inputs with the entire 32-bit LUT => CLB outputs F and G are identical split the 32-bit LUT in half to implement two functions (outputs F and G) of four variables each we can choose four input variables (A-E, QX, QY) we have to choose two from the five CLB inputs (A-E) split the 32-bit LUT in half, using one of seven input variables as a select input for a 2:1 MUX that switches between F and G 13/02/2003 UAH-CPE528 17 13/02/2003 UAH-CPE528 18 XC4000 Logic Block XC4000 Logic Block Two four-input LUTs that feed a three-input LUT Special fast carry logic hard-wired between CLBs MUX control logic maps four control inputs C1-C4 into the four inputs: LUT input (H1) direct in (DIN) enable clock (EC) set/reset control for flip-flops (S/R) Control inputs C1-C4 can also be used to control the use of the F and G LUTs as 32 bits of SRAM Figure 5.7 The XilinxXC4000 CLB (configurable logic block). 13/02/2003 UAH-CPE528 19 13/02/2003 UAH-CPE528 20 5

XC5200 Logic Block Basic Cell is called a Logic Cell (LC) and is similar to, but simpler than, CLBs in other Xilinxfamilies Term CLB is used here to mean a group of 4 LCs (LC0-LC3) Xilinx CLB Analysis Using LUTs to implement combinational logic Disadvantage: an inverter is as slow as a five input NAND Advantage: simplifies timing Figure 5.8 The Xilinx XC5200 LC (logic cell) and CLB (configurable logic block). 13/02/2003 UAH-CPE528 21 13/02/2003 UAH-CPE528 22 Altera FLEX (8000) Basic Cell is called a Logic Element (LE) and resembles the Xilinx XC5200 LC architecture Altera FLEX uses the same SRAM programming technology as Xilinx Altera MAX Two-level logic circuit (sum of products) Figure 5.10 The Altera FLEX architecture. (a) Chip floorplan. (b) LAB (Logic Array Block). (c) Details of the LE (logic element). 13/02/2003 UAH-CPE528 23 Using regular structure vector of buffers vector of AND gates OR gates 13/02/2003 UAH-CPE528 24 6

Altera MAX (cont d) (a) Two-level logic circuit (sum of products) (c) Programmable Array Logic (PAL) Horizontal line: product term line (bit line) Vertical line: word line Altera MAX (cont d) Programmed EPROM transistor has no effect on the product-term line Unprogrammed EPROM acts as a pulldown tran. 13/02/2003 UAH-CPE528 25 13/02/2003 UAH-CPE528 26 Registered PAL Figure 5.12 A registered PAL with I inputs, j product terms, and k macrocells. 13/02/2003 UAH-CPE528 27 Logic Expanders A logic expander is an output line of the AND array that feeds back as an input to the array itself Logic expanders can help implement functions that require more product terms than are available in a simple PAL Consider implementing this function in in a three-wide OR array: F = A C D + B C D + A B + B C This can be rewritten as a sum of (products of products): F = (A + B ) C D + (A + C ) B F = (A B) (C D) + (A C) B Logic expanders can be used to form the expander terms (A B) and (A C) Logic expanders require an extra pass through the AND array, increasing delay 13/02/2003 UAH-CPE528 28 7

Logic Expander Implementation Logic Expanders (cont d) Programmable inversion programming one input of the XOR gate at the macrocell output allows you to choose whether or not to invert the output this can reduce the required number of product terms Figure 5.13 Expander logic and programmable inversion. 13/02/2003 UAH-CPE528 29 Figure 5.14 Use of programmed inversion to simplify logic. (a) The function F = A B + A C + A D + A C D requires four product terms to implement while (b) the complement F = A B C D+ A D + A C requires only three product terms. 13/02/2003 UAH-CPE528 30 Altera MAX architecture Macrocell features: Wide, programmable AND array Narrow, fixed OR array Logic Expanders Programmable inversion Timing Model Direct path through the logic array and register Figure 5.15 The Altera MAX architecture. (a) Organization of logic and interconnect. (b) A MAX family LAB (Logic Array Block). (c) A MAX family macrocell. 13/02/2003 UAH-CPE528 31 13/02/2003 UAH-CPE528 32 8

Timing Model Using parallel expander Timing Model Using a shared expander (two passes through the logic array) 13/02/2003 UAH-CPE528 33 13/02/2003 UAH-CPE528 34 Power Dissipation in Complex PLDs AND arrays consume static power AND arrays in any PLD built using EPROM or EEPROM transistors use a passive pull-up (a resistor or current source) Altera uses a switch called Turbo Bit to control the current in the programmable-and array in each macrocell MAX 7000 static current 1.4 ma 2.2 ma per macrocell in high-power mode 0.6 ma 0.8 ma per macrocell in low-power mode MAX 9000 static current 0.6 ma 0.8 ma per macrocell in high-power mode 0.3 ma per macrocell in low-power mode MAX 9000: 16 macrocells in LAB, 35 LABs => static power dissipation in low-power mode = 840mW 13/02/2003 UAH-CPE528 35 9