cpe/ee 422/522 advanced logic design

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

Upload: maximos-zale

Post on 31-Dec-2015

57 views

Category:

Documents


0 download

DESCRIPTION

CPE/EE 422/522 Advanced Logic Design. Electrical and Computer Engineering University of Alabama in Huntsville. Benefits of HDL-based design Portability Technology independence Design cycle reduction Automatic synthesis and Logic optimization. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: CPE/EE 422/522 Advanced Logic Design

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

Page 2: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 2

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 productivity21% / year

Chip Complexity 58% / year

Page 3: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 3

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

Page 4: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 4

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

Page 5: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 5

Design Flow

Reference Reference ManualManual

InstructionInstructionSet AnalysisSet Analysis

Dpth&CntrDpth&CntrDesignDesign

VHDL ModelVHDL Model

VerificationVerification

ASM Test ASM Test ProgramsPrograms

MPLAB IDEMPLAB IDE

iHex2RomiHex2Rom

Synthesis&Synthesis&ImplementationImplementation

C C ProgramsPrograms

C CompilerC Compiler

Page 6: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 6

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

Page 7: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 7

PIC18 Greetings

Page 8: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 8

Outline

Review of Logic Design Fundamentals• Combinational Logic• Boolean Algebra and Algebraic Simplifications• Karnaugh Maps• Combinational-Circuit Building Blocks

Page 9: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 9

Combinational Logic

• Has no memory =>present state depends only on the present input

))t(X(F)t(Z

x1

x2

xn

z1

z2

zm

X = x1 x2... xn

Z = z1 z2... zm

Note: Positive Logic – low voltage corresponds to a logic 0, high voltage to a logic 1Negative Logic – low voltage corresponds to a logic 1, high voltage to a logic 0

Page 10: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 10

Basic Logic Gates

Page 11: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 11

Full Adder

Module Truth table

)7,4,2,1(mmmmmSum 7421

Minterms

)7,6,5,3(mmmmmCout 7653

m-notation

Algebraic expressionsF(inputs for which the function is 1):

XYCin'Cin'XY'YCin'XCin'Y'XSum XYCin'XYCinCin'XYYCin'XCout

Page 12: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 12

Full Adder (cont’d)

Module Truth table

)6,5,3,1(MMMMMSum 6531

Maxterms

M-notation

Algebraic expressionsF(inputs for which the function is 0):

)Cin'Y'X)('CinY'X)('Cin'YX)(CinYX(Sum )CinY'X)(Cin'YX)('CinYX)(CinYX(Cout

)4,2,1,0(MMMMMCout 4210

Page 13: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 13

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?

Page 14: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 14

Laws and Theorems of Boolean Algebra

Page 15: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 15

Laws and Theorems of Boolean Algebra

Page 16: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 16

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’)

XYXCinYCin

)XYCin'XYCin()XYCinCin'XY()XYCinYCin'X(

XYCin'XYCinCin'XYYCin'XCout

Page 17: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 17

Theorems to Apply to Exclusive-OR

X0X

'X1X

0XX

1'XX

XYYX (Commutative law)

)ZY(XZ)YX( (Associative law)

XZXY)ZY(X (Distributive law)

'Y'XXYY'X'YX)'YX(

Page 18: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 18

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

Page 19: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 19

Sum-of-products Representation

• Function consists of a sum of prime implicants• Prime implicant

– a group of one, two, four, eight 1s on a maprepresents 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

Page 20: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 20

Selection of Prime Implicants

Two minimum forms

Page 21: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 21

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

Page 22: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 22

Products of Sums

• F(1) = {0, 2, 3, 5, 6, 7, 8, 10, 11}F(X) = {14, 15}

Page 23: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 23

Karnaugh Maps

• Example

BD'A'D'BCF Sum of products

Product of sums )DC'B)('DC'A)('B'A(F

Page 24: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 24

Five variable Karnaugh Map

• f(1) = {2,3,6,7,9,13,18,19,22,23,24,25,29}

1 1

1 1

1 1

00 01 11 10

00

01

11

10

BCDE

1

1 1

1 1

1 1

00 01 11 10

00

01

11

10

BCDE

A=0 A=1

Page 25: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 25

Six Variable Karnaugh Map

1 1

1 1

1 1

1 1

00 01 11 10

00

01

11

10

CDEF

1 1

1

1

1 1

00 01 11 10

00

01

11

10

CDEF

1 1

1

1

1 1

00 01 11 10

00

01

11

10

CDEF

1 1

1

1

1 1

00 01 11 10

00

01

11

10

CDEF

AB=00 AB=01

AB=10 AB=11

Page 26: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 26

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)

Page 27: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 27

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

Page 28: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 28

Conversion to NOR Gates

• Start with POS (Product Of Sums)– circle 0s in K-maps

• Find network of OR and AND gates

Page 29: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 29

Conversion to NAND Gates

• Start with SOP (Sum of Products)– circle 1s in K-maps

• Find network of OR and AND gates

Page 30: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 30

Tristate Logic and Busses

• Four kinds of tristate buffers– B is a control input used to enable and disable the output

Page 31: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 31

Data Transfer Using Tristate Bus

Page 32: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 32

Combinational-Circuit Building Blocks

• Multiplexers• Decoders• Encoders• Code Converters• Comparators• Adders/Subtractors• Multipliers• Shifters

Page 33: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 33

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

(a) Graphical symbol

f

s

w0

w1

0

