ENGN3213: Digital Systems and Microprocessors L#8 1 Lecture 8 Overview Review of Combinational Logic Technologies Logic Implementation Programmable Logic.

Slides:



Advertisements
Similar presentations
PLDs ROM : Programmable OR array
Advertisements

컴퓨터구조론 교수 채수환. 교재 Computer Systems Organization & Architecture John D. Carpinelli, 2001, Addison Wesley.
Lecture 15 Finite State Machine Implementation
Digital Design: Combinational Logic Blocks
Programmable Logic PAL, PLA.
Programmable Logic Devices
1 Programmable Logic. 2 Prgrammable Logic Organization Pre-fabricated building block of many AND/OR gates (or NOR, NAND) "Personalized" by making or breaking.
111 Basic Circuit Elements n Standard TTL Small-Scale Integration: 1 chip = 2-8 gates n Requires numerous chips to build interesting circuits n Alternative:
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
Implementing Logic Gates and Circuits Discussion D5.1.
Implementing Logic Gates and Circuits Discussion D5.3 Section 11-2.
Parity. 2 Datasheets TTL:  CMOS: 
ECE C03 Lecture 41 Lecture 4 Combinational Logic Implementation Technologies Prith Banerjee ECE C03 Advanced Digital Design Spring 1998.
ENGN3213: Digital Systems and Microprocessors L#8 1 Lecture 8 Overview Review of Combinational Logic Technologies Logic Implementation Programmable Logic.
EE365 Adv. Digital Circuit Design Clarkson University Lecture #7 Intro to MSI PLDs and Decoders.
Chapter 4 Gates and Circuits.

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.
Programmable Array Logic (PAL) Fixed OR array programmable AND array Fixed OR array programmable AND array Easy to program Easy to program Poor flexibility.
Chapter 2: Boolean Algebra and Logic Functions
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 Gates and Circuits. 4–2 Chapter Goals Identify the basic gates and describe the behavior of each Describe how gates are implemented using transistors.
Introduction to Digital Logic Design Appendix A of CO&A Dr. Farag
Unit 9 Multiplexers, Decoders, and Programmable Logic Devices
Unit 9 Multiplexers, Decoders, and Programmable Logic Devices Ku-Yaw Chang Assistant Professor, Department of Computer Science.
PROGRAMMABLE LOGIC DEVICES (PLD)
Digital Logic. 4 Why is 32-bit or 64-bit significant in terms of speed, efficiency? 4 Difference between OR and XOR 4 What is a mux for? PLA 4 Two kinds.
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
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.
June 2005Computer Architecture, Background and MotivationSlide 1 Part I Background and Motivation.
EE3A1 Computer Hardware and Digital Design
FPGA Based System Design
Chapter 3 How transistors operate and form simple switches
Programmable Logic Devices (PLDs)
Computer Architecture From Microprocessors To Supercomputers
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.
Announcements Assignment 6 due tomorrow No Assignment 7 yet.
Chapter # 4: Programmable Logic
1 EE121 John Wakerly Lecture #5 Documentation Standards Programmable Logic Devices Decoders.
Programmable logic devices. CS Digital LogicProgrammable Logic Device2 Outline PLAs PALs ROMs.
Introduction to Computing Systems and Programming Digital Logic Structures.
Digital Logic Design Basics Combinational Circuits Sequential Circuits Pu-Jen Cheng Adapted from the slides prepared by S. Dandamudi for the book, Fundamentals.
PLDS Mohammed Anvar P.K AP/ECE Al-Ameen Engineering College.
3-1 MKE1503/MEE10203 Programmable Electronics Computer Engineering Department Faculty of Electrical and Electronic Universiti Tun Hussein Onn Malaysia.
Programmable Logic Devices
This chapter in the book includes: Objectives Study Guide
ETE Digital Electronics
Digital Design Lecture 14
Sequential Programmable Devices
Sequential Logic Design
Logic and Computer Design Fundamentals
Lecture 9 Logistics Last lecture Today HW3 due Wednesday
This chapter in the book includes: Objectives Study Guide
ECE 434 Advanced Digital System L03
Basics Combinational Circuits Sequential Circuits Ahmad Jawdat
ECE434a Advanced Digital Systems L02
Programmable Logic.
Programmable Configurations
Overview Last lecture Timing; Hazards/glitches
Implementing Logic Gates and Circuits
Presentation transcript:

ENGN3213: Digital Systems and Microprocessors L#8 1 Lecture 8 Overview Review of Combinational Logic Technologies Logic Implementation Programmable Logic Devices

ENGN3213: Digital Systems and Microprocessors L#8 2 Prime Number Detector

ENGN3213: Digital Systems and Microprocessors L#8 3 Prime Number Detector

