Elettronica/Introduzioni alle reti logiche

Wikibooks, manuali e libri di testo liberi.
Jump to navigation Jump to search

Una rete logica è un modello che serve per rappresentare e risolvere un problema logico facendo uso di variabili booleane ovvero che possano assumere solo due valori denominati 0 e 1 logico. Alla base di questa rappresentazione c'è l'algebra booleana. Le reti logiche possono essere di due tipi: reti combinatorie e reti sequenziali. Le prime sono reti le cui uscite dipendono solo da una combinazione delle variabili in ingresso, le seconde invece hanno memoria nel senso che l'uscita non dipende solo dagli ingressi in quell'istante ma anche dalle uscite precedenti. Reti di questo tipo sono anche sincrone ovviamente perché l'istante non è un concetto generico ma è rigorosamente scandito dal clock. Il segnale di clock scandisce la temporizzazione con cui vengono campionati gli eventi che interessano il sistema. In questo capitolo saranno descritti i fondamentali dell'algebra booleana e i principali concetti alla base delle reti logiche. Una trattazione rigorosa esula dagli scopi di questo capitolo e per essa si rimanda a testi specializzati come "Reti logiche e calcolatori" di Fabrizio Luccio e Linda Pagli.

Operazioni Booleane[modifica]

Le possibili operazioni booleane sono definite così come segue:

1) NOT -> è una operazione unaria che consiste nel negare una variabile booleana. Se la variabile vale 1 la sua negata vale 0 e viceversa

2) AND -> è anche nota come prodotto logico. Il risultato di questa operazione è 1 solo se tutte le variabili coinvolte valgono 1

3) OR -> è anche nota come somma logica. Il risultato è 1 se almeno una delle variabili coinvolte vale 1

4) XOR -> questa funzione è alla base dei circuiti aritmentici e può essere ottenuta per combinazione delle altre precedenti.

Per ognuna di queste funzioni è possibile definire una tabella di verità in cui vengono enunciati i valori in uscita in base ai valori in ingresso.

Teoremi dell'algebra booleana[modifica]

Funzioni booleane[modifica]

A partire dalle operazioni logiche fondamentali è possibile ottenere funzioni più complesse combinando assieme più variabili booleane. Da qui il nome Reti Combinatorie ovvero reti che formano una combinazione di variabili per mezzo degli operatori logici. Per esempio il termine sarebbe mettere in AND le variabili a e b. Se abbiamo più condizioni da rispettare che possono essere congiunte tra loro entra in ballo l'operatore di OR: ; Questo si legge come a AND b OR c AND d e significa che la rete darà in uscita un uno logico solo se saranno vere contemporaneamente a e b oppure c e d oppure ancora a, b e c ma non d oppure ancora a,c e d ma non b e così via. In pratica avremo in uscita un 1 logico purché una delle due operazioni di AND dia un 1 logico. Tutto questo può viene generalmente accompagnato da due rappresentazioni: 1) Le tabelle della verità

2) Gli schemi a porte logiche

Mentre per le tabelle di verità si è già spesa qualche parolina, vale ora la pena di descrivere un po' meglio a che serve quest'altro metodo di rappresentazione.

Le porte logiche[modifica]

Le porte logiche sono alla base dell'elettronica digitale. Ciascuna funzione logica che serve a ottenere il risultato voluto può venire rappresentata sotto forma di porte logiche. L'elettronica digitale si occupa di implementare fisicamente le porte logiche facendo uso di dispositivi elettronici. Quindi se vogliamo uno schema a porte logiche non è altro che l'ultimo livello dell'astratto mondo matematico booleano e la sua realizzazione pratica è il circuito su silicio vero e proprio.

Minimizzazione delle funzioni logiche[modifica]

Mappe di Karnaugh[modifica]

Algoritmo di Quine - McCluskey[modifica]

Automi a stati finiti[modifica]

Minimizzazione di automi - L'algoritmo a scala[modifica]