1 COMP541 Combinational Logic - I Montek Singh Jan 11, 2012.

Slides:



Advertisements
Similar presentations
Chapter 3 Gate-Level Minimization
Advertisements

Logic Gates.
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Fundamentals with PLD Programming.
CT455: Computer Organization Logic gate
ENEL111 Digital Electronics
HDL Programming Fundamentals
Combinational Logic with Verilog Materials taken from: Digital Design and Computer Architecture by David and Sarah Harris & The Essentials of Computer.
16/04/20151 Hardware Descriptive Languages these notes are taken from Mano’s book It can represent: Truth Table Boolean Expression Diagrams of gates and.
SYEN 3330 Digital SystemsJung H. Kim Chapter SYEN 3330 Digital Systems Chapters 4 – Part3: Verilog – Part 1.
CSE 341 Verilog HDL An Introduction. Hardware Specification Languages Verilog  Similar syntax to C  Commonly used in  Industry (USA & Japan) VHDL 
CMPT150, Ch 3, Tariq Nuruddin, Fall 06, SFU 1 Ch3. Combinatorial Logic Design Modern digital design involves a number of techniques and tools essential.
Lecture 1 Design Hierarchy Chapter 1. Digital System Design Flow 1.Register-Transfer Levl (RTL) – e.g. VHDL/Verilog 2.Gate Level Design 3.Circuit Level.
Microelectronic Circuits, Sixth Edition Sedra/Smith Copyright © 2010 by Oxford University Press, Inc. C H A P T E R 13 CMOS Digital Logic Circuits.
DON’T CARE CONDITIONS Functions that have unspecified output for some input combinations are called incompletely specified functions. Unspecified minterms.
1 COMP541 Combinational Logic Montek Singh Jan 16, 2007.
1 CS 140L Lecture 1 CK Cheng CSE Dept. UC San Diego Copyright © 2007 Elsevier.
1 COMP541 Combinational Logic - 2 Montek Singh Jan 18, 2007.
1 CS 140L Lecture 1 CK Cheng CSE Dept. UC San Diego.
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Fundamentals Tenth Edition Floyd.
ECE 331 – Digital System Design Basic Logic Functions, Truth Tables, and Standard Logic Gates.
Lecture 2. Logic Gates Prof. Taeweon Suh Computer Science Education Korea University ECM585 Special Topics in Computer Design.
Today’s Topics Digital Logic Design Digital Logic Design Boolean Logic Boolean Logic Digital Logic Circuits Digital Logic Circuits.
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Fundamentals Tenth Edition Floyd.
COMP541 Combinational Logic - I
Logical Circuit Design Week 5: Combinational Logic Circuits Mentor Hamiti, MSc Office ,
Topics We are going to discuss the following topics for roughly 3 weeks from today Introduction to Hardware Description Language (HDL) Combinational Logic.
Introduction to Digital Design
Module 3.  Binary logic consists of :  logic variables  designated by alphabet letters, e.g. A, B, C… x, y, z, etc.  have ONLY 2 possible values:
Boolean Algebra and Logic Gates CE 40 B 18 June 2003.
Chapter 2: Fundamentals of Digital Electronics Dr Mohamed Menacer Taibah University
NOCTI Review Lesson 4 Objectives:
We know binary We know how to add and subtract in binary –Same as in decimal Next up: learn how apply this knowledge Boolean and Binary Inputs.
ECE 2372 Modern Digital System Design
ECE/CS 352 Digital Systems Fundamentals
Lecture 2. Logic Gates Prof. Taeweon Suh Computer Science Education Korea University 2010 R&E Computer System Education & Research.
Introduction Verilog is a HARDWARE DESCRIPTION LANGUAGE (HDL) A hardware description language is a language or means used to describe or model a digital.
Sneha.  Gates Gates  Characteristics of gates Characteristics of gates  Basic Gates Basic Gates  AND Gate AND Gate  OR gate OR gate  NOT gate NOT.
Module 1.2 Introduction to Verilog
1 Transistors, Boolean Algebra Lecture 2 Digital Design and Computer Architecture Harris & Harris Morgan Kaufmann / Elsevier, 2007.
Logic Signals and Gates. Binary Code Digital logic hides the pitfalls of the analog world by mapping the infinite set of real values for a physical quantity.
ELEE 4303 Digital II Introduction to Verilog. ELEE 4303 Digital II Learning Objectives Get familiar with background of HDLs Basic concepts of Verilog.
Logic Gates. A logic gate is an elementary building block of a digital circuit. Most logic gates have two inputs and one output. At any given moment,
Introduction to ASIC flow and Verilog HDL
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Logic Design Dr. Oliver Faust.
COE 202 Introduction to Verilog Computer Engineering Department College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals.
ECE DIGITAL LOGIC LECTURE 5: BINARY LOGIC AND DIGITAL LOGIC GATES Assistant Prof. Fareena Saqib Florida Institute of Technology Fall 2016, 01/28/2016.
Lecture 2. Logic Gates Prof. Taeweon Suh Computer Science & Engineering Korea University COSE221, COMP211 Logic Design.
1 (c) , W. J. Dally Digital Design: A Systems Approach Lecture 1: The Digital Abstraction Combinational Logic Verilog.
Circuit Synthesis A logic function can be represented in several different forms:  Truth table representation  Boolean equation  Circuit schematic 
Combinational Design, Part 2: Procedure. 2 Topics Positive vs. negative logic Design procedure.
1 Lecture 1: Verilog HDL Introduction. 2 What is Verilog HDL? Verilog Hardware Description Language(HDL)? –A high-level computer language can model, represent.
1 A hardware description language is a computer language that is used to describe hardware. Two HDLs are widely used Verilog HDL VHDL (Very High Speed.
Logic gates.
Digital Logic.
Digital Fundamentals Floyd Chapter 3 Tenth Edition
Engr. Micaela Renee Bernardo
ECE 331 – Digital System Design
Logic Gates.
Logic Gates Benchmark Companies Inc PO Box Aurora CO
Digital Signals Digital Signals have two basic states:
Basic Digital Logic Basic Gates
Schematics 201 Lecture Topic: Electrical Symbols
Introduction to Verilog
Digital Fundamentals Floyd Chapter 3 Tenth Edition
Logic Gates.
HDL Hardware Description Language
Digital Logic Design Basics Combinational Circuits Sequential Circuits.
COE 202 Introduction to Verilog
Presentation transcript:

1 COMP541 Combinational Logic - I Montek Singh Jan 11, 2012

2Today  Basics of digital logic (review) Basic functions Basic functions Boolean algebra Boolean algebra Gates to implement Boolean functions Gates to implement Boolean functions

3 Binary Logic  Binary variables Can be 0 or 1 (T or F, low or high) Can be 0 or 1 (T or F, low or high) Variables named with single letters in examples Variables named with single letters in examples Really use words when designing circuits Really use words when designing circuits

Logic Gates  Perform logic functions: inversion (NOT), AND, OR, NAND, NOR, etc. inversion (NOT), AND, OR, NAND, NOR, etc.  Single-input: NOT gate, buffer NOT gate, buffer  Two-input: AND, OR, XOR, NAND, NOR, XNOR AND, OR, XOR, NAND, NOR, XNOR  Multiple-input

Single-Input Logic Gates

Two-Input Logic Gates

More Two-Input Logic Gates

Multiple-Input Logic Gates

NAND is Universal  Can express any Boolean Function  Equivalents below 9

Using NAND as Invert-OR  Also reverse inverter diagram for clarity 10

NOR Also Universal  Dual of NAND 11

Representation: Schematic 12

Representation: Boolean Algebra  More on this next time 13

Representation: Truth Table  2 n rows: where n # of variables 14

15 Schematic Diagrams  Can you design a Pentium or a graphics chip that way? Well, yes, but diagrams are overly complex and hard to enter Well, yes, but diagrams are overly complex and hard to enter  These days people represent the same thing with text (code)

Hardware Description Languages  Main ones are Verilog and VHDL Others: Abel, SystemC, Handel Others: Abel, SystemC, Handel  Origins as testing languages To generate sets of input values To generate sets of input values  Levels of use from very detailed to more abstract descriptions of hdw Think about C++ from assembly level description to very abstract HLL Think about C++ from assembly level description to very abstract HLL 16

Design w/ HDL  Two leading HDLs: Verilog Verilog  developed in 1984 by Gateway Design Automation  became an IEEE standard (1364) in 1995 VHDL VHDL  Developed in 1981 by the Department of Defense  Became an IEEE standard (1076) in 1987  Most (all?) commercial designs built using HDLs  We’ll use Verilog

Uses of HDL  Simulation Defines input values are applied to the circuit Defines input values are applied to the circuit Outputs checked for correctness Outputs checked for correctness Millions of dollars saved by debugging in simulation instead of hardware Millions of dollars saved by debugging in simulation instead of hardware  Synthesis Transforms HDL code into a netlist describing the hardware (i.e., a list of gates and the wires connecting them) Transforms HDL code into a netlist describing the hardware (i.e., a list of gates and the wires connecting them)IMPORTANT: When describing circuits using an HDL, it’s critical to think of the hardware the code should produce. When describing circuits using an HDL, it’s critical to think of the hardware the code should produce.

Verilog Module  Code always organized in modules  Represent a logic “box” With inputs and outputs With inputs and outputs 19

Example module example(input a, b, c, output y); output y); *** HDL CODE HERE *** *** HDL CODE HERE ***endmodule 20

