Clase4 EAMTA - lcr.uns.edu.arlcr.uns.edu.ar/electronica/Posgrado/EAMTA/Documents/IntroVLSI/Cl… ·...

Preview:

Citation preview

Introducción a VLSI

EAMTA 2006

Introducción a VLSI

Clase 4: Lógica Secuencial y Subsistemas

3Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Programa

El Transistor MOSLayers y LayoutLógica CombinacionalLógica Secuencial y Subsistemas

4Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Organización

Lógica secuencialSumadoresOtros subsistemasMemorias

5Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Sequential Logic Circuits

6Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Sequential Logic

2 storage mechanisms• positive feedback• charge-based

COMBINATIONALLOGIC

Registers

Outputs

Next state

CLK

Q D

Current State

Inputs

7Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Naming Conventions

In our text:a latch is level sensitivea register is edge-triggered

There are many different naming conventionsFor instance, many books call edge-triggered elements flip-flopsThis leads to confusion however

8Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Timing Definitions

t

CLK

t

D

tc 2 q

thold

tsetup

t

Q DATASTABLE

DATASTABLE

Register

CLK

D Q

9Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Characterizing Timing

Register Latch

Clk

D Q

tC 2 Q

Clk

D Q

tC 2 Q

tD 2 Q

10Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Maximum Clock Frequency

FF’s

LOGIC

tp,comb

φ

Also:tcdreg + tcdlogic > thold

tcd: contamination delay = minimum delay

Data is hold long enough so it can be output

tclk-Q + tp,comb + tsetup = T

11Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Latch versus Register

Latchstores data when clock is low

D

Clk

Q D

Clk

Q

Registerstores data when clock rises

Clk Clk

D D

Q Q

12Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Latches

In

clk

In

Out

Positive Latch

CLK

DG

Q

Out

Outstable

Outfollows In

In

clk

In

Out

Negative Latch

CLK

DG

Q

Out

Outstable

Outfollows In

“transparent” “transparent”

In

clk

In

Out

Positive Latch

CLK

DG

Q

Out

Outstable

Outfollows In

In

clk

In

Out

Negative Latch

CLK

DG

Q

Out

Outstable

Outfollows In

13Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Storage Mechanisms

D

CLK

CLK

Q

Dynamic (charge-based)Static

Race might occur with a Race might occur with a mastermaster--slave slave

CLK

CLK

CLK

D

Q

14Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Mux-Based Latches

Negative latch(transparent when CLK= 0) Positive latch

(transparent when CLK= 1)

CLK

1

0D

Q 0

CLK

1D

Q

InClkQClkQ ⋅+⋅= InClkQClkQ ⋅+⋅=

15Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Mux-Based Latch

Number of transistor that the clock has to drive is an important metric.

In this case, there are 4 (four) transistors in the CLK line

CLK

CLK

CLK

D

Q

16Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Mux-based latch

3-state

17Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Mux-based latch

18Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Mux-Based Latch

NMOS only Non-overlapping clocks

Simple but degrades a High input to Vdd-Vtn

CLK

CLK

CLK

CLK

QM

QM

19Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Master-Slave (Edge-Triggered) Register

Two opposite latches trigger on edge. Also called master-slave latch pair This is a positive edge-triggered Reg. A negative edge-triggered can be realized by switching registers.

φ

φ

φ

φ D

InA

B

20Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Master-Slave Register

Multiplexer-based latch pair

QM

Q

D

CLK

T2I 2

T1I 1

I 3 T4I 5

T3I 4

I 6

21Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

DFF PC

22Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

DFF PC

23Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Avoiding Clock Overlap

CLK

CLK

AB

(a) Schematic diagram

X

D

Q

CLK

CLK

(b) Overlapping clock pairs

CLK

CLKCLK and CLKB are 1 at the same time, then D passes directly to output (race)

Output can change in the rising edge of the CLK for a negative edge-triggered FF

24Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Non-overlapping Clocks

CLK1

CLK1

AB

(a) Schematic diagram

X

D

Q

CLK2

CLK2

(b) Non-Overlapping clock pairs

CLK2

CLK1CLK1 and CLK2 are non-overlapping

T non-overlap has to be small enough so that the charge in the intermmediate nodes is preserved (gates are in tri-state)

T non-overlap

25Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Overpowering the Feedback Loop ─Cross-Coupled Pairs

NOR-based set-reset

Forbidden State

S

R

Q

Q

QRS Q

Q00 Q

101 0

010 1011 0

S Q

R Q

26Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Clocked SR Added clock

This is not used in datapaths any more, but is a basic building memory cellTransistors M5-M6 (M7-M8) has to be sized to overpower M2 (M4) and pull that node down

S Q

R QM1

M2

M3

M4

Q

M5S

M6CLK

M7 R

M8 CLK

VDD

Q

27Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Sizing Issues

Output voltage dependenceon transistor width

Transient response

4.03.53.0W/L5 and 6

(a)

2.52.00.0

0.5

1.0

1.5

2.0

Q (Volts)

time (ns)

(b)

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20

1

2

W = 1 mµ

3

Volts

Q S

W = 0.9 mµW = 0.8 mµ

W = 0.7 mµW = 0.6 mµ

W = 0.5 mµ

28Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Other Latches/Registers: C2MOS

“Keepers” can be added to make circuit pseudo-static

M1

D Q

M3CLK

M4

M2

CLK

VDD

CL1

X

CL2

Master Stage

M5

M7CLK

CLK M8

M6

VDD

Slave Stage

29Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Insensitive to Clock-Overlap

M1

D Q

M4

M2

0 0

VDD

X

M5

M8

M6

VDD

(a) (0-0) overlap

M3

M1

D Q

M2

1

VDD

X

M71

M5

M6

VDD

(b) (1-1) overlap

Insensitive as long as the rise and fall times are sufficiently small

Hold time must be imposed

30Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Adders

31Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Adders

Important subsystem in digital design, so we care about performanceGood example of ways to think about building systems larger than 1-2 gatesBasic problem: Bit N of the result depends on 0 - (N-1) input bits.

Could build separate circuits to compute partial sumsFast but very Big

Use bit adders that compute the value of each bit and connect them together to form N-bit adders

32Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Half adders

33Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Full adders

34Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Multi-Bit adders

35Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Gate level implementation

36Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Better full adder (Mirror adder)

37Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Bit slice layout

38Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Bit slice layout

Multi-bit adders can be obtained by repeating automatically the cell

39Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Bit-slice Full Adder

40Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Eight-bit Adder

41Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Serial Adder

42Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Datapath organization

43Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Datapath organization

44Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Substraction

45Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Otros Subsistemas

46Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Comparison

Want to compare two numbers, A and BIf A=B, A-B=0If B>=A, A-B will generate a carry out in the last bit (overflow)Comparison can be implemented using a substractor

47Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Parity

48Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Crossbar as shifter

49Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Counters

RULE # 1 of making a digital system work right: never gate clock signal !!

50Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Counter

Adder with a constant inputSelection used to define up (sum) or down (substraction)Synchronous – all signals change with clock

51Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Multiplication

52Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Parallel Multiplication

53Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Serial-Parallel multiplier

Requires M+N clock cycles

54Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Pipeline technique

Reference Pipelined

REG

REG

REG

log

a

CLK

CLK

CLK

Out

b

REG

REG

REG

log

a

CLK

CLK

CLK

REG

CLK

REG

CLK

Out

b

55Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Pipelined Serial to Parallel

56Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Memories

57Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Organization

58Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

ROM

59Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

SRAM

60Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Static row decoder

61Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones

Row decoder