1 Digital Design Debdeep Mukhopadhyay Associate Professor Dept of Computer Science and Engineering NYU Shanghai and IIT Kharagpur.

Slides:



Advertisements
Similar presentations
Give qualifications of instructors: DAP
Advertisements

Princess Sumaya University
Modular Combinational Logic
Logical Design.
Overview Part 2 – Combinational Logic Functions and functional blocks
Functions and Functional Blocks
Henry Hexmoor1 C hapter 4 Henry Hexmoor-- SIUC Rudimentary Logic functions: Value fixing Transferring Inverting.
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 9 Programmable Configurations Read Only Memory (ROM) – –a fixed array of AND gates.
التصميم المنطقي Second Course
Introduction to Digital Systems By Dr. John Abraham UT-Panam.
Combinational Logic Chapter 4.
EE2174: Digital Logic and Lab
Digital Logic Design Lecture 18. Announcements HW 6 up on webpage, due on Thursday, 11/6.
Any logic circuits can be transformed to an implementation where only NAND gates (and inverters) are used. The general approach to finding a NAND-gate.
Logic Gates Combinational Circuits
CS 105 Digital Logic Design
Today’s Topics Digital Logic Design Digital Logic Design Boolean Logic Boolean Logic Digital Logic Circuits Digital Logic Circuits.
Decoders and Multiplexers Prof. Sin-Min Lee Department of Computer Science San Jose State University.
Introduction to Digital Logic Design Appendix A of CO&A Dr. Farag
Top-down modular design
1 CHAPTER 4: PART I ARITHMETIC FOR COMPUTERS. 2 The MIPS ALU We’ll be working with the MIPS instruction set architecture –similar to other architectures.
Combinational Logic Design
Outline Analysis of Combinational Circuits Signed Number Arithmetic
Combinational and Sequential Logic Circuits.
Combinational Logic Chapter 4. Digital Circuits Combinational Circuits Logic circuits for digital system Combinational circuits the outputs are.
Chap 3. Chap 3. Combinational Logic Design. Chap Combinational Circuits l logic circuits for digital systems: combinational vs sequential l Combinational.
Dept. of Computer Science Engineering Islamic Azad University of Mashhad 1 DIGITAL LOGIC CIRCUITS Dept. of Computer Science Engineering Islamic Azad University.
Combinational Circuit – Arithmetic Circuit
+ CS 325: CS Hardware and Software Organization and Architecture Combinational Circuits 1.
Logic Design A Review. Binary numbers Binary numbers to decimal  Binary 2 decimal  Decimal 2 binary.
Introduction to Computing Systems from bits & gates to C & beyond Chapter 3 Digital Logic Structures Transistors Logic gates & Boolean logic Combinational.
School of Computer Science G51CSA 1 Computer Systems Architecture Fundamentals Of Digital Logic.
MSI Devices M. Mano & C. Kime: Logic and Computer Design Fundamentals (Chapter 5) Dr. Costas Kyriacou and Dr. Konstantinos Tatas ACOE161 - Digital Logic.
Digital Logic Structures. Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 3-2 Roadmap Problems Algorithms.
Functions of Combinational Logic
The Digital Logic Level
Combinational Logic By Taweesak Reungpeerakul
1 DIGITAL ELECTRONICS. 2 OVERVIEW –electronic circuits capable of carrying out logical (boolean) and arithmetic operations on information stored as binary.
Adders Half-adder  Adds two bits Produces a sum and carry  Problem: Cannot use it to build larger inputs Full-adder  Adds three 1-bit values Like half-adder,
Combinational Design, Part 3: Functional Blocks
Kuliah Rangkaian Digital Kuliah 6: Blok Pembangun Logika Kombinasional Teknik Komputer Universitas Gunadarma.
CHAPTER 4 Combinational Logic
Logic Design CS 270: Mathematical Foundations of Computer Science Jeremy Johnson.
ES 244: Digital Logic Design Chapter 4 Chapter 4: Combinational Logic Uchechukwu Ofoegbu Temple University.
CS 105 DIGITAL LOGIC DESIGN Chapter 4 Combinational Logic 1.
Computer Architecture From Microprocessors To Supercomputers
Chapter 3 Digital Logic Structures. Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 3-2 Transistor: Building.
1 Chapter 4 Combinational Logic Logic circuits for digital systems may be combinational or sequential. A combinational circuit consists of input variables,
Magnitude Comparator Dr. Ahmed Telba.
Computing Machinery Chapter 3: Combinational Circuits.
1 Fundamentals of Computer Science Combinational Circuits.
1 ECE 545—Digital System Design with VHDL Lecture 1 Digital Logic Refresher Part A – Combinational Logic Building Blocks.
1 Combinational Logic EE 208 – Logic Design Chapter 4 Sohaib Majzoub.
Combinational Circuit Design. Digital Circuits Combinational CircuitsSequential Circuits Output is determined by current values of inputs only. Output.
Introduction to Computing Systems and Programming Digital Logic Structures.
CSI-2111 Structure of Computers Ipage Combinational Circuits  Objectives : To recognize the principal types of combinational circuits  Adders.
Digital Logic Design Basics Combinational Circuits Sequential Circuits Pu-Jen Cheng Adapted from the slides prepared by S. Dandamudi for the book, Fundamentals.
Chapter 3 Digital Logic Structures
1 DLD Lecture 16 More Multiplexers, Encoders and Decoders.
Binary Parallel Adders
ACOE161 (Spring2007)MSI Devices1 Revision on MSI Devices M. Mano & C. Kime: Logic and Computer Design Fundamentals (Chapter 5)
Overview Part 2 – Combinational Logic Functions and functional blocks
Chap 3. Combinational Logic Design
ECE 434 Advanced Digital System L03
NAND-ONLY LOGIC CIRCUITS
Basics Combinational Circuits Sequential Circuits
Fundamentals of Computer Science Part i2
Programmable Configurations
Digital System Design Combinational Logic
Presentation transcript:

