+ All Categories
Home > Documents > CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers...

CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers...

Date post: 26-Jul-2018
Category:
Upload: trinhdan
View: 214 times
Download: 0 times
Share this document with a friend
56
Instructor: Alexander Stoytchev http://www.ece.iastate.edu/~alexs/classes/ CprE 281: Digital Logic
Transcript
Page 1: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

Instructor: Alexander Stoytchev

http://www.ece.iastate.edu/~alexs/classes/

CprE 281: Digital Logic

Page 2: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

Registers and Counters

CprE 281: Digital Logic Iowa State University, Ames, IA Copyright © Alexander Stoytchev

Page 3: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

Administrative Stuff •  The second midterm is this Friday.

•  Homework 8 is due today.

•  Homework 9 went out. It is due on Mon Nov 9.

•  No HW due next Monday

Page 4: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

Administrative Stuff •  Midterm Exam #2

•  When: Friday October 30 @ 4pm.

•  Where: This classroom

•  What: Chapters 1, 2, 3, 4 and 5.1-5.7

•  The exam will be open book and open notes (you can bring up to 3 pages of handwritten notes).

Page 5: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

Midterm 2: Format

•  The exam will be out of 130 points

•  You need 95 points to get an A

•  It will be great if you can score more than 100 points. §  but you can’t roll over your extra points L

Page 6: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

Midterm 2: Topics •  Binary Numbers and Hexadecimal Numbers •  1’s complement and 2’s complement representation •  Addition and subtraction of binary numbers •  Circuits for adders and fast adders

•  Single and Double precision IEEE floating point formats •  Converting a real number to the IEEE format •  Converting a floating point number to base 10

•  Multiplexers (circuits and function) •  Synthesis of logic functions using multiplexers •  Shannon’s Expansion Theorem

Page 7: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

Midterm 2: Topics •  Decoders (circuits and function) •  Demultiplexers •  Encoders (binary and priority) •  Code Converters •  K-maps for 2, 3, and 4 variables

•  Synthesis of logic circuits using adders, multiplexers, encoders, decoders, and basic logic gates

•  Synthesis of logic circuits given constraints on the available building blocks that you can use

•  Latches (circuits, behavior, timing diagrams) •  Flip-Flops (circuits, behavior, timing diagrams)

Page 8: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

Registers

Page 9: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

Register (Definition)

An n-bit structure consisting of flip-flops

Page 10: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

Parallel-Access Register

Page 11: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

1-bit Parallel-access register

•  At the input of the D flip-flop, a 2-to-1 Multiplexer is used to select whether to load a new input value or to retain the old value

•  If signal LD = 1 then load the new value

•  If signal LD = 0 then retain the old value

Clock

IN

LD D Q

Q

0 1

Page 12: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

4-bit Parallel-access register

D Q

Q

0 1

D Q

Q

0 1

D Q

Q

0 1

D Q

Q

0 1

Q3 Q2 Q1 Q0 Clock

LD IN3 IN2 IN1 IN0

Notice that all flip-flops are on the same clock cycle.

Page 13: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

Shift Register

Page 14: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

A simple shift register

[ Figure 5.17 from the textbook ]

D Q

Q Clock

D Q

Q

D Q

Q

D Q

Q

In Out

t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7

1 0 1 1 1 0 0 0

0 1 0 1 1 1 0 0

0 0 1 0 1 1 1 0

0 0 0 1 0 1 1 1

0 0 0 0 1 0 1 1

Q 1 Q 2 Q 3 Q 4 Out = In

(b) A sample sequence

(a) Circuit

Q 1 Q 2 Q 3 Q 4

Page 15: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

Parallel-Access Shift Register

Page 16: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

Parallel-access shift register

[ Figure 5.18 from the textbook ]

Page 17: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

A shift register with parallel load and enable control inputs

[ Figure 5.59 from the textbook ]

Page 18: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

Register File

Page 19: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

•  Register file is a unit containing r registers §  r can be 4, 8, 16, 32, etc.

•  Each register has n bits §  n can be 4, 8, 16, 32, etc. §  n defines the data path width

•  Output ports (DATA1 and DATA2) are used for reading the register file

§  Any register can be read from any of the ports §  Each port needs a log2r bits to specify the read

address (RA1 and RA2) •  Input port (LD_DATA) is used for writing

data to the register file §  Write address is also specified by log2r bits (WA) §  Writing is enabled by a 1-bit signal (WR)

Register File

Reg File

WA WR

RA2 RA1

LD_DATA

DATA1

DATA2

