cse140: components and design techniques for digital ...€¦ · sources: tsr, katz, boriello,...

57
Sources: TSR, Katz, Boriello, Vahid, Perkowski CSE140: Components and Design Techniques for Digital Systems Register Transfer Level (RTL) Design Instructor: Mohsen Imani Slides from Tajana Simunic Rosing

Upload: others

Post on 11-Jul-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

CSE140: Components and Design Techniquesfor Digital Systems

Register Transfer Level (RTL) Design

Instructor: Mohsen Imani

Slides from Tajana Simunic Rosing

Page 2: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

CAPE

CAPEs are out!!!https://cape.ucsd.edu/students/

Please submit your evaluations !!!!Your feedback is very important, please take

the time to fill out the survey.

Page 3: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

3D Xpoint Memory

Page 4: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

About the final~150 minutes Final ExamBring one 8 ½ x 11” paper with handwritten notes, but nothing else

Problems including (but not limited to):- ALU design- ALU components (shifters, adders, etc.)- FSM

- Moore, Mealy, design of FSM using state table, excitation table- Timing constraints- RTL design and HLSM

Page 5: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

ALU: Arithmetic Logic Unit

Page 6: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

Designing an Arithmetic Logic Unit

• ALU Control Lines (ALUop) Function– 000 And– 001 Or– 010 Add– 110 Subtract– 111 Set-on-less-than

AL

U

N

N

N

A

B

Result

Overflow

Zero

3ALUop

CarryOut

6

Page 7: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

A One Bit ALU

• This 1-bit ALU performs AND, OR, and ADD

1 1 0 0

1 1 1 0+

1 0 1 0

1

- 4

- 2

- 6

1 0 0

7

Page 8: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

A 32-bit ALU1-bit ALU 32-bit ALU

8

Page 9: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

Subtract – We’d like to implement a means ofdoing A-B (subtract) but with only minor

changes to our hardware. How?

1. Provide an option to use bitwise NOT A2. Provide an option to use bitwise NOT B

4. Provide an option to use 0 instead of the first CarryIn5. Provide an option to use 1 instead of the first CarryIn

3. Provide an option to use bitwise A XOR B

Selection Choices

A 1 alone

B Both 1 and 2

C Both 3 and 4

D Both 2 and 5

E None of the above9

Page 10: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

Full 32-bit ALU

sign bit (adder output from bit 31)

what signals accomplish ADD?Binvert CIn Oper

A 1 0 2B 0 1 2C 1 1 2D 0 0 2E NONE OF THE ABOVE

10

Page 11: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

Full 32-bit ALU

sign bit (adder output from bit 31)

what signals accomplish OR?Binvert CIn Oper

A 1 0 0B 0 1 1C 1 1 0D 1 0 1E NONE OF THE ABOVE

11

Page 12: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

Full 32-bit ALU

sign bit (adder output from bit 31)

what signals accomplish SUB?Binvert CIn Oper

A 1 0 2B 0 1 2C 1 1 2D 0 0 2E NONE OF THE ABOVE

Little more intense –can you get this?

12

Page 13: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

ALU

N N

N3

A B

Y

F

F2:0 Function

000 A & B

001 A | B

010 A + B

011 Not used

100 A & ~B

101 A | ~B

110 A - B

111 Not used

Arithmetic Logic Unit – Example 2

+

2 01

A B

Cout

Y

3

01

F2

F1:0

[N-1] S

NN

N

N

N NNN

N

2

ZeroExtend

Page 14: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

ALU Problem

Design an ALU with two 8-bit inputs A and B thathas three control bits xyzand implements theoperations described inthe table

x y z OP

0 0 0 A + B

0 0 1 A - B

0 1 0 A + A

0 1 1 A < B

1 0 0 A * 4

1 0 1 A / 4

1 1 0 Reverse (A)

1 1 1 2-complement(B)

Page 15: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

ALU Problem

x y z OP

0 0 0 A + B

0 0 1 A - B

0 1 0 A + A

0 1 1 A < B

1 0 0 A * 4

1 0 1 A / 4

1 1 0 Reverse (A)

1 1 1 2-complement(B)

Page 16: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

ALU Problem

x y z OP

0 0 0 A + B

0 0 1 A - B

0 1 0 A + A

0 1 1 A < B

1 0 0 A * 4

1 0 1 A / 4

1 1 0 Reverse (A)

1 1 1 2-complement(B)