21 Levels of Verilog Several different levels (or “views”) Structural Structural Dataflow Dataflow Conditional Conditional Behavioral Behavioral Look at first three today

22 Example 1  Output is 1 when input < 011

23 Structural Verilog  Explicit description of gates and connections  Textual form of schematic  Specifying netlist

24 Example 1 in Structural Verilog module example_1(X,Y,Z,F); input X; input X; input Y; input Y; input Z; input Z; output F; output F; //wire X_n, Y_n, Z_n, f1, f2; not g0(X_n, X), g1(Y_n, Y), g2(Z_n, Z); nand g3(f1, X_n, Y_n), g4(f2, X_n, Z_n), g5(F, f1, f2); endmodule Can also be input X, Y, Z;

Slight Variation – Gates not named 25 module example_1_c(X,Y,Z,F); input X; input X; input Y; input Y; input Z; input Z; output F; output F; not(X_n, X); not(Y_n, Y); not(Z_n, Z); nand(f1, X_n, Y_n); nand(f2, X_n, Z_n); nand(F, f1, f2); endmodule

26Explanation  Each of these gates is an instance Like object vs class Like object vs class  In first example, they had names not g0(X_n, X),  In second example, no name not(X_n, X);  Later see why naming can be useful

27Gates  Standard set of gates available and, or, not and, or, not nand, nor nand, nor xor, xnor xor, xnor buf buf

