Concetti
Concetti Introduzione Segnale Cos’è un segnale? Area fisica e potenza Segnale digitale vs Segnale analogico Elaborazione dei segnali digitali Cos’è? Gestione della complessità Transistor Logica Sistema binario Porte logiche Mappatura segnali Famiglie logiche Transistor Transistor MOS Transistor NMOS Transistor PMOS CMOS Sommario Circuiti combinatori Circuito digitale Equazioni booleane Algebra di Boole Dalla logica ai circuiti Mappe di Karnough Combinational Building Blocks MUX Decoders Temporizzazione Cause del ritardo Percorsi critici Glitch Sommario Circuiti sequenziali Definizione circuiti sequenziali Short memory Stato Circuiti bistabili Interconnessione di due inverter Latch e flip flop SR D-Latch D-Flip flop Flip flop resettabile e settabile Resettabile Settabile Logica sincrona sequenziale Problemi logica sequenziale Soluzione: logica sequenziale sincrona Regole FSM Moore Mealy Procedura progettazione ASM Temporizzazione Tempo apertura Tempo set up Tempo hold Ritardo propagazione (propagation-clock-to-Q) Ritardo contaminazione (contamination-clock-to-Q) Regole dinamica Concetti 1 Vincolo hold Vincolo set up Disallineamento clock Tempo di skew Revisione vincoli Rete di distribuzione del clock Fanout tree Metastabilità Mean Time Between failure Sincronizzatori Sommario Circuiti digitali Digital Building Blocks Caratteristiche Blocchi funzionali Sommatore di Bit Sommatore Multi-bit Sottrattore Comparatore ALU - Arithmetic Logic Unit Shifter Moltiplicatori Gestione overflow Operazioni Addizione Moltiplicazione Problema dell’arrotondamento Rappresentazione in floating point Moltiplicazione in floating point Addizione in floating point Funzioni Contatori Shift Register Memoria Array di memoria ROM RAM Multi-port memories Sommario Processore Processore Processore semplice Datapath Istruzioni Architettura di Harvard Memoria SRAM DRAM Periferica Microprocessore vs Microcontrollore vs DSP Microprocessore Microcontrollori DSP ISA Trend storico Istruzioni Esecuzione istruzioni Gestione di eventi Bare metal Sommario
Introduzione
Segnale
Cos’è un segnale?
Concetti 2
Un segnale è una quantità fisica rilevabile e misurabile che ha lo scopo di trasportare informazione.
Un segnale può essere interessato da rumore, in particolare da rumore termico, dovuto al fatto che non ci troviamo alla temperatura di zero assoluto.
Un segnale può essere di natura analogica o digitale.
Area fisica e potenza
Un segnale analogico può essere interessato da rumore, che degrada il segnale stesso. L’indice che misura la qualità di un segnale è chiamato Signal To Noise Ratio (SNR) e può essere migliorato producendo un segnale con una potenza maggiore e di conseguenza utilizzando un sistema con un’area fisica maggiore.
Per un segnale analogico, il costo per area e per potenza è direttamente proporzionale all’indice SNR. Questo significa che la linearità che li lega fa sì che se si vuole ottenere un segnale migliore, che resista meglio al rumore, il costo complessivo del sistema aumenta.
Nel caso di un segnale digitale invece, l’indice SNR dipende dal numero di bit utilizzati dal sistema e il legame è logaritmico, cioè SNR = log2(#bit).
Questo significa che per un sistema digitale, è possibile migliorare le performance senza aumentare di molto i costi.
Segnale digitale vs Segnale analogico
Un segnale analogico è un segnale continuo nelle ampiezze e nei tempi. Questo significa che esiste per qualunque valore appartenente ai ℜ e in ogni istante di tempo.
Il vantaggio di lavorare con i segnali analogici è quello di poter realizzare applicazioni real time, in quanto l’uscita segue perfettamente la variazione degli ingressi.
Tuttavia, un sistema analogico ha una bassa precisione, dovuta al fatto che è degradato dal rumore, è dipendente dalla temperatura e tutti i dati sono approssimati per un limite fisico dei componenti che non può assumere valori infiniti.
Un segnale digitale è invece discreto nelle ampiezze e nei tempi, dunque esiste solo in certi istanti temporali e può assumere solo un numero finito di valori.
Il vantaggio di lavorare con sistemi digitali è il fatto che abbiamo maggiore precisione in quanto i dati non sono approssimazioni, non si ha degradazione dovuta al rumore o dipendenza dalla temperatura. Tuttavia, la possibilità di eseguire o meno determinate applicazioni dipende dalla capacità di calcolo del sistema utilizzato.
Elaborazione dei segnali digitali
Cos’è?
L’elaborazione dei segnali viene eseguita per mezzo dei Digital Signal Processor e permette il passaggio da segnali di diversa natura.
In particolare esistono 4 tipologie di sistemi:
- Sistemi analogici: tempo continuo, ampiezze continue.
- Sistemi digitali: tempo discreto, ampiezze discrete.
- Sistemi analogici temporizzati: tempo discreto, ampiezze continue.
- Sistemi digitali asincroni: tempo continuo, ampiezze discrete.
Gestione della complessità
La complessità può essere gestita attraverso 5 modalità:
- Astrazione.
- Disciplina.
- Gerarchia.
- Modularità.
- Regolarità.
Astrazione
È possibile suddividere un sistema in diverse parti in cui quelle superiori offrono una visione più astratta dei livelli sottostanti.
L’architettura può essere riassunta così: software applicativo, sistema operativo, architettura, micro-architettura, blocchi logici, circuiti digitali, circuiti analogici, device, fisica.
Tali livelli possono essere disposti a formare il modello a Y, in cui su ciascun ramo della Y vengono esplorati ambiti diversi: livello strutturale, livello geometrico e livello comportamentale.
Disciplina
È una limitazione effettuata introducendo vincoli di progettazione.
Gerarchia
È possibile dividere un livello in più sottoparti più semplici da gestire.
Modularità
Concetti 3
Non basta suddividere in parti più semplici, bensì è importante che ciascun modulo possa interfacciarsi con gli altri tramite standard.
Regolarità
È la proprietà per cui il modo in cui operano i singoli moduli è regolare.
Transistor
Logica
Sistema binario
Il sistema binario permette di definire due soli valori possibili: 1 o 0, vero o falso, Vdd o GND.
L’unità di informazione è il bit, che può essere presentata in gruppi da 4 a formare un nibble o in gruppi da 8 a formare un byte.
Porte logiche
Le porte logiche sono dispositivi che eseguono funzioni logiche rappresentate da equazioni booleane.
Single input
Porta NOT
| A | F |
|---|---|
| 0 | 1 |
| 1 | 0 |
Porta buffer
| A | F |
|---|---|
| 0 | 0 |
| 1 | 1 |
Two inputs
Porta AND
| A | B | F |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
Porta NAND
| A | B | F |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
Porta OR
| A | B | F |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
Porta NOR
| A | B | F |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 0 |
Concetti 4
| A | B | F |
|---|---|---|
| 1 | 0 | 0 |
| 1 | 1 | 0 |
Porta XOR
| A | B | F |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
Porta XNOR
| A | B | F |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
Mappatura segnali
Un segnale digitale non può assumere infiniti valori, bensì può assumerne solamente un insieme finito. Nel caso si utilizzi un sistema binario, un segnale può essere riconosciuto come 1 o come 0.
Come si fa quindi a mappare un segnale reale, in un 1 o uno 0?
Si devono fissare delle soglie.
In particolare, consideriamo due dispositivi, un driver e un receiver, in cascata per cui l’uscita del driver è l’ingresso del receiver.
Supponiamo inoltre, che tra i due dispositivi vi sia un collegamento interessato da rumore, per cui l’output e l’input non sono alla stessa tensione, ma l’input sarà stato degradato dal rumore.
Allora avremo che le soglie imposte per il driver saranno diverse da quelle del receiver e in particolare queste ultime dovranno tener conto della possibile degradazione.
Definiamo: VOH < V < Vdd: soglia di tensione dell’output per cui se il segnale in uscita dal driver è compreso tra VOH e Vdd, allora è interpretato come un 1 logico; VIH < V < Vdd: soglia di tensione dell’input, per cui se il segnale in input al driver è compreso tra VIH e Vdd, allora è interpretato come un 1 logico.
Vale la relazione: VOH < VIH = NMH = VOH − VIH, dunque si può definire il margine di errore come il massimo rumore che può degradare il segnale affinché possa essere interpretato correttamente al receiver come 1 logico.
GND < V < VOL: soglia di tensione dell’output per cui se il segnale in uscita dal driver è compreso tra GND e VOL è interpretato come uno 0 logico.
GND < V < VIL: soglia di tensione dell’output per cui se il segnale in ingresso al receiver è compreso tra GND e VIL è interpretato come uno 0 logico.
Vale la relazione: VOL < VIL = NML = VIL − VOL, dunque si può definire il margine di errore come il massimo rumore che può degradare il segnale affinché possa essere interpretato correttamente al receiver come 0 logico.
Se è richiesto in un esercizio di determinare queste soglie, è sufficiente posizionarle nei punti in cui il guadagno unitario è |G| > 1. In particolare, se il guadagno unitario è G > 1 allora la porta può essere usata come buffer, mentre se il guadagno unitario è G < −1 allora la porta può essere usata come inverter.
Famiglie logiche
Esistono diverse famiglie logiche contraddistinte per il livello di tensione e ciascuna con le proprie soglie Vdd, VOL, VOH, VIL, VIH.
Ecco la tabella riassuntiva:
| Famiglia | Vdd | V_OL | V_OH | V_IL | V_IH | NM_L | NM_H |
|---|---|---|---|---|---|---|---|
| TTL | 4,75 : 5,25 | 0,8 | 2 | 0,4 | 2,4 | 0,4 | 0,4 |
| CMOS | 4,5 : 6 | 1,35 | 3,15 | 0,33 | 3,84 | 1,02 | 0,69 |
| LVTTL | 3,3 : 3,6 | 0,8 | 2 | 0,4 | 2,4 | 0,4 | 0,4 |
Concetti 5
| Famiglia | Vdd | V_OL | V_OH | V_IL | V_IH | NM_L | NM_H |
|---|---|---|---|---|---|---|---|
| LVCMOS | 3,3 : 3,6 | 0,9 | 1,8 | 0,36 | 2,7 | 0,54 | 0,9 |
Per verificare la compatibilità tra dispositivi di diverse famiglie bisogna considerare le seguenti relazioni:
VOH > VIH
VOL < VIL
Se queste condizioni sono rispettate allora si può concludere che:
- Se le Vdd coincidono, allora i due dispositivi sono compatibili.
- Se c’è una differenza nelle Vdd la compatibilità non è certa, ma può esserci.
Transistor
Alla base della realizzazione delle porte logiche ci sono i transistor a 3 terminali controllati in tensione.
Transistor MOS
Blocco di silicio di tipo P detto Body + strato di spessore di ossido di silicio Tox + elettrodo superiore detto Gate.
Zona di accumulazione: si ha quando 0 < Vg << VTN e Body a massa. Si accumulano cariche negative al gate e lacune nel body.
Zona di svuotamento: si ha quando Vg < VTN e Body a massa. Si accumulano cariche positive al gate e cariche negative fisse al body.
Zona di inversione: si ha quando Vg > VTN e Body a massa. Si accumulano cariche positive al gate, elettroni fissi nel body e una parte di questi elettroni viene attratta dalle cariche positive del gate, dunque si crea uno strato di elettroni liberi, detto di inversione, sotto allo strato di ossido di silicio.
Ne esistono di due tipologie:
Transistor NMOS
Blocco di silicio (Body) + due pozzi arricchiti n+ detti Drain e Source + ossido di silicio + elettrodo (Gate).
In corrispondenza dei due pozzi si formano due giunzioni PN (P - body, N - pozzi), modellizzabili come due diodi (che non devono condurre).
Applichiamo il GND a Drain e Source, abbiamo 3 configurazioni:
Vg << VTN → attorno alle zone drogate n+ si formano zone di svuotamento (accumulo di cariche negative), tanto più grandi, tanto più negativa è Vg.
0 < Vg < VTN → si forma una zona di svuotamento sotto l’ossido di silicio. Questa zona si unisce a quelle già presenti sotto le regioni n+ formando un canale tra Drain e Source.
Vg > VTN → Si crea la zona di inversione ricca di elettroni mobili che unisce elettricamente il Drain e il Source, tra i quali si instaura una corrente quando VDS > 0.
Applichiamo tensione VDS:
Zona di interdizione: VGS < VTN → IDS = 0. Il transistor è spento.
Zona di conduzione sotto soglia (Non la vediamo)
Zona lineare o di triodo o ohmica → VGS > VTN dunque si crea il canale tra Drain e Source. Applicando una tensione VDS, si instaura una corrente tra Drain e Source, pari a:
IDS = Kn[(VGS − VTN)VDS − VDS2/2], con:
Kn = Cox ∗ μn ∗ W/L (Cox = capacità ossido di silicio, W = larghezza body, L = lunghezza body, μn = mobilità elettroni).
VDS2, trascurabile.
Otteniamo quindi che: IDS = Kn(VGS − VTN)VDS.
In questa zona di funzionamento il transistor NMOS si comporta come un resistore di resistenza R = 1 / KN(VGS − VTN), variabile in quando dipendente da VGS che è arbitraria.
Zona di saturazione → Al Source è applicata la massa, mentre al Drain viene applicata una tensione. Il canale tra Drain e Source presenterà dunque una tensione variabile tra 0 e VDS, dalla quale dipende lo spessore del canale stesso. Applicando quindi una tensione VDS sempre maggiore, il canale si assottiglierà in corrispondenza del Drain fino a quando si raggiunge il punto di strozzatura massimo, detto di pinch off, che si verifica se VDS ≥ VGS − VTN. In questa situazione si raggiunge la saturazione in quanto all’aumentare di VDS la tensione ai capi del canale e quindi la corrente che vi scorre resteranno costanti.
Concetti 6
In questa zona il transistor si comporta come un generatore di corrente (IDS) controllato in tensione (VDS).
In prima approssimazione IDS = Kn(VGS − VTN)2/2.
Recap:
- Gate = 0 (GND) → interruttore aperto → spento (0).
- Gate = 1 (VDD) → interruttore chiuso → acceso (1).
Transistor PMOS
Blocco di silicio (Body) + due pozzi arricchiti p+ detti Drain e Source + ossido di silicio + elettrodo (Gate).
Relazioni identiche all’NMOS a patto che si invertano le tensioni:
VDS → VSD, VGS → VSG, VTN → −VTP etc.
Recap:
- Gate = 0 (GND) → interruttore chiuso → acceso (1).
- Gate = 1 (VDD) → interruttore aperto → spento (0).
Uniti:
CMOS
È la combinazione di un transistor PMOS e di un transistor NMOS.
In particolare, il Source del PMOS viene connesso a VDD (1 logico), mentre il Source dell’NMOS è connesso a GND (0 logico). I due Drain sono connessi tra loro.
L’input è connesso ai due Gate, mentre l’output è connesso tra i due Drain.
Con questo collegamento e ricordando il funzionamento delle due tipologie di transistor abbiamo che quando uno dei due è acceso, l’altro è spento e viceversa per mutua esclusione.
La parte contenente il PMOS è detta Pull-up network, mentre la parte contenente l’NMOS è detta pull-down network. Infatti:
| Input | PMOS | NMOS | Output |
|---|---|---|---|
| 0 | Chiuso | Aperto | V_DD (1) |
| 1 | Aperto | Chiuso | GND (0) |
Di fatto il CMOS si comporta come un inverter, cioè come una porta NOT.
Qual è il vantaggio del fatto che le due reti non possono essere attive contemporaneamente?
Non c’è consumo statico perché la corrente non può mai scorrere tra VDD e GND.
Come si realizzano le porte logiche con i cmos?
Si deve scrivere la tabella della verità e vedere per quali ingressi l’uscita risulta essere 0 o 1. In particolare:
- Se y = 0 → significa che dovrà essere assegnata grazie alla rete di pull-down realizzata con gli NMOS.
- Se y = 1 → significa che dovrà essere assegnata grazie alla rete di pull-up realizzata con i PMOS.
- Se y = 0 e tutti e tre gli ingressi assumono lo stesso valore, si mettono NMOS in serie; se y = 1 e gli ingressi assumono lo stesso valore si mettono PMOS in serie.
- Se y = 0 e almeno un ingresso è diverso dagli altri allora si mettono NMOS in parallelo, altrimenti se y = 1 si mettono PMOS in parallelo.
Pseudo-nMOS
CMOS utilizzati per realizzare porte NOR con tanti ingressi sono lenti in quanto:
- Transistor in serie sono più lenti di transistor in parallelo.
- PMOS più lenti degli NMOS.
Nella logica Pseudo-NMOS si sostituisce la serie di transistor PMOS con un unico transistor PMOS debole che è sempre acceso (pull-up debole).
In questo modo solo quando nessuno degli NMOS è attivo y = 1 (logico) passando per PMOS. Quando invece anche solo uno degli NMOS è attivo, y = 0 (logico) anche se resta comunque attivo il collegamento con la VDD mediante il PMOS. Tuttavia, essendo debole, viene vinto dal collegamento con GND.
Concetti 7
Transmission gates
- NMOS → passa bene 0.
- PMOS → passa bene 1.
- Parallelo PMOS + NMOS = Transmission gate.
Three state buffer
Transmission gate + porte logiche = Three state buffer con segnale di controllo en.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Appunti Sistemi Elettronici
-
Appunti Elettronica (Sistemi elettronici, tecnologie e misure)
-
Appunti Componenti elettronici
-
Appunti di Sistemi elettronici, tecnologie e misure