Funzione logica

Esistono due tipi principali di funzioni logiche  :

Le funzioni di logica combinatoria direttamente dalla matematica ( algebra booleana ) sono gli strumenti di base dell'elettronica digitale . Sono implementati nell'elettronica sotto forma di porte logiche . Così l'elettronica calcola la logica delle funzioni algebriche booleane . Queste porte elettroniche sono costituite da diversi transistor opportunamente collegati.

In altre applicazioni, si possono trovare porte logiche basate su relè, fluidi o elementi ottici o meccanici. A seconda della modellizzazione utilizzata, si terrà conto o meno dei tempi di ritardo nei calcoli.

L' automazione e il computer utilizzano la logica combinatoria ma soprattutto la logica sequenziale.

Storico

Dalla ruota dentata alla molecola

Charles Babbage , intorno al 1837, progettò la "macchina analitica", un insieme di porte collegate a ruote dentate per eseguire operazioni logiche. Successivamente, le operazioni logiche sono state eseguite utilizzando relè elettromagnetici.

Nel 1891, Almon Brown Strowger ha depositato un brevetto per un dispositivo contenente un interruttore basato su una porta logica ( (en) US Patent 0,447,918 ). La sua invenzione è stata sfruttata a malapena fino agli anni 1920. Dal 1898, Nikola Tesla ha depositato una serie di brevetti per dispositivi basati su circuiti a porta logica. Alla fine, i tubi a vuoto hanno sostituito i relè per le operazioni logiche. Nel 1907, Lee De Forest modificò uno di questi tubi e lo usò come porta logica AND. Claude E. Shannon ha introdotto l'uso dell'algebra booleana nella progettazione di circuiti nel 1937. Walther Bothe , inventore del circuito delle coincidenze, ha ricevuto il Premio Nobel per la fisica nel 1954, per la creazione del primo cancello elettronico ED elettronico moderno nel 1924. La ricerca è attualmente in corso di realizzazione per la generazione di porte logiche molecolari.

Porte logiche con transistor

La forma più semplice di logica elettronica è la logica a diodi . Ciò consente la fabbricazione di porte AND e OR, ma non porte NOT, il che porta a una logica incompleta. Per creare un sistema logico completo, è necessario utilizzare lampade o transistor .

La più semplice famiglia di porte logiche che utilizzano transistor bipolari è chiamata transistor resistore o RTL ( logica transistor resistore ). A differenza delle porte a diodi, le porte RTL possono essere messe in cascata indefinitamente per produrre funzioni logiche complesse. Per diminuire il tempo di ritardo, le resistenze utilizzate dalle porte RTL sono state sostituite da diodi, che hanno dato origine alle porte logiche diodo-transistor o DTL ( diode-transistor logic ). Si è quindi scoperto che un transistor poteva svolgere il lavoro di due diodi sostituendone uno, il che ha portato alla creazione di porte logiche transistor-transistor o TTL ( transistor-transistor logic ). In alcuni tipi di circuiti, i transistor bipolari sono stati sostituiti da transistor ad effetto di campo ( MOSFET ) che hanno dato origine alla logica CMOS .

I progettisti di circuiti logici attualmente utilizzano circuiti integrati prefabbricati, in particolare in TTL, la serie 7400 di Texas Instruments , e in CMOS, la serie 4000 di RCA, così come i loro derivati ​​più recenti. La maggior parte di questi circuiti contiene transistor con diversi emettitori, utilizzati per implementare la funzione AND, e che non sono disponibili separatamente. Questi circuiti logici fissi vengono sempre più sostituiti da circuiti programmabili, che consentono ai progettisti di integrare un gran numero di porte logiche diverse in un unico circuito integrato . La natura programmabile di questi circuiti, compresi gli FPGA , ha tolto all'hardware il suo aspetto "duro": ora è possibile cambiare le funzioni logiche di un sistema riprogrammando alcuni dei suoi componenti, il che permette di modificare le caratteristiche di il sistema. "un circuito logico hardware.

