implementation of µ - processor data path project by: daniel brauch elad shabtai barak schlosser

34
IMPLEMENTATION OF IMPLEMENTATION OF µ - PROCESSOR µ - PROCESSOR DATA PATH DATA PATH Project By: Project By: Daniel Brauch Daniel Brauch Elad Shabtai Elad Shabtai Barak Schlosser Barak Schlosser

Post on 20-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IMPLEMENTATION OF µ - PROCESSOR DATA PATH Project By: Daniel Brauch Elad Shabtai Barak Schlosser

IMPLEMENTATION OF IMPLEMENTATION OF µ - PROCESSORµ - PROCESSOR

DATA PATHDATA PATH

Project By:Project By:Daniel BrauchDaniel BrauchElad ShabtaiElad Shabtai

Barak SchlosserBarak Schlosser

Page 2: IMPLEMENTATION OF µ - PROCESSOR DATA PATH Project By: Daniel Brauch Elad Shabtai Barak Schlosser

Project Goals

• Designing and implementing the schematic and layout design of an 8 bit µProcessor data path , which will include an ALU Manchester carry look ahead and a barrel shifter.

• Testing the design for accuracy and performance.

Page 3: IMPLEMENTATION OF µ - PROCESSOR DATA PATH Project By: Daniel Brauch Elad Shabtai Barak Schlosser

Data Path overall design

Page 4: IMPLEMENTATION OF µ - PROCESSOR DATA PATH Project By: Daniel Brauch Elad Shabtai Barak Schlosser

Applications:

• The data path is the core element of every micro processor and thus included in every application that performs arithmetic calculations ,logic evaluation and data movement.

Page 5: IMPLEMENTATION OF µ - PROCESSOR DATA PATH Project By: Daniel Brauch Elad Shabtai Barak Schlosser

Implementation Notes :

• The ALU will be built from a Manchester carry look ahead adder and eight 1 bit ALU.

• The output of the ALU will be inserted into the shift register for shifting operations.

• The barrel shifter can perform up to 3 bit shifts in a single combinational function.

• The inputs for the ALU are valid on the rise of the clock.

Page 6: IMPLEMENTATION OF µ - PROCESSOR DATA PATH Project By: Daniel Brauch Elad Shabtai Barak Schlosser

Design Specifications:

• ALU:

• Inputs: two 8-bit words (A,B)3-bit ALU controls.

3-bit shift controls.

1-bit clock.

* Cin bit will be generated from the ALU control bits

• Output: 8-bit word (F), 1 carry out.

• Functions:A or B, A and B, A xor B, A + B,

A – B , B – A , Pass A, Pass B

Page 7: IMPLEMENTATION OF µ - PROCESSOR DATA PATH Project By: Daniel Brauch Elad Shabtai Barak Schlosser

Design Specifications:

• Barrel Shifter: • Can multiply by 1, 2 , 4 or 8 by shifting left 0, 1 ,2 or 3 bits.

• General:• Power supply: Vdd is set to 5 volts referenced to

ground.

• Size specifications: Final physical size must be optimized.

• Time specifications: All data and control bits are set on the rise of the clock. The maximum propagation delay for all functions must be less than 100ns.

Page 8: IMPLEMENTATION OF µ - PROCESSOR DATA PATH Project By: Daniel Brauch Elad Shabtai Barak Schlosser

Manchester Carry

Page 9: IMPLEMENTATION OF µ - PROCESSOR DATA PATH Project By: Daniel Brauch Elad Shabtai Barak Schlosser

Manchester Carry Chain

Page 10: IMPLEMENTATION OF µ - PROCESSOR DATA PATH Project By: Daniel Brauch Elad Shabtai Barak Schlosser

Manchester Carry explanation

• For each bit 2 values are calculated:• Pi = Ai XOR Bi• Gi = Ai AND Bi• On the rise of the clock the upper PMOS gates

are closed and the bottom NMOS are open enabling the pull down of the carry out bar.

• The Pi controls enables the propagation of the Cout signals.

• The max propagation delay is caused by the pulling down of all the carry out bar signals.

Page 11: IMPLEMENTATION OF µ - PROCESSOR DATA PATH Project By: Daniel Brauch Elad Shabtai Barak Schlosser

Manchester Carry cont.

• The main advantage of the Manchester chain is its small physical size.

• In terms of propagation delay the Manchester chain is situated in the middle of the scale.

Page 12: IMPLEMENTATION OF µ - PROCESSOR DATA PATH Project By: Daniel Brauch Elad Shabtai Barak Schlosser

Comparison between different Full Adders

0 10 20N

0.0

20.0

40.0