28 Dataflow Description  Basically a logical expression  No explicit gates module example_1_b(X,Y,Z,F); input X; input Y; input Z; output F; assign F = (~X & ~Y) | (~X & ~Z); endmodule

Conditional Description module example_1_c(input [2:0] A, output F); assign F = (A > 3’b011) ? 0 : 1; endmodule 29 Notice alternate specification

Abstraction  Using the digital abstraction we’ve been thinking of the inputs and outputs as True or False True or False 1 or 0 1 or 0  What are they really? 30

Logic Levels  Define discrete voltages to represent 1 and 0  For example, we could define: 0 to be ground or 0 volts 0 to be ground or 0 volts 1 to be V DD or 5 volts 1 to be V DD or 5 volts  What about 4.99 volts? Is that a 0 or a 1?  What about 3.2 volts?

Logic Levels  Define a range of voltages to represent 1 and 0  Define different ranges for outputs and inputs to allow for noise in the system  What is noise?

What is Noise?  Anything that degrades the signal E.g., resistance, power supply noise, coupling to neighboring wires, etc. E.g., resistance, power supply noise, coupling to neighboring wires, etc.  Example: a gate (driver) could output a 5 volt signal but, because of resistance in a long wire, the signal could arrive at the receiver with a degraded value, for example, 4.5 volts 33

The Static Discipline  Given logically valid inputs, every circuit element must produce logically valid outputs  Discipline ourselves to use limited ranges of voltages to represent discrete values

Logic Levels

Noise Margins NM H = V OH – V IH NM L = V IL – V OL

DC Transfer Characteristics Ideal Buffer: Real Buffer: NM H = NM L = V DD /2 NM H, NM L < V DD /2

V DD Scaling  Chips in the 1970’s and 1980’s were designed using V DD = 5 V  As technology improved, V DD dropped Avoid frying tiny transistors Avoid frying tiny transistors Save power Save power  3.3 V, 2.5 V, 1.8 V, 1.5 V, 1.2 V, 1.0 V, …

Logic Family Examples Logic FamilyV DD V IL V IH V OL V OH TTL5 ( ) CMOS5 ( ) LVTTL3.3 ( ) LVCMOS3.3 ( )

Reading  Textbook Ch. 2.1 –