1 Digital Design Debdeep Mukhopadhyay Associate Professor Dept of Computer Science and Engineering NYU Shanghai and IIT Kharagpur

2 Logical Design

3 Design with Basic Logic Gates Logic gates: perform logical operations on input signals Positive (negative) logic polarity: constant 1 (0) denotes a high voltage and constant 0 a low (high) voltage Synchronous circuits: driven by a clock that produces a train of equally spaced pulses Asynchronous circuits: are almost free-running and do not depend on a clock; controlled by initiation and completion signals Fanout: number of gate inputs driven by the output of a single gate Fanin: bound on the number of inputs a gate can have Propagation delay: time to propagate a signal through a gate

4 Analysis of Combinational Circuits Circuit analysis: determine the Boolean function that describes the circuit Done by tracing the output of each gate, starting from circuit inputs and continuing towards each circuit output Example: a multi-level realization of a full binary adder C 0 = AB + (A + B)C = AB + AC + BC S = (A + B + C)[AB + (A + B)C]’ + ABC = (A + B + C)(A’ + B’)(A’ + C’)(B’ + C’) + ABC = AB’C’ + A’BC’ + A’B’C + ABC = A B C

5 Simple Design Problems Parallel parity-bit generator: produces output value 1 if and only if an odd number of its inputs have value 1 P = x’y’z + x’yz’ + xy’z’ + xyz

6 Simple Design Problems (Contd.) Serial-to-parallel converter: distributes a sequence of binary digits on a serial input to a set of different outputs, as specified by external control signals

7 Logic Design with Integrated Circuits Small scale integration (SSI): integrated circuit packages containing a few gates; e.g., AND, OR, NOT, NAND, NOR, XOR Medium scale integration (MSI): packages containing up to about 100 gates; e.g., code converters, adders Large scale integration (LSI): packages containing thousands of gates; arithmetic unit Very large scale integration (VLSI): packages with millions of gates

8Comparators n-bit comparator: compares the magnitude of two numbers X and Y, and has three outputs f 1, f 2, and f 3 f 1 = 1 iff X > Y f 2 = 1 iff X = Y f 3 = 1 iff X < Y f 1 = x 1 x 2 y 2 ’ + x 2 y 1 ’y 2 ’ + x 1 y 1 ’ = (x 1 + y 1 ’)x 2 y 2 ’ + x 1 y 1 ’ f 2 = x 1 ’x 2 ’y 1 ’y 2 ’ + x 1 ’x 2 y 1 ’y 2 + x 1 x 2 ’y 1 y 2 ’ + x 1 x 2 y 1 y 2 = x 1 ’y 1 ’(x 2 ’y 2 ’ + x 2 y 2 ) + x 1 y 1 (x 2 ’y 2 ’ + x 2 y 2 ) = (x 1 ’y 1 ’ + x 1 y 1 )(x 2 ’y 2 ’ + x 2 y 2 ) f 3 = x 2 ’y 1 y 2 + x 1 ’x 2 ’y 2 + x 1 ’y 1 = x 2 ’y 2 (y 1 + x 1 ’) + x 1 ’y 1

