CPE/EE 422/522 Advanced Logic Design

Slides:



Advertisements
Similar presentations
Chapter 3 Gate-Level Minimization
Advertisements

컴퓨터구조론 교수 채수환. 교재 Computer Systems Organization & Architecture John D. Carpinelli, 2001, Addison Wesley.
Functions and Functional Blocks
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 9 Programmable Configurations Read Only Memory (ROM) – –a fixed array of AND gates.
Gate-Level Minimization

Boolean Algebra and Logic Simplification
Combinational Logic Design
Department of Computer Engineering
1 © 2015 B. Wilkinson Modification date: January 1, 2015 Designing combinational circuits Logic circuits whose outputs are dependent upon the values placed.
Chapter 3: Digital Logic Dr Mohamed Menacer Taibah University
Circuit Minimization. It is often uneconomical to realize a logic directly from the first logic expression that pops into your head. Canonical sum and.
Computer Engineering (Logic Circuits) (Karnaugh Map)
CPE 626 Advanced VLSI Design Lecture 2 Aleksandar Milenkovic
Boolean Algebra & Logic Circuits Dr. Ahmed El-Bialy Dr. Sahar Fawzy.
1 CS 151: Digital Design Chapter 3: Combinational Logic Design 3-1Design Procedure CS 151: Digital Design.
BOOLEAN ALGEBRA AND LOGIC SIMPLIFICATION
CHAPTER 1 INTRODUCTION TO DIGITAL LOGIC
1 ECE 545—Digital System Design with VHDL Lecture 1 Digital Logic Refresher Part A – Combinational Logic Building Blocks.
Digital Logic (Karnaugh Map). Karnaugh Maps Karnaugh maps (K-maps) are graphical representations of boolean functions. One map cell corresponds to a row.
Karnaugh Maps (K maps).
School of Computer and Communication Engineering, UniMAP DKT 122/3 - DIGITAL SYSTEM I Chapter 4A:Boolean Algebra and Logic Simplification) Mohd ridzuan.
Speaker: Fuw-Yi Yang 楊伏夷 伏夷非征番, 道德經 察政章(Chapter 58) 伏者潛藏也
This chapter in the book includes: Objectives Study Guide
CHAPTER 3 Simplification of Boolean Functions
Chapter 2: Boolean Algebra and Logic Functions
DeMorgan’s Theorem DeMorgan’s 2nd Theorem
ECE 2110: Introduction to Digital Systems
Computer Organisation
ENG2410 Digital Design “Combinational Logic Design”
ECE 3110: Introduction to Digital Systems
Boolean Algebra and Combinational Logic
Overview Part 1 – Design Procedure Beginning Hierarchical Design
COMP211 Computer Logic Design Lecture 3. Combinational Logic 2
This chapter in the book includes: Objectives Study Guide
ECE 434 Advanced Digital System L03
Reading: Hambley Chapters
Basics Combinational Circuits Sequential Circuits
Basics Combinational Circuits Sequential Circuits Ahmad Jawdat
CPE/EE 422/522 Advanced Logic Design L02
CS105 Introduction to Computer Concepts GATES and CIRCUITS
ECE 616 Advanced FPGA Designs
ECE 434 Advanced Digital Systems
EECS 465: Digital Systems Lecture Notes # 2
Digital Logic & Design Dr. Waseem Ikram Lecture 13.
CHAPTER 5 KARNAUGH MAPS 5.1 Minimum Forms of Switching Functions
FIGURE 4.1 Block diagram of combinational circuit
ECE434a Advanced Digital Systems L02
CSE 370 – Winter 2002 – Logic minimization - 1
Programmable Configurations
Chapter 3 Gate-level Minimization.
Dr. Clincy Professor of CS
Chapter 2 Introduction to Logic Circuits
Part I Background and Motivation
COE 202: Digital Logic Design Combinational Logic Part 3
Gate Level Minimization
Instructor: Alexander Stoytchev
Chapter 10.3 and 10.4: Combinatorial Circuits
Digital Fundamentals Floyd Chapter 4 Tenth Edition
Logic Circuits I Lecture 3.
Instructor: Alexander Stoytchev
Instructor: Alexander Stoytchev
Overview Part 2 – Circuit Optimization
3-Variable K-map AB/C AB/C A’B’ A’B AB AB’
Instructor: Alexander Stoytchev
Digital System Design Combinational Logic
Karnaugh Maps (K maps).
Chapter 2 Digital Design and Computer Architecture, 2nd Edition
Circuit Simplification and
Lecture 2: Combinational Logic Design
Presentation transcript:

CPE/EE 422/522 Advanced Logic Design Electrical and Computer Engineering University of Alabama in Huntsville

Motivation Benefits of HDL-based design Portability Technology independence Design cycle reduction Automatic synthesis and Logic optimization … But, the gap between available chip complexity and design productivity continues to increase Design productivity 21% / year Chip Complexity 58% / year 16/09/2018 UAH-CPE/EE 422/522 AM

 Design a soft processor/micro-controller core Educators Mission Educate future generations of designers Emphasis on hierarchical IP core design Design systems, not components! Understand hardware/software co-design Understand and explore design tradeoffs between complexity, performance, and power consumption  Design a soft processor/micro-controller core 16/09/2018 UAH-CPE/EE 422/522 AM

UAH Library of Soft Cores Microchip’s PIC18 micro-controller Microchip’s PIC16 micro-controller Intel’s 8051 ARM Integer CPU core FP10 Floating-point Unit 16/09/2018 UAH-CPE/EE 422/522 AM

 Design Flow Reference Manual Instruction Set Analysis C Programs Dpth&Cntr Design ASM Test Programs VHDL Model C Compiler MPLAB IDE iHex2Rom Verification  Synthesis& Implementation 16/09/2018 UAH-CPE/EE 422/522 AM

Benefits Proposed project-based approach encompasses the whole engineering cycle Put together knowledge in digital design, HDLs, computer architecture, programming languages State-of-the-art devices Work in teams Specification Design Modeling Simulation & Verification FPGA Implementation Measurements (Compl.&Perf.&Power) Design Improvements 16/09/2018 UAH-CPE/EE 422/522 AM

PIC18 Greetings 16/09/2018 UAH-CPE/EE 422/522 AM

Review of Logic Design Fundamentals Outline Review of Logic Design Fundamentals Combinational Logic Boolean Algebra and Algebraic Simplifications Karnaugh Maps Combinational-Circuit Building Blocks 16/09/2018 UAH-CPE/EE 422/522 AM

Combinational Logic Has no memory => present state depends only on the present input X = x1 x2... xn Z = z1 z2... zm x1 z1 x2 z2 xn zm Note: Positive Logic – low voltage corresponds to a logic 0, high voltage to a logic 1 Negative Logic – low voltage corresponds to a logic 1, high voltage to a logic 0 16/09/2018 UAH-CPE/EE 422/522 AM

Basic Logic Gates 16/09/2018 UAH-CPE/EE 422/522 AM

Full Adder Module Truth table Algebraic expressions F(inputs for which the function is 1): Minterms m-notation 16/09/2018 UAH-CPE/EE 422/522 AM

Full Adder (cont’d) Module Truth table Algebraic expressions F(inputs for which the function is 0): Maxterms M-notation 16/09/2018 UAH-CPE/EE 422/522 AM

Boolean Algebra Basic mathematics used for logic design Laws and theorems can be used to simplify logic functions Why do we want to simplify logic functions? 16/09/2018 UAH-CPE/EE 422/522 AM

Laws and Theorems of Boolean Algebra 16/09/2018 UAH-CPE/EE 422/522 AM

Laws and Theorems of Boolean Algebra 16/09/2018 UAH-CPE/EE 422/522 AM

Simplifying Logic Expressions Combining terms Use XY+XY’=X, X+X=X Eliminating terms Use X+XY=X Eliminating literals Use X+X’Y=X+Y Adding redundant terms Add 0: XX’ Multiply with 1: (X+X’) 16/09/2018 UAH-CPE/EE 422/522 AM

Theorems to Apply to Exclusive-OR (Commutative law) (Associative law) (Distributive law) 16/09/2018 UAH-CPE/EE 422/522 AM

Karnaugh Maps Convenient way to simplify logic functions of 3, 4, 5, (6) variables Four-variable K-map each square corresponds to one of the 16 possible minterms 1 - minterm is present; 0 (or blank) – minterm is absent; X – don’t care the input can never occur, or the input occurs but the output is not specified adjacent cells differ in only one value => can be combined Location of minterms 16/09/2018 UAH-CPE/EE 422/522 AM

