circuiti logici - polito

Upload: mapleaf-hawkins

Post on 11-Oct-2015

157 views

Category:

Documents


0 download

DESCRIPTION

dispense

TRANSCRIPT

  • Capitolo 7

    Circuiti logici

    Indice

    7.1 Porte logiche . . . . . . . . . . . . . . . . . . . . . . 4

    7.1.1 Parametri elettrici statici delle porte logiche . . . . . 4

    7.1.2 Compatibilit tra porte logiche . . . . . . . . . . . . 8

    7.1.3 Margini di rumore . . . . . . . . . . . . . . . . . . . 9

    7.1.4 Fan-out . . . . . . . . . . . . . . . . . . . . . . . . . 9

    7.1.5 Famiglie logiche . . . . . . . . . . . . . . . . . . . . . 10

    7.1.6 Ingressi delle porte logiche . . . . . . . . . . . . . . . 11

    7.1.7 Uscite delle porte logiche . . . . . . . . . . . . . . . 14

    7.2 Cenni sulla famiglia logica TTL . . . . . . . . . . . 17

    7.3 Porte CMOS . . . . . . . . . . . . . . . . . . . . . . 18

    7.3.1 Logica statica complementare . . . . . . . . . . . . . 18

    7.3.2 Logica nMOS-like . . . . . . . . . . . . . . . . . . . 25

    7.3.3 Logica dinamica . . . . . . . . . . . . . . . . . . . . 26

    7.3.4 Logica a Transmission Gate . . . . . . . . . . . . . . 29

    7.4 Esempi pratici . . . . . . . . . . . . . . . . . . . . . 31

    7.4.1 Calcolo di fan-out . . . . . . . . . . . . . . . . . . . 31

    7.4.2 Pilotaggio di LED . . . . . . . . . . . . . . . . . . . 32

    7.4.3 Wired-or . . . . . . . . . . . . . . . . . . . . . . . . 34

    7.5 Comportamento dinamico delle porte logiche . . 37

    7.5.1 Definizioni . . . . . . . . . . . . . . . . . . . . . . . . 37

    7.5.2 Ritardo di propagazione . . . . . . . . . . . . . . . . 37

    7.5.3 Considerazioni energetiche . . . . . . . . . . . . . . . 39

    Itransistori in commutazione costituiscono la base dei circuiti digitali, inprimis delle porte logiche. Nel corso di Elettronica Applicata siamo interessati

    a studiare le porte logiche ponendo laccento non sulle funzioni logiche svolte, masulle caratteristiche elettriche statiche e dinamiche dei circuiti che le realizzano.

    La nostra trattazione sar quindi in massima parte elettronica e non lo-gica. Nel seguito supporremo che siano gi noti i teoremi di base dellalgebrabooleana, le funzioni logiche combinatorie e sequenziali. Quando potremo, uti-lizzeremo per il nostro studio le porte elementari, in particolar modo linverter.Quasi sempre i risultati ottenuti studiando le caratteristiche elettriche di questodispositivo possono essere estesi a porte di complessit qualunque.

    3

  • (a)

    1

    (b)

    VAL

    (c)

    Figura 7.1: Simboli logici dellinverter: (a) standard de facto (b) standard IEEE(c) con connessione esplicita alle alimentazioni.

    7.1 Porte logiche

    Cominciamo lanalisi dei circuiti digitali considerando le porte combinatorie ele-mentari. Nel capitolo sui transistori in commutazione abbiamo gi analizzato deicircuiti che svolgono la funzione di inverter, infatti sia il circuito base utilizzatoper lo studio del BJT, sia quello introdotto nello studio del MOSFET, produconosul carico una uscita bassa in corrispondenza di un valore elevato della tensionedingresso, mentre generano unuscita alta in corrispondenza ad un valore bassodi ingresso. La funzione logica realizzata dunque linversione (NOT), funzionepropria dellinverter.

    Nel seguito assoceremo in generale il livello elettrico alto (anche detto H)al livello logico 1, il livello basso (L) al livello logico 0. Tale associazione, dettalogica positiva, usuale ma non obbligatoria. Ci sono casi in cui conviene as-sociare L alluno logico e H allo zero logico. In questo caso si parler di logicanegata.

    E sempre possibile rappresentare una porta logica mediante lo schema elet-trico che realizza la funzione logica, ma diventa molto difficile progettare e ana-lizzare il circuito. Nellelettronica circuitale si preferisce dunque attuare una rap-presentazione di livello pi alto, astraendo dalla realizzazione circuitale. Esistonodiversi standard di disegno delle porte logiche, tra cui uno definito dallIEEE,che per non ha avuto molta fortuna tra i progettisti. Noi utilizzeremo lo stiledi disegno pi diffuso, anche se mai standardizzato, in cui linverter rappre-sentato come in figura 7.1a. La figura 7.1b rappresenta il simbolo IEEE mentrein 7.1c sono esplicitati i terminali di alimentazione della porta, generalmenteomessi negli schemi dei circuiti digitali ma fondamentali per il funzionamentodel dispositivo.

    7.1.1 Parametri elettrici statici delle porte logiche

    Il circuito interno delle porte logiche (anche dellinverter) generalmente picomplesso di quelli visti nel capitolo sui transistori in commutazione. Studiere-mo in seguito la realizzazione circuitale di alcune porte logiche. Prima per necessario concentrarsi sui parametri statici di ingresso e uscita di questi disposi-tivi, che analizzeremo astraendo dalla realizzazione circuitale. Abbiamo appenaparlato di tensioni di ingresso e di uscita alte o basse. Occorre per una de-finizione pi precisa, che indichi il campo di tensioni ammissibili per lingressodi una porta logica e di quelle attese alluscita della porta stessa.

    4

  • Utilizziamo di nuovo linverter come caso di studio e realizziamo un esperi-mento che ci permetta di capire esattamente i termini del problema. Alimentia-mo linverter alla tensione nominale prevista dal data-sheet (VAL) e poniamo iningresso un generatore di tensione variabile. Colleghiamo alluscita della portaun altro inverter identico, al fine di simulare la condizione di uso normale, incui ogni porta logica pilota almeno unaltra porta dello stesso tipo (figura 7.2a).Facciamo variare la tensione di ingresso nel campo tra 0V e VAL. In corrispon-denza di ogni valore della tensione di ingresso, riportiamo su un grafico il valoredi tensione letto sulluscita della porta.

    Vi

    Vu

    VAL

    (a)

    (b)

    Vi

    Vu

    Figura 7.2: a) Circuito di prova dellinverter. b) Transcaratteristica.

    Una possibile caratteristica Vi/Vu dellinverter reale riportata in figura7.2b. La caratteristica disegnata quella ideale di un inverter in tecnologiaCMOS e la ritroveremo pi avanti. Nella figura si nota chiaramente lesistenzadi un ampio intervallo di tensioni di ingresso che produce una tensione duscitaprossima a quella di alimentazione e di un secondo campo di tensioni di ingressoche produce una tensione duscita prossima a 0V. Questi due campi sono sepa-rati da una zona di transizione in cui si ha il cambiamento di stato della porta.Se ripetessimo il nostro esperimento con porte dello stesso tipo, oppure con lastessa porta ma variando la temperatura, il carico o la tensione di alimentazione,otterremmo caratteristiche simili ma non perfettamente sovrapponibili.

    Tensioni di ingresso e uscita

    I costruttori delle porte logiche, tenendo conto della variabilit dei processi diproduzione, del campo di temperatura di funzionamento, dei limiti di caricoammissibile e delle caratteristiche circuitali delle porte logiche, definiscono i

    5

  • campi di tensione di ingresso che in ogni caso sono interpretati dal dispositivocome livello di tensione basso o alto.

    VIL VIH VAL

    Livello L Livello H

    Vi

    Vu

    Figura 7.3: Campi per le tensioni logiche di ingresso basse e alte.

    Nel grafico 7.3 si possono notare alcuni livelli di tensione di ingresso parti-colarmente significativi:

    VIL la massima tensione di ingresso che il costruttore garantisce siainterpretata dal dispositivo come livello basso (L). Perci le tensioni dilivello basso sono comprese tra 0V e VIL.

    VIH la minima tensione di ingresso che il costruttore garantisce siainterpretata dal dispositivo come livello alto (H). Perci le tensioni dilivello alto sono comprese tra VIH e VAL.

    Generalmente il livello elettrico L associato al livello logico 0, mentre illivello H associato alluno logico. Questa associazione, detta logica positiva, la pi utilizzata ma non lunica possibile. In alcuni casi opportuno associareluno logico al livello elettrico L e lo zero al livello H. Si parla allora di logicanegativa.

    Le tensioni che abbiamo individuato rappresentano i limiti di un intervallodi valori. In molti testi vengono presentate definizioni formali di VIL e VIH comepunti a derivata unitaria delle funzioni che descrivono la transcaratteristica dellaporta logica, ma esse non vanno tenute in considerazione allatto pratico. Per iprogetti sono da utilizzare i parametri ricavati statisticamente dal costruttoredella porta logica in un intervallo di temperature diverse e condizioni di caricovariabili. Essi sono dichiarati sul data-sheet della porta.

    Abbiamo definito i parametri relativi allingresso, ma occorre caratterizzareallo stesso modo luscita. Dobbiamo per notare che la tensione duscita nonpu essere definita separatamente dalle condizioni di carico. E evidente che nelcaso limite di cortocircuito a 0V delluscita, non potr aspettarmi una tensioneduscita diversa da 0V anche nel caso di uscita alta. Dobbiamo quindi legarei valori di tensione possibili per uscita alta o bassa alla corrente che la porta in grado di fornire. Di conseguenza i parametri di uscita sono definiti come:

    VOL: massima tensione di uscita corrispondente a livello logico basso (laminima si assume pari a 0V) quando la corrente in uscita dalla porta siainferiore a un valore massimo chiamato IOL;

    6

  • VI

    II IO

    VO

    Figura 7.4: Definizione delle grandezze elettriche su una porta logica.

    VOH : minima tensione di uscita corrispondente a livello logico alto (lamassima si assume pari a VAL) quando la corrente in uscita dalla portasia inferiore a un valore massimo chiamato IOH .

    Le correnti duscita dipendono dal carico collegato alla porta. I costruttori forni-scono i valori della tensione duscita in condizioni di carico considerate standardper il tipo di circuito in esame e non raro il caso in cui esistano diversi valori deiparametri relativi a correnti diverse. Vedremo che questo vero in particolareper le porte CMOS.

    Correnti di ingresso e uscita

    Nel caso standard in cui una porta logica pilota altre porte ad essa compatibili, ovvio che il carico presente sulluscita della porta costituito dalle correntiche scorrono nellingresso delle porte pilotate. E quindi necessario specificareper ogni porta logica non solo qual il campo di tensioni ammesse in ingressoper i due livelli logici, ma anche quale corrente assorba la porta in funzione dellivello logico presente sullingresso.

    Mentre non ci sono dubbi sulla misura delle tensioni di ingresso e uscita, chesono sempre riferite al potenziale di riferimento del sistema (i famosi 0V), occor-re prestare attenzione alla convenzione usata per le correnti. Sia per lingressosia per luscita delle porte logiche si utilizza la convenzione degli utilizzato-ri: cosiderata cio positiva una corrente entrante nel terminale della porta,indipendentemente dalla funzione svolta.

    La convenzione e le grandezze elettriche sono riportate in figura 7.4.Le definizioni delle correnti di ingresso e uscita sono le seguenti:

    IIL: massima corrente che la porta richiede in ingresso quando la tensionedi ingresso mantenuta a un valore compreso tra 0V e VIL;

    IIH : massima corrente che la porta richiede in ingresso quando la tensionedi ingresso mantenuta a un valore compreso tra VIH e VAL;

    IOL: massima corrente che pu essere assorbita dalluscita della porta,quando la porta genera un livello logico basso, affinch la tensione di uscitasia garantita inferiore a VOL;

    IOH : massima corrente che luscita della porta pu fornire al carico, quan-do la porta genera un livello logico alto, affinch la tensione di uscita siagarantita superiore a VOH .

    7

  • Quale segno ci aspettiamo che abbiano le quattro correnti sopra elencate? Perquanto riguarda le correnti di ingresso, nel caso di porte realizzate con transi-stor bipolari, possiamo ragionare in questo modo: se la porta non fosse collegataa nulla, sullingresso dovremmo avere una tensione intermedia compresa tra ilimiti imposti dalle tensioni di alimentazione. Potremmo modellare lingressocome una resistenza collegata a una certa tensione Veq. Per forzare lingresso aun valore basso allora la corrente sar uscente dalla porta, mentre per porta-re lingresso a un valore alto bisogner fornire una corrente alla porta stessa.Quindi IIL < 0 e IIH > 0. Le uscite dovranno essere in grado di gestire questecorrenti, quindi IOL > 0 e IOH < 0. Questo ragionamento confermato pen-sando alle semplici porte studiate nel capitolo sui transistor in commutazione.Con transistor interdetto (uscita alta), luscita della porta equivalente ad unaresistenza (RC o RD a seconda del circuito) collegata a VAL, per cui, a menoche il carico non sia in grado di forzare tensioni superiori a VAL, la porta potrsolo fornire correnti uscenti, quindi IIH > 0. Allo stesso modo, con transistorin saturazione (livello basso), si ha un interruttore chiuso verso 0V e la portapotr solo assorbire corrente dal carico, quindi IOL > 0.

    Nel caso di porte realizzate con dei MOSFET (ingresso sul gate), lingressonon assorbe alcuna corrente, a meno di considerare i circuiti di protezione di cuiparleremo in seguito. La corrente reale sullingresso sar molto bassa e potr inquesto caso essere entrante o uscente dal dispositivo.

    7.1.2 Compatibilit tra porte logiche

    Una delle funzioni dei parametri elettrici statici stabilire se sia possibile o menocollegare luscita di una porta logica allingresso di unaltra, cio se due portelogiche sono tra loro compatibili. Come abbiamo visto, i parametri elettriciche abbiamo studiato non rappresentano la tensione che troviamo realmentesulluscita di una porta logica o la corrente effettivamente fornita o assorbita,ma i valori limite di un intervallo. Dunque non sappiamo esattamente quale sia latensione presente nel circuito ma conosciamo i limiti che essa potr assumere incondizioni fisiologiche. Per stabilire se due porte A e B possono essere collegatetra loro, con luscita di A collegata allingresso di B, occorrer verificare che Bnon rappresenti per A un carico troppo elevato e che le tensioni generate da Aa livello logico alto e basso siano correttamente interpretate da B.

    In pratica occorrer verificare che:{|IIH,B| < |IOH,A||IIL,B| < |IOL,A|

    per quanto riguarda le correnti. Relativamente alle tensioni, se le porte sonoalimentate con la stessa tensione VAL, dovr essere{

    VIH,B < VOH,AVIL,B > VOL,A

    In caso di tensioni di alimentazione diverse occorrer anche tenere conto deglialtri estremi degli intervalli: i valori di tensione possibili alluscita di A devonoessere tutti ammissibili dallingresso di B, cio rientrare nel campo di tensionivalido per un valore alto o basso di ingresso.

    In figura 7.5a evidenziata graficamente la relazione tra gli intervalli ditensione duscita e di ingresso di due porte tra loro compatibili. In generale la

    8

  • A B

    0V

    VOL

    VOH

    VAL

    0.3V

    VIL

    VIH

    VAL + 0.3V

    (a)

    A B

    VOL

    VOH

    VIL

    VIHNoise Margin H

    Noise Margin L

    (b)

    Figura 7.5: a) Rappresentazione grafica degli intervalli delle grandezze elettrichedi ingresso ed uscita di due porte interconnesse; b) Margini di rumore.

    porta accetta in ingresso livelli di tensione leggermente pi ampi della tensionedi alimentazione. La connessione possibile se lintervallo di tensioni generabilidalluscita (in verde) ricade completamente nel campo di tensioni ammissibiliper lingresso (in rosso).

    7.1.3 Margini di rumore

    bene che gli intervalli di tensione ammessi dallingresso siano pi ampi degliintervalli generabili dalluscita. In questo modo non si avranno problemi an-che se la connessione tra le due porte fosse disturbata, ad esempio per rumoreelettromagnetico sulla linea dati o cadute di tensione sulle linee di alimentazio-ne. Le differenze VIL VOL e VOH VIH sono dette margini di rumore (noisemargin) rispettivamente a livello basso e livello alto. I margini di rumore sonorappresentati graficamente in figura 7.5b.

    7.1.4 Fan-out

    Spesso luscita di una porta logica deve essere collegata a pi ingressi di por-te, generalmente costruite con la stessa tecnologia. Si definisce fan-out di unaporta sia il numero di ingressi collegati alluscita di quella porta in un circuitospecifico, sia il numero massimo di ingressi di porte costruite con la stessa tec-nologia collegabili alluscita rispettando i vincoli per la compatibilit dei livellidi tensione e di corrente. Conoscendo il massimo fan-out della porta, diventaimmediato verificare se possibile o meno realizzare un circuito digitale.

    Per calcolare il fan-out limite nel caso in cui gli ingressi da collegare abbia-no tutti le stesse caratteristiche elettriche, sufficiente, una volta verificata lacompatibilit tra le tensioni di ingresso e uscita, calcolare la quantit:

    9

  • FO = min(IOHIIH

    ;IOLIIL

    )

    FO indica il massimo numero di ingressi collegabili alla singola uscita. Se ilnumero di ingressi da collegare inferiore o uguale a FO, il circuito realizzabile,altrimenti occorrer cambiare schema (ad esempio interponendo dei buffer).

    7.1.5 Famiglie logiche

    Anche se non abbiamo ancora studiato linterno delle porte logiche, abbiamovisto che esse sono basate su transistor bipolari o a effetto di campo pilotatiin commutazione. Nel progetto delle porte logiche pratica comune separarela porzione di circuito che realizza la particolare funzione logica dallinterfacciadi ingresso e di uscita, cio dalla parte responsabile del collegamento ad altriblocchi. In questo modo le caratteristiche elettriche statiche delle porte logichedipenderanno dalla tecnologia utilizzata mentre saranno quasi completamenteindipendenti dalla funzione logica svolta dalla porta.

    Un insieme di circuiti logici che realizzano funzioni logiche diverse creati conla stessa tecnologia e con caratteristiche statiche di ingresso/uscita comuni detto famiglia logica.

    Le prime famiglie logiche commercializzate erano basate su transistori bi-polari. Sono state introdotte a partire dal 1962 (primo circuito logico integratoprodotto commercialmente). Successivamente si sono rese disponibili porte lo-giche basate su MOSFET. Ogni famiglia logica contraddistinta da una sigla.Le prime sono state: ECL (Emitter Coupled Logic), DTL (Diode Transistor Lo-gic) e RTL (Resistor Transistor Logic). La RTL stata utilizzata per creare laprima CPU basata su circuiti integrati (Computer di guida del razzo vettoreApollo). La pi diffusa famiglia logica degli anni 60 e 70 per la famiglia TTL(Transistor-Transistor Logic).

    La verisone LS di questa famiglia logica (Low power Schottky), introdottanel 1976, rimasta per decenni lo standard di riferimento per le caratteristicheelettriche statiche delle porte logiche. Ancora oggi in alcune occasioni si ragionain termini di carichi TTL-LS equivalenti. La tensione di alimentazione tipicadelle famiglie logiche bipolari di quegli anni era 5V.

    Per la famiglia logica TTL stata creata una serie di circuiti integrati lacui sigla era caratterizzata da un prefisso comune: 74 (commerciale) oppure 54(militare). A questo prefisso seguivano due o tre cifre indicanti la funzione logicasvolta dal circuito e la piedinatura. Ad esempio, il circuito 7400 conteneva 4porte NAND a due ingressi, mentre il 7404 aveva sei inverter. Quando sono stateintrodotte le famiglie logiche successive, si mantenuta la struttura ideata perla TTL, realizzando circuiti funzionalmente e topologicamente compatibili. Lasigla dei nuovi circuiti conteneva sempre lo stesso prefisso numerico 74, seguitoda una o pi lettere indicanti la nuova famiglia logica, terminato infine dallostesso codice numerico gi usato per il corrispondente circuito TTL. Cos adesempio il sestuplo inverter in tecnologia LS siglato 74LS04. Il componente pin-to-pin compatible con il 7404.

    La prima famiglia logica a sfruttare la tecnologia CMOS stata la serie4000, che non manteneva la compatibilit pin-to-pin con la serie TTL ed eracaratterizzata da consumi estremamente bassi, grande flessibilit nella tensionedi alimentazione (2V - 18V) e estrema lentezza nelle commutazioni.

    10

  • TTL-LS VAL = (5.00 0.25)V

    VIL 0.8V IIL 400.0AVIH 2.0V IIH 20.0 A

    VOL 0.5V IOL 8.0mA

    VOH 2.7V IOH 0.4mA

    HC VAL = 4.5V

    VIL 1.35V IIL 1 AVIH 3.15V IIH 1 A

    VOL 0.1 V IOL 20.0AVOL 0.33V IOL 4.0mAVOH 4.4 V IOH 20.0AVOH 3.84V IOH 4.0mA

    Tabella 7.1: Parametri elettrici principali delle famiglie logiche TTL-LS eHCMOS.

    La prima famiglia logica CMOS ad avere prestazioni dinamiche compatibilicon le tecnologie bipolari stata la famiglia HC (High speed CMOS), introdottanel 1982. La famiglia HC mantiene la compatibilit funzionale e topologica conla TTL (es. 74HC04).

    Nel corso degli anni la quantit di funzioni integrabili sullo stesso chip cresciuta con una legge esponenziale (legge di Moore), quindi le funzioni semplicisvolte da un integrato della serie 74 non sono pi generalmente richieste: linterosistema digitale viene integrato in un singolo circuito o in pochi circuiti consvariati milioni di porte logiche. Spesso per quando si devono interfacciaretra loro pi dispositivi servono delle porte sparse, magari un NOT o un singoloNAND, per permettere di derivare un segnale non previsto (in inglese glue logic).La tensione di alimentazione decisamente pi bassa dei 5V storici e i consumiper porta decisamente ridotti. Esistono perci circuiti integrati di dimensioniestremamente ridotte che svolgono semplici funzioni logiche.

    Nel seguito noi utilizzeremo alcune porte storiche, essenzialmente delle se-rie LS e HC, per svolgere qualche esercizio ed esperienza di laboratorio. Il motivo lo stesso che ci ha spinto ad usare lLM741 come amplificatore operazionale: iparametri parassiti sono chiaramente misurabili, la velocit non eccessiva, ledimensioni sono tali da rendere agevole il montaggio di circuiti sperimentali inlaboratorio.

    In tabella 7.1 sono riportate le caratteristiche elettriche statiche standarddelle porte LS e HC. Si noti che esistono porte speciali, ad esempio i bus dri-ver con capacit di pilotaggio maggiore. Analizzando la tabella occorre prestareattenzione ad una serie di particolarit: la tensione di alimentazione specifica-ta per le porte HC di 4.5V, diversa da quella delle porte LS. Le porte HCfunzionano con alimentazioni comprese tra 2V e 6V. Nei datasheet i parametrisono specificati per 2V, 4.5V e 6V. La corrente assorbita da un ingresso HC piccolissima. Il datasheet specifica allora due condizioni duso: porta collegataad altre porte HC e porta collegata ad altri carichi che assorbono pi corrente.Per questa ragione in tabella sono riportate due righe per ognuna delle tensioniduscita, in funzione di una diversa corrente duscita.

    7.1.6 Ingressi delle porte logiche

    Analizziamo ora pi in dettaglio le caratteristiche di ingresso delle porte.Oltre allingresso standard caratterizzato dalle tensioni VIL e VIH , esiste per

    applicazioni particolari la possibilit di avere una isteresi nelle commutazioni.

    11

  • Studieremo questo tipo di ingresso e parleremo poi dei circuiti di protezioneche sono sempre presenti sugli ingressi dei circuiti logici, indipendentemente daltipo e dalla tecnologia.

    Ingresso Schmitt-trigger

    Quando abbiamo trattato loperazionale come comparatore di tensione abbiamovisto che lintroduzione di una isteresi migliora il comportamento del dispositivoin presenza di rumore. Lingresso di una porta logica di fatto un comparatoredi tensione. Lingresso standard non ha isteresi, quindi se il segnale dingresso affetto da rumore e ha un livello vicino alla tensione di commutazione del-la porta, lo stato logico letto dalla porta varier casualmente in funzione delrumore. In una situazione normale in cui luscita e gli ingressi cui collegatasiano ragionevolmente vicini, la correttezza del livello logico letto dagli ingressi garantita dal margine di rumore. Se per uscita e ingresso sono lontani, adesempio su schede diverse collegate da un cavo, possibile che il rumore som-mato al segnale digitale sia cos alto da provocare la situazione sopra descrittae portare a commutazioni spurie che possono pregiudicare il funzionamento delsistema.

    Per ovviare a questi problemi sono state introdotte porte con ingressi dotatidi isteresi. Tali porte sono molto pi immuni al rumore delle porte standard.Lingresso con isteresi viene comunemente chiamato Schmitt-trigger.

    Vi

    Vu

    Figura 7.6: Caratteristica e simbolo di un inverter Schmitt-trigger.

    In figura 7.6 riportata la caratteristica ingresso uscita tipica di un invertercon ingresso a trigger di Schmitt, assieme al simbolo di questo dispositivo.

    C

    R

    Figura 7.7: Multivibratore astabile con inverter Schmitt-trigger.

    12

  • Oltre al caso di segnali con molto rumore sovrapposto, questi dispositivi sonousati quando la transizione tra livelli di tensione dingresso avviene in modoestremamente lento, situazione che pu creare commutazioni spurie in portenormali anche in assenza di molto rumore. Vengono inoltre usati per crearegeneratori donda quadra, in modo analogo al multivibratore astabile basato suoperazionale che abbiamo visto in precedenza. Il circuito riportato in figura7.7. un utile esercizio il calcolo della frequenza di oscillazione di questo circuitoa partire dalle caratteristiche della porta. Utilizzare il datasheet del 74HC14.

    Protezione degli ingressi

    R

    D1

    VAL

    D2

    Figura 7.8: Circuito di protezione sullingresso di un circuito integrato.

    Allinterno di tutti i piedini di ingresso dei circuiti integrati digitali (e an-che di molti circuiti integrati analogici) sono presenti dei circuiti di protezione,studiati per intervenire in situazioni che mettono a rischio la vita del compo-nente. La prima e pi pericolosa situazione si incontra nella fase di produzionee stoccaggio del componente, fino alla sua saldatura sul circuito stampato, costituita dalle cariche elettrostatiche che si possono accumulare sullingressoquando il componente viene trasportato, maneggiato o immagazzinato. Lin-gresso infatti collegato ad un nodo di alta impedenza, su cui anche un mode-sto quantitativo di cariche elettrostatiche pu provocare un grosso aumento dipotenziale. Ci in particolare vero per i componenti CMOS in cui lingresso sul gate di uno o pi MOSFET di piccole dimensioni. In questo caso il nododingresso un condensatore molto piccolo e, dato lo spessore ridotto dellossidodi gate, il campo elettrico nel dispositivo pu assumere valori pericolosi ancheper pochi volt di differenza di potenziale. Quando il dispositivo montato nelcircuito finale le protezioni intervengono se il segnale dingresso supera i limitidefiniti dalle tensioni di alimentazione.

    Il circuito di protezione pi diffuso mostrato in figura 7.8. La resistenzaR di basso valore per non limitare la velocit della commutazione del segnaledingresso. I due diodi D1 e D2 sono detti diodi di clamp: nel funzionamentonormale sono polarizzati inversamente e non intervengono nel funzionamentodel circuito (eccetto per le piccole correnti di perdita). Quando per il potenzia-le presente sullingresso esce dai limiti definiti dalle tensioni di alimentazione,uno dei diodi entra in conduzione e limita in tal modo lescursione della tensio-

    13

  • ne dingresso. Prima del montaggio del componente nel circuito i terminali dialimentazione non sono collegati a componenti esterni ma i diodi intervengonoin caso di accumulo di cariche sullingresso, che caratterizzato da una modestacapacit parassita, inserendo in parallelo a questultima la capacit legata allaporzione di alimentazione, di area molto pi grande. Se la tensione cresce a suffi-cienza, il circuito pu essere alimentato dalle cariche accumulate. In questo casole cariche vengono dissipate dalle componenti resistive (canali dei MOSFET)del dispositivo.

    7.1.7 Uscite delle porte logiche

    Sono possibili diverse configurazioni delluscita di una porta logica: totem-pole,tri-state e open-collector/open-drain. Esse sono caratterizzate da diverse capa-cit di pilotaggio e stati logici generabili. Infatti, mentre le uscite totem-polepossono generare solo livelli elettrici H e L, le altre tipologie permettono unterzo stato, detto Z, in cui luscita presenta unalta impedenza e non in gradodi definire il livello elettrico della linea cui collegata.

    VAL

    Vu

    (a)

    VAL

    Vu

    OE

    (b)

    OE

    Vu

    (c)

    *

    Figura 7.9: Modelli circuitali semplificati e simboli circuitali delle uscite totem-pole (a) tri-state (b) e open-collector/open-drain (c).

    Il modello circuitale semplificato di ogni configurazione ed il simbolo che laidentifica in uno schema elettrico sono riportati in figura 7.9.

    Uscita Totem-pole

    Luscita normale detta totem-pole. A seconda dello stato della porta questauscita genera un livello elettrico H o L. Il modello pi semplice di questa uscita costituito da due interruttori in controfase, uno collegato tra luscita e 0V,laltro tra uscita e VAL. Il nome totem-pole (Il palo del totem degli IndianidAmerica) deriva dalla struttura interna delle porte TTL, in cui, sulluscita, a

    14

  • IN OE OUT

    L L ZH L ZL H HH H L

    Tabella 7.2: Tavola di verit dellinverter con uscita tri-state. Si osservi chequando lingresso Output Enable attivo il comportamento della porta quellousuale, mentre quando non attivo luscita disabilitata e si trova nello statoad alta impedenza a prescindere dallingresso.

    partire dallalimentazione, si trovavano in serie una resistenza, un transistor, undiodo e un secondo transistor, questultimo con lemettitore a 0V (si veda pioltre, figura 7.11). Nello schema il disegno delluscita assomigliava (con un podi fantasia) al totem, con le varie figure sedute una sullaltra.

    Uscita tri-state

    Quando una porta logica deve pilotare una linea di una connessione a bus, comenel caso di un registro collegato ad una linea dati di una cpu, necessario chesolo una uscita tra le molte collegate in parallelo sia abilitata in ogni istantedi tempo. In caso contrario si otterrebbero delle condizioni anomale quandodue uscite dovessero cercare di forzare un diverso livello elettrico sulla linea.Si utilizzano allora porte con unuscita particolare, detta tri-sate (o 3-state,three-state o altro ancora a seconda del produttore).

    Questa uscita pu essere abilitata o disabilitata in funzione del valore logicopresente su un ingresso dedicato chiamato Output Enable, o OE (figura 7.9b). SeOE attivo, la porta funziona come una porta totem-pole. Se invece OE non attivo, la porta viene disabilitata e presenta in uscita unimpedenza moltoalta. Concettualmente OE agisce su un interruttore posto in serie alluscitadella porta (lo schema elettrico pu in realt essere molto diverso da questasemplificazione).

    Ci aumenta il numero di possibili stati delluscita rispetto alla totem-pole:infatti si hanno 3 stati simboleggiati da L, H e Z.

    La tabella 7.2 mostra la tavola della verit per un inverter con uscita tri-state.Nelle connessioni al bus dati di un microprocessore il segnale OE ricavato

    a partire dal valore presente sul bus indirizzi mediante un decodificatore. Spessoil segnale OE attivo a livello basso (OE).

    Uscita open-collector (open-drain)

    In alcuni casi esiste lesigenza di avere pi dispositivi che possano attivare lastessa linea, senza che ci sia un supervisore che abiliti a turno le uscite corri-spondenti. il caso ad esempio di una linea di interrupt condivisa di un mi-croprocessore, oppure dei segnali di controllo del bus PCI. In alcune situazioni,durante la produzione del sistema non noto il numero di dispositivi presentisulla linea, ad esempio nel caso del bus PCI incluso in un PC. Il numero effettivodi schede presenti sul bus viene deciso dallutente del sistema, quindi ogni linea

    15

  • potr avere una o pi porte che in determinate condizioni dovr essere in gradodi forzare un valore di tensione sulla linea stessa.

    In situazioni del genere si usano delle porte dotate di unuscita speciale,detta open-collector se la tecnologia di costruzione bipolare, open-drain nelcaso di MOS.

    Le porte open-drain possono solo forzare sulla linea il valore L oppure esseresconnesse (Z). Comparandole con una porta totem-pole si vede che nelle porteopen-drain esiste solo linterruttore verso 0V, mentre del tutto assente laconnessione a VAL.

    Negli schemi elettrici queste porte sono di solito contrassegnate da un sim-bolo (pallino, asterisco, rombo) posto in prossimit delluscita, come ad esempioin figura 7.9c.

    Il fatto che la porta possa solo imporre un valore basso o essere in altaimpedenza implica che il valore alto sulla linea collegata alluscita sia generatoda un componente esterno. Questo componente consiste quasi sempre in unaresistenza collegata tra la linea e la tensione di alimentazione, detta resistenza dipull-up. Quando la porta nello stato Z, la resistenza eleva la tensione sulla lineaa un valore prossimo alla tensione dalimentazione, riconosciuto come H dagliingressi. Quando la porta invece nello stato L, forza la linea ad un valore basso,assorbendo la corrente che in questo caso attraversa la resistenza. Ovviamenteper dimensionare la resistenza occorre prestare attenzione alle correnti massimedi uscita della porta logica.

    Alcune porte open-collector possono sopportare sulluscita tensioni decisa-mente pi elevate della propria tensione di alimentazione. Tali porte possonoessere sfruttate per interfacciare porte logiche a bassa tensione a circuiti logi-ci ad alta tensione. Ad esempio i controllori logici programmabili industrialiutilizzano ingressi a 12V o 24V, non compatibili con le logiche standard a 5V.

    Limpiego pi diffuso per questo tipo di porte per nella configurazionedetta wired-OR, in cui diverse uscite open-drain pilotano la stessa linea, comein figura 7.10.

    A*

    Rpu

    VAL

    B*

    U

    Figura 7.10: Connessione wired-OR.

    In riferimento allo schema della figura 7.10, se le uscite A e B sono in stato dialta impedenza Z, il livello elettrico della linea U sar H, a causa della presenzadi Rpu. Se invece almeno una delle porte forza uno stato L, il livello presentesulla linea sar L.

    16

  • A B U

    Z Z HL Z LZ L LL L L

    Tabella 7.3: Tavola di verit della connessione wired-OR rappresentata in figura7.10.

    Di fatto la connessione di due o pi uscite open-collector sulla stessa lineaporta alla formazione di una funzione logica cablata, la cui tabella di verit riportata in tabella 7.3.

    Per questo motivo la configurazione viene chiamata wired-OR. Si potrebbeobiettare che, utilizzando la convenzione standard che associa il livello elettricoH alluno logico, al pi si potrebbe parlare di AND. Il nome deriva dal fattoche le porte open-collector possono solo forzare uno stato L in uscita o esseresconnesse. Sono dunque considerate attive in corrispondenza del livello elettricoL e quindi questo stato che viene associato alluno logico.

    7.2 Cenni sulla famiglia logica TTL

    Come gi accennato, le famiglie logiche basate su transistor bipolari non sonoquasi pi utilizzate al giorno doggi. Vi sono applicazioni in cui si usano circuitiibridi con ingresso MOS e uscita bipolare, detti BiCMOS. In particolare questasoluzione viene adottata in tecnologia SiGe per alta frequenza ed al di fuoridegli scopi di questa trattazione.

    Accenniamo solo per motivi storici alla struttura interna di una porta TTL.Lo schema equivalente di un inverter TTL riportato in figura 7.11.Considerando lingresso a 0V, il transistor T1 in saturazione: questo per-

    ch la base collegata a VAL tramite R1, lemettitore a 0V e la tensione dicollettore non pu superare circa 1.2V, pari alla somma delle VBE di T2 e T4;inoltre T1 non pu aspirare una corrente significativa dal collettore per comeesso collegato alla base di T2. T2 risulta quindi interdetto, come pure T4. T3conduce portando luscita a un livello alto, seppure pi basso della tensione dialimentazione.

    Se invece consideriamo lingresoo alto (VAL), T1 si trover in regione attivainversa, in quanto la tensione di emettitore decisamente pi alta di quella dicollettore (sempre intorno a 1.2V come nel caso precedente). Sar quindi ingrado di iniettare corrente in T2 che entrer in saturazione, seguito da T4. T3 interdetto, anche grazie alla presenza del diodo D1. Di conseguenza luscitasar pari alla VCESAT di T4, cio bassa.

    Il diodo D2 funge da protezione per lingresso (diodo di clamp).Un limite alla velocit di questo circuito dato dal fatto che i transistor du-

    rante la commutazione del circuito devono passare da saturazione a interdizione.Un notevole miglioramento della velocit o del consumo della porta venutorispettivamente dalle famiglie S e LS in cui gli elementi attivi sono stati rim-piazzati da transistor Schottky (cio da dispositivi accoppiati a diodi Schottky

    17

  • T2T1

    R1

    T3

    T4

    D1

    R2

    R4

    R3

    D2

    In

    VAL

    Out

    Figura 7.11: Schema circuitale di un inverter della famiglia TTL.

    posti tra base e collettore per evitare la saturazione del transistor, come vistonel capitolo sui transistor in commutazione).

    La porta NAND in tecnologia TTL molto simile allinverter. Si sostituisceT1 con un transistor multi-emettitore (cio un dispositivo con pi aree di emet-titore associate alla stessa base). Ogni emettitore collegato a un ingresso dellaporta. Se almeno un emettitore a livello basso, il transistor va in saturazionee luscita alta. Solo nel caso in cui tutti gli emettitori siano a tensione alta,luscita va a livello basso.

    7.3 Porte CMOS

    Esistono diversi modi di realizzare porte logiche in tecnologia CMOS. Le portestandard utilizzano una topologia detta logica statica complementare in cuiogni funzione viene realizzata con una serie di pMOS, detti di pull-up, responsa-bili di portare a livello alto luscita della porta e con altrettanti nMOS, detti dipull-down, responsabili di portare luscita a livello basso. Esistono diverse alter-native, cui accenneremo nel seguito, chiamate logica nMOS-like, logica dinamica,e logica a transmission gate.

    7.3.1 Logica statica complementare

    Per quanto riguarda questa tecnica per realizzare circuiti logici, ci occuperemodapprima di studiare a fondo la porta pi semplice, linverter, poi aggiunge-

    18

  • remo transistor per ottenere circuiti in grado di realizzare funzioni logiche picomplesse.

    Inverter

    La realizzazione di un inverter in logica CMOS statica complementare moltointuitiva. Consideriamo inizialmente che la porta che vogliamo costruire deveavere unuscita totem-pole. Questo significa avere due interruttori che colleganoluscita rispettivamente alla tensione di alimentazione e a 0V, come in figura7.9a.

    M1

    M2

    VAL

    OutIn

    Figura 7.12: Schema circuitale di un inverter CMOS.

    I due interruttori devono chiudersi in controfase. Quello che collega luscitaa 0V dovr attivarsi quando lingresso sia a un valore alto. evidente che untransistor nMOS, collegato col gate sullingresso, source a 0V e drain sullu-scita, realizza la funzione richiesta. Occorre ora un secondo interruttore postotra ingresso, VAL e uscita che si attivi quando lingresso basso. altrettantosemplice verificare che tale interruttore pu essere realizzato con un pMOS col-legato col gate sullingresso, il source a VAL e il drain sulluscita. La porta cheabbiamo costruito visibile in figura 7.12.

    Analizziamo pi in dettaglio lo schema. Lingresso collegato ai due gatedi M1 e M2. Il circuito che pilota la porta vede dunque un carico capacitivo edeve fornire corrente solo durante le commutazioni. Se consideriamo allora unsistema costruito tutto con porte realizzate con questa tecnica, possiamo notareche il circuito consumer molto poco in condizioni statiche, cio in assenza dicommutazioni degli ingressi, mentre si avr assorbimento di corrente significa-tivo durante i cambiamenti di stato. In caso di porte collegate a carico resistivosi avr invece ovviamente passaggio di corrente nei MOSFET anche in condi-zioni statiche. Queste considerazioni e quanto studieremo nel resto del capitolosono vere per dispositivi di dimensioni non troppo piccole. I recenti processi chepermettono di realizzare transistor di dimensioni molto inferiori al micron ne-cessitano di modelli del MOSFET diversi da quelli classici e il comportamentodella porta molto diverso dallideale.

    Ma qual il legame tra le dimensioni dei transistor e le caratteristiche dellaporta? Per scoprirlo analizziamo la transcaratteristica statica: imponiamo sul-lingresso una tensione continua Vi e studiamo il comportamento della porta

    19

  • 1 2

    3

    4 5

    Vi

    Vu

    Figura 7.13: Transcaratteristica dellinverter CMOS.

    in risposta a variazioni della tensione di ingresso nel campo compreso tra 0Ve VAL, considerando linverter non caricato o collegato a unaltra porta nellastessa tecnologia (carico capacitivo).

    La transcaratteristica della porta disegnata in figura 7.13.Si possono identificare 5 zone distinte di funzionamento:

    1. Quando Vi compresa tra 0V e la tensione di soglia diM1, che chiameremoVT n, M1 interdetto (VGS < VT n), mentre M2 in zona resistiva. Questoperch la tensione VGS di M2 negativa e tale da portarlo in conduzione,mentre, essendo M1 interdetto e non essendoci carico resistivo sulluscita,la caduta di tensione tra source e drain di M2 nulla.

    2. Quando Vi compresa tra VT n e una tensione limite che chiameremoVinv,M1 in zona di saturazione, in quanto il termine VGSVT n piccolomentre VDS elevato, essendoM2 fortemente in conduzione.M2 dalla zonaresistiva tende a passare alla zona quadratica di funzionamento (triodo),dal momento che il termine V 2DS/2 inizia a non essere pi trascurabile.

    3. Quando Vi = Vinv si ha la cosiddetta zona di inversione. Questa zona haunampiezza ridotta, tanto che, se per i MOSFET si utilizza il modelloche trascura la modulazione di lunghezza di canale, si riduce a un singolopunto. Nella realt lampiezza della zona dipende dai parametri dei tran-sistor ma comunque tale per cui una piccola variazione della tensionedi ingresso provoca una grossa variazione della tensione duscita. In altreparole, nella zona di inversione la porta si comporta come un amplifica-tore invertente con guadagno elevato (almeno per transistor non troppopiccoli). Nella zona di inversione sia M1 sia M2 sono in saturazione dicanale.

    4. Quando Vi compresa tra Vinv e VAL + VT p M1 in zona lineare e M2 inzona di saturazione di canale; si ha un comportamento simmetrico rispettoalla zona 2.

    5. Superando VAL + VT p, M2 si interdice ed M1 in zona resistiva; il com-portamento simmetrico rispetto alla zona 1.

    Da questa analisi risulta evidente che il comportamento della porta dipendeessenzialmente da dove posizionata la zona di inversione (zona 3 in figura 7.13).

    20

  • Come abbiamo visto in questa zona luscita commuta molto rapidamente da unvalore alto, prossimo a VAL, a un valore basso, prossimo a 0V. Spostando latensione di inversione si modificano i valori di VIL e VIH della porta.

    Abbiamo gi notato che in zona 3 entrambi i transistor sono in saturazionedi canale, si comportano cio da generatori di corrente. Poich assumiamo chenon ci siano carichi resistivi e poich il drain di M1 in serie al drain di M2,questa condizione pu esistere solo se i due generatori di corrente generano duecorrenti identiche.

    Possiamo allora eguagliare le ID di M1 e di M2 ottenendo:

    nCOXWnLn

    (Vi VT n)2 = pCOXWpLp

    (Vi VAL VT p)2

    Questa uguaglianza pu essere verificata per un unico valore di tensione diingresso, che chiamiamo Vinv o tensione di inversione. Se avessimo tenuto contodel parametro avremmo ottenuto unespressione pi complessa che ammettevasoluzione per un intervallo di valori di tensione dingresso, ma i risultati dellaanalisi semplificata sono pi che sufficienti per i nostri scopi.

    Si nota che il valore della tensione dinversione dipende da alcuni parame-tri tecnologici (n e p, mobilit di elettroni e lacune, VT n e VT p, tensioni disoglia dei transistor) e da alcuni parametri modificabili dal progettista (Wn eWp, larghezza dei canali dei transistor, Ln e Lp, lunghezza dei canali dei transi-stor), oltre che dalla tensione di alimentazione. Questo significa che agendo adesempio sulla larghezza di canale possibile modificare il valore della tensionedi inversione. dunque possibile progettare Vinv a seconda delle esigenze deicircuiti di pilotaggio della porta.

    Un risultato particolarmente interessante si ottiene ponendo:

    nCOXWnLn

    = pCOXWpLp

    In questo caso lespressione si semplifica in:

    (Vinv VT n)2 = (Vinv VAL VT p)2

    Eliminando i quadrati (attenzione al segno!) si ha infine:

    Vinv VT n = VAL Vinv + VT p = 2Vinv = VAL + VT n + VT p

    Se poi, come si soliti fare, si ottimizza il processo in modo che VT n = VT p,si ha:

    Vinv =VAL2

    Questo risultato importante, in quanto il posizionamento della tensionedi inversione a met della tensione di alimentazione rappresenta una situazioneottimale in assenza di esigenze particolari (compatibilit con porte diverse).Infatti questo permette di massimizzare i margini di rumore in quanto abbiamovisto che la tensione di uscita molto vicina a VAL per il livello alto e a 0V peril livello basso. Porre Vinv a met strada tra questi valori significa porre ancheVIL e VIH (che tengono anche conto delle tolleranze di processo) in posizioni

    21

  • simmetriche rispetto a met alimentazione e il pi distante possibile dai valoridi VOH e VOL. In pi, una variazione della tensione di alimentazione comporterun adattamento automatico dei valori delle soglie.

    Si noti che la condizione imposta da:

    nWnLn

    = pWpLp

    permette ancora dei gradi di libert, che possono essere sfruttati per definirela capacit di pilotaggio della porta. Se questa interna ad un circuito inte-grato e deve pilotare poche porte di piccole dimensioni, allora si adotteranno iminimi valori ammessi dal processo per le dimensioni dei transistor, se invece laporta deve pilotare un carico esterno, i transistor saranno progettati per avereuna bassa resistenza duscita e unalta capacit di pilotaggio, a scapito delledimensioni.

    NAND e NOR

    Abbiamo visto come si realizzi un inverter in logica statica complementare. Perpoter sintetizzare qualunque funzione logica, abbiamo per bisogno di costruireuna porta NAND o NOR.

    Nellanalisi dellinverter abbiamo notato come il transistor NMOS collegatotra uscita e 0V sia utilizzato per fornire il valore basso in uscita, mentre il PMOSsia attivo quando luscita debba assumere un valore alto. possibile estenderequesta funzionalit osservando che per realizzare una qualunque funzione logicaoccorre una rete di NMOS che si attivi quando la funzione logica deve fornireunuscita bassa e una rete di PMOS attiva per valori alti di uscita.

    Proviamo a costruire questa rete nel caso semplice di una porta NOR a dueingressi (A e B). Luscita della porta deve essere bassa se almeno uno degliingressi alto. Questa funzione si ottiene facilmente collegando due NMOS conil canale in parallelo tra uscita e 0V, con i gate collegati rispettivamente a A eB. Luscita deve essere bassa se e solo se entrambi gli ingressi sono bassi. Allorala rete di PMOS deve creare un percorso a bassa resistenza tra uscita e VAL soloquando entrambi gli ingressi sono bassi. Questo si ottiene inserendo due PMOScon i gate collegati rispettivamente a A e B e i canali in serie tra uscita e VAL.In figura 7.14 possibile vedere lo schema risultante.

    Lo schema di una porta NAND a due ingressi si costruisce nello stesso mo-do, ma i ruoli della rete di NMOS e di PMOS sono invertiti. Infatti, essendonecessario avere un valore basso in uscita solo in corrispondenza di un valorealto di entrambi gli ingressi, i canali dei due transistor NMOS saranno collegatiin serie tra uscita e tensione di riferimento, mentre i canali dei transistor PMOSsaranno connessi in parallelo tra uscita e alimentazione essendo necessario unvalore alto in uscita in corrispondenza di almeno un valore basso in ingresso.

    Lo schema risultante per la porta NAND riportato in figura 7.15.Lanalisi delle caratteristiche elettriche statiche e il dimensionamento dei

    parametri dei transistor di queste porte sono leggermente pi complicati delcaso dellinverter e sono lasciati ai corsi successivi.

    Lestensione degli schemi visti sopra a porte NAND e NOR a pi di dueingressi immediata: basta inserire per ogni ingresso un transistor NMOS e untransistor PMOS collegando i canali in serie o in parallelo nello stesso modo

    22

  • M1

    M2

    M3

    M4

    VAL

    Out

    A

    A

    B

    B

    A B U

    H H LH L LL H LL L H

    Figura 7.14: Schema di un NOR a due ingressi.

    visto per i primi due: un NOR a tre ingressi vedr quindi tre NMOS in paralleloe tre PMOS in serie.

    Porte logiche complesse

    Abbiamo visto finora come realizzare tre tipi di porta: inverter, NAND e NOR.Tutte queste porte sono di tipo invertente. Questa una caratteristica generale:una porta non invertente, ad esempio un AND, non si pu sintetizzare diret-tamente in logica statica complementare ma dovr essere realizzata come unNAND seguito da un inverter o un NOR ai cui ingressi siano collegati due in-verter. Il motivo semplice: un NMOS conduce quando il suo ingresso a livelloalto e, se altri elementi in serie non interrompono il circuito, pu solo portare aun cammino a bassa resistivit tra uscita e tensione di riferimento, producendoun livello basso in uscita. La situazione duale per il PMOS (un livello bassodi ingresso al pi produce un livello alto duscita).

    Esistono equazioni logiche pi complesse che sono sintetizzabili direttamen-te come porte logiche statiche complementari. Queste equazioni devono essereesprimibili in una forma detta AOI, per And-Or-Invert. Luscita deve cio essereespressa come la negazione di una serie di AND e OR degli ingressi affermati,ad esempio:

    U = (A+ B) (C +D)

    Le porte NAND e NOR sono un caso semplice di questa categoria.Per la sintesi delle altre porte AOI, basta seguire una semplice regola derivata

    dalla costruzione di NAND e NOR. Occorre progettare due reti pilotate dagliingressi, una di NMOS che servono a generare un livello basso in uscita e unadi PMOS che servono a portare luscita alla tensione di alimentazione. Le due

    23

  • M1

    M2

    M3

    M4

    VAL

    U

    A

    A

    B

    B

    A B U

    H H LH L HL H HL L H

    Figura 7.15: Schema di una porta NAND a due ingressi.

    reti sono duali, nel senso che per ogni configurazione dellingresso una e unasola delle due reti deve essere attiva (cio collegare luscita al rispettivo ramodi alimentazione.

    Per quanto riguarda la rete di NMOS, si analizza lequazione da realizzare eper ogni ingresso si inserisce un transistor. I canali dei transistor devono esserecollegati:

    in serie, in corrispondenza di un prodotto (AND);

    in parallelo, in corrispondenza di una somma (OR).

    Un estremo della rete cos disegnata deve essere collegato alluscita, laltro alriferimento. La rete di NMOS si chiama rete di pull-down.

    La rete di PMOS si disegna in modo duale: per ogni ingresso si inserisce untransistor. I canali dei transistor devono essere collegati:

    in parallelo, in corrispondenza di un prodotto (AND);

    in serie, in corrispondenza di una somma (OR).

    Un estremo della rete cos disegnata deve essere collegato alluscita, laltro allatensione di alimentazione. La rete di PMOS si chiama rete di pull-up.

    Il circuito corrispondente allequazione desempio riportata sopr sar percicomposto da quattro NMOS e quattro PMOS, essendoci quattro termini in cuicompaiono gli ingressi. I due NMOS i cui gate sono collegati ad A e B sarannoposti con i canali in parallelo, essendo A e B in OR, cos come i due NMOScollegati a C e D. Le due coppie devono poi essere collegate in serie, essendociun termine AND che lega tra loro i due OR.

    La rete PMOS sar duale, con i PMOS collegati ad A e B in serie, cos comequelli collegati a C e D. Le due coppie saranno in parallelo.

    24

  • M1 M5

    M2

    M6

    M3 M7

    M4

    M8

    VAL

    U

    A

    A

    C

    C

    B

    B

    D

    D

    Figura 7.16: Realizzazione AOI di U = (A+ B) (C +D).

    Il circuito risultante riportato in figura 7.16.La tecnica per realizzare porte logiche con questo metodo detta AOI (And

    Or Invert): essa permette di realizzare qualsiasi porta invertente, basata sullacombinazione di AND e OR logici. Normalmente la parte di un integrato cherealizza la vera operazione logica sui segnali di ingresso seguita da un paiodi inverter con transistori di dimensioni maggiori che migliorano le capacit dipilotaggio del componente.

    7.3.2 Logica nMOS-like

    Il difetto principale della logica complementare consiste nella necessit di rea-lizzare due reti logiche duali che forniscono separatamente i valori alto e bassodelluscita. Per realizzare ogni funzione logica sono necessarie sempre sia la retedi pull-up che quella di pull-down. Questo fatto, per quanto i MOSFET occupi-no relativamente poca area di silicio, sconveniente perch si utilizza il doppiodello spazio necessario a definire una funzione logica.

    Per risparmiare spazio si pu pensare di realizzare una sola delle due funzionicomplementari e trovare un modo di fissare luscita al valore opposto quando lalogica implementata non sia attiva.

    Questo metodo di lavoro era utilizzato agli albori della tecnologia MOS quan-do non si riusciva ad integrare in un solo chip transistor di tipo N e di tipo P.Se ad esempio si utilizzavano solo nMOS, si realizzava la rete di pull-down percollegare luscita a 0V e si aggiungeva sulluscita una resistenza di pull-up, comenella logica open-drain, per portare luscita della porta a livello alto quando larete di pull-down non era attiva.

    La stessa tecnica si pu utilizzare anche nei circuiti CMOS, dove la resi-stenza viene sostituita da un pMOS, opportunamente dimensionato in modo da

    25

  • garantire un livello logico corretto quando luscita della porta deve assumereun valore basso, con il gate permanentemente collegato a 0V. Ad esempio, lafunzione di figura 7.16 si realizza in logica nMOS-like con il circuito di figura7.17.

    M1 M5

    M2

    M3 M7

    VAL

    U

    A

    C

    B

    D

    Figura 7.17: Realizzazione di U = (A+B) (C +D) in logica nMOS-like.

    Questa realizzazione pi compatta della logica complementare ma soffredi un grosso problema che ne limita fortemente lutilizzo: quando luscita dellaporta bassa scorre corrente da VAL a 0V, si ha cio dissipazione di potenza nonsolo nella commutazione ma anche in condizioni statiche. Si perde quindi unodeivantaggi della logica CMOS che consiste nel bassissimo consumo in assenzadi commutazioni.

    7.3.3 Logica dinamica

    In alcune applicazioni possibile utilizzare una tecnica simile alla nMOS-likeper ridurre lo spazio occupato dalle funzioni logiche, eliminando il problema delconsumo di corrente in condizioni statiche.

    Un esempio si ha nei blocchi logici associati alle macchine a stati: si tratta diblocchi di logica combinatoria le cui uscite non devono necessariamente esseredisponibili sempre, ma solo in corrispondenza del fronte attivo di un segnale dicampionamento (clock).

    Le tipologie circuitali che abbiamo visto finora, logica complementare enMOS-like, sono dette statiche perch le uscite reagiscono sempre ai cambia-menti degli ingressi con ritardi dettati solo dalla velocit di propagazione, comevedremo pi avanti. Le tipologie che studieremo adesso sono invece dette di-namiche in quanto le uscite saranno valide (cio il loro valore corrisponder aquello della funzione logica realizzata applicata al valore degli ingressi) solo indeterminati istanti di tempo.

    Per introdurre il discorso delle logiche dinamiche consideriamo il circuito givisto in figura 7.17. Il transistor M2 sempre abilitato ed il responsabile delconsumo statico di corrente della porta. Se proviamo a rimuovere il cortocircuito

    26

  • sul gate e a collegarlo invece a un segnale , otteniamo un circuito in cui esisteuna rete di pull-down nMOS che realizza una certa funzione logica, pi ununico transistor pMOS che pu, in certe condizioni ( = L e configurazionedegli ingressi tale da non attivare la rete di pull-down), portare luscita a livelloalto.

    Supponiamo ora che luscita della porta sia alta e analizziamo che cosa suc-cede se portiamo a livello alto. Il transistor M2 si disattiva. Che cosa succedealluscita della porta? Dipende ovviamente dalla configurazione degli ingressi.Se gli ingressi permangono in una configurazione tale da non attivare la rete dipull-down, non vi alcun percorso a bassa impedenza tra luscita della porta ei rami di alimentazione (supponendo che la porta abbia come carico solo gatedi transistor MOSFET).

    Per capire che cosa succede dobbiamo allora introdurre degli elementi finoranon considerati: le capacit parassite associate ai transistor MOSFET. Luscitadella porta in effetti costituita dalle aree di drain di un certo numero di tran-sistor ed collegata a uno o pi gate di transistor MOSFET. Ogni area di draine ogni gate presentano anche una capacit parassita rispetto al substrato. Pos-siamo quindi considerare che luscita sia associata ad un condensatore parassitaCp, somma di tutte le capacit parassite sopra descritte.

    Nella condizione che stiamo considerando, tale condensatore stato caricatoa VAL nel periodo di tempo in cui luscita era alta con basso. Non esistendopercorsi di bassa impedenza verso i rami delle alimentazioni, il condensatore simanterr carico per un certo periodo di tempo, mantenendo luscita a valorealto.

    Se invece dopo il passaggio di a valore alto la configurazione degli ingressicambia in modo da attivare la rete di pull-down, Cp viene scaricato e la portacommuta a valore basso. Si noti che se la rete di pull-down si disattiva la portanon ritorna a valore alto.

    M2

    rete dipull-down

    nMOS

    VAL

    U

    I1

    I2

    In

    Figura 7.18: Schema a blocchi di una porta in logica dinamica con solo pMOSdi precarica.

    27

  • Precharge/Evaluation

    possibile generalizzare quanto osservato sopra e ricavarne un modo di realiz-zare circuiti logici dinamici. Lo schema a blocchi di una rete dinamica del tipoche abbiamo considerato visibile in figura 7.18.

    Il funzionamento diviso in due fasi successive a seconda del valore di :

    = L detta fase di precarica. Gli ingressi devono assumere valori tali danon attivare la rete di pull-down. Qualunque rete in nMOS non attivase tutti gli ingressi sono a valore basso. Luscita viene precaricata a valorealto.

    = H detta fase di valutazione. Gli ingressi assumono il valore effettivoper cui il blocco logico deve calcolare luscita. Se il valore assunto tale daattivare la rete di pull-down, luscita si porter a livello basso, altrimentirimarr alta. Si noti che gli ingressi non possono variare ulteriormente finoalla fase di precarica successiva (la porta pu avere solo una transizioneda H a L e non viceversa).

    Possiamo notare che questa tecnica ha diversi problemi: il pi grave chein fase di precarica luscita viene portata a livello alto, mentre gli ingressi de-vono essere a livello basso. Questo vuol dire che non possibile connetteredirettamente in cascata luscita allingresso di un altro blocco dello stesso tipo.

    Se si devono mettere in cascata funzioni logiche dinamiche si pu agire indiversi modi. Una possibilit alternare porte logiche basate su rete di nMOS dipull-down e un pMOS di precarica con altre duali basate su una rete di pMOSdi pull-up e un nMOS di precarica. Per queste porte la precarica delluscita a0V e la fase di valutazione fa eventualmente commutare luscita a livello alto.Gli ingressi in fase di precarica devono essere alti. Questa soluzione non ottimanel senso che i pMOS sono pi lenti o pi grossi dei transistor nMOS.

    Unaltra soluzione consiste nellaggiungere in serie alla rete di nMOS, verso0V, un ulteriore nMOS collegato allo stesso segnale di precarica , detto foot,che disconnette la rete di pull-down in fase di precarica, ottenendo la strutturadi figura 7.19.

    Domino Logic

    Anche questa precauzione non sempre sufficiente a proteggere il circuito dafalse commutazioni di porte di questo tipo connesse in cascata. Lo studio didettaglio delle tecniche usate fuori dagli scopi di questo corso, si pu tuttaviaaccennare al fatto che se si aggiunge un inverter alluscita di una porta logicadel tipo di figura 7.19, si ottiene da un lato una porta logica NON invertente, ingrado di realizzare funzioni tipo AND o OR, dallaltro che nella fase di precaricae allinizio della fase di valutazione luscita della porta a livello basso e quindicompatibile con logiche dello stesso tipo. Questo accorgimento alla base dellastruttura denominata domino logic, una delle pi utilizzate in pratica. Il nomederiva dal fatto che, in caso di diversi livelli di logica in cascata, allinizio dellafase di valutazione il primo livello di logica eventualmente commuter, poi ilsecondo, il terzo e cos via come nel caso di una serie di tessere del dominodisposte in verticale in riga.

    28

  • M2

    M1

    rete dipull-down

    nMOS

    VAL

    U

    I1

    I2

    In

    Figura 7.19: Schema a blocchi di una porta in logica dinamica con pMOS diprecarica e nMOS di abilitazione.

    Charge sharing

    La logica dinamica soffre anche di altri problemi. Se ad esempio la rete di nMOS quella di figura 7.17, si nota che i drain di M1 e M5 sono in parallelo eformano un nodo intermedio che si trova in uno stato di alta impedenza in fasedi precarica se gli ingressi sono a livello basso. La tensione su questo nodo inquesto caso dipende da qual era il valore degli ingressi nella fase di valutazioneprecedente. Se questo valore diverso dal livello alto e se nella fase di valutazionesuccessiva uno o entrambi gli ingressi C o D sono alti, mentre A e B sono bassi,le capacit parassite delluscita e del nodo intermedio si vengono a trovare inparallelo e quindi c tra loro un passaggio di carica e una variazione di tensionedelluscita. possibile che tale variazione sia sufficientemente alta da portaread una commutazione non voluta delluscita. Tale fenomeno si chiama chargesharing. Per evitarlo occorre aggiungere dei pMOS di precarica su tutti i nodiintermedi a meno che la loro capacit parassita sia molto pi piccola di quellarelativa alluscita.

    7.3.4 Logica a Transmission Gate

    Unaltra tecnica atta a realizzare funzioni logiche utilizza come elemento basenon un inverter ma un transmission gate (in seguito TG), che abbiamo studiatonel capitolo precedente. Questa tecnica sfruttata in particolare nella realiz-zazione di circuiti logici programmabili, o FPGA (Field Programmable GateArray). Lelemento base realizzabile facilmente con una coppia di transmissiongate il multiplexer.

    La funzione logica di un multiplexer quella di trasmettere alluscita U ilsegnale binario A quando il segnale di selezione S alto, mentre sulluscita

    29

  • compare il valore presente sul secondo ingresso B quando S basso. Il segnaledi controllo S il selettore del canale di ingresso e il circuito si comporta comeun deviatore elettronico a due vie.

    U = A S +B S{S = 1 = U = AS = 0 = U = B

    Realizzare questa funzione in logica statica complementare richiede tre porteNAND a due ingressi (o NOR a due ingressi) e un inverter, per un totale di 14transistor. Risulta molto semplice verificare che la topologia di fig. 7.20 realizzala stessa funzione, utilizzando solo 6 transistor (i quattro di figura pi duenecessari per ricavare il segnale S se solo S disponibile).

    A TG1

    TG2

    U

    B

    S

    S

    S

    Figura 7.20: Realizzazione di un multiplexer (MUX) con transmission gate.

    Quando S alto, il transmission gate inferiore TG1 conduce, collegando effet-tivamente luscita allingresso A. Essendo pilotato in controfase, il transmissiongate superiore TG2 si trova in alta impedenza con questo valore di S.

    Se invece S basso, TG1 in alta impedenza mentre TG2 conduce collegandolingresso B alluscita U .

    Luso dei transmission gate risulta particolarmente vantaggioso nella sinte-si di altre porte logiche che richiedono molti transistor se realizzate in logicacomplementare. Un esempio la funzione logica EX-OR.

    Pur essendo una struttura pi compatta di quella ottenibile con logica com-plementare, non sempre possibile o conveniente usarla, a causa di una sostan-ziale differenza tra porte a transmission gate e porte standard. Abbiamo dettoinfatti che quando un TG attivo, instaura un percorso di bassa impedenza traingresso e uscita. Il circuito equivalente una resistenza in serie tra il terminaledi ingresso e quello duscita, di valore pari alla RON del TG. Il livello di tensio-ne presente in ingresso viene dunque propagato alluscita, senza nessun tipo diamplificazione o, per meglio dire, rigenerazione. Ogni rumore in ingresso sartrasferito in uscita e le capacit parassite presenti nel circuito formeranno conla RON un filtro passabasso.

    30

  • Porta 1

    VOL 0.5V IOL 5.0mAVOH 4.5V IOH 5.0mA

    Porte L

    VIL 1.0 V IIL 0.4mAVIH 3.0 V IIH 20 A

    Tabella 7.4: Parametri elettrici delle porte di tipo 1 e L.

    In una porta realizzata invece in logica statica complementare lingresso col-legato a un comparatore di soglia e il livello della tensione duscita indipendentedal rumore presente sullingresso, purch esso non superi la soglia.

    Dunque impensabile utilizzare lunghe sequenze di TG per realizzare uncircuito logico complesso. Occorre in ogni caso interporre ogni qualche livello dilogica una porta complementare per evitare il rischio di un deterioramento delsegnale tale da indurre malfunzionamenti nel circuito logico.

    7.4 Esempi pratici

    I prossimi paragrafi presentano degli esempi di interconnessione e pilotaggiodi carichi con porte logiche di tecnologie diverse e illustrano con degli esempinumerici i valori tipici delle grandezze elettriche di interesse.

    7.4.1 Calcolo di fan-out

    1 L2

    L1

    VAL

    RP U

    RP D

    LN

    Figura 7.21: Schema circuitale a cui fa riferimento lesempio 7.4.1.

    Nello schema 7.21, RP D = 2k e RP U = 10k rappresentano un caricoNON standard associato alluscita della porta 1. VAL = 5V. Le caratteristiche diuscita della porta 1 e di ingresso delle porte L sono riportate in tabella 7.4.Qual il massimo numero di porte L che possibile connettere alluscita della porta1?

    31

  • Soluzione

    In primo luogo si pu osservare che le porte L sono compatibili con la porta 1per quanto riguarda le tensioni. Infatti si ha che VOL1 < VILL e VOH1 > VIHL .Occorre poi verificare quante porte sia in grado di pilotare la porta 1 oltre alcarico rappresentato dalle due resistenze, calcolando la corrente totale assorbitaa livello alto e basso.

    Livello alto Quando luscita della porta 1 a livello alto, se consideriamo ilnodo di uscita abbiamo due correnti entranti, quella della porta 1 e quella chescorre nella resistenza RP U , e due correnti uscenti, quella che scorre in RP De la somma delle correnti di ingresso nelle porte L. La tensione duscita deverimanere compresa tra VOH1 e VAL e questo succede se |IO1 | < |IOH1 |.

    Se consideriamo la tensione duscita pari a VOH1 avremo il massimo contri-buto ammissibile per la resistenza RP U e il minimo contributo della resistenzaRP D. Poich la corrente in RP U ha lo stesso verso della corrente duscita dellaporta, questa rappresenta un aiuto alla porta 1, mentre la corrente in RP Drappresenta in questo caso un carico aggiuntivo. La corrente IO1 pu quindiessere espressa da:

    IO1 = n IIHL +VOH1RP D

    VAL VOH1

    RP U |IOH1 |

    = IO = n 20A +4.5V2k

    0.5V10 k

    5mA = n 140

    Livello basso Nella situazione di uscita bassa la porta 1 assorbe corrente,fino al massimo della IOL pari a 5mA. Le resistenze giocano un ruolo oppostoal caso precedente: RP U rappresenta un carico supplementare che deve essereassorbito da 1 oltre alla corrente uscente dagli ingressi delle porte logiche L;la resistenza RP D invece facilita il pilotaggio assorbendo parte della correnteproveniente dai carichi. Supponiamo che il carico sia massimo, il che equivale adire tensione sulluscita pari a VOL.

    IO = n |IIL|+VAL VORP U

    VORP D

    IOL

    IO = n 0.4mA +4.5V10 k

    0.5V2k

    5mA = n 12

    Quindi il fan-out determinato da questa seconda situazione di utilizzo e ilmassimo numero di porte logiche L che possono essere collegate vale dodici.

    7.4.2 Pilotaggio di LED

    Si vuole pilotare un diodo LED con un inverter TTL-LS. Si utilizzino le specificheseguenti:

    Tensione di alimentazione: VAL = 5V.

    Caratteristiche LED: VON = 1.7V, corrente necessaria per avere unabuona illuminazione del diodo: ION = 5mA.

    Caratteristiche di uscita della porta: VOH = 2.7V; VOL = 0.5V; IOH =400A; IOL = 8mA.

    32

  • R(a)

    VAL

    R

    (b)

    Figura 7.22: Due possibili modalit di collegamento del diodo LED.

    Soluzione

    I diodi LED sono diodi costruiti con semiconduttori diversi dal silicio (GaAs,GaP, GaAsP,SiC, GaInP, ...). La caratteristica tensione-corrente di un LED simile a quella di un diodo normale, a parte il fatto che la tensione di soglia diversa e dipende dalla composizione chimica del LED e dal colore della luceemessa. In funzione del tipo di diodo varia anche la corrente necessaria perottenere una buona luminosit. Le specifiche dellesercizio si riferiscono a untipico LED rosso usato per segnalazione di stato di circuiti digitali.

    Non possibile collegare alluscita di un circuito logico direttamente un LEDverso 0V o VAL in quanto non risulterebbe controllabile la corrente allinternodel dispositivo. Occorre allora inserire in serie una resistenza di valore opportu-no. I due circuiti possibili, riferendo il LED a 0V o VAL, sono rappresentati infigura 7.22.

    Qualora la capacit di pilotaggio della porta logica sia simmetrica (cio|IOH | |IOL|), entrambi i circuiti sono utilizzabili purch la corrente assor-bita dal LED sia inferiore alla massima corrente fornibile dalla porta, mentre sela caratteristica della porta asimmetrica occorre stabilire quale soluzione siapossibile. Occorre cio analizzare per entrambi i circuiti il funzionamento conuscita a livello alto e basso.

    1. Con la prima topologia (fig. 7.22.a) non ci sono problemi a livello basso:VOL = 0.5V e il LED in questo caso risulta spento. Se per si analizzache cosa succede con luscita della porta a livello logico alto, si scopre chela massima corrente che la porta in grado di fornire al LED, IOH =0.4mA, decisamente insufficiente ad accendere il LED.

    2. Utilizzando la seconda soluzione (fig. 7.22.b), a livello basso pu scorrerecorrente nel LED: infatti la corrente viene assorbita dalla porta e la ten-sione duscita pari al massimo a VOL. Il valore massimo della correnteduscita compatibile con la corrente che deve scorrere nel LED, ION .Dunque la corrente passa nel LED e nella resistenza R, provocando nelLED una caduta di tensione pari alla sua tensione di accensione VON e

    33

  • ALS05

    *L

    Rpu

    VAL

    B

    LS05

    *

    HC

    LS

    Figura 7.23: Schema dellesempio 7.4.3.

    sulla resistenza una caduta pari ad almeno VALVON VOL. allora suf-ficiente dimensionare R perch in queste condizioni si abbia una correntepari a ION nella resistenza stessa:

    R =VAL VON VOL

    ION= 560

    Che cosa succede quando luscita della porta a livello alto? A primavista potrebbe sembrare che nel LED possa anche in questo caso scorrerecorrente, in quanto VOH = 2.7V sembra tale da permettere un passaggiodi corrente nel dispositivo (VAL VON = 3.3V). In realt questo nonsuccede, perch la porta a livello alto non in grado di assorbire correntema solo eventualmente di generarla. In questo caso quindi la tensioneduscita salir a un livello tale da non permettere passaggio di corrente inR.

    La capacit di pilotaggio asimmetrico delle porte TTL, verificata in questoesercizio, obbligava i progettisti a soluzioni del tipo presentato, cio a pilotare icarichi quando le porte logiche presentavano un livello di uscita basso. La tecno-logia attuale permette di costruire porte con capacit di pilotaggio simmetrica,per cui possibile indifferentemente pilotare carichi riferiti a 0V o a VAL.

    7.4.3 Wired-or

    Si vuole dimensionare la resistenza di pull-up RP U nel circuito riportato nelloschema 7.23. Si ricorda che il simbolo sulle porte logiche indica il fatto che laloro uscita open collector.

    Si considerino le seguenti caratteristiche elettriche delle porte logiche:

    porte open collector tipo LS05:

    VOH 5.5V; IOH = 100A; VOL = 0.5V; IOL = 8mA;

    porta di tipo HC:

    VIH = 3.15V; IIH = 1A; VIL = 1.35V; IIL = 1A;

    34

  • porta di tipo LS standard:

    VIH = 2V; IIH = 20A; VIL = 0.8V; IIL = 400A;

    Soluzione

    La linea pu assumere valore logico alto quando sia A che B hanno uscita inalta impedenza (corrispondente al livello alto di una porta totem-pole), oppurelivello basso in tutti gli altri casi. Per dimensionare RP U occorre studiare ilcomportamento del circuito considerando tutte le configurazioni delle uscite.Analizzeremo separatamente lo stato alto e basso della linea.

    Livello alto Leggendo le caratteristiche delle porte LS05 ci accorgiamo chesono definite una tensione VOH e una corrente IOH . Dato che la porta non ingrado di fornire un livello di tensione definito a livello alto, che di fatto perla porta un livello Z, occorre capire il significato di tali parametri. Per quantoriguarda la tensione, VOH in questo caso la massima tensione che la linea pupresentare senza provocare danni alluscita della porta quando questa in altaimpedenza. Di fatto VOH indica la massima tensione a cui pu essere collegatala resistenza di pull-up. Esistono delle porte open collector ad alta tensione incui questo valore supera di molto la tensione di alimentazione del dispositivo.Laltro parametro riguardante luscita alta, IOH , rappresenta la massima corren-te parassita che pu essere assorbita dalla porta anche quandessa idealmentescollegata nello stato Z. necessario tenere conto di questo parametro in quantorappresenta un termine spesso preponderante nella corrente che scorre in RP Ucon linea a livello alto.

    Calcoliamo la corrente che scorre a livello alto nella resistenza di pull-up:

    IP U = 2IOH + IIH,HC + IIH,LS = 0.221mA

    La tensione sulla linea allora sar:

    VL = VAL VP U = VAL RP UIP U

    Il potenziale VL deve essere maggiore o uguale della minima delle tensio-ni riconoscibile come alta in ingresso alle porte HC e LS per poterle pilotarecorrettamente.

    VL max (VIH,HC = 3.15V, VIH,LS = 2V)

    RP U VAL VIH,HC

    IP U=

    5V 3.15V221A

    8.2 k

    Anche se questo dimensionamento corretto, sarebbe preferibile utilizzarecome valore minimo di tensione sulla linea una tensione un po pi alta di 3.15Vin modo da garantire un certo margine di rumore. Considerando ad esempio3.7V, il valore massimo di resistenza diventa circa 5.6 k.

    35

  • Livello basso La linea pu portarsi a livello logico basso in tre modi diversi:A = L, B = L; A = Z, B = L; A = L, B = Z. La prima di queste combinazionivede entrambe le porte attive, in grado quindi di assorbire corrente, mentre nellealtre due una sola porta deve gestire tutta la corrente proveniente da resistenzadi pull-up e ingressi. Scegliamo dunque per il dimensionamento del circuito unadi queste configurazioni, pi sfavorevoli della prima. La porta non attiva vienecompletamente ignorata nei calcoli: non si considera cio la corrente IOH di cuiabbiamo tenuto conto nei calcoli a livello alto, in quanto un termine parassitasulla cui presenza non si pu fare affidamento e che, se considerato, sarebbe unaiuto alla porta attiva. Dunque il caso peggiore non considerarlo. Lequazioneal nodo L quindi:

    IO =VAL VORP U

    + IIL,HC + IIL,LS IOL

    La tensione VO sulla linea al massimo pu valere VOL, da cui:

    5V 0.5VRP U

    + 0.4mA 8mA

    RP U 592

    Il valore minimo per RP U nella serie E12 680.

    Osservazioni finali Lanalisi del circuito ha portato ad ammettere per RP Uuna gamma di valori ampia circa una decade. Quali sono le scelte progettualipi corrette per dimensionare in modo ottimo tale componente? I due parametriche generalmente si considerano sono:

    Dissipazione di potenza. Una resistenza di valore basso porta ad una mag-giore corrente sulla linea a livello basso (a livello alto la corrente dipendepoco dal valore di resistenza). Viene quindi aumentata la dissipazione dipotenza del circuito.

    Velocit di commutazione. La transizione H-L sulla linea dovuta allen-trata in conduzione di una delle uscite ed quindi indipendente dal valoredella resistenza, mentre la transizione L-H dovuta al passaggio di unu-scita dallo stato attivo allo stato di alta impedenza. La linea si porta alivello alto solo grazie a RP U , la quale deve caricare le capacit parassi-te presenti nel circuito. RP U e le capacit parassite formano quindi uncircuito RC in cui la costante di tempo dipende dalla resistenza. Risul-ta quindi evidente come una resistenza pi bassa porti a una maggiorevelocit delle transizioni L-H.

    A seconda delle necessit e delle caratteristiche dei segnali trattati, ossia delcontesto nel quale va inserito il circuito, si sceglie un valore della resistenza dipull-up atto ad ottimizzare le prestazioni richieste.

    36

  • 7.5 Comportamento dinamico delle porte logi-

    che

    7.5.1 Definizioni

    Finora ci siamo occupati della caratteristica statica dei circuiti logici. Studiamoora che cosa succede durante la commutazione da un livello logico allaltro.

    Essendo le porte logiche dei componenti reali, non reagiranno istantanea-mente ad una variazione degli ingressi. Inoltre la commutazione non avverr intempo 0. Occorre definire in modo rigoroso come misurare i ritardi dei segnali e itempi necessari a commutare. Il tempo impiegato nella commutazione alto-bassodi un segnale logico viene detto tempo di discesa, o fall time. E definito comeil tempo intercorso tra lattraversamento da parte del segnale della soglia postaal 10% dellampiezza della transizione e lattraversamento della soglia posta al90% della stessa (fig. 7.24a). In modo analogo definito il tempo necessario allacommutazione basso-alto. Tale tempo indicato come tempo di salita o risetime.

    Per quanto riguarda il tempo necessario a propagare il segnale allinternodi un circuito logico si parla di propagation delay e si misura dallistante incui il segnale dingresso supera una soglia posta a met della transizione diingresso allistante in cui il segnale duscita supera una soglia posta a met dellatransizione duscita (fig. 7.24b). Il ritardo di propagazione pu essere diverso nelpassaggio del segnale da alto a basso (tpdHL) e da basso ad alto (tpdLH).

    90%

    10%tr

    (a)tf

    t

    V

    50%

    tpdHL(b)

    tpdLH

    t

    V

    Figura 7.24: a) Tempi di salita e discesa; b) ritardi di propagazione tra ingressoe uscita di un inverter

    7.5.2 Ritardo di propagazione

    Per studiare come caratterizzare il ritardo di propagazione di un segnale in uncircuito digitale possiamo rifarci ad uno schema molto semplice, rappresentante

    37

  • M1

    M2

    VAL

    InM3

    M4

    VAL

    Co CiCl

    Figura 7.25: Capacit equivalenti in un collegamento tra porte logiche.

    un inverter la cui uscita sia collegata ad un altro dispositivo dello stesso tipo. Ilcircuito 7.25 rappresenta appunto due inverter CMOS in cascata.

    Nella figura 7.25 il condensatore Co rappresenta la capacit parassita asso-ciata alluscita del primo inverter mentre il condensatore Ci tiene conto dellacapacit parassita relativa allingresso del secondo inverter. Lulteriore conden-satore Cl rappresenta invece la capacit parassita della linea di collegamento.Nella nostra analisi supporremo le porte vicine, cio in posizione tale per cuila lunghezza della linea di collegamento sia trascurabile rispetto alla veloci-t di commutazione delle porte. Se cos non fosse, dovremmo considerare ilcollegamento una linea di trasmissione e la trattazione sarebbe pi complessa.

    Al fine di far commutare lo stato del secondo inverter necessario che latensione al suo ingresso attraversi la tensione di inversione (tipicamente a metalimentazione). Supponiamo ad esempio che allinizio luscita del primo inver-ter sia bassa. In questo caso il MOS M1 sar in conduzione (zona resistiva)e la tensione sulla linea sar 0V. Facciamo ora commutare il primo inverter,cio cambiamo la tensione di ingresso in modo che M1 si interdica e M2 vadain conduzione. Ci vorr un tempo iniziale per spegnere M1 e accendere M2.Chiamiamo questo tempo t0.

    Quando M2 va in conduzione, per poter variare la tensione sulla linea devecaricare tutte le capacit presenti. Assumendo che la transizione in ingresso alprimo inverter sia veloce, M2 si trover ad operare in zona di saturazione dicanale per gran parte della durata della transizione. Ai fini del ritardo di propa-gazione, interessa valutare il tempo impiegato dalla linea a superare la tensionedi inversione del secondo inverter. Per semplificare la trattazione possiamo allo-ra assumere che la corrente di uscita di M2 sia costante per tutto questo tempoe pari ad un certo valore IDp.

    Allora il tempo t1 necessario per arrivare alla tensione di inversione Vinvsar:

    Vinv =IDp

    Co + Cl + Cit1

    cio

    t1 =VinvIDp

    (Co + Cl + Ci)

    38

  • Il ritardo di propagazione sar la somma del tempo iniziale t0 e il tempo t1in cui la tensione duscita sale fino a raggiungere la tensione Vinv, cio

    tpd = t0 +VinvIDp

    (Co + Cl + Ci)

    Secondo questo modello vi una dipendenza lineare tra ritardo di propaga-zione e capacit parassita totale del circuito pilotato dalla porta. In un circuitoreale non sempre le connessioni sono punto-punto, spesso una porta pilota di-versi ingressi. Allora il ritardo complessivo dipende in modo lineare dal numerodi porte collegate, a causa dei loro elementi parassiti aggiunti al sistema.

    Il costruttore fornisce sui datasheet i tempi di salita, discesa ed il ritardodi propagazione considerando un carico capacitivo standard, solitamente 50 pF.Data la dipendenza lineare tra carico capacitivo e ritardi, sui datasheet, di solito,si trova unespressione di questo genere:

    tpLH = tpLH |50 pF + kpspF

    Lespressione costituita da due termini:

    1. Ritardo di propagazione su carico standard, pari a 50 pF: si considera taleil carico apportato dalla pista di interconnessione pi un singolo ingresso.La capacit relativa a un ingresso elencata nel datasheet ed di solitointorno ai 15 pF. I 35 pF rimanenti si considerano dovuti alla capacitdellinterconnessione (valore ragionevole come prima approssimazione perinterconnessioni su circuito stampato tra componenti non troppo lontani).

    2. Per ogni pF aggiuntivo si avranno k ps in pi. In pratica si contano le portein pi rispetto alla prima e si sommano le relative capacit parassite percalcolare il ritardo aggiuntivo introdotto. Se linterconnessione lunga (manon tanto da ricadere nel modello a linea di trasmissione) si aggiungeruna capacit in pi che tenga conto anche di questo fattore.

    Risulta dunque evidente che la velocit di un circuito logico dipende dal fa-nout delle singole porte. Se ritorniamo ad esaminare la tecnologia CMOS, adesempio la famiglia HC le cui caratteristiche statiche sono riportate in tabel-la 7.1, possiamo verificare come dal punto di vista statico in tale tecnologia leuscite possano pilotare migliaia di porte dello stesso tipo. Per la stessa famigliapossiamo calcolare il ritardo di propagazione in funzione del numero di portecollegate a una singola uscita. Ci accorgiamo allora che le prestazioni della portadegradano rapidamente con il carico e il massimo numero di ingressi collegabili limitato a una ventina, per applicazioni in cui sia richiesta una media veloci-t operativa. Dunque il massimo fanout dipende non solo dalle caratteristichestatiche delle porte ma anche, e, per la tecnologia CMOS, principalmente, daquelle dinamiche.

    7.5.3 Considerazioni energetiche

    Abbiamo visto che le porte CMOS, se connesse solo ad altre porte costruitecon la stessa tecnologia, in pratica non consumano energia quando il livello diuscita sia fisso, basso o alto, a parte per gli effetti di una modestissima corrente,

    39

  • detta quiescent current. Abbiamo altres notato che la commutazione tra unlivello e laltro comporta la carica/scarica dei condensatori parassiti associati aivari nodi del circuito. Tale carica richiede lassorbimento di corrente in modoimpulsivo dal sistema di alimentazione e quindi il consumo di una certa quantitdi energia.

    importante quantificare lenergia dissipata durante una transizione, perarrivare a calcolare la potenza dissipata dal circuito e quindi dimensionarelalimentatore.

    Ricordiamo che lenergia immagazzinata in un condensatore C carico ad unatensione V vale:

    E =12CV 2

    Riferiamoci di nuovo alla figura 7.25. Se supponiamo di voler far commutareluscita dellinverter da alta, quindi con condensatori parassiti carichi allin-circa alla tensione di alimentazione, a bassa, il transistor M1 dovr dissipareunenergia pari a:

    ET =12CV 2AL

    dove C la capacit totale vista dalla porta, cio C = Co+Cl+Ci. Per riportareluscita a livello alto, dovr transitare la stessa quantit di carica nel transistorM2, il quale si trover a dissiparre una quantit di energia analoga.

    Supponiamo che il circuito sia sincrono con un clock a frequenza fCLK . Uninverter (o un buffer) collegato direttamente al segnale di clock eseguir un ciclodi carica e scarica ad ogni impulso di clock. La potenza dissipata da questa portavale allora:

    P =E

    T= E f = Pd = 2

    (12CV 2

    ) fCLK = fCLK CV 2

    Se adesso passiamo a considerare tutte le porte presenti nel circuito, potre-mo definire come C la capacit media associata ad una singola porta. Se poichiamiamo n il numero medio di porte che commutano ad ogni ciclo di clock,possiamo stimare la potenza media dissipata dal circuito:

    Pd = n fCLK C V 2AL

    Questa relazione importante perch ci indica quali sono i parametri sucui agire per limitare la potenza dissipata da un circuito logico. Prendiamo inconsiderazione ogni termine:

    Tensione di alimentazione: la potenza dissipata dipende dal quadrato diquesto parametro, per cui evidente che convenga ridurre il valore dellatensione di alimentazione al minimo necessario a garantire il funziona-mento del circuito. Per questo motivo i circuiti interni dei sistemi digitalicomplessi sono alimentati a tensioni basse (dellordine del volt).

    Capacit equivalente del circuito: poich questa dipende essenzialmentedallarea dei dispositivi, questo parametro migliora riducendo le dimen-sioni del circuito.

    40

  • Numero di porte che commutano per ogni ciclo di clock. Ovviamentequesto parametro dipende dalla complessit del circuito, ma possibi-le limitare il numero medio di commutazioni mediante opportune scelterealizzative. Ad esempio nel progetto di un microprocessore dimostra-to che opportune scelte nella codifica delle istruzioni riducono la potenzadissipata dal dispositivo.

    Frequenza di clock. Ovviamente le prestazioni di un microprocessore di-pendono dalla frequenza di clock, quindi questo parametro non sempre a disposizione del progettista. In dispositivi portatili la frequenza di clockviene abbassata quando il sistema non ha bisogno di grossa potenza dicalcolo per aumentare la autonomia delle batterie. In sistemi ad alte pre-stazioni la frequenza di clock viene aumentata per far fronte ai picchi dirichieste computazionali.

    41