Page 20: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

•  Suppose that a register file §  contains 32 registers §  width of data path is 16 bits

(i.e., each register has 16 bits)

•  How many bits are there for each of the signals? §  RA1 §  RA2 §  DATA1 §  DATA2 §  WA §  LD_DATA §  WR

Register File: Exercise

Reg File

WA WR

RA2 RA1

LD_DATA

DATA1

DATA2

5 5 16 16 5 16 1

Page 21: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

•  We will design an eight-register file with 4-bit wide registers •  A single 4-bit register and its abstraction are shown below

•  We have to use eight such registers to make an eight register file

•  How many bits are required to specify a register address?

Register file design

Q3 Q2 Q1 Q0

D3 D2 D1 D0

Clock

LD

Q3 Q2 Q1 Q0

D3 D2 D1 D0

Clk

LD

Q3 Q2 Q1 Q0

D3 D2 D1 D0

Clk

LD

Q3 Q2 Q1 Q0

D3 D2 D1 D0

Clk

LD

LD

Clock

Q0 Q1 Q2 Q3

D3 D2 D1 D0

D Q P

0 1

D Q P

0 1

D Q P

0 1

D Q P

0 1

Page 22: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

•  A 3-bit register address, RA, specifies which register is to be read

•  For each output port, we need one 8-to-1 4-bit multiplier

7 6 5 4 3 2 1 0 8-to-1 4-bit multiplex RA1

DATA1

7 6 5 4 3 2 1 0 8-to-1 4-bit multiplex RA2

DATA2

Q3 Q2 Q1 Q0

D3 D2 D1 D0

Clk

LD0

Q3 Q2 Q1 Q0

D3 D2 D1 D0

Clk

LD1

Q3 Q2 Q1 Q0

D3 D2 D1 D0

Clk

LD7

Register Address

111 001 000

Reading Circuit

Page 23: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

•  To write to any register, we need the register's address (WA) and a write register signal (WR)

•  A 3-bit write address is decoded if write register signal is present

•  One of the eight registers gets a LD signal from the decoder

7 6 5 4 3 2 1 0 8-to-1 4-bit multiplex RA1

DATA1

7 6 5 4 3 2 1 0 8-to-1 4-bit multiplex RA2

DATA2

Q3 Q2 Q1 Q0

D3 D2 D1 D0

Clk

LD0

Q3 Q2 Q1 Q0

D3 D2 D1 D0

Clk

LD1

Q3 Q2 Q1 Q0

D3 D2 D1 D0

Clk

LD7

LD_DATA

WA

3 to 8 D e c o d e r WR

111 001 000 LD7

LD0 LD1 LD2

Adding write control to register file

Page 24: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

Counters

Page 25: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

A three-bit up-counter

[ Figure 5.19 from the textbook ]

Page 26: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

A three-bit up-counter

[ Figure 5.19 from the textbook ]

The first flip-flop changes on the positive edge of the clock

Page 27: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

A three-bit up-counter

[ Figure 5.19 from the textbook ]

The first flip-flop changes on the positive edge of the clock

The second flip-flop changes on the positive edge of Q0

Page 28: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

A three-bit up-counter

[ Figure 5.19 from the textbook ]

The first flip-flop changes on the positive edge of the clock

The second flip-flop changes on the positive edge of Q0

The third flip-flop changes on the positive edge of Q1

Page 29: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

A three-bit up-counter

[ Figure 5.19 from the textbook ]

T Q

Q Clock

T Q

Q

T Q

Q

1

Q 0 Q 1 Q 2 (a) Circuit

Clock Q 0 Q 1 Q 2

Count 0 1 2 3 4 5 6 7 0 (b) Timing diagram

Page 30: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

A three-bit up-counter

[ Figure 5.19 from the textbook ]

T Q

Q Clock

T Q

Q

T Q

Q

1

Q 0 Q 1 Q 2 (a) Circuit

Clock Q 0 Q 1 Q 2

Count 0 1 2 3 4 5 6 7 0 (b) Timing diagram

The propagation delays get longer

Page 31: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

A three-bit down-counter

[ Figure 5.20 from the textbook ]

Page 32: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

A three-bit down-counter

[ Figure 5.20 from the textbook ]

T Q

Q Clock

T Q

Q

T Q

Q

1

Q 0 Q 1 Q 2 (a) Circuit

Clock Q 0 Q 1 Q 2

Count 0 7 6 5 4 3 2 1 0 (b) Timing diagram

Page 33: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

Synchronous Counters

Page 34: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

A four-bit synchronous up-counter