Sum-of-products Representation Function consists of a sum of prime implicants Prime implicant a group of one, two, four, eight 1s on a map represents a prime implicant if it cannot be combined with another group of 1s to eliminate a variable Prime implicant is essential if it contains a 1 that is not contained in any other prime implicant 16/09/2018 UAH-CPE/EE 422/522 AM

Selection of Prime Implicants Two minimum forms 16/09/2018 UAH-CPE/EE 422/522 AM

Procedure for min Sum of products 1. Choose a minterm (a 1) that has not been covered yet 2. Find all 1s and Xs adjacent to that minterm 3. If a single term covers the minterm and all adjacent 1s and Xs, then that term is an essential prime implicant, so select that term 4. Repeat steps 1, 2, 3 until all essential prime implicants have been chosen 5. Find a minimum set of prime implicants that cover the remaining 1s on the map. If there is more than one such set, choose a set with a minimum number of literals 16/09/2018 UAH-CPE/EE 422/522 AM

Products of Sums F(1) = {0, 2, 3, 5, 6, 7, 8, 10, 11} F(X) = {14, 15} 16/09/2018 UAH-CPE/EE 422/522 AM

Karnaugh Maps Example Sum of products Product of sums 16/09/2018 UAH-CPE/EE 422/522 AM

Five variable Karnaugh Map BC BC 00 01 11 10 00 01 11 10 DE DE 00 00 1 1 1 01 1 1 01 1 1 1 1 11 11 1 1 10 1 1 10 A=0 A=1 16/09/2018 UAH-CPE/EE 422/522 AM

Six Variable Karnaugh Map 1 00 01 11 10 CD EF 1 00 01 11 10 CD EF AB=00 AB=01 1 00 01 11 10 CD EF 1 00 01 11 10 CD EF AB=10 AB=11 16/09/2018 UAH-CPE/EE 422/522 AM

Designing with NAND and NOR Gates (1) Implementation of NAND and NOR gates is easier than that of AND and OR gates (e.g., CMOS) 16/09/2018 UAH-CPE/EE 422/522 AM

Designing with NAND and NOR Gates (2) Any logic function can be realized using only NAND or NOR gates => NAND/NOR is complete NAND function is complete – can be used to generate any logical function; 1: a I (a | a) = a | a’ = 1 0: {a I (a | a)} | {a I (a | a)} = 1 | 1 = 0 a’: a | a = a’ ab: (a | b) | (a | b) = (a | b)’ = ab a+b: (a | a) | (b | b) = a’ | b’ = a + b 16/09/2018 UAH-CPE/EE 422/522 AM

Conversion to NOR Gates Start with POS (Product Of Sums) circle 0s in K-maps Find network of OR and AND gates 16/09/2018 UAH-CPE/EE 422/522 AM

Conversion to NAND Gates Start with SOP (Sum of Products) circle 1s in K-maps Find network of OR and AND gates 16/09/2018 UAH-CPE/EE 422/522 AM

Tristate Logic and Busses Four kinds of tristate buffers B is a control input used to enable and disable the output 16/09/2018 UAH-CPE/EE 422/522 AM

Data Transfer Using Tristate Bus 16/09/2018 UAH-CPE/EE 422/522 AM

Combinational-Circuit Building Blocks Multiplexers Decoders Encoders Code Converters Comparators Adders/Subtractors Multipliers Shifters 16/09/2018 UAH-CPE/EE 422/522 AM

Multiplexers: 2-to-1 Multiplexer Have number of data inputs, one or more select inputs, and one output It passes the signal value on one of data inputs to the output s w w f s w f 1 1 w (a) Graphical symbol 1 (c) Sum-of-products circuit s f w 1 w 1 (b) Truth table 16/09/2018 UAH-CPE/EE 422/522 AM

Multiplexers: 4-to-1 Multiplexer s s 1 s s f 1 w w 00 w s w 1 1 01 1 w f w 1 2 10 1 w w 2 w 3 11 1 1 w 1 3 f (a) Graphic symbol (b) Truth table w 2 w 3 (c) Circuit 16/09/2018 UAH-CPE/EE 422/522 AM

