dipartimento di ingegneria - circuiti sequenziali cmos · 2018. 12. 4. · tecniche di progetto con...

53
1 G.V. Persiano – Elettronica Digitale Circuiti sequenziali CMOS Proprietà: l’uscita dipende non solo dal valore istantaneo degli ingressi, ma anche dal valore degli stati precedenti (circuiti con memoria) Circuiti sequenziali (combinatori) = circuiti rigenerativi (non rigenerativi) Combinatorio Sequenziale Logico Circuito Out In Out In Stato Logico Circuito Out = f ( In ) Out = f ( In, In precedenti)

Upload: others

Post on 01-Feb-2021

8 views

Category:

Documents


0 download

TRANSCRIPT

  • 1G.V. Persiano – Elettronica Digitale

    Circuiti sequenziali CMOS

    Proprietà: l’uscita dipende non solo dal valore istantaneo degli ingressi, ma anche dal valore degli stati precedenti (circuiti con memoria)

    Circuiti sequenziali (combinatori) = circuiti rigenerativi (non rigenerativi)

    CombinatorioSequenziale

    LogicoCircuito OutIn

    OutIn

    Stato

    LogicoCircuito

    Out = f(In )Out = f(In, In precedenti)

  • 2G.V. Persiano – Elettronica Digitale

    Classificazione dei circuiti sequenziali

    Circuiti (latches e registri) di tipo:

    • Statico (memoria tramite reazione positiva)– Latch a multiplexer– Registri master-slave ed edge-triggered– Flip-flop SR statici

    • Dinamico (memoria tramite immagazzinamento carica)– Registri a porte di trasmissione– Latch C2MOS– Registri a fase di clock singola (TSPCL)

  • 3G.V. Persiano – Elettronica Digitale

    Definizione di latch, registro, flip-flop

    Nei vari libri sono applicate differenti convenzioni per definirei latches, i registri ed i flip-flop. Qui, indichiamo con:• Latch, un dispositivo sensibile al livello del clock CLK

    – Trasparenza trasferimento valore dell’ingresso all’uscita– Latch positivo (negativo) se trasparente quando CLK alto (basso)

    • Registro, un elemento di memoria edge-triggered– Edge-triggered = campionamento dell’ingresso e trasferimento in

    uscita solo in corrispondenza di una data commutazione di CLK– Negative edge-triggered = campionamento quando CLK 1→0– Positive edge-triggered = campionamento quando CLK 0→1

    • Flip-flop, elemento bistabile formato dalla connessioneincrociata di porte logiche

  • 4G.V. Persiano – Elettronica Digitale

    Differenza tra latch e registro

    Latch(trasparente quando CLK è alto)

    Registro(campiona sul fronte di salita di CLK)

    D

    CLK

    Q D

    CLK

    Q

    CLK CLK

    D D

    Q Q

  • 5G.V. Persiano – Elettronica Digitale

    Temporizzazione dei latch positivo e negativo

    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

  • 6G.V. Persiano – Elettronica Digitale

    Tecniche di progetto con i latches

    • N-latch è trasparente quando = 0,

    NLatch Logica

    Logica

    PLatch

    P-latch è trasparente quando = 1

  • 7G.V. Persiano – Elettronica Digitale

    Macchina a stati finiti con registri

    COMBINATIONALLOGIC

    Registers

    Outputs

    Next state

    CLK

    Q D

    Current State

    Inputs

    Esempio con registri positive edge-triggered

  • 8G.V. Persiano – Elettronica Digitale

    Caratteristiche temporali dei circuiti sequenziali

    Tempi di set-up tsetup, di hold thold e di propagazione tc→q

    t

    CLK

    t

    D

    tc→ q

    tholdtsetup

    t

    Q DATOSTABILE

    DATOSTABILE

    Registro

    CLK

    D Q

  • 9G.V. Persiano – Elettronica Digitale

    Massima frequenza di clock

    FF’s

    LOGIC

    tp,comb

    Inoltre, vale:

    tcd,reg + tcd,logic > thold tcd: tempo di contaminazione (ritardo minimo)

    tc →q + tp,comb + tsetup = T

  • 10G.V. Persiano – Elettronica Digitale

    Reazione positiva: bistabilità

  • 11G.V. Persiano – Elettronica Digitale

    Metastabilità

    Nella regione di indeterminazione, il guadagno di tensione AV deve essere > 1

  • 12G.V. Persiano – Elettronica Digitale

    Cambio di stato in un latch statico

    CLK

    CLK

    CLK

    D

    Q

    Implementazione con multiplexer

    D

    CLK

    CLK

    D

    - Uso del clock come segnale di discriminazione tra i 2 stati opachi e trasparenti del latch

    Imposizione del valore di D

  • 13G.V. Persiano – Elettronica Digitale

    Implementazione del latch con multiplexer

    Latch negativo(trasparente quando CLK è basso)

    Latch positivo(trasparente quando CLK è alto)

    CLK

    1

    0D

    Q 0

    CLK

    1D

    Q

    InClkQClkQ InClkQClkQ

  • 14G.V. Persiano – Elettronica Digitale

    Schema circuitale del latch con multiplexer (I)

    Implementazione con porte di trasmissione

    CLK

    CLK

    CLK

    D

    Q

  • 15G.V. Persiano – Elettronica Digitale

    Schema circuitale del latch con multiplexer (II)

    Implementazione con pass transistor NMOS

    CLK

    CLK

    CLK

    CLK

    QM

    QM

    Clock non sovrapposti

  • 16G.V. Persiano – Elettronica Digitale

    Registro (edge-triggered) Master-Slave

    Schema a blocchi Diagramma temporale

    1

    0D

    CLK

    QM

    Master

    0

    1

    CLK

    Q

    Slave

    QM

    Q

    D

    CLK

    Struttura con 2 latches di tipo opposto con commutazione sul fronte di salita di CLK

  • 17G.V. Persiano – Elettronica Digitale

    Master Slave

    Implementazione Master-Slave con coppia di latch a multiplexer

    QM

    Q

    D

    CLK

    T2I2

    T1I1

    I3 T4I5

    T3I4

    I6

  • 18G.V. Persiano – Elettronica Digitale

    Analisi temporale con il simulatore SPICE (I)

    Tempo di propagazione del registro

    D

    Q

    CLK

    2 0.5

    0.5

    1.5

    2.5

    tc → q(lh)

    0.5 1 1.5 2 2.50time, nsec

    Voltstc → q(hl)

  • 19G.V. Persiano – Elettronica Digitale

    Analisi temporale con il simulatore SPICE (II)

    Effetto del tempo di setup (tsetup=210 ps)

    D

    Q

    QM

    CLK

    I2 2 T2

    2 0.5

    Volts

    0.0

    0.2 0.4time (nsec)

    (a) Tsetup 5 0.21 nsec

    0.6 0.8 10

    0.5

    1.0

    1.5

    2.0

    2.5

    3.0

    DQ

    QM

    CLK

    I2 2 T2

    2 0.5Vo

    lts

    0.0

    0.2 0.4time (nsec)

    (b) Tsetup 5 0.20 nsec

    0.6 0.8 10

    0.5

    1.0

    1.5

    2.0

    2.5

    3.0

    Analisi con tsetup=210 ps Analisi con tsetup=200 ps

  • 20G.V. Persiano – Elettronica Digitale

    Registro Master-Slave con carico di clock ridotto

    - Accurato dimensionamento di T1 e I2 per determinare il valore sul nodo A- Attenzione all’eventuale influenza dello slave sul master (propagazione inversa)

    D QT1 I 1

    CLK

    CLK

    T2

    CLK

    CLKI2

    I 3

    I4

    - Rimozione delle porte di trasmissione sull’anello di retroazione carico del clock dimezzato

    A

  • 21G.V. Persiano – Elettronica Digitale

    Effetti della sovrapposizione del clock

    - Sovrapposizione del clock può causare race-condition o segnale indefinito sul nodo A

    Schema circuitale

    Sovrapposizione dei clock

    CLK

    CLK

    AB

    X

    D

    Q

    CLK

    CLK

    CLK

    CLK

  • 22G.V. Persiano – Elettronica Digitale

    Configurazione

    Segnali di clock

    CLK1

    CLK1

    AB

    X

    D

    Q

    CLK2

    CLK2

    CLK2

    CLK1

    Latch pseudostatico a 2 fasi

    - Uso di 2 segnali di clock non sovrapposti tra loro tratto di funzionamento dinamico

    t12

    t12 < tleakage

  • 23G.V. Persiano – Elettronica Digitale

    Flip-Flop SR (I)

    Configurazione a porte NOR

    Stato proibito

    S

    S

    R

    QQ

    Q

    QRS Q

    Q00 Q

    101 0

    010 1011 0R Q

  • 24G.V. Persiano – Elettronica Digitale

    Flip-Flop SR (II)

    Configurazione a porte NAND

    Stato proibito

    S

    R

    Q

    Q

    QRS Q

    Q11 Q

    110 0

    001 1100 1

    S

    QR

    Q

  • 25G.V. Persiano – Elettronica Digitale

    Schema circuitale SR NOR

    Implementazione in CMOS con segnale di clock

    M1

    M2

    M3

    M4Q

    M5S

    M6CLK

    M7 R

    M8 CLK

    VDD

    Q

    - Dissipazione statica nulla

    Quando CLK è alto

    - Struttura base per le celle di memoria statiche

  • 26G.V. Persiano – Elettronica Digitale

    Tensione statica in funzione di W5 e W6

    Dimensionamento dei MOS (I)

    Criteri generali

    4.03.53.0W/L5 and 6

    Q (V

    olts

    )

    2.52.00.0

    0.5

    1.0

    1.5

    2.0

    W2 = 1,5 mL2 = 0,25 m

  • 27G.V. Persiano – Elettronica Digitale

    Risposta in transitorio

    Dimensionamento dei MOS (II)

    Criteri generali

    time (ns)0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

    0

    1

    2

    W = 1 m

    3Q S

    W = 0.9 mW = 0.8 m

    W = 0.7 mW = 0.6 m

    W = 0.5 m

    Volts L = 0,25 m

    W2 = 1,5 mL2 = 0,25 m

  • 28G.V. Persiano – Elettronica Digitale

    Meccanismo di memoria dello stato

    Statico Dinamico

    CLK

    CLK

    CLK

    D

    Q D

    CLK

    CLK

    Q

  • 29G.V. Persiano – Elettronica Digitale

    Flip-flop dinamico a 2 fasi

    D

    CLK1

    CLK1

    CLK2

    CLK2

    D

    CLK2

    CLK1

  • 30G.V. Persiano – Elettronica Digitale

    Latch C2MOSCaratteristiche: - Configurazione insensibile alla configurazione dei clock- Particolarmente adatto per funzionamento ad alta velocità- Richiede meno contatti del latch dinamico a 2 fasi layout più compatto

    Schema base

    M1

    D

    M3CLK

    M4

    M2

    CLK

    VDD

    C

    X

  • 31G.V. Persiano – Elettronica Digitale

    Master-slave flip-flop in C2MOS- 2 sezioni con clock simmetrici: una opera in fase di trasmissione dati (valutazione), l’altra in

    fase di conservazione dato (hold)

    M1

    D Q

    M3CLK

    M4

    M2

    CLK

    VDD

    CL1

    X

    CL2

    M5

    M7CLK

    CLK M8

    M6

    VDD

    Master Slave

  • 32G.V. Persiano – Elettronica Digitale

    Sovrapposizione 0-0

    Insensibilità alla sovrapposizione dei clock

    M1

    D Q

    M4

    M2

    0 0

    VDD

    X

    M5

    M8

    M6

    VDD

    M3

    M1

    D Q

    M2

    1

    VDD

    X

    M71

    M5

    M6

    VDD

    Sovrapposizione 1-1

  • 33G.V. Persiano – Elettronica Digitale

    Pipelining

    Versione pipelinedVersione non-pipelined

    Definizione: metodo di progetto per velocizzare il funzionamento dei sistemi digitali,basato sull’impiego di registri e blocchi combinatori

    REG

    REG

    REGlog

    a

    CLK

    CLK

    CLK

    Out

    b

    REG

    REG

    REGlog

    a

    CLK

    CLK

    CLK

    REG

    CLK

    REG

    CLK

    Out

    b

  • 34G.V. Persiano – Elettronica Digitale

    Evoluzione delle operazioni dell’architettura pipeline

  • 35G.V. Persiano – Elettronica Digitale

    Strutture pipelined (I)

    Circuito pipelined con registro dinamico a 2 fasi

    F G

    CLK

    CLK

    In Out

    C1 C2

    CLK

    C3

    CLK

    CLK

    Compute F compute G

    Inconveniente: configurazione soggetta a race conditionSoluzione: uso di una configurazione tipo C2MOS

  • 36G.V. Persiano – Elettronica Digitale

    Strutture pipelined (II)

    Circuito pipelined con latch C2MOS

    DCLK

    CLK

    VDD

    CL1F

    CLK

    CLK

    VDD

    CL2G

    CLK

    CLK

    VDD

    CL3Q

    Quesito: quali vincoli devono soddisfare F e G per avere una struttura senza race condition (NO RAce CMOS = NORA-CMOS) ?

  • 37G.V. Persiano – Elettronica Digitale

    Risposta: un circuito pipelined basato su registri C2MOS è immune da race condition se lefunzioni logiche F G ecc. (di tipo statico) tra i latches sono non-invertenti

    Sovrapposizione dei clock di tipo 1-1

    CLK

    CLK CLK

    CLK

    Malfunzionamento !!

  • 38G.V. Persiano – Elettronica Digitale

    Strutture pipelined (III)Logica NORA-CMOS

    Proprietà:combina registri pipelined C2MOS e blocchi combinatori statici e dinamici

    Modulo con valutazione per CLK

    CLK

    CLK

    CLK

    CLK

    CLK

    CLK

    CLK

    CLK

    CLK

    CLKModulo con valutazione per CLK

  • 39G.V. Persiano – Elettronica Digitale

    Regole per evitare la race condition

    CLK

    CLK

    CLK

    CLK

  • 40G.V. Persiano – Elettronica Digitale

    Logica True Single-Phase Clocked (TSPCL)

    Latch negativoLatch positivo

    Caratteristiche: - Logica funzionante con un solo segnale di clock- Diversamente da C2MOS, nessun vincolo progettuale per evitare race-condition- Numero di MOS superiore per analoghe funzioni in C2MOS

    CLKIn

    VDD

    CLK

    VDD

    Out

    In CLK

    VDD

    CLK

    VDD

    Out

  • 41G.V. Persiano – Elettronica Digitale

    Circuiti in logica TSPCL

    Latch ANDCircuito logico incluso nel latch

    Caratteristiche: - Nessun vincolo sul numero di inversioni tra latches e blocchi dinamici- Circuiti statici e dinamici possono combinarsi liberamente tra loro e con i latches- Numero di MOS per latch pari a 6 (rispetto ai 4 del C2MOS)

    CLKIn CLK

    VDDVDD

    QPUN

    PDN

    CLK

    VDD

    Q

    CLK

    VDD

    In1

    In1 In2

    In2

  • 42G.V. Persiano – Elettronica Digitale

    CLK

    CLK

    D

    VDD

    M3

    M2

    M1

    CLK

    Y

    VDD

    Q

    Q

    M9

    M8

    M7

    CLK

    X

    VDD

    M6

    M5

    M4

    Registro positive edge-triggered

    Registro negative edge-triggeredCLK

    CLK

    D

    VDD

    M3

    M2

    M1

    CLK

    Y

    VDD

    Q

    Q

    M9

    M8

    M7

    CLK

    X

    VDD

    M6

    M5

    M4

  • 43G.V. Persiano – Elettronica Digitale

    CLK

    Latch negativoLatch positivo

    Latch TSPCL semplificato (split-output)

    CLK

    Registro positive edge-triggered CLK CLK

    Vantaggio: minor effetto di carico del clock (2 connessioni anziché 4)

  • 44G.V. Persiano – Elettronica Digitale

    Trigger di Schmitt

    Simbolo

    Configurazione non-invertente

    Caratteristiche: - Bistabile con isteresi (diversa soglia logica per VT crescente o decrescente)- Risponde a segnali lentamente variabili con rapide transizioni in uscita- Previene commutazioni spurie causate da eventuale rumore sovrapposto a Vin

    Configurazione invertente

  • 45G.V. Persiano – Elettronica Digitale

    DD

    Soppressione del rumore mediante un Trigger di Schmitt

    Vin

    t0

    VM

    VM

    t

    Vout

    t0 + tp t

    Implementazione in CMOS

    - Configurazione non-invertente- Valore di VM+ e VM- dipendente da kp/kn- Doppio invertitore VOL= 0, VOH= VDD

  • 46G.V. Persiano – Elettronica Digitale

    Analisi del Trigger di Schmitt mediante il simulatore SPICE

    Caratteristica di trasferimento con isteresi

    2.5

    VM2

    VM1

    Vin (V)

    2.0

    1.5

    1.0

    0.5

    0.00.0 0.5 1.0 1.5 2.0 2.5

    VX

    (V)

    Effetto delle dimensioni del PMOS M4. La larghezza W è k*0,5m

    VDD

    VDD

    OutIn

    M1

    M5

    M2X

    M3

    M4

    M6

    Configurazione alternativa

    2.5

    k=2k=3

    k=4

    k=1

    Vin (V)

    2.0

    1.5

    1.0

    0.5

    0.00.0 0.5 1.0 1.5 2.0 2.5

    VX

    (V)

  • 47G.V. Persiano – Elettronica Digitale

    Circuiti multivibratori: classificazione

    Multivibratore Bistabile

    Multivibratore Monostabile

    Multivibratore Astabile

    Flip-Flop, Trigger di Schmitt

    one-shot

    Oscillatori, VCO

    S

    R

    T

    Parallelo con sistemi meccanici

  • 48G.V. Persiano – Elettronica Digitale

    Circuiti monostabili

    Circuito monostabile basato su porte logiche

    Caratteristiche: - Circuito con uno stato stabile (riposo) ed uno instabile (sollecitazione in ingresso)- Usato come generatore di impulsi di durata predeterminata- Durata dell'impulso data da 2 meccanismi: ritardi di porte logiche tp e circuiti RC

  • 49G.V. Persiano – Elettronica Digitale

    Circuito monostabile basato su rete RC

    Inconvenienti dei monostabili basati su reti RC: - costante di tempo RC scelta molto maggiore del ritardo t delle porte logiche- VM molto sensibile a variazioni dei parametri di processo diversi valori di tp

  • 50G.V. Persiano – Elettronica Digitale

    Circuiti astabili

    Circuito astabile basato su porte logiche (oscillatore ad anello)

    Caratteristiche: - Circuito che oscilla tra due stati instabili- Usato come generatore di clock- Periodo dell’onda data da 2 meccanismi: ritardi di porte logiche tp e circuiti RC

    Circuito Simulazione delle forme d’onda con N=5

  • 51G.V. Persiano – Elettronica Digitale

    Circuito astabile basato su rete RC (oscillatore a rilassamento)

  • 52G.V. Persiano – Elettronica Digitale

    Oscillatore controllato in tensione (VCO)

    Tempo di propagazione in funzione di Vcontr

  • 53G.V. Persiano – Elettronica Digitale

    VCO basato su elementi di ritardo differenziali

    Cella di ritardo (tipo DCVSL)

    in2

    V ctrl

    V o2 V o1

    in1

    delay cell

    v 1v 2

    v 3

    v 4

    Oscillatore a 2 stadi

    0.5

    0.0

    0.5

    1.0

    1.5

    2.0

    2.5

    3.0

    2 0.5 1.5

    V 1 V 2 V 3 V4

    time (ns)2.5 3.5

    Simulazione forme d’onda del VCO a 2 stadi