Circuiti Logici Dott. Ing. Alfio Dario Grasso 1 Concetti Base Ing. A.D. Grasso Circuiti Logici Concetti Base Sistemi combinatori circuiti capaci di fornire un output legato unicamente agli ingressi attuali, ossia un output che non dipende dal valore degli ingressi in istanti precedenti Ing. A.D. Grasso Sistemi sequenziali circuiti il cui output dipenderà non solo dagli ingressi attuali ma anche dalla storia precedente Circuiti Logici Funzioni Logiche Ing. A.D. Grasso Circuiti Logici Funzioni Logiche Ing. A.D. Grasso Circuiti Logici Funzioni Logiche Ing. A.D. Grasso Circuiti Logici Funzioni Logiche Ing. A.D. Grasso Circuiti Logici Algebra Booleana Ing. A.D. Grasso Circuiti Logici Algebra Booleana Ing. A.D. Grasso Circuiti Logici Algebra Booleana Ing. A.D. Grasso Circuiti Logici Algebra Booleana Ing. A.D. Grasso Circuiti Logici Algebra Booleana Ing. A.D. Grasso Circuiti Logici Caratteristiche statiche invertitore vi • • • • vo vo f vi Soglia logica Swing logico di ingresso Swing logico di uscita Margine di rumore Ri = VTC ideale VOH = VCC Ro = 0 Fanout = dVo VOL = 0V Ing. A.D. Grasso La caratteristica di trasferimento in tensione di un invertitore è la relazione che lega la tensione di uscita vo con la tensione di ingresso vi Circuiti Logici VCC/2 dVi VIN Caratteristiche statiche invertitore • Soglia logica è la tensione di autopolarizzazione dell’inverter vo voH vLT vLT vLT voL vLT Ing. A.D. Grasso Circuiti Logici vi Caratteristiche statiche invertitore • Swing logico Si individuano inoltre i punti D e E tali che vo voHmin dvo 1 dvi dvo 1 dvi A di coordinate A viL max ,voH min B viH min , voL max voLmax B viLmax Ing. A.D. Grasso Si definiscono swing logico di ingresso (ILS) e di uscita (OLS) le seguenti grandezze dvo 1 dvi viHmin I LS viH min viL max vi Circuiti Logici OLS voH min voLmax Caratteristiche statiche invertitore • Margine di rumore Il rumore nel dominio digitale rappresenta variazioni indesiderate del valore logico di un nodo. Si definisce margine di rumore di un invertitore il massimo livello di rumore che può essere sostenuto dall’invertitore quando è messo in cascata con un altro invertitore uguale. vi1 vo1= vi2 I1 vi2 = vo1 vo2 I2 voHmin viHmin2 Si definisce margine di rumore alto (NMH) la differenza NM H voH min viH min 2 viLmax2 analogamente si definisce margine di rumore basso (NML) la differenza NM L viL max 2 voLmax NMH voLmax vo2 viLmax viHmin NML vi1 Dal momento che i due invertitori sono uguali si ha: viHmin2 = viHmin e viLmax2 = viLmax dunque NM H voH min viH min NM L viL max voLmax Fan-in e fan-out ► Si definisce fan-in il numero massimo di ingressi ad una porta logica che ne garantiscono il funzionamento ► Si definisce fan-out il numero massimo di porte logiche che una data porta può pilotare garantendo il suo funzionamento Con riferimento allo specifico caso riportato in figura, entrambe le definizioni sono associate all’invertitore INV; in tal caso il fan-in e il fan-out sono, rispettivamente, il numero massimo di invertitori che possono pilotare e essere pilotati da INV mantenendo il suo funzionamento logico corretto. Ciascun invertitore (così come tutte le porte logiche) ha una capacità di ingresso e una capacità di uscita. Le capacità di uscita degli invertitori Ii1…Iim contribuisco ad aumentare la capacità in ingresso a INV, mentre quelle di ingresso di Io1…Ion aumentano la sua capacità di uscita. Si comprende quindi come all’aumentare di m e n si possa raggiungere un carico capacitivo di ingresso/uscita non più sostenibile da INV: in altri termini trattandosi di un invertitore questo significa che INV non effettuerebbe più correttamente l’inversione dell’ingresso. fan-in fan-out Ii1 Io1 Ii2 Io2 Iim INV Ion Caratteristiche dinamiche invertitore vi • • • • • vo Tempo di salita Tempo di discesa Ritardo di salita (tempo di propagazione basso-alto) Ritardo di discesa (tempo di propagazione alto-basso) Ritardo di propagazione (tempo di propagazione) Tempi di salita e di discesa Con riferimento alla figura, si individuino i punti in cui vo è pari al 90% e al 10% della massima escursione in tensione di uscita (vOH - vOL); vo raggiunge i suddetti valori rispettivamente nei tempi tf90, tf10 per la transizione alto-basso e tr90, tr10 per quella basso-alto. vi vo vOH tir tif t vO90%=vOL+0.9(vOH-vOL) vO10%=vOL+0.1(vOH-vOL) vOL tf90 tf10 tr10 tr90 t Si definisce tempo di salita tr la differenza tr90-tr10 t r tr 90 tr10 Si definisce tempo di discesa tf la differenza tf10-tf90 t f t f 10 t f 90 Ritardi di salita e di discesa Analogamente a quanto fatto prima, si individuino i punti in cui vo è pari al 50% della massima escursione in tensione di uscita (vOH - vOL); vo raggiunge i suddetti valori rispettivamente nei tempi tof50 per la transizione alto-basso e tor50 per quella basso-alto. Si individuino inoltre i punti in cui vi è pari al 50% della massima escursione in tensione di ingresso (vIH - vIL); vi raggiunge i suddetti valori rispettivamente nei tempi tif50 per la transizione basso-alto e tir50 per quella alto-basso (vi è un’onda quadra quindi tali valori coincidono con l’inizio delle transizioni). vi Si definisce ritardo di salita tpLH o tempo di propagazione basso-alto vIH pLH tor50 tif 50 vIL vo tir50 tif50 t vOH vO50%=vOL+0.5(vOH-vOL) vOL pLH tof50 pHL tor50 Si definisce ritardo di discesa tpHL o tempo di propagazione alto-basso pHL tof 50 tir 50 t pLH pHL Si definisce inoltre ritardo di propagazione pd o tempo di propagazione pd la quantità 2 Potenza media statica Siano IoL e IoH rispettivamente le correnti (statiche) erogate dalla tensione di alimentazione VDD in corrispondenza delle tensioni nominali di uscita voL e voH. Si definisce potenza media statica la quantità PST VDD I oL I oH 2 VDD vo voH IoH INV voH VDD IoL INV voL voL vi Potenza dinamica Durante una transizione basso-alto l’energia totale EH erogata dall’alimentazione è VDD ic INV 0 0 EH VDD ic t dt VDD ic t dt VDD CL vOH vOL dV VDD CL vOH vOL cL Solo metà dell’energia totale erogata viene immagazzinata in CL il resto viene dissipata dai dispositivi che compongono l’invertitore. Durante la transizione alto-basso CL perde la carica immagazzinata precedentemente che viene dissipata nei dispositivi usati per scaricare il condensatore: in questa fase l’alimentazione non fornisce energia. Quindi durante una transizione completa basso-alto-basso l’energia EL→H →L dissipata è INV ic ELH L VDD CL vOH vOL Dato il clock di periodo T (f = 1/T) si definisce potenza dinamica Pd Nel caso in cui vOH = VDD e vOL = 0 la potenza dinamica diviene VDD cL EL H L VDD CL vOH vOL f T 2 Pd VDD CL f Logica CMOS • I transistori MOS sono degli switches comandati in tensione d nMOS pMOS g=0 g=1 d d OFF g s s s d d d g OFF ON s Ing. A.D. Grasso ON s Circuiti Logici s Inverter CMOS A 0 1 VDD Y A A Y Y GND Ing. A.D. Grasso Circuiti Logici Inverter CMOS A 0 1 VDD Y OFF 0 A=1 Y=0 ON A Y GND Ing. A.D. Grasso Circuiti Logici Inverter CMOS A 0 1 VDD Y 1 0 ON A=0 Y=1 OFF A Y GND Ing. A.D. Grasso Circuiti Logici CMOS NAND Gate A 0 0 1 1 B 0 1 0 1 Ing. A.D. Grasso Y Y A B Circuiti Logici CMOS NAND Gate A 0 0 1 1 B 0 1 0 1 Ing. A.D. Grasso Y 1 ON ON Y=1 A=0 B=0 Circuiti Logici OFF OFF CMOS NAND Gate A 0 0 1 1 B 0 1 0 1 Ing. A.D. Grasso Y 1 1 OFF ON Y=1 A=0 B=1 Circuiti Logici OFF ON CMOS NAND Gate A 0 0 1 1 B 0 1 0 1 Ing. A.D. Grasso Y 1 1 1 ON A=1 B=0 Circuiti Logici OFF Y=1 ON OFF CMOS NAND Gate A 0 0 1 1 B 0 1 0 1 Ing. A.D. Grasso Y 1 1 1 0 OFF A=1 B=1 Circuiti Logici OFF Y=0 ON ON CMOS NOR Gate A 0 0 1 1 B 0 1 0 1 Ing. A.D. Grasso Y 1 0 0 0 A B Y Circuiti Logici Logica CMOS Ing. A.D. Grasso Circuiti Logici Logica CMOS Ing. A.D. Grasso Circuiti Logici Circuiti Sequenziali Ing. A.D. Grasso Circuiti Sequenziali Concetti Base Sistemi combinatori circuiti capaci di fornire un output legato unicamente agli ingressi attuali, ossia un output che non dipende dal valore degli ingressi in istanti precedenti Ing. A.D. Grasso Sistemi sequenziali circuiti il cui output dipenderà non solo dagli ingressi attuali ma anche dalla storia precedente Circuiti Logici Concetti Base Ing. A.D. Grasso Circuiti Sequenziali Concetti Base Ing. A.D. Grasso Circuiti Sequenziali Latch SR Ing. A.D. Grasso Circuiti Sequenziali Latch SR Forbidden state Ing. A.D. Grasso Circuiti Sequenziali Latch SR Implementazione con porte NAND (logica negata) Ing. A.D. Grasso Circuiti Sequenziali Flip-Flop SR Ing. A.D. Grasso Circuiti Sequenziali Flip-Flop JK Aggiungendo un ulteriore feedback al flip-flop SR, viene eliminato lo stato proibito Toggle state Ing. A.D. Grasso Circuiti Sequenziali Flip-Flop JK Aggiungendo un ulteriore feedback al flip-flop SR, viene eliminato lo stato proibito 1 1 10 1 01 1 10 1 1 1 0 0 Ing. A.D. Grasso 01 1 Circuiti Sequenziali Flip-Flop T, D Ing. A.D. Grasso Circuiti Sequenziali Flip-Flop race condition Supponiamo per esempio di volere che il flip–flop inverta lo stato ad ogni impulso di clock, ossia l’uscita Q debba assumere i valori 0,1,0,1… Se il clock rimane nello stato 1 per un tempo maggiore dei ritardi caratteristici del sistema può accadere che la prima transizione del sistema ne provochi immediatamente un’altra od eventualmente molte altre prima che il clock ritorni a 0. Race around condition Ing. A.D. Grasso Circuiti Sequenziali Flip-Flop SR master-slave Ing. A.D. Grasso Circuiti Sequenziali Flip-Flop SR master-slave Ing. A.D. Grasso Circuiti Sequenziali Flip-Flop JK master-slave Ing. A.D. Grasso Circuiti Sequenziali Flip-Flop JK edge-triggered La transizione avviene sul fronte di discesa del clock Gli ingressi vengono «campionati» sul fronte di discesa. In questo modo viene eliminata la race condition. Ing. A.D. Grasso Circuiti Sequenziali Flip-Flop JK comparison Master Slave Ing. A.D. Grasso Positive Edge Triggered Circuiti Sequenziali Negative Edge Triggered Flip-Flop JK comparison Ing. A.D. Grasso Circuiti Sequenziali Registri Ing. A.D. Grasso Circuiti Sequenziali Registri Ing. A.D. Grasso Circuiti Sequenziali Registri Parallel input – Parallel output (PI-PO) Ing. A.D. Grasso Circuiti Sequenziali Registri Serial input – Serial output (SI-SO) Ing. A.D. Grasso Circuiti Sequenziali Registri Serial input – Parallel output (SI-PO) Ing. A.D. Grasso Circuiti Sequenziali Registri Parallel input –Serial output (PI-SO) Ing. A.D. Grasso Circuiti Sequenziali Contatori Ing. A.D. Grasso Circuiti Sequenziali Contatori Ing. A.D. Grasso Circuiti Sequenziali Contatori Ing. A.D. Grasso Circuiti Sequenziali Memorie Ing. A.D. Grasso Memorie Concetti Base Ing. A.D. Grasso Memorie Memorie volatili dinamiche (DRAM) Ing. A.D. Grasso Memorie Memorie volatili dinamiche (DRAM) Ing. A.D. Grasso Memorie Memorie volatili dinamiche (DRAM) Ing. A.D. Grasso Memorie Memorie volatili statiche (SRAM) Ing. A.D. Grasso Memorie Memorie volatili statiche (SRAM) Ing. A.D. Grasso Memorie Memorie volatili statiche (SRAM) Ing. A.D. Grasso Memorie Memorie non volatili (EEPROM) Ing. A.D. Grasso Memorie Memorie non volatili (EEPROM) Ing. A.D. Grasso Memorie Memorie non volatili (EEPROM) Ing. A.D. Grasso Memorie Memorie a sola lettura (ROM) Ing. A.D. Grasso Memorie Classificazione Ing. A.D. Grasso Memorie