Latch versus Register 1 Latch (trasparente su CK=0) stores data when clock is low Clk Q Register stores data when clock rises Clk Q Clk Q Clk Q 1 Master-Slave (Edge-Triggered) Register 2 Master Slave CLK 1 0 Q M 0 1 Q Q M Q CLK CLK Two opposite latches trigger on edge Also called master-slave latch pair 2
Latch statico trasparente durante la fase bassa del clock 3 3 Static Register design 4 input data NOT on an high impedance node two clock phases: avoiding clock overlap 4
Registro statico master-slave slave 1 5 5 Adapted EE141 from J. Rabaey73 et al, igital Integrated Circuits 2nd, 2003 Prentice Hall/Pearson a.a. 2007-2008 Typical standard cell static register6 Inv1 Inv2 TG1 Inv4 Inv6 Inv3 Inv5 Inv7 Inv8 φ andφ Q and Q locally generated buffered 6
Registro statico master-slave slave 2 7 74 7 Clock F and φ generation 8 8
Latch dinamico trasparente durante la fase alta del clock 9 CK Inv1 TG1 1 S M Cin,2 Inv2 Q M CK Memory = Cin,2 CK= Vdd, CK = 0 latch trasparente CK = 0, CK = Vdd latch in memorizzazione 9 ynamic master slave register 10 CK CK Inv1 TG1 1 S M Cin,2 Inv2 Q M Inv3 TG1 2 S M2 Cin,4 Inv4 Q CK CK two clock phases: avoiding clock overlap 10
Single phase dynamic latch pc2mos trasparente F =0 11 11 Single phase dynamic latch nc2mos trasparente F =Vdd 12 12
Registro dinamico master-slave slave PC2MOS NC2MOS 13 75 13 Single phase dynamic latch SPLITp trasparente F =0 14 V A1,min = -Vtp 14
Single phase dynamic latch SPLITn trasparente F =Vdd 15 V B2,max = Vdd -Vtn 15 Registro dinamico master-slave slave SPLITp-SPLITn SPLITn memorizzazione C Q1 16 76 16
Registro dinamico TSPC 17 77 17 Register Parameters Q Setup e hold sono calcolati rispetto al fronte di campionamento 18 Clk Clk T t hold t su Q t c-q elays can be different for rising and falling data transitions 18
Maximum Clock Frequency 19 CLK In R Combinational 1 R Logic 2 X Y Out t clk,q + t p,rc > t hold t clk-q + t p,rc + t setup T ck 19 Setup/Hold Illustrations (dynamic latch) 20 CN Inv1 TG1 1 S M Cin,2 Inv2 Q M CP Memory = Cin,2 CN= Vdd, CP = 0 latch trasparente CN = 0, CP = Vdd latch in memorizzazione 20
Setup Illustrations (dynamic latch) 21 Circuit before clock arrival (Setup-1 case) CN TG1 1 S M Inv2 Q M Clk-Q elay Inv1 CP T Clk-Q ata Clock T Setup-1 T Setup-1 t=0 21 Setup Illustrations 22 Circuit before clock arrival (Setup-1 case) CN TG1 1 S M Inv2 Q M Clk-Q elay Inv1 CP T Clk-Q ata Clock T Setup-1 T Setup-1 t=0 22
Setup Illustrations 23 Circuit before clock arrival (Setup-1 case) CN TG1 1 S M Inv2 Q M Clk-Q elay Inv1 CP T Clk-Q ata Clock T Setup-1 T Setup-1 t=0 23 Setup Illustrations 24 Circuit before clock arrival (Setup-1 case) CN TG1 1 S M Inv2 Q M Clk-Q elay Inv1 T Clk-Q CP ata Clock T Setup-1 T Setup-1 t=0 24
Hold Illustrations 25 Hold-1 case CN TG1 1 S M Inv2 Q M Clk-Q elay Inv1 CP 0 T Clk-Q Clock ata T Hold-1 T Hold-1 t=0 25 Hold Illustrations 26 Hold-1 case CN TG1 1 S M Inv2 Q M Clk-Q elay Inv1 CP 0 T Clk-Q Clock ata T Hold-1 T Hold-1 t=0 26
Hold Illustrations 27 Hold-1 case CN TG1 1 S M Inv2 Q M Clk-Q elay Inv1 CP 0 T Clk-Q Clock ata T Hold-1 T Hold-1 t=0 27 Hold Illustrations 28 Hold-1 case CN TG1 1 S M Inv2 Q M Clk-Q elay Inv1 T Clk-Q CP 0 Clock T Hold-1 ata T Hold-1 t=0 28
Convenzioni 29 29 Convenzioni 30 30
Registro dinamico master-slave slave PC2MOS-NC2MOS Tsu, =L Tsu =H 31 31 Registro dinamico master-slave slave 1 memorizzazione C Q1 Q1 Thold =L se =H dopo la commutazione del CK, per non avere errrore M2 deve essere OFF Thold =H se =L dopo la commutazione del CL, per non avere errore M1 deve essere OFF 32 M1 M2 32
Registro dinamico master-slave slave 1 memorizzazione C Q1 TCKQ,HL TCKQ,LH 33 33 Registro statico master-slave slave 1 memorizzazione: bistabile 34 Tsu 34
Registro statico master-slave slave 1 35 Thold 35 Registro statico master-slave slave 1 36 T CK,Q 36
Latch TSPC1 a precarica durante F = 0 (memorizzazione) F = 0 primo stadio in precarica, uscita in alta impedenza F = Vdd primo stadio in valutazione, uscita segue l ingresso l unica transizione ammessa all ingresso è L-H 37 37 Registro dinamico TSPC memorizzazione C O1 38 single PC2MOS Latch ntspc1 O2 O1 38
Registro dinamico TSPC memorizzazione C O1 Tsu ato = L carica O1 Tsu ato =H scarica O1 (e verificare che la durata della fase bassa del clock assicuri la precarica di O2 ) 39 O2 O1 39 Registro dinamico TSPC memorizzazione C q1 Thold ato =H carica O1 interrotta da M1 Thold ato =L la tensione sul nodo O1 deve rimanere costante durante il transitorio di scarica di O2 40 M1 O1 O2 40
Registro dinamico TSPC memorizzazione C q1 TCKQ,LH scarica O2, carica Q0 TCKQ,HL scarica Q0 (O2 è già al valore di precarica) 41 O2 M1 O1 41 area CMOS 0.13um 42 potenza statica (pw) segnale di clock: Cin (pf) durata minima delle fasi alta e bassa del clock (ns) Energia associata alle transizioni del clock per differenti valori di Q e (pj) 42
segnale di dato: Cin (pf) 43 Energia associata alle transizioni del dato per differenti valori di Q e del clock (pj) hold time in funzione della durata della transizione del segnale di clock (ns) setup time in funzione della durata della transizione del segnale di clock (ns) 43 44 T P,CKQ e T slope,out in funzione della capacità di carico e della durata della transizione del segnale di clock 44
Convenzioni 45 45 Esercitazione: progetto registri 46 46
47 47 48 48
Non-precharged Latch Parameters 49 Clk Q Clk positive latch T PW m t hold Setup e hold sono calcolati rispetto allo stesso fronte (quello che fa passare dalla fase di trasparenza a quella di memorizzazione) t su Q t c-q t d-q elays can be different for rising and falling data transitions 49 Latch TSPC1 a precarica durante F = 0 (memorizzazione) F = 0 primo stadio in precarica, uscita in alta impedenza F = Vdd primo stadio in valutazione, uscita segue l ingresso l unica transizione ammessa all ingresso è L-H 50 50
One-phase logic (F Section) 51 51 Latch TSPC1 a precarica durante F = Vdd (memorizzazione) F = Vdd primo stadio in precarica, uscita in alta impedenza F = 0 primo stadio in valutazione, uscita segue l ingresso l unica transizione ammessa all ingresso è H-L 52 52
One-phase Logic (F( Section) 53 53 Latch TSPC2 a precarica durante F = 0 (memorizzazione) 54 54
Latch TSPC2 a precarica durante F = Vdd (memorizzazione) 55 55