ENGN3213: Digital Systems and Microprocessors L#8 4 Quine-McCluskey Algorithm This process can be made into a program, using appropriate algorithms and data structures. Guaranteed to find “minimal” solution Required computation has exponential complexity (run time and storage)-- works well for functions with up to 8-12 variables, but quickly blows up for larger problems. Other programs (e.g., Espresso) used for larger problems, usually give minimal results.

ENGN3213: Digital Systems and Microprocessors L#8 Prime Number Detector

ENGN3213: Digital Systems and Microprocessors L#8 6 Simple gate summary INPUTOUTPUT ABA AND B INPUTOUTPUT ABA NAND B INPUTOUTPUT ABA OR B INPUTOUTPUT ABA NOR B

ENGN3213: Digital Systems and Microprocessors L#8 7 The XOR gate Exclusive OR The output is TRUE only if one or the other, but not both, inputs are TRUE Symbol is  C C=A XOR B C=A  B ABC (in) (out)

ENGN3213: Digital Systems and Microprocessors L#8 8 The XNOR gate Inverse of XOR The output is TRUE only if both inputs are the same. "logical equality” C C=A NOR B C=A  B ABC (in) (out)

ENGN3213: Digital Systems and Microprocessors L#8 9 CMOS gates Gates are very easy to build using MOSFET transistors (recall; transistors can be considered as a voltage controlled switch) p-type conduct when the input=0 n-type conduct when the input=1

ENGN3213: Digital Systems and Microprocessors L#8 10 CMOS NAND gate NAND gates are built using 4 MOSFETs p-type conduct when the input=0 n-type conduct when the input=1 INPUTOUTPUT ABA NAND B

ENGN3213: Digital Systems and Microprocessors L#8 11 Logic Types Positive Logic (active high) – 0 = 0 V., 1 = 1.0 V. Negative Logic (active low) – 0 = 1.0 V., 1 = 0 V. Mixed-Logic – logic with: –Negative (positive) logic inputs –Positive (negative) logic outputs –Arbitrary mixture of positive & negative logic

ENGN3213: Digital Systems and Microprocessors L#8 12 INPUTOUTPUT ABA AND B In order for the Output of an AND Logical Function to be TRUE: input A AND input B must both be TRUE. This is Positive Logic. Using the Same Function -It is also correct to say: If either input A OR input B (or both) is NOT TRUE the Output Will be FALSE. This is Negative Logic. Positive vs Negative Logic A B Out

ENGN3213: Digital Systems and Microprocessors L#8 13 Multiple Gate Interpretations Positive logic: Negative logic:

ENGN3213: Digital Systems and Microprocessors L#8 14 SOP and POS Any logical expression can be reduced to either a "Sum-of-Products" form or a "Product-of-Sums" form

ENGN3213: Digital Systems and Microprocessors L#8 15 DeMorgan's Theorem Proof Duality between AND and OR means that any logic function can be implemented by using just OR and NOT gates (NOR), or by just AND and NOT gates (NAND) "break the line, change the sign"

ENGN3213: Digital Systems and Microprocessors L#8 16 CMOS NAND gate The NAND gate is by far the most important It is cheapest to construct It can be used to produce all other logic operations

ENGN3213: Digital Systems and Microprocessors L#8 17 CMOS NAND gate The NAND gate is by far the most important It is cheapest to construct It can be used to produce all other logic operations XOR

ENGN3213: Digital Systems and Microprocessors L#8 18 NAND gate D Flip-Flop

ENGN3213: Digital Systems and Microprocessors L#8 19 NAND Gate Implementation De Morgan’s law tells us that is the same as By definition, is the same as  All sum-of-products expressions can be implemented with only NAND gates.

ENGN3213: Digital Systems and Microprocessors L#8 20 Combinational analysis... derives truth table

ENGN3213: Digital Systems and Microprocessors L#8 21 Signal expressions F = ((X + Y)  Z) + (X  Y  Z)

ENGN3213: Digital Systems and Microprocessors L#8 22 New circuit, same function Multiply out: F = ((X + Y’). Z) + (X’. Y. Z’) = (X. Z) + (Y’. Z) + (X’. Y. Z’)

ENGN3213: Digital Systems and Microprocessors L#8 23 Two-level AND-OR Three-level equivalent Two-level NAND-NAND Also, equation does not determine circuit:

ENGN3213: Digital Systems and Microprocessors L#8 24 Conclude: Equation does not determine the circuit Circuit does not determine the equation

ENGN3213: Digital Systems and Microprocessors L#8 25 Combinational analysis given circuit, determine function Combinational synthesis given function, determine circuit

ENGN3213: Digital Systems and Microprocessors L#8 26 Design Considerations In addition to logic functions, a designer must be concerned with a number of physical characteristics of digital logic circuits, including the following: –Static Hasards –Propagation delays –Gate fan-in and fan-out restrictions –Power consumption –Size and weight