Le porte logiche elettroniche differiscono in modo significativo dalle loro controparti di relè e contatti. Sono molto più veloci, meno avidi e molto più piccoli (almeno un milione di volte nella maggior parte dei casi). Inoltre, c'è una differenza fondamentale nella struttura. I circuiti di contatto creano un percorso continuo, in cui la corrente può fluire in entrambe le direzioni tra l'ingresso e l'uscita. La porta logica a semiconduttore, al contrario, funge da amplificatore di tensione , che riceve un segnale in ingresso e produce in uscita una tensione a bassa impedenza. La corrente non può fluire tra l'uscita e l'ingresso di un gate semiconduttore .

Un altro grande vantaggio dei circuiti logici standardizzati è che possono essere collegati in cascata. In altre parole, l'uscita di un cancello può essere collegata agli ingressi di uno o più cancelli, e così via all'infinito, il che consente di costruire circuiti di qualsiasi complessità senza la necessità di conoscere il funzionamento interno. In pratica, l'uscita di un gate può essere collegata solo a un numero finito di ingressi, ma questo limite viene raggiunto raramente nei circuiti CMOS più recenti rispetto ai circuiti TTL. Esiste anche un ritardo noto come ritardo di propagazione tra la modifica di un ingresso e la corrispondente modifica all'uscita. Nelle porte a cascata, il tempo di propagazione totale è approssimativamente uguale alla somma dei singoli tempi di propagazione, il che può essere un problema nei circuiti ad alta velocità.

Porte logiche a 3 stati

Le porte logiche chiamati "tre stati" hanno un'uscita che può assumere tre stati: su, giù come qualsiasi altro circuito logico ed uno stato terzo alta impedenza chiamato Z . Lo stato di alta impedenza non gioca alcun ruolo nella logica effettiva che rimane binaria, ma in effetti è equivalente a un circuito aperto, o ad una "assenza" di uscita. Questo stato permette di non "inquinare" il valore circolante sul bus dati a cui è collegato, quando questo circuito non deve cambiare stato.

Queste porte vengono utilizzate nei bus dei computer per scegliere il trasmettitore e il ricevitore dei dati che circolano sul bus; un gruppo di porte tri-state controllate da un opportuno circuito equivale a un multiplexer che può essere fisicamente distribuito su più dispositivi o più schede elettroniche.

Classificazione

Livelli logici

Nell'algebra booleana, i dati, sia di input che di output, hanno solo due livelli possibili. A seconda dell'applicazione, questi due livelli possono avere nomi diversi: on / off, alto / basso, uno (1) / zero (0), vero / falso, positivo / negativo, positivo / zero, circuito aperto / circuito chiuso, differenza potenziale / nessuna differenza, sì / no.