Multiplexers: Building Larger Mulitplexers s s 1 1 s w w 3 w w 1 1 w s 4 2 s 3 f w 1 7 w f 2 w 3 1 w 8 w 11 (a) 4-to-1 using 2-to-1 (b) 16-to-1 using 4-to-1 w 12 w 15 16/09/2018 UAH-CPE/EE 422/522 AM

Synthesis of Logic Functions Using Muxes w w w f 2 1 2 w 1 1 1 1 f 1 1 1 1 1 (a) Implementation using a 4-to-1 multiplexer w w f 1 2 w f 1 w 1 w 2 1 1 1 w w 2 2 1 1 f 1 1 (b) Modified truth table (c) Circuit 16/09/2018 UAH-CPE/EE 422/522 AM

Synthesis of Logic Functions Using Muxes w w w f 1 2 3 w w f 1 2 1 w 1 3 1 w 1 3 w 1 1 1 1 1 1 2 w 1 1 1 1 1 w 1 1 1 3 f 1 1 1 1 1 (a) Modified truth table (b) Circuit 16/09/2018 UAH-CPE/EE 422/522 AM

Decoders: n-to-2n Decoder Decode encoded information: n inputs, 2n outputs If En = 1, only one output is asserted at a time One-hot encoded output m-bit binary code where exactly one bit is set to 1 w y n 2 n inputs w outputs n – 1 y Enable En 2 n – 1 16/09/2018 UAH-CPE/EE 422/522 AM

Decoders: 2-to-4 Decoder En w w y y y y 1 1 2 3 w 1 1 y 1 1 1 w 1 1 1 1 1 1 1 1 x x y 1 (a) Truth table y 2 w y w y 1 1 y 3 y 2 y En En 3 (c) Logic circuit (b) Graphic symbol 16/09/2018 UAH-CPE/EE 422/522 AM

Decoders: 3-to-8 Using 2-to-4 w w y y w w y y 1 1 1 1 y y 2 2 w 2 y y En 3 3 En w y y 4 w y y 1 1 5 y y 2 6 En y y 3 7 16/09/2018 UAH-CPE/EE 422/522 AM

Decoders: 4-to-16 Using 2-to-4 w w y y w w y y 1 1 1 1 y y 2 2 En y y 3 3 w y y 4 w y y 1 1 5 y y 2 6 w 2 w y y y En 3 7 w w y 3 1 1 y 2 En y w y y En 3 8 w y y 1 1 9 y y 2 10 En y y 3 11 w y y 12 w y y 1 1 13 y y 2 14 En y y 3 15 16/09/2018 UAH-CPE/EE 422/522 AM

Encoders Opposite of decoders Binary encoders Encode given information into a more compact form Binary encoders 2n inputs into n-bit code Exactly one of the input signals should have a value of 1, and outputs present the binary number that identifies which input is equal to 1 Use: reduce the number of bits (transmitting and storing information) w y n n 2 outputs inputs y w n – 1 2 n – 1 16/09/2018 UAH-CPE/EE 422/522 AM

Encoders: 4-to-2 Encoder w w w w y y 3 2 1 1 w 1 w 1 1 1 y 1 1 w 1 1 1 2 y w 1 3 (a) Truth table (b) Circuit 16/09/2018 UAH-CPE/EE 422/522 AM

Encoders: Priority Encoders Each input has a priority level associated with it The encoder outputs indicate the active input that has the highest priority (a) Truth table for a 4-to-2 priority encoder w w w w y y z 3 2 1 1 d d 1 1 1 x 1 1 1 x x 1 1 1 x x x 1 1 1 16/09/2018 UAH-CPE/EE 422/522 AM

Code Converters Convert from one type of input encoding to a different output encoding E. g., BCD-to-7-segment decoder w w w w a b c d e f g 3 2 1 a a 1 1 1 1 1 1 b w 1 1 1 c f b w 1 1 1 1 1 1 1 d w 2 g 1 1 1 1 1 1 1 e e c w 3 1 1 1 1 1 f g 1 1 1 1 1 1 1 d 1 1 1 1 1 1 1 1 (a) Code converter (b) 7-segment display 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 (c) Truth table 16/09/2018 UAH-CPE/EE 422/522 AM

To Do Textbook Read Chapter 1.3, 1.4, 1.13 Altera’s MAX+plus II and the UP1 Educational board: A User’s Guide, B. E. Wells, S. M. Loo Altera University Program Design Laboratory Package 16/09/2018 UAH-CPE/EE 422/522 AM