Nell’articolo di oggi analizzeremo nel dettaglio il progetto dei circuiti logici.
Negli articoli precedenti abbiamo visto:
- Come funziona una CPU: progetto di circuiti logici #0
- Come funziona una CPU: Flip-Flop SR asincrono #0.1
- Come funziona una CPU: Flip-Flop sincrono #0.1.1
- Come funziona una CPU: Flip-Flop D #0.1.2
- Come funziona una CPU: Flip-Flop Master-Slave #0.1.3
- Come funziona una CPU: Modello di Huffman #0.2
- Come funziona una CPU: progetto di circuiti sequenziali sincroni #0.2.1
Per fare un circuito con determinate specifiche (costo, prestazioni…), si scelgono dei componenti, avendo informazioni di base sulla loro funzionalità, e li si assembla (topologia).
I sistemi digitali elaborano input digitali in output digitali (= binari).
Il circuito dispone di una libreria di componenti che rappresenta le porte logiche da interconnettere, rappresentabili con un grafo con:
- vertici = porte logiche
- archi = linee per il trasferimento dei dati tra le porte
Un circuito è definito da:
- struttura: da quali componenti è composto il circuito e come sono connessi questi componenti
- comportamento: ciò che fa
Dati un comportamento e una struttura, il progettista deve interconnettere i componenti tenendo conto del comportamento e del costo.
Il costo di progetto/sviluppo si paga una sola volta, ma è significativo → deve essere recuperato sul costo di produzione dei componenti (vivo), che deve essere relativamente basso. Il prodotto deve richiedere un costo di manutenzione ragionevole → meno guasti possibile e costi di riparazione bassi.
flusso di progetto: specifiche → sintesi → verifica → realizzazione
Il progettista di un circuito realizza prima un modello, che descrive le porte logiche e le loro interconnessioni che soddisfano le specifiche, quindi verifica tramite simulazione che si comporti come previsto prima di metterlo in produzione.
Il costo di progettazione a volte viene fatto in maniera top-down, partendo dalle specifiche e realizzando un progetto suddividendo il problema in sottoproblemi più semplici, oppure partendo da un modello simile già esistente e modificando alcune parti.
Riepiloghiamo i livelli di progettazione e vediamo quali sono le fasi che coinvolgono il progetto di circuiti logici:
Il progetto può avvenire a diversi livelli. Un approccio top-down prevede la discesa nei seguenti livelli:
- sistema: opera su blocchi di dati codificati in un certo modo (es. output allo schermo), e utilizza dei componenti già noti;
- registri: non opera su 0 e 1, ma sulle variabili (ad es. si progetta il circuito per il nuovo standard USB partendo da blocchi logici elementari e assemblandoli);
- porte logiche: gli elementi assemblati dal progettista sono le porte logiche, in grado di produrre dei segnali di uscita su ciascuna porta logica che dipendono dai segnali in ingresso e che sono determinati da funzioni booleane implementate in hardware;
- transistor: livello molto basso, ma sempre su grandezze digitali;
- elettrico: il circuito è descritto dal progettista a livello elettrico, cioè in termini di connessioni di componenti quali condensatori, induttori, ecc. → si riduce allo studio di un sistema di equazioni differenziali in cui compaiono correnti e tensioni.
Più si scende di livello, più il dettaglio di tempo è importante, e più piccoli e semplici devono essere i circuiti per poter essere studiati.
Per quanto riguarda i progettisti di circuiti logici si occupa del livello dei registri e del sistema.
Iscriviti ai nostri gruppi Telegram
Link utili