60.0

80.0

t p (

nse

c)

0 10 20N

0.0

0.2

0.4

Area

(m

m2

)look-ahead

select

bypass

manchester

mirrorstatic

manchester

look-ahead

select

static

mirrorbypass

Page 13: IMPLEMENTATION OF µ - PROCESSOR DATA PATH Project By: Daniel Brauch Elad Shabtai Barak Schlosser

1 bit ALU implementation

FULL

ADDER

XOR

MUX 4:1

MUX 4:1

LOGIC

AND

OR

B

A’

B

A

A’

0

0

B’

S2 S1

S1 S0

Cin

Out

Page 14: IMPLEMENTATION OF µ - PROCESSOR DATA PATH Project By: Daniel Brauch Elad Shabtai Barak Schlosser

ALU control bitsS2 S1 S0 OPERATION

0 0 0 B - A

0 0 1 OR

0 1 0 AND

0 1 1 A + B

1 0 0 XOR

1 0 1 PASS B

1 1 0 PASS A

1 1 1 A - B

000 : B - A

111 : A - B

001 : OR

010 : AND

100 : XOR

011 : A + B110 : PASS A101 : PASS B

CHAIN

F.A

XOR - 111

Equivalence

Page 15: IMPLEMENTATION OF µ - PROCESSOR DATA PATH Project By: Daniel Brauch Elad Shabtai Barak Schlosser

MUX 4:1 implementation

A

B

C

D

Page 16: IMPLEMENTATION OF µ - PROCESSOR DATA PATH Project By: Daniel Brauch Elad Shabtai Barak Schlosser

1 bit FULL ADDER implementation

C B A

SUM = A xor B xor C

** no need to compute carry out – calculated by Manchester carry look ahead

Page 17: IMPLEMENTATION OF µ - PROCESSOR DATA PATH Project By: Daniel Brauch Elad Shabtai Barak Schlosser

Tanner S-Edit

modules implementation

Page 18: IMPLEMENTATION OF µ - PROCESSOR DATA PATH Project By: Daniel Brauch Elad Shabtai Barak Schlosser

Manchester – module :

Page 19: IMPLEMENTATION OF µ - PROCESSOR DATA PATH Project By: Daniel Brauch Elad Shabtai Barak Schlosser

Simulation results :

0 5 10 15 20 25 30 35 40 45 50

Time (ns)

0.0

0.5

1.0

1.5

2.0

2.5

3.0

3.5

4.0

4.5

5.0

Vo

lta

ge

(V

)

v(Out3)5.00

v(Out4)5.00

v(Out5)5.00

v(Out6)4.99

v(Out7)4.99

x1= x2= dx=-912.46p 14.14n 15.06ntest_manchester_carry

Carry all:

Carry last – worst case propagation ~10ns:

0 5 10 15 20 25 30 35 40 45 50

Time (ns)

0.0

0.5

1.0

1.5

2.0

2.5

3.0

3.5

4.0

4.5

5.0

Vo

lta

ge

(V

)

v(Out3)

v(Out4)

v(Out5)

v(Out6)

v(Out7)

test_manchester_carry

Page 20: IMPLEMENTATION OF µ - PROCESSOR DATA PATH Project By: Daniel Brauch Elad Shabtai Barak Schlosser

Barrel shifter – module :

Page 21: IMPLEMENTATION OF µ - PROCESSOR DATA PATH Project By: Daniel Brauch Elad Shabtai Barak Schlosser

Simulation results - shifting 01001011:

0 5 0 1 0 0 1 5 0 2 0 0

Tim e ( ns )

0 .0

0 .5

1 .0

1 .5

2 .0

2 .5

3 .0

3 .5

4 .0

4 .5

5 .0

Vo

ltag

e (

V)

v (Q 0 )

Unti tl ed

0 5 0 1 0 0 1 5 0 2 0 0

Tim e ( ns )

0 .0

0 .5

1 .0

1 .5

2 .0

2 .5

3 .0

3 .5

4 .0

4 .5

5 .0

Vo

ltag

e (

V)

v (Q 1 )

Unti tl ed

0 5 0 1 0 0 1 5 0 2 0 0

Tim e ( ns )

0 .0

0 .5

1 .0

1 .5

2 .0

2 .5

3 .0

3 .5

4 .0

4 .5

5 .0

Vo

ltag

e (

V)

v (Q 2 )

Unti tl ed

0 5 0 1 0 0 1 5 0 2 0 0

Tim e ( ns )

0 .0

0 .5

1 .0

1 .5

2 .0

2 .5

3 .0

3 .5

4 .0

4 .5

5 .0

Vo