9 4-bit/12-bit Comparators Four-bit comparator: 11 inputs (four for X, four for Y, and three connected to outputs f 1, f 2 and f 3 of the preceding stage) 12-bit comparator:

10 Data Selectors Multiplexer: electronic switch that connects one of n inputs to the output Data selector: application of multiplexer n data input lines, D 0, D 1, …, D n-1 m select digit inputs s 0, s 1, …, s m-1 1 output

11 Implementing Switching Functions with Data Selectors Data selectors: can implement arbitrary switching functions Example: implementing two-variable functions

12 Implementing Switching Functions with Data Selectors (Contd.) To implement an n-variable function: a data selector with n-1 select inputs and 2 n-1 data inputs Implementing three-variable functions: z = s 2 ’s 1 ’D 0 + s 2 ’s 1 D 1 + s 2 s 1 ’D 2 + s 2 s 1 D 3 Example: s 1 = A, s 2 = B, D 0 = C, D 1 = 1, D 2 = 0, D 3 = C’ z = A’B’C + AB’ + ABC’ = AC’ + B’C General case: Assign n-1 variables to the select inputs and last variable and constants 0 and 1 to the data inputs such that desired function results

Realize Y=AC’+B’C using MUX only Make A, B as select lines. –A,B=0,0 => Y=0 –A,B=0,1 => Y=0 –A,B=1,0 => Y=C’+C=1 –A,B=1,1 => Y=C’ 13 A B C’ Y

14 Priority Encoders Priority encoder: n input lines and log 2 n output lines Input lines represent units that may request service When inputs p i and p j, such that i > j, request service simultaneously, line p i has priority over line p j Encoder produces a binary output code indicating which of the input lines requesting service has the highest priority Example: Eight-input, three-output priority encoder z 4 = p 4 p 5 ’p 6 ’p 7 ’ + p 5 p 6 ’p 7 ’ + p 6 p 7 ’ + p 7 = p 4 + p 5 + p 6 + p 7 z 2 = p 2 p 3 ’p 4 ’p 5 ’p 6 ’p 7 ’ + p 3 p 4 ’p 5 ’p 6 ’p 7 ’ + p 6 p 7 ’ + p 7 = p 2 p 4 ’p 5 ’ + p 3 p 4 ’p 5 ’ + p 6 + p 7 z 1 = p 1 p 2 ’p 3 ’p 4 ’p 5 ’p 6 ’p 7 ’ + p 3 p 4 ’p 5 ’p 6 ’p 7 ’ + p 5 p 6 ’p 7 ’ + p 7 = p 1 p 2 ’p 4 ’p 6 ’ + p 3 p 4 ’p 6 ’ + p 5 p 6 ’ + p 7

15 Priority Encoders (Contd.)

16 Decoders Decoders with n inputs and 2 n outputs: for any input combination, only one output is 1 Useful for: Routing input data to a specified output line, e.g., in addressing memory Basic building blocks for implementing arbitrary switching functions Code conversion Data distribution Example: 2-to-4- decoder

17 Decoders with Enable Line Decoders with n inputs and 2 n outputs: for any input combination, only one output is 1 Useful for: Routing input data to a specified output line, e.g., in addressing memory Basic building blocks for implementing arbitrary switching functions Code conversion Data distribution Example: 2-to-4- decoder E

4-16 decoder using 3-8 decoder with Enable Decoder E E x y z w D0-D7 D8-D15 Usefulness of Enable to expand circuits.

19 Decoders (Contd.) Example: 4-to-16 decoder made of two 2-to-4 decoders and a gate- switching matrix

20 Decimal Decoder BCD-to-decimal: Decoder which converts from BCD to decimal. Example of 4-9 Decoder.

21 Decimal Decoder (Contd.) Alternative Implementation using a partial-gate matrix:

22 Implementing Arbitrary Switching Functions Example: Realize a distinct minterm at each output

23 Demultiplexers Demultiplexers: decoder with1 data input and n address inputs Directs input to any one of the 2 n outputs Example: A 4-output demultiplexer

24 Seven-segment Display Seven-segment display: BCD to seven-segment decoder and seven LEDs Seven-segment pattern and code: A = x 1 + x 2 ’x 4 ’ + x 2 x 4 + x 3 x 4 B = x 2 ’ + x 3 ’x 4 ’ + x 3 x 4 C = x 2 + x 3 ’ + x 4 D = x 2 ’x 4 ’ + x 2 ’x 3 + x 3 x 4 ’ + x 2 x 3 ’x 4 E = x 2 ’x 4 ’ + x 3 x 4 ’ F = x 1 + x 2 x 3 ’ + x 2 x 4 ’ + x 3 ’x 4 ’ G = x 1 + x 2 ’x 3 + x 2 x 3 ’ + x 3 x 4 ’