Page 17: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

ALU Problem

x y z OP

0 0 0 A + B

0 0 1 A - B

0 1 0 A + A

0 1 1 A < B

1 0 0 A * 4

1 0 1 A / 4

1 1 0 Reverse (A)

1 1 1 2-complement(B)

Page 18: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

Design of a new FF (waveforms)

Q(t) x Q(t+1)

0 0

0 1

1 0

1 1

Page 19: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

Design of a new FF

Q(t+1) = Q(t)’x’ + Q(t)x

Q(t) x Q(t+1)

0 0 1

0 1 0

1 0 0

1 1 1

Page 20: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

Problem: FSM from circuit to state diagram

Page 21: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

Problem: FSM from circuit to state diagram

Qo \ a 0 1

0

1

Q0a

D0 y

00

01

10

11

D0 =y =

Page 22: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

Problem: FSM from circuit to state diagram

Qo \ a 0 1

0 1,0 0,1

1 0,1 0,1

Q0 a D0 y

0 0 1 0

0 1 0 1

1 0 0 1

1 1 0 1

D0 = Q0’*a’y = Qo + a

Page 23: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

Problem: FSM from word description to statediagram

A microwave oven has 3 modes of operation when it is on:High temperature (H), Low temperature (L) and Defrost(D). A 1-bit input signal X is controlled by a button.Whenever the button is pressed, X changes its value.When the oven is off, X = 1 will make it switch on to Dmode. After that, every time X changes its value, the ovengoes to L, then H the off again.

a. Is it a Moore or a Mealy machine ?b. How many states does it have? How many bits are required to

represent them?c. Draw the state diagram

Page 24: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

Solution

Page 25: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

Solution

Page 26: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

Solution

Page 27: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

Problem: FSM from state diagram to circuit

Q1Q0\A 0 1

00 00, 1 10, 101 00, 0 00, 010 11, 0 11, 011 01, 1 11, 0

Q1Q0A

D1 D0 Y

000 0 0 1

001 1 0 1

010 0 0 0

011 0 0 0

100 1 1 0

101 1 1 0

110 0 1 1

111 1 1 0

Page 28: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

Solution

Q1Q0\A 0 1

00 00, 1 10, 1

01 00, 0 00, 0

10 11, 0 11, 0

11 01, 1 11, 0

Q1Q0A

D1 D0 Y

000 0 0 1

001 1 0 1

010 0 0 0

011 0 0 0

100 1 1 0

101 1 1 0

110 0 1 1

111 1 1 0

Page 29: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

Solution

Q1 \ Q0A 00 01 11 10

0 0 0 0 01 1 1 1 1

Q1 \ Q0A 00 01 11 10

0 0 1 0 01 1 1 1 0

Q1Q0A

D1 D0 Y

000 0 0 1

001 1 0 1

010 0 0 0

011 0 0 0

100 1 1 0

101 1 1 0

110 0 1 1

111 1 1 0Q1 \ Q0A 00 01 11 10

0 1 1 0 0

1 0 0 0 1

D0 = Q1

D1 = Q1Q0’ + Q1A + Q0’A

Y = Q1’Q0’ + Q1Q0A’

Page 30: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

Solution

Page 31: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

Circuit timing recap

Gate:- minimum (contamination) delay : t_cd- maximum (propagation) delay : t_pdD-FF:- Input:

- Setup : t_setup- Hold : t_hold

- Output:- Minimum (contamination) delay : t_ccq

- Maximum (propagation) delay : t_pcq

Page 32: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

Time constraints

Setup time constraints:T_c ≥ t_pcq + t_pd + t_setup

Hold time constraints:t_hold < t_ccq + t_cd

Page 33: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

Time constraints with skew

Setup time constraints:T_c ≥ t_pcq + t_pd + t_setup + t_skewt_pd ≤ T_c – (t_pcq + t_setup + t_skew)

Hold time constraints:t_ccq + t_cd > t_hold + t_skewt_cd > t_hold + t_skew – t_ccq

Page 34: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

Timing constraints exampleD-FF:

- t_ccq = 40- t_pcq = 60- t_setup = 70- t_hold = 80

Gates:AND:

- t_pd = 40- t_cd = 30

OR:- t_pd = 40- t_cd = 30

NOT:- t_pd = 30- t_cd = 20

Page 35: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

Timing constraints example

D-FF:- t_ccq = 40- t_pcq = 60- t_setup = 70- t_hold = 80