Nel caso di circuiti elettronici, i due livelli sono rappresentati da due livelli di tensione, "alto" e "basso". Ogni tipo di circuito ha i propri livelli di tensione, per garantire la connettività tra gli ingressi e le uscite dei circuiti. Di solito vengono definiti due livelli molto distinti (che non è probabile che si sovrappongano); la differenza tra i due livelli varia tra 0,7 V e 28 V (quest'ultimo nel caso dei relè).

Per armonizzare la notazione, questi due livelli verranno indicati qui 1 e 0.

Funzioni logiche elementari

Le porte possono essere classificate in base al numero di ingressi:

È possibile ricostruire le funzioni NOT , AND e OR utilizzando solo la funzione NAND o la funzione NOR . Questa caratteristica è evocata sotto la nozione di universalità degli operatori NOT-OR e NOT-AND (cfr. Il connettore binario di incompatibilità, chiamato anche barra di Sheffer ).

Quando si associano due porte logiche compatibili, è possibile collegare due ingressi insieme o un ingresso a un'uscita. In nessun caso devono essere collegate due uscite differenti in quanto possono produrre dati differenti; nel caso di cancelli elettronici, ciò equivarrebbe a un cortocircuito .

Rappresentazione

Per definire ciascuna delle funzioni logiche, daremo diverse rappresentazioni:

Nel caso delle porte elettroniche, un livello logico è rappresentato da una tensione definita (dipendente dal tipo di componente utilizzato). Ogni porta logica deve quindi essere alimentata per fornire la tensione di uscita appropriata. Nella rappresentazione in simboli logici, questo alimentatore non è rappresentato, ma deve essere in uno schema elettronico completo.

La rappresentazione di un sistema combinatorio comprendente più funzioni logiche può essere effettuata anche mediante un diagramma di contatto , un'equazione, una tabella di verità e un diagramma grafico. In quest'ultimo caso, parleremo di un diagramma di flusso.

Rappresentazione grafica

Due serie di simboli vengono utilizzati per rappresentare le funzioni logiche; entrambi sono definiti da ANSI / IEEE 91-1984 e dal suo supplemento 91a-1991. La rappresentazione del "simbolo distintivo", basata su diagrammi classici, viene utilizzata per diagrammi semplici ed è più facile da disegnare a mano. A volte è descritto come "militare", il che riflette le sue origini, se non il suo uso attuale.

La rappresentazione "rettangolare" si basa sullo standard IEC 60617-12; tutte le porte sono qui rappresentate con bordi rettangolari e un simbolo, che permette la rappresentazione di un maggior numero di tipologie di circuiti. Questo sistema è stato ripreso da altri standard come EN 60617-12: 1999 in Europa e BS EN 60617-12: 1999 nel Regno Unito.


Simboli e tabelle di verità delle porte logiche
genere Simbolo americano Simbolo europeo Valutazione Operazione
booleana
Tabella della verità diagramma di Venn
E E E
Ingresso Uscita
A B A AND B
0 0 0
0 1 0
1 0 0
1 1 1
O O O
Ingresso Uscita
A B A OR B
0 0 0
0 1 1
1 0 1
1 1 1
NO NO Funzioni logiche (2-ebis) .png
Ingresso Uscita
A NO A
0 1
1 0
NAND (NAND) NAND NAND
Ingresso Uscita
A B A NAND B
0 0 1
0 1 1
1 0 1
1 1 0
NON OR (NÉ) NÉ NÉ
Ingresso Uscita
A B A NÉ B
0 0 1
0 1 0
1 0 0
1 1 0
OR esclusivo (XOR) XOR XOR
Ingresso Uscita
A B A XOR B
0 0 0
0 1 1
1 0 1
1 1 0
Coincidenza, NON OR esclusiva XNOR XNOR
Ingresso Uscita
A B A XNOR B
0 0 1
0 1 0
1 0 0
1 1 1
FALSO
Ingresso Uscita
A B FALSO
0 0 0
0 1 0
1 0 0
1 1 0
VERO T
Ingresso Uscita
A B VERO
0 0 1
0 1 1
1 0 1
1 1 1


Una porta NAND può anche essere rappresentata utilizzando il simbolo OR con bolle (inverter) sugli ingressi e una porta NOR (NOR) può essere rappresentata da un simbolo AND con bolle sugli ingressi. Ciò riflette le leggi di equivalenza di De Morgan  ; questo può anche rendere più leggibile uno schema, o realizzare facilmente un circuito con cancelli prefabbricati, in quanto un circuito che ha bolle su entrambi i lati può essere sostituito con un circuito non invertito cambiando il cancello. Se una porta NAND è rappresentata da un OR con ingressi invertiti, o un NOR è rappresentato da un AND con ingressi invertiti, la sostituzione avviene automaticamente nel diagramma (le bolle “si cancellano”). Questo è comune negli schemi logici reali, quindi il lettore non deve abituarsi ad associare simboli con le porte OR e AND automaticamente, ma deve anche tenere conto degli inverter per determinare la corretta funzione rappresentata. Gli ingressi invertiti sono particolarmente utili per i segnali "attivi bassi".

Le altre due porte incontrate di frequente sono la funzione OR esclusiva e la sua inversa. Un OR esclusivo a due ingressi restituisce un 1 solo quando i due ingressi sono diversi e uno 0 quando sono uguali, indipendentemente dal loro valore. Se sono presenti più di due voci, il gate restituisce 1 se il numero di voci pari a 1 è dispari. In pratica, queste porte sono spesso costituite da combinazioni di porte logiche più semplici.

Convenzione di scrittura

La notazione evidenziata diventa rapidamente scomoda. È spesso sostituito dalla notazione "'" e, se necessario, da una parentesi. In tal modo :

Gli operatori fisici NON · E / NON · OR essendo scomodi nei calcoli, le ultime due relazioni (dette di doppio strato ) facilitano il collegamento tra calcolo e disegno; in tal modo :

Altre funzioni logiche

Multiplexer

Sono presenti 8 ingressi binari da x0 a x7 e 3 ingressi di controllo a, b, c, che consentono di visualizzare un numero da 0 a 7. Un multiplexer allinea le sue uscite s sull'ingresso il cui numero è visualizzato. Per questo, s = a 'b' c 'x0 + a' b 'c x1 + a' b c 'x2 + a' b c x3 + .... + a b c x7.

Ordinato Uscita
a b vs S
0 0 0 x0
0 0 1 x1
0 1 0 x2
0 1 1 x3
* * * *
1 1 0 x6
1 1 1 x7

Sommatori

Questo è il tipico esempio di celle logiche, raggruppamenti di funzioni delle stesse variabili, utilizzabili come mattoni o scatole nere in insiemi complessi.

semplice

Siano aeb due bit da aggiungere; il risultato è una coppia (r, s) tale che, aritmeticamente a + b = 2r + s. In termini booleani, r = a · be s = .

pieno

L'aggiunta di due bit aeb sarà molto spesso un'addizione intermedia che riceve un riporto r. Il risultato è quindi una coppia (R, S) tale che, aritmeticamente, a + b + r = 2R + S. In termini booleani, S = e R = MAJ (a, b, r), dove la porta MAJ (ority) ha per definizione MAJ (x, y, z) = xy + yz + xz.

sottrattore

Un sommatore completo può diventare un complemento a uno o un sommatore / sottrattore in complemento a due se somma i bit a e r, dove r è un riporto e $ un comando di 0 per l'addizione e 1 per la sottrazione. Quindi, il risultato è una coppia (R, S) dove S = e R = MAJ (a ,, r).

moltiplicatore

Un sommatore completo può diventare una cella del moltiplicatore se somma i bit a, bm e r, dove a è un po 'di una somma parziale di prodotti, b un po' del moltiplicando, m un po 'del moltiplicatore e r a riporto. Allora S = · e R = MAJ (a, b · m, r).

Al di là delle funzioni logiche puramente combinatorie, c'è il problema di immagazzinare un po ' di informazioni. Le porte logiche presentate sopra non memorizzano dati: quando un ingresso cambia, l'uscita reagisce immediatamente (fino al tempo di propagazione). È possibile creare elementi di archiviazione con condensatori o utilizzando il feedback . Collegando l'uscita di una porta al suo ingresso, l'uscita viene restituita al circuito logico; può quindi essere mantenuto o modificato utilizzando le altre voci. Collegando le porte in questo modo, creiamo un chiavistello . Altri circuiti un po 'più complessi utilizzano segnali di clock (segnali che oscillano a una frequenza nota) e cambiano quando il segnale di clock va a 1; si chiamano flop o bistabili ( flip-flop in inglese). Combinando più flip-flop in parallelo per memorizzare un valore di più bit, viene creato un registro .

I registri e gli altri circuiti di memorizzazione sono raggruppati sotto il termine "memorie elettroniche". Le loro prestazioni variano in termini di velocità della memoria, complessità e affidabilità. I loro tipi possono essere molto diversi a seconda dell'applicazione.

Automi con numero finito di stati

Loro capiscono :

Non appena tutte le variabili sono in forma binaria, possono essere realizzate utilizzando circuiti logici.

Possono essere semplici o federati in automi più complessi.

Unità funzionali

I circuiti logici possono anche produrre elementi come multiplexer , unità aritmetiche e logiche (in inglese: Arithmetic and Logic Unit o ALU ), memorie o automi che guidano un processore. I microprocessori mettono insieme tali elementi e possono contenere più di 100 milioni di porte logiche.

I componenti dei microprocessori sono basati su transistor ad effetto di campo, in particolare MOSFET .

Note e riferimenti

  1. (in) [PDF] Representations of Combinational Logic Circuits , su berkeley.edu, accesso 14 luglio 2016.

Vedi anche

Articoli Correlati

Bibliografia

link esterno

<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">