[ Figure 5.21 from the textbook ]

Page 35: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

A four-bit synchronous up-counter

[ Figure 5.21 from the textbook ]

The propagation delay through all AND gates combined must not exceed the clock period minus the setup time for the flip-flops

Page 36: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

A four-bit synchronous up-counter

[ Figure 5.21 from the textbook ]

T Q Q Clock

T Q Q

T Q Q

1 Q 0 Q 1 Q 2

(a) Circuit

Clock Q 0 Q 1 Q 2

Count 0 1 2 3 5 9 12 14 0

(b) Timing diagram

T Q Q

Q 3

Q 3 4 6 8 7 10 11 13 15 1

Page 37: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

Derivation of the synchronous up-counter

[ Table 5.1 from the textbook ]

0 0 1 1

0 1 0 1

0 1 2 3

0 0 1

0 1 0

4 5 6

1 1 7

0 0 0 0 1 1 1 1

Clock cycle

0 0 8 0

Q 2 Q 1 Q 0 Q 1 changes

Q 2 changes

Page 38: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

Derivation of the synchronous up-counter

[ Table 5.1 from the textbook ]

0 0 1 1

0 1 0 1

0 1 2 3

0 0 1

0 1 0

4 5 6

1 1 7

0 0 0 0 1 1 1 1

Clock cycle

0 0 8 0

Q 2 Q 1 Q 0 Q 1 changes

Q 2 changes

T0= 1 T1 = Q0 T2 = Q0 Q1

Page 39: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

A four-bit synchronous up-counter

[ Figure 5.21 from the textbook ]

T0= 1 T1 = Q0 T2 = Q0 Q1

Page 40: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

In general we have

T0= 1 T1 = Q0 T2 = Q0 Q1 T3 = Q0 Q1 Q2 … Tn = Q0 Q1 Q2 …Qn-1

Page 41: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

Adding Enable and Clear Capability

Page 42: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

Inclusion of Enable and Clear capability

[ Figure 5.22 from the textbook ]

T Q

Q Clock

T Q

Q

Enable

Clear_n

T Q

Q

T Q

Q

Page 43: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

Inclusion of Enable and Clear capability

[ Figure 5.22 from the textbook ]

T Q

Q Clock

T Q

Q

Enable

Clear_n

T Q

Q

T Q

Q

This is the new thing relative to the previous figure, plus the clear_n line

Page 44: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

[ Figure 5.56 from the textbook ]

Providing an enable input for a D flip-flop

Page 45: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

Synchronous Counter with D Flip-Flops

Page 46: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

A four-bit counter with D flip-flops

[ Figure 5.23 from the textbook ]

Page 47: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

Counters with Parallel Load

Page 48: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

A counter with parallel-load capability

[ Figure 5.24 from the textbook ]

Page 49: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

Reset Synchronization

Page 50: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

Motivation •  An n-bit counter counts from 0, 1, …, 2n-1

•  For example a 3-bit counter counts up as follow §  0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, …

•  What if we want it to count like this

§  0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, …

•  In other words, what is the cycle is not a power of 2?

Page 51: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

What does this circuit do?

[ Figure 5.25a from the textbook ]

Page 52: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

A modulo-6 counter with synchronous reset

[ Figure 5.25 from the textbook ]

Enable Q 0 Q 1 Q 2

D 0 D 1 D 2 Load Clock

1 0 0 0

Clock

0 1 2 3 4 5 0 1

Clock

Count

Q 0 Q 1 Q 2

(a) Circuit

(b) Timing diagram

Page 53: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

A modulo-6 counter with asynchronous reset

[ Figure 5.26 from the textbook ]

T Q

Q Clock

T Q

Q

T Q

Q

1 Q 0 Q 1 Q 2

(a) Circuit

Clock Q 0 Q 1 Q 2

Count (b) Timing diagram

0 1 2 3 4 5 0 1 2

Page 54: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

A modulo-6 counter with asynchronous reset

[ Figure 5.26 from the textbook ]

T Q

Q Clock

T Q

Q

T Q

Q

1 Q 0 Q 1 Q 2

(a) Circuit

Clock Q 0 Q 1 Q 2

Count (b) Timing diagram

0 1 2 3 4 5 0 1 2

The number 5 is displayed for a very short amount of time

Page 55: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

Questions?

Page 56: CprE 281: Digital Logic - Computer Engineering · •Register file is a unit containing r registers ! r can be 4, 8, 16, 32, etc. • Each register has n bits ! n can be 4, 8, 16,

THE END


Recommended