Gates:AND:

- t_pd = 40- t_cd = 30

OR:- t_pd = 40- t_cd = 30

NOT:- t_pd = 30- t_cd = 20

Page 36: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

Timing constraints example

Setup time constraints:

T_c ≥ t_pcq + t_pd + t_setupT_c ≥ (60) + (3*40 + 30) + 70T_c ≥ 280ps

Hold time constraints:t_hold < t_ccq + t_cd80 < 40 + 30 ----> NO !!----> add buffer !

Page 37: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

Timing constraints example

Setup time constraints with skew:What is the maximum t_skew that can betolerated before having a setup timing errorwith a frequency of 3 GHz?T_c = 1 / f = 1 / 3e9 = 333ps

T_c ≥ t_pcq + t_pd + t_setup + t_skew

333 - (60) - (3*40 + 30) - 70 ≥ t_skew53ps ≥ t_skew

Page 38: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

38

CPU Control and Datapath Execute Instruction Set

Processor

Control takes program as input; it interprets each instruction andtells the Datapath to operate on data via ALU, memory and registers

Control

Datapath

REGISTERSALU

DEVICES

IN

OUT

Main Memory

PC

Page 39: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

39

INSTRUCTIONMEMORY

READADDRESS

INSTRUCTION[31-0]

MUX

0

1 MUX

0

1

ALU

ZERO

RESULT

DATAMEMORY

ADDRESS

WRITEDATA

READDATA

MUX0 1

ADDERRESULT

ADDERRESULT

PC

MUX

0

1

4

SignExtend

ALUCONTROL

INSTRUCTION[15-0]

INSTRUCTION[5-0]

<< 2

CON TROLINSTRUCTION[31-26]

INSTRUCTION[25-21]

INSTRUCTION[20-16]

INST[15-11]

BRANCHREG_DST

REG_WRITE ALU_SRC ALU_OPMEM_READ,MEM_WRITE

ME

M_T

O_R

EG

REGISTERS

READREGISTER 1

READREGISTER 2

WRITEREGISTER

WRITEDATA

READDATA 1

READDATA 2

MUX

1

0

JUMP

<< 2I[25-0] JMP ADDRESS [25-0]

PC+4 [31-28] JMP ADDRESS [31-0]

Page 40: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

40

CPU Components – Single Cycle Execution

Assumptions:– Every machine language instruction happens in 1 Clock Cycle– MIPS architecture

• Microprocessor without interlocked pipeline stages• reg-reg architecture: all operands must be in registers (total 24)• 3 Instruction Types; each instruction 32 bits long

1. R-type: all data in registers (most arithmetic and logical)e.g. add $s1, $s2, $s3

2. I-type: branches, memory transfers, constantse.g. beq $s1, $s2, Label; lw $s1, 32($s2)

3. J-type: jumps and callse.g. j Label;

0 17 18 16 0 32

000000 10001 10010 10000 00000 100000

add $s0, $s1, $s2

Page 41: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

41

R-type Instruction: reg-reg ALU ops (e.g. add, and)

OPCODE= 0

RT RD FUNCT= 32 or 34

RSR-type

Instruction31-26 25-21 20-16 15-11 5-0

Source Register 1(attached to “ReadRegister 1” input)

Source Register 2(attached to “ReadRegister 2” input) Destination Register

(attached to “WriteRegister” input)

Tells operation tobe performed

Tells specific variant of operation(e.g. add/sub have same opcode)

Shift amount (forsll, srl etc.)

ADD $S1, $S2, $S3

ADD RD, RS, RT

10-6

shamt

Page 42: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

42

INSTRUCTIONMEMORY

READADDRESS

INSTRUCTION[31-0]

MUX

0

1

REGISTERS

READREGISTER 1

READREGISTER 2

WRITEREGISTER

WRITEDATA

READDATA 1

READDATA 2

MUX

0

1

ALU

ZERO

RESULT

DATAMEMORY

ADDRESS

WRITEDATA

READDATA

MUX0 1

ADDERRESULT

ADDERRESULT

PC

MUX

0

1

4

SignExtend

ALUCONTROL

INSTRUCTION[15-0]

INSTRUCTION[5-0]

<< 2

CON TROLINSTRUCTION[31-26]

INSTRUCTION[25-21]

INSTRUCTION[20-16]

INST[15-11]

BRANCHREG_DST

