microeletrônica - escola politécnicamoraes/microel/microel_slides_08.pdf · clkd se d=1...

26
Microeletrônica q Professor: Fernando Gehm Moraes q Livro texto: Digital Integrated Circuits a Design Perspective - Rabaey C MOS VLSI Design - Weste Revisão das lâminas: 14/maio/2020 Aula #8 à Circuitos sequenciais dinâmicos

Upload: others

Post on 12-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Microeletrônica - Escola Politécnicamoraes/microel/microel_slides_08.pdf · CLKD Se D=1 descarrega x, se d=0 x=1. Na prática P2-M2 é um inversor de D. Par P3-M5 atuam com inversor,

Microeletrônica

q Professor: Fernando Gehm Moraesq Livro texto:

Digital Integrated Circuits a Design Perspective - RabaeyC MOS VLSI Design - Weste

Revisão das lâminas: 14/maio/2020

Aula #8 à Circuitos sequenciais dinâmicos

Page 2: Microeletrônica - Escola Politécnicamoraes/microel/microel_slides_08.pdf · CLKD Se D=1 descarrega x, se d=0 x=1. Na prática P2-M2 é um inversor de D. Par P3-M5 atuam com inversor,

Storage Mechanisms

D

CLK

CLK

Q

Dynamic (charge-based)Static

CLK

CLK

CLK

D

Q

2

Page 3: Microeletrônica - Escola Politécnicamoraes/microel/microel_slides_08.pdf · CLKD Se D=1 descarrega x, se d=0 x=1. Na prática P2-M2 é um inversor de D. Par P3-M5 atuam com inversor,

f2f1

DIn

Entrada

Saída

f1

f2

Flip Flop MS Dinâmico de 2 Fases

• Reduzida complexidade dos circuitos dinâmicos• A implementação necessita somente 6 transistores• Necessita relógios sem sobreposição• Tf12 pode ocasionar perda de desempenho

Tf12

3

Page 4: Microeletrônica - Escola Politécnicamoraes/microel/microel_slides_08.pdf · CLKD Se D=1 descarrega x, se d=0 x=1. Na prática P2-M2 é um inversor de D. Par P3-M5 atuam com inversor,

f 2f1

DD

Simulação

.subckt din d q ck vccX1 d nck ck A vcc tgX2 A B vcc invX3 B ck nck C vcc tgX4 C q vcc invX5 ck nck vcc inv.ends din

Carga da saída variando de 5 a 50fF

4

A B C

Page 5: Microeletrônica - Escola Politécnicamoraes/microel/microel_slides_08.pdf · CLKD Se D=1 descarrega x, se d=0 x=1. Na prática P2-M2 é um inversor de D. Par P3-M5 atuam com inversor,

FF Mestre-Escravo: C2MOS

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

M 1

D Q

M 3CLK

M 4

M 2

CLK

VDD

C L 1

X

C L 2

M 5

M 7CLK

CLK M 8

M 6

VDD

5

Page 6: Microeletrônica - Escola Politécnicamoraes/microel/microel_slides_08.pdf · CLKD Se D=1 descarrega x, se d=0 x=1. Na prática P2-M2 é um inversor de D. Par P3-M5 atuam com inversor,

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

6

Page 7: Microeletrônica - Escola Politécnicamoraes/microel/microel_slides_08.pdf · CLKD Se D=1 descarrega x, se d=0 x=1. Na prática P2-M2 é um inversor de D. Par P3-M5 atuam com inversor,

Latch TSPC

Negative latch(transparent when CLK= 0)

Positive latch(transparent when CLK= 1)

CLKIn

VDD

CLK

VDD

In

Out

CLK

VDD

CLK

VDD

Out

7

Page 8: Microeletrônica - Escola Politécnicamoraes/microel/microel_slides_08.pdf · CLKD Se D=1 descarrega x, se d=0 x=1. Na prática P2-M2 é um inversor de D. Par P3-M5 atuam com inversor,

Mestre-escravo TSPC

CLK

CLK

D

VDD

M 3

M 2

M 1

CLK

Y

VDD

Q

Q

M 9

M 8

M 7

CLK

X

VDD

M 6

M 5

M 4

8

Page 9: Microeletrônica - Escola Politécnicamoraes/microel/microel_slides_08.pdf · CLKD Se D=1 descarrega x, se d=0 x=1. Na prática P2-M2 é um inversor de D. Par P3-M5 atuam com inversor,

Flip-Flops Mestre-Escravo TSPC

(a) Flip-Flop D Sensível à Borda Ascendente

f

V DD

f