25 Sine Generators Combinational sine generators: for fast and repeated evaluation of sine Input: angle in radians converted to binary Output: sine in binary z 1 = x 1 ’x 2 + x 1 x 2 ’ + x 2 x 3 ’ + x 1 ’x 3 x 4 z 2 = x 1 x 2 ’ + x 3 x 4 ’ + x 1 ’x 2 x 4 z 3 = x 3 x 4 ’ + x 2 x 3 + x 2 x 4 ’ + x 2 ’x 3 ’x 4 + x 1 x 4 ’ z 4 = x 2 ’x 3 ’x 4 + x 2 x 3 ’x 4 ’ + x 1 x 2 ’x 3 ’ + x 1 x 3 x 4 + x 1 ’x 2 x 4

26 NAND/NOR Circuits Switching algebra: not directly applicable to NAND/NOR logic NAND and NOR gate symbols

27 Analysis of NAND/NOR Networks Example: circles (inversions) at both ends of a line cancel each other

28 Synthesis of NAND/NOR Networks Example: Realize T = w(y+z) + xy’z’

29 Design of High-speed Adders Full adder: performs binary addition of three binary digits Inputs: arguments A and B and carry-in C Outputs: sum S and carry-out C 0 Example: Truth table, block diagram and expressions: S = A’B’C + A’BC’ + AB’C’ + ABC = A B C C 0 = A’BC + ABC’ + AB’C + ABC = AB + AC + BC

30 Ripple-carry Adder Ripple-carry adder: Stages of full adders C f : forced carry C 0(n-1) : overflow carry S i = A i B i C i C 0i = A i B i + A i C i + B i C i Time required: Time per full adder: 2 units Time for ripple-carry adder: 2n units

31 Carry-lookahead Adder Carry-lookahead adder: several stages simultaneously examined and their carries generated in parallel Generate signal D i = A i B i Propagate signal T i = A i B i Thus, C 0i = D i + T i C i To generate carries in parallel: convert recursive form to nonrecursive C 0i = D i + T i C i C i = C 0(i-1) C 0i = D i + T i (D i-1 + T i-1 C i-1 ) = D i + T i D i-1 + T i T i-1 (D i-2 + T i-2 C i-2 ) = D i + T i D i-1 + T i T i-1 D i-2 + T i T i-1 T i-2 C i-2... …….. C 0i = D i + T i D i-1 + T i T i-1 D i-2 + … + T i T i-1 T i-2 …T 0 C f Thus, C 0i = 1 if it has been generated in the i th stage or originated in a preceding stage and propagated to all subsequent stages

32 Carry-lookahead Adder (Contd.) Implementation of lookahead for the complete adder impractical: Divide the n stages into groups Full carry lookahead within group Ripple carry between groups Example: Three-digit adder group with full carry lookahead Time taken: 4 time units for C g1 Only 2 time units for C g2 and other group carries

33 30-bit Adder Example: divide n stages into groups of three stages Time taken: 4 + 2n/3 time units 50% additional hardware for a threefold speedup

34 Metal-oxide Semiconductor (MOS) Transistors and Gates Complementary metal-oxide semiconductor (CMOS): currently the dominant technology Two types of transistors: nMOS and pMOS

35 Transmission Function of a Network CMOS inverter and its transmission functions:

36 CMOS NAND/NOR Gates

37 Analysis of Series-parallel Networks Algebra of MOS networks: isomorphic to switching algebra Example: Find the transmission function of the network and its complementary switch based and complex gate CMOS implementations Complementary switch based Complex gate

38 Analysis of Non-series-parallel Networks Obtaining the transmission function: Tie sets: minimal paths between two terminals Cut sets: minimal sets of branches, when open, ensure no transmission between the two terminals

39 Synthesis of MOS Networks Sneak paths in non-series-parallel networks: undesired paths that may change the transmission function Occur because of bilateral nature of MOS transistors Example: Design a minimal network with BCD inputs that produces a 1 whenever the input is 3 or a multiple of 3 Sneak path: z’xx’w – OK since it has no effect on the transmission function

40 Synthesis of MOS Networks (Contd.) Example: Design a minimal network to realize T(w,x,y,z) = (0,3,13,14,15)

41

42