INDICE
1 Algebra di Boole ... 3
1.1 Esempio ... 6
1.2 Simboli alternativi per gli operatori logici: ... 7
1.3 Esercizi 1 ... 8
1.4 Esercizi 2 ... 9
2 Teoremi dell’algebra di Boole ... 10
2.1 Esempio di applicazione dei teoremi ... 11
2.1.1 Esercizio 1 ... 11
2.1.2 Esercizio 2 ... 11
2.1.3 Esercizio 3 ... 11
3 Passare dalla tabella di verità alla funzione booleana .. 12
4 Mappa di Karnaugh ... 13
4.1 Esempio 1 ... 13
4.2 Esempio 2 ... 14
4.3 Esempio 3 ... 15
4.4 Esercizi ... 16
4.4.1 Esercizio 1 ... 16
4.4.2 Esercizio 2 ... 16
4.4.3 Esercizio 3 ... 16
4.4.4 Esercizio 4 ... 16
4.4.5 Esercizio 5 ... 16
5 Le porte universali ... 17
5.1 Porta NOT con porte universali ... 17
5.2 Porta AND con porte universali ... 17
5.3 Porta OR con porte universali ... 17
5.4 Porta XOR con porte universali ... 18
5.5 Porta NAND con porte universali ... 18
5.6 Porta NOR con porte universali ... 18
6.1.3 Esercizio 3 ... 20
6.1.4 Esercizio 4 ... 20
7 I circuiti integrati ... 22
7.1 Famiglie logiche ... 23
7.2 TTL e CMOS ... 23
7.3 Datasheet ... 25
1 Algebra di Boole
L'algebra di Boole (anche detta algebra booleana o reticolo booleano) è un particolare tipo di algebra in cui le variabili e le funzioni possono solo avere valori 0 e 1. Deriva il suo nome dal matematico inglese George Boole che la ideò.
Un circuito digitale può essere espresso tramite un’espressione booleana e viceversa.
Poiché le variabili possono assumere solo i valori 0 o 1 una funzione booleana con n variabili di input ha solo 2n combinazioni possibili e può essere descritta dando una tabella, detta tabella di verità, con 2n righe. Esempio di tabella di verità per 3 variabili X,Y e Z che descrive una funzione booleana
La stessa funzione booleana può essere descritta usando degli operatori a cui corrispondono delle porte logiche.
Porta NOT - negazione logica
Tutte le funzioni booleane possono essere espresse come combinazione di questi tre operatori.
Altro operatore XOR
Altri operatori booleani negativi sono: NAND, NOR, NXOR Porta AND - prodotto logico
Porta OR - somma logica
Porta NAND - prodotto logico negato
Se ingressi uguali uscita 0
Se ingressi diversi uscita 1
Porta X-OR – OR esclusivo
Ogni porta logica, e quindi ogni espressione booleana, può essere tradotta in un circuito.
Considerando la seguente porte logiche:
Si può rappresentare in forma più compatta:
Porta NOR - somma logica negata
Porta X-NOR – OR esclusivo negato
X-NOR
Negare un ingresso di una porta logica
1.1 Esempio
Considerando la seguente circuito logico
Si determini la tabella di verità e la funzione booleana corrispondente.
Soluzione:
1.2 Simboli alternativi per gli operatori logici:
Operatore NOT - se la variabile è X, la negazione solitamente è indicata con un trattino sopra: X ,ma anche con un apostrofo: X’, modo alternativo ~X
Per il linguaggio C/C++ la negazione è !X Circuiti logici (o porta logica) alternativi:
Operatore AND (prodotto logico)– simbolo prodotto logico •,
˄, &
Per il linguaggio C/C++ è &&
Circuiti logici (o porta logica) alternativi:
Operatore OR (somma logica)- simboli somma logica +, ˅, e | Per il linguaggio C/C++ è ||
Circuiti logici (o porta logica) alternativi:
Operatore XOR (OR esclusivo)- simboli la somma , ^ Circuiti logici (o porta logica) alternativi:
Operatore NAND (prodotto log. negato)-simboli alternativo
↑
Circuiti logici (o porta logica) alternativi:
Operatore NOR (somma log. negata)- simboli alternativo
↓
Circuiti logici (o porta logica) alternativi:
Operatore NXOR (OR esclusivo negato)-
Circuiti logici (o porta logica) alternativi:
1 1
&
&
+
&
+ ≥
≥
=1
+
=1
1.3 Esercizi 1
Considerando la seguente circuiti logici, si ricavino la funzione booleana e la tabella di verità corrispondente:
1.1
1.2
1.3
1.4
1.5
1.4 Esercizi 2
Date le seguenti funzioni booleane ricavare la tabella di verità e i circuiti logici corrispondenti
2.1
𝐘 = 𝐀𝐁𝐂 + 𝐀𝐁𝐂 + 𝐀𝐂
2.2
𝐘 = 𝐀𝐁 + 𝐀𝐂
2.3
𝐘 = 𝐁𝐂 + 𝐀𝐂 + 𝐀𝐁
2.4
𝐘 = 𝐁 + 𝐀𝐁𝐂 + 𝐀𝐁𝐂
2.5
𝐘 = 𝐀𝐁𝐂 + 𝐁𝐂
2 Teoremi dell’algebra di Boole
Tramite le proprietà dell’algebra booleana è possibile semplificare espressione booleane complesse.
Il principio o teorema di dualità afferma che data una eguaglianza se ne ottiene un’altra sostituendo l’operatore AND con l’operatore OR,e sostituendo 1 con 0 e viceversa.
Denominazione Teorema Teorema duale
Teorema identità Teorema annullamento Termini uguali
Teorema dei complementi
Teorema della doppia negazione
Teoremi per più variabili
Denominazione Teorema Teorema duale
Proprietà commutativa Proprietà associativa Proprietà distributiva Proprietà dell’assorbim ento
𝑿 + 𝑿 ∙ 𝒀 = 𝑿 𝑿 + 𝑿 ∙ 𝒀 = 𝑿 + 𝒀
𝑿 ∙ 𝑿 + 𝒀 = 𝑿 𝑿 ∙ 𝑿 + 𝒀 = 𝑿 ∙ 𝒀
Teorema di DeMorgan’s
I teoremi di DeMorgan consente di trasformare una somma logica in un prodotto logico e viceversa
Dimostrazione dei teoremi di DeMorgan
2.1 Esempio di applicazione dei teoremi
2.1.1 Esercizio 1
Applicando i teoremi dell’algebra di Boole, verificare la seguente equivalenza tra espressioni
2.1.2 Esercizio 2
Applicando i teoremi dell’algebra di Boole, semplificare le seguenti espressioni e disegnarne la tavola di verità
2.1.3 Esercizio 3
Si valutino le espressioni booleani precedenti assumendo A=1
3 Passare dalla tabella di verità alla funzione booleana
Per passare dalla rappresentazione mediante tabella di verità alla notazione tramite espressione booleana è necessario:
1. Identificare tutte le righe della tabella di verità che danno 1 in output;
2. Per ogni riga con un 1 in output scrivere la configurazione delle variabili che la definiscono (tutte le variabili della configurazione saranno in AND tra loro)
3. Collegare tramite OR tutte le configurazioni ottenute.
Applico le regole riportate sopra per ricavare la funzione booleana da una tabella di verità:
A B C F
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1
𝐀 𝐁 𝐂 𝐀 𝐁𝐂 𝐀𝐁 𝐂 𝐀𝐁𝐂
𝐅 = 𝐀 𝐁 𝐂 + 𝐀 𝐁𝐂 + 𝐀𝐁 𝐂 + 𝐀𝐁𝐂
4 Mappa di Karnaugh
La semplificazione delle funzioni booleane può essere ottenuta anche mediante le mappe di Karnaugh o l’ algoritmo di Quine/McClusky.
4.1 Esempio 1
Supponiamo di avere questa tabella di verità e ricavo la funzione booleana.
A B C F
0 0 0 1
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1
Per semplificare costruisco la mappa di Karnaugh, sulla prima colonna riporto A e B con una sola variazione, posso partire con stessa cosa per . Nelle celle riporto gli 1 corrispondenti. Raggruppo gli 1 a coppie di due. Non riporto gli ingressi che si ripetono.
𝐂 𝐂
𝐀 𝐁
1𝐀𝐁
1𝐀𝐁
1𝐀 𝐁
1Verifico il risultato
𝐀 𝐁 𝐂 𝐁 𝐂 𝐁𝐂 𝐅 = 𝐁 𝐂 + 𝐁𝐂
0 0 0 1 0 1
0 0 1 0 0 0
0 1 0 0 0 0
0 1 1 0 1 1
1 0 0 1 0 1
𝐀 𝐁 𝐂 𝐀 𝐁𝐂
𝐀𝐁𝐂
𝐁 𝐂 𝐁𝐂
𝐀𝐁 𝐂 𝐅 = 𝐀 𝐁 𝐂 + 𝐀 𝐁𝐂 + 𝐀𝐁 𝐂 + 𝐀𝐁𝐂
𝐀 𝐁 , 𝐀𝐁 , 𝐀𝐁, 𝐀 𝐁, 𝐂
𝐅 = 𝐁 𝐂 + 𝐁𝐂
4.2 Esempio 2
Supponiamo di avere questa tabella di verità e ricavo la funzione booleana.
A B C F
0 0 0 1
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 0
Per semplificare costruisco la mappa di Karnaugh, sulla prima colonna riporto A e B con una sola variazione, posso partire con stessa cosa per . Nelle celle riporto gli 1 corrispondenti. Raggruppo gli 1 a coppie di due. Non riporto gli ingressi che si ripetono.
𝐂 𝐂
𝐀 𝐁
1 1𝐀𝐁
1𝐀𝐁
𝐀 𝐁
1Verifico il risultato
𝐀 𝐁 𝐂 𝐁 𝐂 𝐀 𝐂 𝐅 = 𝐁 𝐂 + 𝐀 𝐂
0 0 0 1 0 1
0 0 1 0 1 1
0 1 0 0 0 0
0 1 1 0 1 1
1 0 0 1 0 1
1 0 1 0 0 0
1 1 0 0 0 0
1 1 1 0 0 0
𝐀 𝐁 𝐂 𝐀 𝐁𝐂 𝐀𝐁 𝐂
𝐅 = 𝐀 𝐁 𝐂 + 𝐀 𝐁 𝐂 + 𝐀 𝐁𝐂 + 𝐀𝐁 𝐂
𝐁 𝐂 𝐀 𝐂
𝐀 𝐁 , 𝐀𝐁 , 𝐀𝐁, 𝐀 𝐁, 𝐂
𝐅 = 𝐁 𝐂 + 𝐀 𝐂
𝐀 𝐁 𝐂
4.3 Esempio 3
Supponiamo di avere questa tabella di verità e ricavo la funzione booleana.
A B C F
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 0
Per semplificare costruisco la mappa di Karnaugh, sulla prima colonna riporto A e B con una sola variazione, posso partire con stessa cosa per . Nelle celle riporto gli 1 corrispondenti. Raggruppo gli 1 a coppie di due, uno rimane spaiato. Non riporto gli ingressi che si ripetono.
𝐂 𝐂
𝐀 𝐁
1𝐀𝐁
1𝐀𝐁
𝐀 𝐁
1Verifico il risultato
𝐀 𝐁 𝐂 𝐁 𝐂 𝐀 𝐁𝐂 𝐅 = 𝐁 𝐂 + 𝐀 𝐁𝐂
0 0 0 0 0 0
0 0 1 1 0 1
0 1 0 0 0 0
0 1 1 0 1 1
1 0 0 0 0 0
1 0 1 1 0 1
1 1 0 0 0 0
𝐀 𝐁 𝐂
𝐀 𝐁𝐂 𝐀𝐁 𝐂
𝐁 𝐂 𝐀 𝐁𝐂
𝐅 = 𝐀 𝐁 𝐂 + 𝐀 𝐁𝐂 + 𝐀𝐁 𝐂
𝐀 𝐁 , 𝐀𝐁 , 𝐀𝐁, 𝐀 𝐁, 𝐂
𝐅 = 𝐁 𝐂 + 𝐀 𝐁𝐂
4.4 Esercizi 4.4.1 Esercizio 1
Si scriva, utilizzando gli operatori booleani AND, OR, NOT, la funzione booleana che ritorna in uscita il valore 1 se sono veri un numero dispari dei tre input
4.4.2 Esercizio 2
Si scriva, utilizzando gli operatori booleani AND, OR, NOT, la funzione booleana che ritorna in uscita il valore 1 se sono veri due dei quattro input
4.4.3 Esercizio 3
Si scriva, utilizzando gli operatori booleani AND, OR, NOT, la funzione booleana che riceve in ingresso un numero binario su 3 bit e ritorna in uscita il valore 1 se e solo se il numero che c'è in ingresso è maggiore o uguale a quattro.
4.4.4 Esercizio 4
Dati gli operatori booleani AND, OR, NOT, scrivere l'espressione di una funzione booleana Y avente come ingressi due numeri binari A e B su 2 bit, che ritorni il valore 1 se A
> B.
4.4.5 Esercizio 5
Una cassaforte ha quattro lucchetti, x, y, v, w, che devono essere tutti aperti affinché la cassaforte possa essere aperta. Le chiavi sono distribuite tra 3 persone, A, B, C, come segue: A possiede le chiavi v e y; B possiede le chiavi v e x; C possiede le chiavi w e y. Siano le variabili A, B e C uguali a 1 se la persona corrispondente è presente, altrimenti uguali a 0. Costruire la tavola della verità della funzione f(A,B,C) che è uguale ad 1 se e solo se la cassaforte può essere aperta, ed esprimere la funzione in forma algebrica.
5 Le porte universali
Tutti i circuiti digitali possono essere espressi utilizzando solo porte NAND o NOR dato che tutte le porte logiche
fondamentali sono esprimibili in funzione di queste due.
5.1 Porta NOT con porte universali
5.2 Porta AND con porte universali
5.3 Porta OR con porte universali
5.4 Porta XOR con porte universali
5.5 Porta NAND con porte universali
5.6 Porta NOR con porte universali
6 Circuito elettrico equivalente alle porte logiche
Il circuito equivalente della porta logica AND è un circuito elettrico con due interruttori A e B in serie. Soltanto quando i due interruttori A e B sono chiusi ( abbassati ) il segnale elettrico può alimentare la lampadina Y. Ciò consente di ottenere la medesima funzione dell'operatore logico AND.
Il circuito equivalente della porta logica OR è, invece, un circuito elettrico con due interruttori in parallelo. Il segnale elettrico alimenta la lampadina Y quando almeno uno dei due interruttori A o B è chiuso ( abbassato ). Ciò consente di ottenere la medesima dell'operatore logico OR.
Il circuito equivalente della porta logica NOT è un circuito elettrico con un interruttori A normalmente chiuso (NC).
L’interruttori A normalmente chiuso ( abbassato ) il segnale elettrico alimenta la lampadina Y. Ciò consente di ottenere la medesima funzione dell'operatore logico NOT.
Y
B Y A
A B
𝐀 Y
6.1 Esercizi 6.1.1 Esercizio 1
Dal seguente circuito elettrico risalire alla funzione booleana, alla tabella della verità e circuito logico.
6.1.2 Esercizio 2
Dal seguente circuito elettrico risalire alla funzione booleana, alla tabella della verità e circuito logico.
6.1.3 Esercizio 3
Un congegno si mette in moto se giro la chiavetta C o se aziono due interruttori assieme X e Y.
Si rappresenti il circuito elettrico. Si ricavi la funzione booleana, la tavola di verità e il circuito con le porte logiche.
6.1.4 Esercizio 4
L’impianto di riscaldamento si mette in funzione se scade l’ora stabilita e c’è una temperatura inferiore a quella
prefissata oppure schiaccio il tasto di accensione e disattivo l’orologio.
1) Si rappresenti il circuito elettrico. Si ricavi la funzione booleana, la tavola di verità e il circuito con le porte logiche.
2) Oggi c’è una temperatura inferiore a quella prefissata ed ho premuto il tasto: si è acceso l’impianto?
7 I circuiti integrati
Le porte logiche commercializzate sono sotto forma di circuiti integrati. Un circuito integrato in generale è un circuito elettronico complesso (contenente a volte molte migliaia di componenti singoli, quali transistor, diodi, resistenze etc.) interamente realizzato su un'unica piastrina (chip) di materiale semiconduttore (di solito silicio).
Per garantire l'isolamento elettrico e il corretto collegamento del circuito, il chip viene incapsulato in un contenitore, di solito di materiale plastico, detto package.
Dal package spuntano i terminali metallici (piedini o pin) di connessione del circuito. Il tipo di package più usato per le porte logiche e i circuiti digitali più semplici è il DIP (Dual In-Line Package), il quale presenta 14 pin suddivisi in due file di 7 sui due lati del contenitore. La figura seguente mostra un chip di silicio montato all'interno di un DIP:
In un unico circuito integrato sono contenute più porte logiche. Per esempio la figura seguente mostra la piedinatura (pin-out) di un 7404, un integrato contenente al proprio interno sei porte NOT:
Si noti che oltre ai terminali di ingresso e di uscita delle porte NOT, l'integrato presenta anche un terminale di alimentazione Vcc e un terminale di massa GND.
7.1 Famiglie logiche
Una famiglia logica (logic family) è un gruppo di integrati digitali realizzati con le stesse tecnologie e compatibili elettricamente fra loro. In pratica tutti i componenti appartenenti alla stessa famiglia logica possono essere collegati l'uno con l'altro.
Una famiglia logica non è una particolare "marca" di componenti digitali (come per esempio invece sono Nationals, Motorola, Fairchild, Philips etc.).
7.2 TTL e CMOS
Le due famiglie logiche più diffuse sono la TTL (Transistor Transistor Logic), a sua volta suddivisa nelle sottofamiglie Low-power TTL, High-speed TTL, Schottky TTL, Low-power Schottky e altre ancora, e la CMOS (Complementary Metal Oxide Semiconductor). I componenti TTL non sono in generale compatibili con i CMOS e viceversa, a meno di utilizzare opportuni circuiti di interfacciamento. Vi sono però alcune sottofamiglie CMOS dette TTL compatibili, cioè progettate apposta per essere elettricamente compatibili con i TTL.
Gli integrati della famiglia TTL sono contraddistinti dalla sigla 74 (o 54 per la serie militare) seguita da altre due cifre che identificano il tipo di integrato. La tabella seguente mostra le sigle corrispondenti alle principali porte logiche elementari:
Sigla Integrato
7400 4 NAND a 2 ingressi 7402 4 NOR a 2 ingressi 7404 6 NOT
7408 4 AND a 2 ingressi 7432 4 OR a 2 ingressi 74386 4 XOR a 2 ingressi
Nella sigla sono a volte presenti lettere aggiuntive che identificano la sottofamiglia logica (L =Low Power, H = High Speed, S = Schottky, LS = Low Power Schottky etc.). Per esempio 74LS08 indica un quadruplo AND appartenente famiglia TTL Low Power Schottky.
integrati CMOS (si noti che i numeri non coincidono con quelli delle porte TTL corrispondenti):
Sigla Integrato
4001 4 NOR a 2 ingressi 4011 4 NAND a 2 ingressi 4049 6 NOT
4081 4 AND a 2 ingressi 4071 4 OR a 2 ingressi 4070 4 XOR a 2 ingressi
Occorre anche sapere che le sottofamiglie CMOS compatibili con i TTL usano invece le stesse sigle dei TTL e sono contraddistinte dalle sigle C, HC o HCT (es. 74HC08).
La tabella seguente confronta fra loro le caratteristiche elettriche delle principali sottofamiglie TTL e CMOS:
Famiglia Sottofamiglia
Ritardo di propagazione
(ns)
Potenza dissipata per singola porta a
1 MHz (mW)
Intervallo tipico di alimentazione V
TTL - 10 10 5 (4.75-5.25)
TTL L 33 1 5 (4.75-5.25)
TTL H 6 22 5 (4.75-5.25)
TTL S 3 19 5 (4.75-5.25)
TTL LS 10 2 5 (4.75-5.25)
TTL ALS 4 1.3 5 (4.5-5.5)
TTL F 3.5 5.4 5 (4.75-5.25)
TTL AS 2 8 5 (4.5-5.5)
CMOS AC/ACT 3 0.5 3.3 o 5 (2-6 o 4.5-
5.5)
CMOS HC/HCT 9 0.5 5 (2-6 o 4.5-5.5)
CMOS 4000B/74C 30 1.2 10V (3-18)
Le due famiglie differiscono fra loro anche per quanto riguarda i livelli di tensione considerati come basso (L) e alto (H). Nei TTL i due livelli sono 0 V e 5 V (entrambi con una fascia di tolleranza). Nei CMOS invece il livello basso è sempre 0 V, mentre il livello alto corrisponde alla tensione di alimentazione, che può assumere valori diversi.
Per quanto riguarda le prestazioni, in generale i CMOS dissipano meno potenza dei TTL, ma la potenza dissipata cresce
all'aumentare della frequenza dei segnali; i CMOS sono più delicati e si danneggiano più facilmente dei TTL; i CMOS presentano una migliore immunità al rumore rispetto ai TTL.
I livelli di tensione e i relativi limiti corrispondenti ai valori L (low) e H (High) per le diverse famiglie logiche sono mostrati nella figura seguente:
7.3 Datasheet Famiglia TTL
serie 74,74LS,74F https://www.futurlec.com/IC74Series.shtml famiglia CMOS compatibili con TTL
serie 74HC https://www.futurlec.com/IC74HC00Series.shtml famiglia CMOS
serie 4000 https://www.futurlec.com/IC4000Seriesb.shtml