V DD

D

V DD

f

f

Df

V DD

f

V DD

D

V DD

f

f

DX

Y

(b) Flip-Fop D Sensível à Borda Descendente

Possui a vantagem de necessitar um único relógio

9

Page 10: Microeletrônica - Escola Politécnicamoraes/microel/microel_slides_08.pdf · CLKD Se D=1 descarrega x, se d=0 x=1. Na prática P2-M2 é um inversor de D. Par P3-M5 atuam com inversor,

Exercício – analise o seguinte FF

q Fonte: http://www.ece.ncsu.edu/asic/ece733/2008/docs/FlipFlops1up.pdf

10

Page 11: Microeletrônica - Escola Politécnicamoraes/microel/microel_slides_08.pdf · CLKD Se D=1 descarrega x, se d=0 x=1. Na prática P2-M2 é um inversor de D. Par P3-M5 atuam com inversor,

Pulse-Triggered LatchesAn Alternative Approach

Master-Slave Latches

D

Clk

Q D

Clk

Q

Clk

DataD

Clk

Q

Clk

Data

Pulse-Triggered Latch

L1 L2 L

Ways to design an edge-triggered sequential cell:

11

Page 12: Microeletrônica - Escola Politécnicamoraes/microel/microel_slides_08.pdf · CLKD Se D=1 descarrega x, se d=0 x=1. Na prática P2-M2 é um inversor de D. Par P3-M5 atuam com inversor,

Circuito Gerador de Pulso

CLK

CLKG

VDD

XMP

MN

.subckt pulso clk clkg vccX1 clk X n1 vcc nand2X2 n1 clkg vcc invMP2 X clk vcc vcc pmos l=0.35U W=3.0U MN2 X clkg 0 0 nmos l=0.35U W=1.5U.ends pulso

• A idéia é não usar MS, e sim latches, usando como gatilho pulsos muito rápidos

12

Page 13: Microeletrônica - Escola Politécnicamoraes/microel/microel_slides_08.pdf · CLKD Se D=1 descarrega x, se d=0 x=1. Na prática P2-M2 é um inversor de D. Par P3-M5 atuam com inversor,

Pulsed Latches

CLKGD

VDD

M3

M2

M1

CLKG

VDD

M6

Q

M5

M4

CLK

CLKG

VDD

XMP

MN

(a) register (b) glitch generation

CLK

CLKG

(c) glitch clock

13

Page 14: Microeletrônica - Escola Politécnicamoraes/microel/microel_slides_08.pdf · CLKD Se D=1 descarrega x, se d=0 x=1. Na prática P2-M2 é um inversor de D. Par P3-M5 atuam com inversor,

Comparação

- Mesma latch, transparente no nível alto, controlada por un clock e por um glitch

- EFEITO: quando controlada por glitch atua como mestre escravo

- Razão: tempo que a latchfica transparente é muito curto, não ocorredo “race”

- Menor carga na linha do clock

X1 D q1 clk vcc latch1X8 D q8 clkg vcc latch1

14

Page 15: Microeletrônica - Escola Politécnicamoraes/microel/microel_slides_08.pdf · CLKD Se D=1 descarrega x, se d=0 x=1. Na prática P2-M2 é um inversor de D. Par P3-M5 atuam com inversor,

Pulsed Latches

Hybrid Latch – Flip-flop (HLFF), AMD K-6 and K-7 :

P1

M3

M2D

CLK

M1

P3

M6

Qx

M5

M4

P2

CLKD

15

Page 16: Microeletrônica - Escola Politécnicamoraes/microel/microel_slides_08.pdf · CLKD Se D=1 descarrega x, se d=0 x=1. Na prática P2-M2 é um inversor de D. Par P3-M5 atuam com inversor,

Clock = 0

P1

M3

M2D

CLK

M1

P3

M6

Qx

M5

M4

P2

CLKD

X em pré-carga 1 (notar P2, não incomoda pois se conduzir leva x a 1)Saída Q mantém o estado

0 1 0 1

16

Page 17: Microeletrônica - Escola Politécnicamoraes/microel/microel_slides_08.pdf · CLKD Se D=1 descarrega x, se d=0 x=1. Na prática P2-M2 é um inversor de D. Par P3-M5 atuam com inversor,

Clock sobepor um curto tempo clk=1 e clkd=1

P1

M3

M2D

CLK

M1

P3

M6

Qx

M5

M4

P2

CLKD

Se D=1 descarrega x, se d=0 x=1. Na prática P2-M2 é um inversor de D.Par P3-M5 atuam com inversor, e forçam estado de x no par de inversores

