Microeletrônica - Escola Politécnicamoraes/microel/microel_slides_08.pdf · CLKD Se D=1...
Transcript of Microeletrônica - Escola Politécnicamoraes/microel/microel_slides_08.pdf · CLKD Se D=1...
![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,](https://reader035.fdocuments.mx/reader035/viewer/2022071216/6046fa57cd05b966e9005059/html5/thumbnails/1.jpg)
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,](https://reader035.fdocuments.mx/reader035/viewer/2022071216/6046fa57cd05b966e9005059/html5/thumbnails/2.jpg)
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,](https://reader035.fdocuments.mx/reader035/viewer/2022071216/6046fa57cd05b966e9005059/html5/thumbnails/3.jpg)
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,](https://reader035.fdocuments.mx/reader035/viewer/2022071216/6046fa57cd05b966e9005059/html5/thumbnails/4.jpg)
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,](https://reader035.fdocuments.mx/reader035/viewer/2022071216/6046fa57cd05b966e9005059/html5/thumbnails/5.jpg)
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,](https://reader035.fdocuments.mx/reader035/viewer/2022071216/6046fa57cd05b966e9005059/html5/thumbnails/6.jpg)
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,](https://reader035.fdocuments.mx/reader035/viewer/2022071216/6046fa57cd05b966e9005059/html5/thumbnails/7.jpg)
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,](https://reader035.fdocuments.mx/reader035/viewer/2022071216/6046fa57cd05b966e9005059/html5/thumbnails/8.jpg)
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,](https://reader035.fdocuments.mx/reader035/viewer/2022071216/6046fa57cd05b966e9005059/html5/thumbnails/9.jpg)
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,](https://reader035.fdocuments.mx/reader035/viewer/2022071216/6046fa57cd05b966e9005059/html5/thumbnails/10.jpg)
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,](https://reader035.fdocuments.mx/reader035/viewer/2022071216/6046fa57cd05b966e9005059/html5/thumbnails/11.jpg)
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,](https://reader035.fdocuments.mx/reader035/viewer/2022071216/6046fa57cd05b966e9005059/html5/thumbnails/12.jpg)
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,](https://reader035.fdocuments.mx/reader035/viewer/2022071216/6046fa57cd05b966e9005059/html5/thumbnails/13.jpg)
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,](https://reader035.fdocuments.mx/reader035/viewer/2022071216/6046fa57cd05b966e9005059/html5/thumbnails/14.jpg)
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,](https://reader035.fdocuments.mx/reader035/viewer/2022071216/6046fa57cd05b966e9005059/html5/thumbnails/15.jpg)
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,](https://reader035.fdocuments.mx/reader035/viewer/2022071216/6046fa57cd05b966e9005059/html5/thumbnails/16.jpg)
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,](https://reader035.fdocuments.mx/reader035/viewer/2022071216/6046fa57cd05b966e9005059/html5/thumbnails/17.jpg)
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,](https://reader035.fdocuments.mx/reader035/viewer/2022071216/6046fa57cd05b966e9005059/html5/thumbnails/18.jpg)
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,](https://reader035.fdocuments.mx/reader035/viewer/2022071216/6046fa57cd05b966e9005059/html5/thumbnails/19.jpg)
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,](https://reader035.fdocuments.mx/reader035/viewer/2022071216/6046fa57cd05b966e9005059/html5/thumbnails/20.jpg)
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,](https://reader035.fdocuments.mx/reader035/viewer/2022071216/6046fa57cd05b966e9005059/html5/thumbnails/21.jpg)
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,](https://reader035.fdocuments.mx/reader035/viewer/2022071216/6046fa57cd05b966e9005059/html5/thumbnails/22.jpg)
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,](https://reader035.fdocuments.mx/reader035/viewer/2022071216/6046fa57cd05b966e9005059/html5/thumbnails/23.jpg)
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,](https://reader035.fdocuments.mx/reader035/viewer/2022071216/6046fa57cd05b966e9005059/html5/thumbnails/24.jpg)
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,](https://reader035.fdocuments.mx/reader035/viewer/2022071216/6046fa57cd05b966e9005059/html5/thumbnails/25.jpg)
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,](https://reader035.fdocuments.mx/reader035/viewer/2022071216/6046fa57cd05b966e9005059/html5/thumbnails/26.jpg)
26