REG_WRITE ALU_SRC ALU_OPMEM_READ,MEM_WRITE

ME

M_T

O_R

EG

Step 1 (R-type): Fetchinstruction and advance PC

Page 43: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

43

INSTRUCTIONMEMORY

READADDRESS

INSTRUCTION[31-0]

MUX

0

1

REGISTERS

READREGISTER 1

READREGISTER 2

WRITEREGISTER

WRITEDATA

READDATA 1

READDATA 2

ALURESULT

DATAMEMORY

ADDRESS

WRITEDATA

READDATA

MUX0 1

ADDERRESULT

ADDERRESULT

PC

MUX

0

1

4

SignExtend

ALUCONTROL

INSTRUCTION[15-0]

INSTRUCTION[5-0]

<< 2

CON TROLINSTRUCTION[31-26]

INSTRUCTION[25-21]

INSTRUCTION[20-16]

INST[15-11]

BRANCHREG_DST

REG_WRITE ALU_SRC ALU_OPMEM_READ,MEM_WRITE

ME

M_T

O_R

EG

Step 2 (R-type): Read tworegisters and set control signals

ZERO

MUX

0

1

Page 44: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

44

INSTRUCTIONMEMORY

READADDRESS

INSTRUCTION[31-0]

MUX

0

1

REGISTERS

READREGISTER 1

READREGISTER 2

WRITEREGISTER

WRITEDATA

READDATA 1

READDATA 2

MUX

0

1

ALURESULT

DATAMEMORY

ADDRESS

WRITEDATA

READDATA

MUX0 1

ADDERRESULT

ADDERRESULT

PC

MUX

0

1

4

SignExtend

ALUCONTROL

INSTRUCTION[15-0]

INSTRUCTION[5-0]

<< 2

CON TROLINSTRUCTION[31-26]

INSTRUCTION[25-21]

INSTRUCTION[20-16]

INST[15-11]

BRANCHREG_DST

REG_WRITE ALU_SRC ALU_OPMEM_READ,MEM_WRITE

ME

M_T

O_R

EG

Step 3 (R-type): Performthe ALU operation

ZERO

Page 45: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

45

INSTRUCTIONMEMORY

READADDRESS

INSTRUCTION[31-0]

MUX

0

1

REGISTERS

READREGISTER 1

READREGISTER 2

WRITEREGISTER

WRITEDATA

READDATA 1

READDATA 2

MUX

0

1

ALURESULT

DATAMEMORY

ADDRESS

WRITEDATA

READDATA

MUX0 1

ADDERRESULT

ADDERRESULT

PC

MUX

0

1

4

SignExtend

ALUCONTROL

INSTRUCTION[15-0]

INSTRUCTION[5-0]

<< 2

CON TROLINSTRUCTION[31-26]

INSTRUCTION[25-21]

INSTRUCTION[20-16]

INST[15-11]

BRANCHREG_DST

REG_WRITE ALU_SRC ALU_OPMEM_READ,MEM_WRITE

ME

M_T

O_R

EG

Step 4 (R-type): Writeresult to register

ZERO

Page 46: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

OPCODE= 35 or 43

RTRSStore

Instruction31-26 25-21 20-16 15-0

Base Address Register(attached to “ReadRegister 1” input)

Source registerwhose value will bestored to memory(attached to “ReadRegister 2” input)

Constant offset(added to the baseaddress in RS)

OFFSET

I-Type: Store InstructionTells operation tobe performed

SW $S1, 32($S2)

SW RT, #(RS)

Note: same as x86MOV [ebx+32], eax

Page 47: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

47

INSTRUCTIONMEMORY

READADDRESS

INSTRUCTION[31-0]

MUX

0

1

REGISTERS

READREGISTER 1

READREGISTER 2

WRITEREGISTER

WRITEDATA

READDATA 1

READDATA 2

MUX

0

1

ALU

ZERO

RESULT

DATAMEMORY

ADDRESS

WRITEDATA

READDATA

MUX0 1

ADDERRESULT

ADDERRESULT

PC

MUX

0

1

4

SignExtend

ALUCONTROL

INSTRUCTION[15-0]

INSTRUCTION[5-0]

<< 2

CON TROLINSTRUCTION[31-26]

INSTRUCTION[25-21]

INSTRUCTION[20-16]

INST[15-11]

BRANCHREG_DST

REG_WRITE ALU_SRC ALU_OPMEM_READ,MEM_WRITE