ltag

e (

V)

v (Q 3 )

Unti tl ed

0 5 0 1 0 0 1 5 0 2 0 0

Tim e ( ns )

0 .0

0 .5

1 .0

1 .5

2 .0

2 .5

3 .0

3 .5

4 .0

4 .5

5 .0

Vo

ltag

e (

V)

v (Q 4 )

Unti tl ed

0 5 0 1 0 0 1 5 0 2 0 0

Tim e ( ns )

0 .0

0 .5

1 .0

1 .5

2 .0

2 .5

3 .0

3 .5

4 .0

4 .5

5 .0

Vo

ltag

e (

V)

v (Q 5 )

Unti tl ed

0 5 0 1 0 0 1 5 0 2 0 0

Tim e ( ns )

0 .0

0 .5

1 .0

1 .5

2 .0

2 .5

3 .0

3 .5

4 .0

4 .5

5 .0

Vo

ltag

e (

V)

v (Q 6 )

Unti tl ed

0 5 0 1 0 0 1 5 0 2 0 0

Tim e ( ns )

0 .0

0 .5

1 .0

1 .5

2 .0

2 .5

3 .0

3 .5

4 .0

4 .5

5 .0

Vo

ltag

e (

V)

v (Q 7 )

Unti tl ed

Page 22: IMPLEMENTATION OF µ - PROCESSOR DATA PATH Project By: Daniel Brauch Elad Shabtai Barak Schlosser

1 bit ALU :

Page 23: IMPLEMENTATION OF µ - PROCESSOR DATA PATH Project By: Daniel Brauch Elad Shabtai Barak Schlosser

Data Path – modules :Define Cin :

Shifter :

Calculate Cin :

Alu1bit * 8 - 8 bit output :

Choose output from Alu / Manchester :

Page 24: IMPLEMENTATION OF µ - PROCESSOR DATA PATH Project By: Daniel Brauch Elad Shabtai Barak Schlosser

8 bit ALU - module :

Including :- Cin logic- Manchester chain- Alu- Cout logic

Page 25: IMPLEMENTATION OF µ - PROCESSOR DATA PATH Project By: Daniel Brauch Elad Shabtai Barak Schlosser

8 bit ALU - design :

Page 26: IMPLEMENTATION OF µ - PROCESSOR DATA PATH Project By: Daniel Brauch Elad Shabtai Barak Schlosser

8 bit ALU simulation - pass A (00000001) :

Page 27: IMPLEMENTATION OF µ - PROCESSOR DATA PATH Project By: Daniel Brauch Elad Shabtai Barak Schlosser

8 bit ALU simulation - AND A (10001001) B (10000001) :

Page 28: IMPLEMENTATION OF µ - PROCESSOR DATA PATH Project By: Daniel Brauch Elad Shabtai Barak Schlosser

DataPath –module :

Page 29: IMPLEMENTATION OF µ - PROCESSOR DATA PATH Project By: Daniel Brauch Elad Shabtai Barak Schlosser

DataPath simulation : (A + B) * 4

A=00001010 B=00000011

Page 30: IMPLEMENTATION OF µ - PROCESSOR DATA PATH Project By: Daniel Brauch Elad Shabtai Barak Schlosser

DataPath simulation : (A + B) * 4 A=00001010 B=00000011

Page 31: IMPLEMENTATION OF µ - PROCESSOR DATA PATH Project By: Daniel Brauch Elad Shabtai Barak Schlosser

VHDL

Simulation

Page 32: IMPLEMENTATION OF µ - PROCESSOR DATA PATH Project By: Daniel Brauch Elad Shabtai Barak Schlosser

VHDL – simulation resaults :

End – opCode 111 :

Start – opCode 000 :

Page 33: IMPLEMENTATION OF µ - PROCESSOR DATA PATH Project By: Daniel Brauch Elad Shabtai Barak Schlosser

Advantages of design :

• Parallel implementation of calculations.• Minimal number of transistors in current

implementation ~ 600 transistors

- Trivial implementation using mux 8*1 with scmos

implementation ~ 1300 transistors

- Less transistors thus low on power consumption

and faster in propagation ~ 40 ns

Page 34: IMPLEMENTATION OF µ - PROCESSOR DATA PATH Project By: Daniel Brauch Elad Shabtai Barak Schlosser

Milestones• Studying design options for the ALU, Manchester carry

look ahead and shifter - Due 01/06/04• Implementing all 3 units in gate level and testing them for

correctness and performance - Due 08/06/04• Combining units and testing overall design - Due 15/06/04• Creating VHDL test bench and comparing designs

- Due 22/06/04 • Grade : ?