1 fs

w0

w1

(c) Sum-of-products circuit

(b) Truth table

01

fs

w0

w110 sww'sf

Page 34: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 34

Multiplexers: 4-to-1 Multiplexer

f

s 1

w 0 w 1

00

01

(b) Truth table

w 0 w 1

s 0

w 2 w 3

10

11

0 0 1 1

1 0 1

f s 1

0

s 0

w 2 w 3

f

(c) Circuit

s 1

w 0

w 1

s 0

w 2

w 3

(a) Graphic symbol

301201101001 wssw'ssws'sw's'sf

Page 35: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 35

Multiplexers: Building Larger Mulitplexers

0

w 0

w 1

0

1

w 2

w 3

0

1

f 0

1

s 1

s

w 8

w 11

s 1

w 0

s 0

w 3

w 4

w 7

w 12

w 15

s 3

s 2

f

(a) 4-to-1 using 2-to-1(b) 16-to-1 using 4-to-1

Page 36: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 36

Synthesis of Logic Functions Using Muxes

(a) Implementation using a 4-to-1 multiplexer

f

w 1

0 1

0

1

w 2

1 0

0

0

1

1

1

0

1

f w 1

0

w 2

1

0

(b) Modified truth table

0

1

0

0

1

1

1

0

1

f w 1

0

w 2

1

0

f w 2

w 1

0

1

f w 1

w 2

w 2

(c) Circuit

Page 37: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 37

Synthesis of Logic Functions Using Muxes

w3

w3

f

w1

0

w2

1

(a) Modified truth table (b) Circuit

00011

101

fw1

0

w2

1

0 00 11 01 1

0001

0 00 11 01 1

0111

w1 w2 w3 f

00001111

w3

Page 38: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 38

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

0

w n 1 –

n

inputs

EnEnable

2 n

outputs

y 0

y 2 n 1 –

w

Enww...wy

...

En'ww'...wy

Enw'w'...wy

En'w'w'...wy

n

n

n

n

n 01112

0112

0111

0110

Page 39: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 39

Decoders: 2-to-4 Decoder

0 0 1 1

1 0 1

y 0 w 1

0

w 0

(c) Logic circuit

w 1

w 0

x x

1 1

0

1 1

En

0 0 0

1

0

y 1

1 0 0

0

0

y 2

0 1 0

0

0

y 3

0 0 1

0

0

y 0

y 1

y 2

y 3

En

w 0

En

y 0 w 1 y 1

y 2 y 3

(a) Truth table

(b) Graphic symbol

Page 40: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 40

Decoders: 3-to-8 Using 2-to-4

w 2

w 0 y 0 y 1 y 2 y 3

w 0

En

y 0 w 1 y 1

y 2 y 3

w 0

En

y 0 w 1 y 1

y 2 y 3

y 4 y 5 y 6 y 7

w 1

En

Page 41: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 41

Decoders: 4-to-16 Using 2-to-4

w 0

En

y 0 w 1 y 1

y 2 y 3

y 8 y 9 y 10y 11

w 2

w 0 y 0 y 1 y 2 y 3

w 0

En

y 0 w 1 y 1

y 2 y 3

w 0

En

y 0 w 1 y 1

y 2 y 3

y 4 y 5 y 6 y 7

w 1

w 0

En

y 0 w 1 y 1

y 2 y 3

y 12y 13y 14y 15

w 0

En

y 0 w 1 y 1

y 2 y 3

w 3

En

Page 42: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 42

Encoders

• Opposite of decoders– 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)

2 n

inputs

w 0

w 2 n 1 –

y 0

y n 1 –

n outputs

Page 43: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 43

Encoders: 4-to-2 Encoder

0 0 1 1

1 0 1

w 3 y 1

0

y 0

(b) Circuit

w 1

w 0

0 0 1

0

w 2

0 1 0

0

w 1

1 0 0

0

w 0

0 0 0

1 y 0

w 2

w 3 y 1

(a) Truth table

Page 44: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 44

Encoders: Priority Encoders

• Each input has a priority level associated with it• The encoder outputs indicate the active input

that has the highest priority

d001

010

w0 y1

d

y0

1 1

01

1

11

z

1xx

0

x

w1

01x

0

x

w2

001

0

x

w3

000

0

1

(a) Truth table for a 4-to-2 priority encoder

Page 45: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 45

Code Converters

• Convert from one type of input encoding to a different output encoding– E. g., BCD-to-7-segment decoder

c e

(a) Code converter

w 0

a

w 1

b c d w 2

w 3 e f g

a

g

b f

d

(b) 7-segment display

1 0 1 1

1 1 1

w 0 a

1

b

0 1

1 1

1

0 1

1 0 1

0

0

w 1

0 1 1

0

0

w 2

0 0 0

0

1

w 3

0 0 0

0

0

c

1 0 1 0

0 1 1 0

1 1 1 0

0 0 0 1

1 0 0 1

1 1 1 1

0 1 1

0

1 1

1 1

1

1 1

0 1 1

1

d

0

1 0

0

1 0

e

1 0 1

1

1

0 1

0

0 1

0 0 0

1

f

1

0 0

1

1 1

g

1 0 1

1

1

1 1

1

0 1

(c) Truth table

Page 46: CPE/EE 422/522 Advanced Logic Design

04/19/23 UAH-CPE/EE 422/522 AM 46

To Do

• Textbook– Chapter 1.3, 1.4, 1.13

• Read – 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