ME

M_T

O_R

EG

Step 1 (store): Fetchinstruction and advance PC

MUX

0

1

Page 48: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

48

INSTRUCTIONMEMORY

READADDRESS

INSTRUCTION[31-0]

ADDERRESULT

ADDERRESULT

PC

MUX

0

1

4

SignExtend

ALUCONTROL

INSTRUCTION[15-0]

INSTRUCTION[5-0]

<< 2

CON TROL

INSTRUCTION[20-16]

INST[15-11]

BRANCHREG_DST

REG_WRITE ALU_SRC ALU_OPMEM_READ,MEM_WRITE

ME

M_T

O_R

EG

REGISTERS

READREGISTER 1

READREGISTER 2

WRITEREGISTER

WRITEDATA

READDATA 1

READDATA 2

INSTRUCTION[15-0]

INSTRUCTION[31-26]

INSTRUCTION[25-21]

INSTRUCTION[20-16]

DATAMEMORY

ADDRESS

WRITEDATA

READDATA

ALURESULT

ZERO

MUX

0

1

Step 2 (store): Read registervalues and set control signals

MUX

0

1

MUX0 1

Page 49: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

49

INSTRUCTIONMEMORY

READADDRESS

INSTRUCTION[31-0]

ADDERRESULT

ADDERRESULT

PC

MUX

0

1

4

SignExtend

ALUCONTROL

INSTRUCTION[15-0]

INSTRUCTION[5-0]

<< 2

CON TROL

INSTRUCTION[20-16]

INST[15-11]

BRANCHREG_DST

REG_WRITE ALU_SRC ALU_OPMEM_READ,MEM_WRITE

ME

M_T

O_R

EG

REGISTERS

READREGISTER 1

READREGISTER 2

WRITEREGISTER

WRITEDATA

READDATA 1

READDATA 2

INSTRUCTION[15-0]

INSTRUCTION[31-26]

INSTRUCTION[25-21]

INSTRUCTION[20-16]

DATAMEMORY

ADDRESS

WRITEDATA

READDATA

ALURESULT

ZERO

MUX

0

1

Step 3 (store): Computethe address

MUX

0

1

MUX0 1

Page 50: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

50

INSTRUCTIONMEMORY

READADDRESS

INSTRUCTION[31-0]

ADDERRESULT

ADDERRESULT

PC

MUX

0

1

4

SignExtend

ALUCONTROL

INSTRUCTION[15-0]

INSTRUCTION[5-0]

<< 2

CON TROL

INSTRUCTION[20-16]

INST[15-11]

BRANCHREG_DST

REG_WRITE ALU_SRC ALU_OPMEM_READ,MEM_WRITE

ME

M_T

O_R

EG

REGISTERS

READREGISTER 1

READREGISTER 2

WRITEREGISTER

WRITEDATA

READDATA 1

READDATA 2

INSTRUCTION[15-0]

INSTRUCTION[31-26]

INSTRUCTION[25-21]

INSTRUCTION[20-16]

DATAMEMORY

ADDRESS

WRITEDATA

READDATA

ALURESULT

ZERO

MUX

0

1

Step 4 (store): Write thevalue to memory

MUX

0

1

MUX0 1

Page 51: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

51

OPCODE= 4 or 5 RTRS

BEQ/BNEInstruction

31-26 25-21 20-16 15-0

Source Register 1(attached to “ReadRegister 1” input)

Source register 2(attached to “ReadRegister 2” input)

Word Offset, whichwe multiply by 4 (via<<2) to get Bit Offset,then add to PC+4 toget the address of theinstruction to whichwe branch if RS = RT)“PC-relative address”

BRANCH TARGET’S OFFSET

I-Type: Conditional Branch

BEQ Source1, Source2, Offset

BEQ $S1, $S2, 100 = AL

4 17 18 25 = ML (in binary)

Page 52: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

52

INSTRUCTIONMEMORY

READADDRESS

INSTRUCTION[31-0]

MUX

0

1

REGISTERS

READREGISTER 1

READREGISTER 2

WRITEREGISTER

WRITEDATA

READDATA 1

READDATA 2

MUX

0

1

ALU

ZERO

RESULT

DATAMEMORY

ADDRESS

WRITEDATA

READDATA

MUX0 1

ADDERRESULT

ADDERRESULT

PC

MUX

0

1

4

SignExtend

ALUCONTROL

INSTRUCTION[15-0]