1 1

17

Page 18: Microeletrônica - Escola Politécnicamoraes/microel/microel_slides_08.pdf · CLKD Se D=1 descarrega x, se d=0 x=1. Na prática P2-M2 é um inversor de D. Par P3-M5 atuam com inversor,

Clock = 1

P1

M3

M2D

CLK

M1

P3

M6

Qx

M5

M4

P2

CLKD

Se D=0 xß1, não faz P3 conduzirSe D=1 não altera o estado de x Mantém o estado

1 0 1 0

18

Page 19: Microeletrônica - Escola Politécnicamoraes/microel/microel_slides_08.pdf · CLKD Se D=1 descarrega x, se d=0 x=1. Na prática P2-M2 é um inversor de D. Par P3-M5 atuam com inversor,

Clock desceclk e clkd iguais a zero (glitch)

P1

M3

M2D

CLK

M1

P3

M6

Qx

M5

M4

P2

CLKD

Se D=0 xß1, não faz P3 conduzirSe D=1 não altera o estado de x Mantém o estado

19

Page 20: Microeletrônica - Escola Politécnicamoraes/microel/microel_slides_08.pdf · CLKD Se D=1 descarrega x, se d=0 x=1. Na prática P2-M2 é um inversor de D. Par P3-M5 atuam com inversor,

Non-Bistable Sequential CircuitsSchmitt Trigger

In Out

Vin

Vout VOH

VOL

VMœ VM+

•VTC with hysteresis

•Restores signal slopes

20

Page 21: Microeletrônica - Escola Politécnicamoraes/microel/microel_slides_08.pdf · CLKD Se D=1 descarrega x, se d=0 x=1. Na prática P2-M2 é um inversor de D. Par P3-M5 atuam com inversor,

Noise Suppression using Schmitt Trigger

21

Page 22: Microeletrônica - Escola Politécnicamoraes/microel/microel_slides_08.pdf · CLKD Se D=1 descarrega x, se d=0 x=1. Na prática P2-M2 é um inversor de D. Par P3-M5 atuam com inversor,

CMOS Schmitt Trigger

Moves switching thresholdof the first inverter

.subckt inv in out vccMP1 out in vcc vcc pmos l=0.35U W=5.5U MN2 out in 0 0 nmos l=0.35U W=2.0U.ends inv

.subckt SCHMITTTRIGGER in out vccX1 in X vcc invX2 X out vcc invMP2 X out vcc vcc pmos l=0.35U W=4UMN2 X out 0 0 nmos l=0.35U W=2U.ends SCHMITTTRIGGER

Opera de 2u a 5.5u – mais que 6 microns muito ganho no P e fica em 0

Vin

M2

M1

VDD

X Vout

M4

M3

22

Page 23: Microeletrônica - Escola Politécnicamoraes/microel/microel_slides_08.pdf · CLKD Se D=1 descarrega x, se d=0 x=1. Na prática P2-M2 é um inversor de D. Par P3-M5 atuam com inversor,

wp

Vin

M2

M1

VDD

X Vout

M4

M3

23

1 0 1

wp

Vin

M2

M1

VDD

X Vout

M4

M3

0 1 0

Para passar de 0 para 1:

W(M2) > W(M4)

Se ganho de M4 for maior que o ganho de M2 a saída fica presa em 0

Page 24: Microeletrônica - Escola Politécnicamoraes/microel/microel_slides_08.pdf · CLKD Se D=1 descarrega x, se d=0 x=1. Na prática P2-M2 é um inversor de D. Par P3-M5 atuam com inversor,

Entrada

1 inversor

Schmitt TriggerParâmetro que varia: wp

6u

5.5u2u

wpVin

M2

M1

VDD

X Vout

M4

M3

24

Page 25: Microeletrônica - Escola Politécnicamoraes/microel/microel_slides_08.pdf · CLKD Se D=1 descarrega x, se d=0 x=1. Na prática P2-M2 é um inversor de D. Par P3-M5 atuam com inversor,

Dual – edge flip flop (dinâmico)q Dual-edge triggered storage element is an edge-sensitive element

that captures the value of the input after both low-to-high and high-to-low clock transitions. V

D

Q

CLK

CLKX

CLK

CLK

CLK

CLK Y

CLK

CLK

Analisar o circuito ao lado

25

Page 26: Microeletrônica - Escola Politécnicamoraes/microel/microel_slides_08.pdf · CLKD Se D=1 descarrega x, se d=0 x=1. Na prática P2-M2 é um inversor de D. Par P3-M5 atuam com inversor,

26