ENGN3213: Digital Systems and Microprocessors L#8 27 Static Hasard

ENGN3213: Digital Systems and Microprocessors L#8 28 Static Hasard

ENGN3213: Digital Systems and Microprocessors L#8 29 Programmable Arrays of Logic Gates Until now, we learned about designing Boolean functions using discrete logic gates We will now describe a technique to arrange AND and OR gates (or NAND and NOR gates) into a general array structure Specific functions can be programmed Can use programmable logic arrays (PLA) or programmable array logic (PAL)

ENGN3213: Digital Systems and Microprocessors L#8 30 Programmable Logic Devices PROM (Programmable Read-only Memory) PLA (Programmable Logic Array) PAL (Programmable Array Logic) FPGA (Field-Programmable Gate Array)

ENGN3213: Digital Systems and Microprocessors L#8 31 Programmable Logic Device What is a Programmable Logic Device (PLD)? –an IC that contains large numbers of gates, flip-flops and registers that are interconnected on the chip –can be configured by the user to perform a logic function – less board space – smaller enclosures – faster and less costly assembly processes – higher reliability (fewer ICs and circuit connections => easier troubleshooting)

ENGN3213: Digital Systems and Microprocessors L#8 32 Programmable Logic Device Basic Ideas of PLD – A PLD consists of an array of AND gates and an array of OR gates – Each input feeds both a non-inverting buffer and an inverting buffer to produce the true and inverted forms of each variable. (i.e. the input lines to the AND-gate array) – The AND outputs are called the product lines – Each product line is connected to one of the inputs of each OR gate – Three fundamental types of standard PLDs: PROM, PAL, and PLA

ENGN3213: Digital Systems and Microprocessors L#8 33 PALs and PLAs Pre-fabricated building block of many AND/OR gates (or NOR, NAND) "Personalized" by making or breaking connections among the gates Programmable Array Block Diagram for Sum of Products Form

ENGN3213: Digital Systems and Microprocessors L#8 34 Internal Structures of PLD

ENGN3213: Digital Systems and Microprocessors L#8 35 Programmable Read-Only Memory (PROM) Each possible minterm AND gate is present (fixed AND) plane and configurable OR plane Can use it to do address decoding Can also be use to implement logic functions

ENGN3213: Digital Systems and Microprocessors L#8 36 Binary encoders

ENGN3213: Digital Systems and Microprocessors L#8 37 Adders Basic building block is “full adder” 1-bit-wide adder, produces sum and carry outputs Truth table: XYCinSCout

ENGN3213: Digital Systems and Microprocessors L#8 38 Full-adder circuit

ENGN3213: Digital Systems and Microprocessors L#8 39 Multiplexers

ENGN3213: Digital Systems and Microprocessors L#8 40 Multiplexers

ENGN3213: Digital Systems and Microprocessors L#8 41 Truth Table

ENGN3213: Digital Systems and Microprocessors L#8 42 Decoders A decoder always has n inputs and 2 n outputs. n bit address for 2 n bit word of memory Given any input to a decoder, only one decoder output is 1. From truth table, circuit for 2x4 decoder Each output is a 2-variable minterm (X'Y', X'Y, XY' or XY) F 0 = X'Y' F 1 = X'Y F 2 = XY' F 3 = XY XY

ENGN3213: Digital Systems and Microprocessors L#8 43 Decoders Design a 3x8 decoder. F 1 = x'y'z xzy F 0 = x'y'z' F 2 = x'yz' F 3 = x'yz F 5 = xy'z F 4 = xy'z' F 6 = xyz' F 7 = xyz

ENGN3213: Digital Systems and Microprocessors L# to-8 decoder

ENGN3213: Digital Systems and Microprocessors L# x138 3-to-8-decoder symbol

ENGN3213: Digital Systems and Microprocessors L#8 46 Implementation of ROMs ROM can be implemented using orthogonal arrangement of wires –optional connection at each intersection –decoder puts logic ‘1’ on exactly one of the horizontal wires - this can be detected at output if connection present Some PROMs are configured by breaking connections –high voltage placed across one input and one output at a time –high current flow causes “fuse” at intersection to “blow” Other PROMs can be erased and reprogrammed (EPROMs) stored functions   m (0,1,3,4,6),  m (0,1,3,5,7),  m (2,3,6,7),  m (0,3,4,6)

ENGN3213: Digital Systems and Microprocessors L#8 47 ABCD A B C D A A A A A A A A A A A A A A A F 1 F S 3 S 2 S 1 S 0 4:16 dec Enb F 2 Decoder as a Logic Building Block Example Function: F1 = A' B' C D + A' B C' D + A B C D F2 = A B C' D' + A B CD' + A B C D F3 = (ABC D)'

