COMP541 Combinational Logic - I - PowerPoint PPT Presentation

About This Presentation
Title:

COMP541 Combinational Logic - I

Description:

... 2.6 * * * * * * * * * * * * * * * * * * * * * * * Today Basics of digital logic ... I Today Binary Logic Logic Gates Single-Input Logic Gates Two-Input ... – PowerPoint PPT presentation

Number of Views:276
Avg rating:3.0/5.0
Slides: 41
Provided by: Montek3
Learn more at: http://www.cs.unc.edu
Category:

less

Transcript and Presenter's Notes

Title: COMP541 Combinational Logic - I


1
COMP541Combinational Logic - I
  • Montek Singh
  • Jan 14, 2010

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

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

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

5
Single-Input Logic Gates

6
Two-Input Logic Gates

7
More Two-Input Logic Gates

8
Multiple-Input Logic Gates

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

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

11
NOR Also Universal
  • Dual of NAND

12
Representation Schematic
13
Representation Boolean Algebra
  • More on this next time

14
Representation Truth Table
  • 2n rows where n of variables

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
  • These days people represent the same thing with
    text (code)

16
Hardware Description Languages
  • Main ones are Verilog and VHDL
  • Others Abel, SystemC, Handel
  • Origins as testing languages
  • 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

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

18
Uses of HDL
  • Simulation
  • Defines input values are applied to the circuit
  • Outputs checked for correctness
  • 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)
  • IMPORTANT
  • When describing circuits using an HDL, its
    critical to think of the hardware the code should
    produce.


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

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

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

22
Example 1
  • Output is 1 when input lt 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 Y
  • input Z
  • 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
25
Slight Variation Gates not named
  • module example_1_c(X,Y,Z,F)
  • input X
  • input Y
  • input Z
  • 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

26
Explanation
  • Each of these gates is an instance
  • 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

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

28
Dataflow Description
module example_1_b(X,Y,Z,F) input X
input Y input Z output F assign F
(X Y) (X Z) endmodule
  • Basically a logical expression
  • No explicit gates

29
Conditional Description
Notice alternate specification
  • module example_1_c(input 20 A,
  • output F)
  • assign F (A gt 3b011) ? 0 1
  • endmodule

30
Abstraction
  • Using the digital abstraction weve been thinking
    of the inputs and outputs as
  • True or False
  • 1 or 0
  • What are they really?

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

32
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?

33
What is Noise?
  • Anything that degrades the signal
  • 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

34
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

35
Logic Levels

36
Noise Margins

NMH VOH VIH NML VIL VOL
37
DC Transfer Characteristics

Ideal Buffer
Real Buffer
NMH , NML lt VDD/2
NMH NML VDD/2
38
VDD Scaling
  • Chips in the 1970s and 1980s were designed
    using VDD 5 V
  • As technology improved, VDD dropped
  • Avoid frying tiny transistors
  • Save power
  • 3.3 V, 2.5 V, 1.8 V, 1.5 V, 1.2 V, 1.0 V,

39
Logic Family Examples
Logic Family VDD VIL VIH VOL VOH
TTL 5 (4.75 - 5.25) 0.8 2.0 0.4 2.4
CMOS 5 (4.5 - 6) 1.35 3.15 0.33 3.84
LVTTL 3.3 (3 - 3.6) 0.8 2.0 0.4 2.4
LVCMOS 3.3 (3 - 3.6) 0.9 1.8 0.36 2.7
40
Reading
  • Textbook Ch. 2.1 2.6
Write a Comment
User Comments (0)
About PowerShow.com