Where are we - PowerPoint PPT Presentation

1 / 88
About This Presentation
Title:

Where are we

Description:

Transistor schematics. Faster addition. Logic generation. How it fits into the datapath ... Lots of different schematics... Another XOR gate ... – PowerPoint PPT presentation

Number of Views:25
Avg rating:3.0/5.0
Slides: 89
Provided by: erikbr2
Category:
Tags: schematics

less

Transcript and Presenter's Notes

Title: Where are we


1
Where are we?
  • Subsystem Design
  • Registers and Register Files
  • Adders and ALUs
  • Simple ripple carry addition
  • Transistor schematics
  • Faster addition
  • Logic generation
  • How it fits into the datapath

2
Data Path Design
  • Block-diagram style data path description

3
Bit Slice Design
  • Layout Reality

4
Bit Slice Design
  • Layout Reality

5
Bit Slice Plan
  • Recall planning a DFF to make a register
  • Inputs on top in M2
  • Outputs on bottom in M2
  • Clock and Clock-bar routed horizontally in M1

D0
D1
D2
Vdd
C
Cb
Vss
Q0
Qb0
Q1
Qb1
Q2
Qb2
6
Bit Slice Plan
  • Now extend this to a register file
  • D inputs go to all cells
  • Can select one register for writing by
    controlling the clock
  • Q outputs go all the way through the register
    file
  • Each cell can drive Q from enabled inverter
  • Now you can select one register for reading by
    selecting which cell is driving its output

D0
D1
D2
C
Cb
En
C
Cb
En
Q0
Q1
Q2
7
Bit Slice Plan
En
Cb
Cb
Cb
C
C
C
En
Cb
En
En
C
Q0
D0
Q1
D1
Q2
D2
8
Bit Slice Design
9
Multi-Port Register
10
Multi-Port Register
11
Bit Slice Design
  • Where are power lines?

12
Bit Slice Design
  • Where are power lines? Basic Comb scheme

13
Chip-Wide View of Power
  • Power Routing is a global chip-wide issue
  • Heres another approach
  • Note the Vdd and Gnd pads
  • Global rings with combs for regions of the chip

14
Chip-Wide View of Power
  • Power Routing is a global chip-wide issue
  • Heres another approach
  • Note the Vdd and Gnd pads
  • Global rings with combs for regions of the chip

15
Core power routing
16
Core power routing
17
Chip-Wide View of Power
  • Another view of the same issue
  • Watch out for routing blockages!

18
A Tweak on the Scheme
  • Same basic scheme
  • But with no internal jumpers
  • Jumpers are restricted to outer loops

19
Adders Etc.
  • Check out Chapter 10 in your text

20
Basic Addition Full Adder
kill
kill
21
Boolean Equations
22
A Direct Implementation
Fig 10.3 in your text
32 transistors
23
Use the Factored Equations
  • Fully static, complex gate implementation

24
Getting Rid of Inverters
  • Can improve performance by removing inverters
    from carry chain

25
A Better Static Gate
  • Combine gates and reuse subterms

26
A Better Static Gate
  • Sometimes called a mirror adder

27
Mirror Adder Considerations
  • Feed the Carry-In to the inner inputs so the
    internal capacitance is already discharged
  • Make all transistors whose gates are connected to
    Cin and carry logic minimum size minimizes
    branching effort on critical path (carry out)
  • Determine gate widths by Logical Effort reduce
    effort from C to CoutB at the expense of Sum
  • Use relatively large transistors on critical path
    so that stray wiring cap is a small fraction of
    overall cap

28
Adder Layout
  • Examples from Weste and Eshraghian
  • Standard Cell vs. Datapath
  • Definitely worth looking at carefully

29
Datapath Layout
  • A little tricky to figure out
  • You may not want to use this exact layout, but it
    might give you ideas
  • Start by identifying vdd and gnd paths
  • Think about rotating it counter clock wise
  • Think about a taller circuit that matches the
    bit-pitch of your register

30
Datapath Layout
31
Example Datapath Layout
32
Addition and Subtraction
  • Remember back to your logic design class
  • Add the twos complement to subtract
  • Take twos complement by inverting all the bits
    and adding one
  • Use the carry-in to add one
  • Use an XOR to invert or not

33
Twos Complement Add/Sub
34
Aside XOR Gates
  • Slightly tricky gate, AB AB
  • Lots of different schematics

35
Another XOR gate
  • Not too bad if you already have A, A, B, B
    floating around
  • If not, youll need a couple inverters too

A
B
B
A
A
B
A
B
XNOR
XOR
B
A
A
B
A
B
A
B
36
Yet Another XOR Gate
  • DCVSL (section 6.2.3 in your text)
  • Differential Cascode Voltage Switch Logic
  • Make sure that the combinational pull-down
    networks are complementary

Out
Out
Differential Inputs
PDN2
PDN1
37
DCVSL XOR/XNOR
Out
Out
B
B
B
B
A
A
  • Generates both XOR/XNOR
  • Still static, but might be slower than others

38
Another DCVSL Example
Out
Out
D
A
E
D
E
C
B
A
B
C
  • Pull-down stacksmust be complementary