ENGN3213: Digital Systems and Microprocessors L#8 48 Programmable Logic Arrays PLAs have configurable “AND-plane” & “OR-plane” Can implement any 2-level AND-OR circuit Efficient physical implementation in CMOS x0x0 x1x1 x2x2 x3x3 x4x4 x5x5 z0z0 z1z1 z2z2 z 3 = x 0 x 1 x 2 x 3 x 4 x 5 + x 0 x 1 x 2 x 5 x 0 x 2 x 3 x 4 x 5 x 0 x 1 x 2 x 3 x 4 x 5 x 0 x 2 x 4 x 5 x 0 x 1 x 2 x 5 x 0 x 4 x 5 x 1 x 2 x 3 x 4 configurable connection

ENGN3213: Digital Systems and Microprocessors L#8 49 Programmable Array Logic (Limited PLA) PAL is similar to PLA but fixed OR-plane Simpler to program and cheaper implementation Limited number of terms in each output x0x0 x1x1 x2x2 x3x3 x4x4 x5x5 z0z0 z1z1 z 2 = x 0 x 2 x 3 x 4 x 5 + x 0 x 1 x 2 x 3 x 4 x 5 x 0 x 2 x 3 x 4 x 5 x 0 x 1 x 2 x 3 x 4 x 5 x 0 x 2 x 4 x 5 x 0 x 1 x 2 x 5 x 0 x 4 x 5 x 1 x 2 x 3 x 4 configurable connection

ENGN3213: Digital Systems and Microprocessors L#8 50 Alternative Representations Short-hand notation so we don't have to draw all the wires! Notation for implementing F0 = A B + A' B' F1 = C D' + C' D F0 F1F2F3 ABCD

ENGN3213: Digital Systems and Microprocessors L#8 51 Field Programmable Gate Arrays FPGA roots are in the CPLDs of the 1980's Invented by Ross Freeman (co-founder of Xilinx) in FPGAs can be used to construct more complex circuits Applications of FPGAs include DSP, aerospace, defense systems, computer vision, speech recognition, cryptography etc. FPGAs especially find applications in any area or algorithm that can make use of the massive parallelism offered by their architecture. Chip contains a large number (1,000s to 100,000s) of configurable building blocks CAD tools map high level circuit to basic blocks, configuring function generators & other configurable elements as needed

ENGN3213: Digital Systems and Microprocessors L#8 52 FPGA An FPGA contains both logic blocks and programmable routing (interconnects) A logic block is a circuit block that is replicated in an array in an FPD A logic block consists of clusters of logic cells Each logic cell contains a Look up table (LUT). –They are called Configurable Logic Blocks (CLB) by Xilinx. –based on Look-Up Tables. Most commercial FPGAs have 4-input LUTs –The logic blocks of most SRAM-based FPGAs consist of logic cells –A logic cell consists of a LUT, a flip flop, and connection to adjacent cells. –A logic slice consists of 2 logic cells. –Xilinx counts closer to 2.25 logic cells per slice because they can do more per configurable logic block (CLB) than other architectures

ENGN3213: Digital Systems and Microprocessors L#8 53 Xilinx FPGA Organization CLBs can be connected to passing wires Direct lines (DL) allow signal between adjacent CLB DL can be programmed to connect to long wire segments Long wire segments used to connect distant CLBs Wire segments connected by switch matrix Configuration information stored in SRAM bits that are loaded when power turns on switch matrix wire segments configurable logic blocks (CLB) IO blocks (IOB)

ENGN3213: Digital Systems and Microprocessors L#8 54 Configuring Logic Lookup table implements logic functions Multiplexors and pass transistors implement routing Switch matrix contains configurable clusters of pass transistors –provides wide variety of routing options f(A,B,C) ABCABC configuration memory

ENGN3213: Digital Systems and Microprocessors L#8 55 S/R C D > ECCLR PRE LUT4 LUT3 LUT4 D > ECCLR PRE 1 1 S/R C YQ XQ Y X CLKEC G1 G2 G3 G4 F1 F2 F3 F4 H1 DIN S/R Flip Flop Xilinx Configurable Logic Block Main Function Generators Set/Reset Control Clock Enable Control Clock Edge Select

ENGN3213: Digital Systems and Microprocessors L#8 56 Things You Should Know ROMS –Each possible minterm AND gate is present (fixed AND) plane and configurable OR plane –how large a ROM is needed for given set of logic equations? PLAs –Limited number of AND gates –Programmable AND and OR gates. PALs –Programmable AND plane –how are logic functions represented? FPGAs –components of FPGA and how they relate to each other –components of typical logic cell (Configurable Logic Block) –how circuits can be mapped onto CLBs