INSTRUCTION[5-0]

<< 2

CON TROLINSTRUCTION[31-26]

INSTRUCTION[25-21]

INSTRUCTION[20-16]

INST[15-11]

BRANCHREG_DST

REG_WRITE ALU_SRC ALU_OPMEM_READ,MEM_WRITE

ME

M_T

O_R

EG

Step 1 (beq): Fetch instructionand advance PC

MUX

0

1

Page 53: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

53

INSTRUCTIONMEMORY

READADDRESS

INSTRUCTION[31-0]

MUX0 1

ADDERRESULT

ADDERRESULT

PC

4

SignExtend

ALUCONTROL

INSTRUCTION[15-0]

INSTRUCTION[5-0]

<< 2

CON TROL

INSTRUCTION[20-16]

INST[15-11]

BRANCHREG_DST

REG_WRITE ALU_SRC ALU_OPMEM_READ,MEM_WRITE

ME

M_T

O_R

EG

REGISTERS

READREGISTER 1

READREGISTER 2

WRITEREGISTER

WRITEDATA

READDATA 1

READDATA 2

INSTRUCTION[15-0]

INSTRUCTION[31-26]

INSTRUCTION[25-21]

INSTRUCTION[20-16]

DATAMEMORY

ADDRESS

WRITEDATA

READDATA

ALURESULT

ZERO

MUX

0

1

Step 2 (beq): Read registervalues and set control signals

MUX

0

1

MUX

0

1

Page 54: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

54

INSTRUCTIONMEMORY

READADDRESS

INSTRUCTION[31-0]

MUX0 1

ADDERRESULT

ADDERRESULT

PC

4

SignExtend

ALUCONTROL

INSTRUCTION[15-0]

INSTRUCTION[5-0]

<< 2

CON TROL

INSTRUCTION[20-16]

INST[15-11]

BRANCHREG_DST

REG_WRITE ALU_SRC ALU_OPMEM_READ,MEM_WRITE

ME

M_T

O_R

EG

REGISTERS

READREGISTER 1

READREGISTER 2

WRITEREGISTER

WRITEDATA

READDATA 1

READDATA 2

INSTRUCTION[15-0]

INSTRUCTION[31-26]

INSTRUCTION[25-21]

INSTRUCTION[20-16]

DATAMEMORY

ADDRESS

WRITEDATA

READDATA

ALURESULT

ZERO

MUX

0

1

Step 3 (beq): Compare registers, calculatebranch target, and choose new PC

MUX

0

1

MUX

0

1

Page 55: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

55

OPCODE= 2 or 3

JMP/JALInstruction

31-26 25-0

Actual Address (in words) which wemultiply by 4 (<<2) to get 28-Bit Address,then concatenate to upper 4 bits of PC+4to get the 32-bit addresss of instruction towhich we branch unconditionally

BRANCH TARGET ADDRESS

J-Type: Unconditional Branch

J Offset

J 10000 = AL

2 2500 = ML (in binary)

Page 56: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski

56

INSTRUCTIONMEMORY

READADDRESS

INSTRUCTION[31-0]

MUX

0

1 MUX

0

1

ALU

ZERO

RESULT

DATAMEMORY

ADDRESS

WRITEDATA

READDATA

MUX0 1

ADDERRESULT

ADDERRESULT

PC

MUX

0

1

4

SignExtend

ALUCONTROL

INSTRUCTION[15-0]

INSTRUCTION[5-0]

<< 2

CON TROLINSTRUCTION[31-26]

INSTRUCTION[25-21]

INSTRUCTION[20-16]

INST[15-11]

BRANCHREG_DST

REG_WRITE ALU_SRC ALU_OPMEM_READ,MEM_WRITE

ME

M_T

O_R

EG

REGISTERS

READREGISTER 1

READREGISTER 2

WRITEREGISTER

WRITEDATA

READDATA 1

READDATA 2

MUX

1

0

JUMP

<< 2I[25-0] JMP ADDRESS [25-0]

PC+4 [31-28] JMP ADDRESS [31-0]

Single-Cycle Datapath withSupport for the JumpInstruction

Page 57: CSE140: Components and Design Techniques for Digital ...€¦ · Sources: TSR, Katz, Boriello, Vahid, Perkowski About the final ~150 minutes Final Exam Bring one 8 ½ x 11” paper

Sources: TSR, Katz, Boriello, Vahid, Perkowski