39
DCVSL Large XOR
Four-input XOR aka odd parity
Out
Out
D
D
D
D
C
C
C
C
B
B
B
B
A
A
40
DCVSL Large XOR
Four-input XOR aka odd parity
Out
Out
D
D
D
D
C
C
C
C
B
B
B
B
A
A
41
DCVSL Large XOR
Four-input XOR aka odd parity
Out
Out
D
D
D
D
C
C
C
C
B
B
B
B
A
A
42
Transmission Gate XOR
  • Tiny, clever circuit
  • If A is high, N1, P1 act like inverter
  • If A is low, B is passed to the output through
    transmission gate

43
Transmission Gate Adder
44
Another Version
45
Yet Another Version
46
An Example Layout
  • Not the same style were used to seeing

47
More Pass Transistors
  • Complementary Pass Transistor Logic (CPL)
  • Slightly faster, but more area

48
Speeding Up Addition
  • It all comes back to the carry circuit
  • Ripple carry delay goes from low-order to
    high-order bit
  • This determines the speed of the addition
  • Many many ways to speed up the carry calculation

Section 10.2.2 in your text
49
Carry Lookahead
Sum P Ci
-1
  • Key is that the carry depends ONLY on A and B,
    not the carry-in
  • Catch is that the gates have large fan-in

50
Carry Lookahead
  • Restated Ci Gi Pi C(i-1)
  • C0 G0 P0 Cin
  • C1 G1 P1 C0 G1 P1(G0 P0 Cin)
    G1 P1 G0 P1 P0 Cin
  • C2 G2 P2G2 P2P1G0 P2P1P0Cin
  • C3 G3 P3G2 P3P2G1 P3P2P1G0
    P3P2P1P0Cin
  • Or C3 G3 P3(G2 P2( G1 P1(G0 P0 Cin)))

51
Carry Lookahead
  • The C equations get larger with each stage
  • Usually do lookahead in small blocks (I.e. 4) and
    the combine in a tree

52
Carry Lookahead Logic
53
Fast Carry Lookahead Logic
Pseudo-nMOSUses lots ofcurrent!
54
Another Version
55
Another View
56
Another View
57
Ripple Carry
58
Ripple Carry
C3 G3 P3(G2 P2( G1 P1(G0 P0 Cin)))
59
PG Diagram Notation
60
Ripple Carry
61
Carry-Lookahead Adder
  • Carry-lookahead adder computes Gi0 for many bits
    in parallel.
  • Uses higher-valency cells with more than two
    inputs.

62
CLA PG Diagram
63
Higher-Valency Cells
64
Carry-Select Adder
  • Carry-Select
  • Compute result for a block based on carry-in of 1
    and carry-in of 0, then select the right one

65
Carry-Select Adder
  • Trick for critical paths dependent on late input
    X
  • Precompute two possible outputs for X 0, 1
  • Select proper output when X arrives
  • Carry-select adder precomputes n-bit sums
  • For both possible carries into n-bit group

66
Carry-Skip Adder
  • Compute the P and G for an entire block
  • If the block generates or kills, dont propagate

67
Carry-Skip PG Diagram
  • For k n-bit groups (N nk)

68
Tree Adder
  • If lookahead is good, lookahead across lookahead!
  • Recursive lookahead gives O(log N) delay
  • Many variations on tree adders

69
Brent-Kung
70
Sklansky
71
Kogge-Stone
72
Manchester Carry Chain
  • Instead of changing the architecture of the
    adder, use a clever circuit to ripple the carry
    more effectively

73
Alternate Implementation
74
Four Bit Block
75
Summary
Adder architectures offer area / power / delay
tradeoffs. Choose the best one for your
application.
76
Design as Trade-Off
  • Do you want speed or size?
  • Theres always power to consider too

77
How well does Synopsys do?
Area/Delay Trend lines
  • Design compiler using a 180nm library

78
What should you use?
  • Ripple if timing allows
  • Compact, easy
  • CLA or carry-skip work well for 8-16 bits
  • CLA in groups of 4?
  • For 32, and especially 64 bits tree adders are
    faster
  • Adders designed and tiled by hand will be much
    smaller (and probably faster) than synthesized
    adders

79
Logic Functions
  • Use the features of the full adder cell to
    generate logic functions
  • Lots of other ideas in your text

80
General Logic Generator
81
One Possible MUX Version
82
Remember the Big Picture
  • We want things to stack up nicely in the datapath

83
Shifters
  • Essentially a muxing operation select the shift
    you want (section 10.8)

84
Barrel Shifter
  • Shift any number of bits in one shot
  • Clever layout is possible
  • Lots of wiring

85
Barrel Shifter
A3
A3
A3
A2
  • Shift any number of (sign extended) bits in one
    shot
  • Clever layout is possible
  • Lots of wiring

86
Four by Four Barrel Shifter
  • Note the zig-zag control wire in poly

87
Logarithmic Shifter
88
Logarithmic Shifter Layout
Write a Comment
User Comments (0)
About PowerShow.com