Lezione N° 1 FUNZIONI LOGICHE GEORGE BOOLE George Boole, nel 1854, pubblicò un libro, An Investigations of the Laws of Thought (Un esame sulle leggi logiche del pensiero), in cui dimostrava che la maggior parte del pensiero logico, privata di particolari irrilevanti e verbosità, potesse essere concepita come una serie di scelte. Questa idea è divenuta la base dei circuiti digitali. 1 Lezione N° 1 FUNZIONI LOGICHE ALGORITMO Qualsiasi processo logico può essere ricondotto ad una sequenza di eventi elementari, che nell'insieme prende il nome di algoritmo. Tale sequenza può essere rappresentata con un diagramma di flusso (Flow chart), il quale a sua volta è facilmente traducibile in un programma o in un circuito. 2 Lezione N° 1 FUNZIONI LOGICHE DIAGRAMMA DI FLUSSO Per la visualizzazione di un problema con un diagramma di flusso, sono utilizzati vari simboli grafici standard: il rombo per indicare controlli decisionali il rettangolo per indicare operazioni da effettuare. 3 Lezione N° 1 FUNZIONI LOGICHE ESEMPIO DIAGRAMMA DI FLUSSO "esco se è bel tempo ed è caldo” la decisione comporta il verificarsi delle due condizioni evidenziate in verde 4 Lezione N° 1 FUNZIONI LOGICHE ESEMPIO DIAGRAMMA DI FLUSSO "esco se è bel tempo o è caldo” la decisione comporta il verificarsi di almeno una fra due condizioni. 5 Lezione N° 1 FUNZIONI LOGICHE DAL DIAGRAMMA DI FLUSSO AL LINGUAGGIO NUMERICO Il diagramma di flusso deve essere convertito in un linguaggio numerico, il solo comprensibile da un sistema elettronico. Ciò si ottiene con gli operatori logici elementari. "esco se è bel tempo ed è caldo” A = 1 corrisponde all'evento "bel tempo" B = 1 corrisponde all'evento "caldo" C = 1 corrisponde all'azione "esco“ A = 0 corrisponde all'evento "non bel tempo" B = 0 corrisponde all'evento "non caldo" C = 0 corrisponde all'azione "resto in casa" A 0 0 1 1 B 0 1 0 1 C 0 0 0 1 C=A•B 6 Lezione N° 1 FUNZIONI LOGICHE DAL DIAGRAMMA DI FLUSSO AL LINGUAGGIO NUMERICO "esco se è bel tempo o è caldo” A = 1 corrisponde all'evento "bel tempo" B = 1 corrisponde all'evento "caldo" C = 1 corrisponde all'azione "esco“ A = 0 corrisponde all'evento "non bel tempo" B = 0 corrisponde all'evento "non caldo" C = 0 corrisponde all'azione "resto in casa" A 0 0 1 1 B 0 1 0 1 C 0 1 1 1 C=A+B C = A + B e C = A • B sono funzioni logiche ed i circuiti logici che le realizzano sono le porte logiche 7 Lezione N° 1 FUNZIONI LOGICHE PORTA LOGICA AND AND è una porta logica che riceve in ingresso almeno due valori e restituisce 1 solo se tutti i valori di ingresso hanno valore 1. A Y=A•B B A 0 0 1 1 B 0 1 0 1 Y=A •B 0 0 0 1 Tabella di verità 8 Lezione N° 1 FUNZIONI LOGICHE PORTA LOGICA OR OR è una porta logica che riceve in ingresso almeno 2 valori e restituisce 1 se almeno un valore di ingresso ha valore 1. A Y=A+B B A 0 0 1 1 B 0 1 0 1 Y=A +B 0 1 1 1 Tabella di verità 9 Lezione N° 1 FUNZIONI LOGICHE PORTA LOGICA NAND La porta NAND restituisce la negazione di una porta AND e quindi restituisce 0 solo quando tutti i valori in ingresso sono 1. A Y=A•B B A 0 0 1 1 B 0 1 0 1 Y=A •B 1 1 1 0 Tabella di verità 10 Lezione N° 1 FUNZIONI LOGICHE PORTA LOGICA NOR La porta NOR restituisce la negazione di una porta OR e quindi restituisce 1 solo quando tutti i valori in ingresso sono 0. A Y=A+B B A 0 0 1 1 B 0 1 0 1 Y=A +B 1 0 0 0 Tabella di verità 11 Lezione N° 1 FUNZIONI LOGICHE PORTA LOGICA NOT E’ la porta logica che inverte il segnale in ingresso. Ha un solo ingresso ed una uscita che sarà 1 se l'ingresso è 0 e 0 altrimenti. A Y=A A 0 1 Y=A 1 0 Tabella di verità 12 Lezione N° 1 FUNZIONI LOGICHE PORTA LOGICA XOR XOR (eXclusive OR) è una porta logica che riceve in ingresso 2 valori e restituisce "1" in uscita se e solo se, gli ingressi sono diversi. A Y=AB B A 0 0 1 1 B 0 1 0 1 Y=A B 0 1 1 0 Tabella di verità 13 Lezione N° 1 FUNZIONI LOGICHE PORTA LOGICA XNOR XNOR (eXclusive NOR) è una porta logica che riceve in ingresso 2 valori e restituisce "1" in uscita se e solo se, entrambi gli ingressi sono uguali. A Y=AB B A 0 0 1 1 B 0 1 0 1 Y=A B 1 0 0 1 Tabella di verità 14 Lezione N° 1 FUNZIONI LOGICHE COMBINAZIONE DI PORTE LOGICHE La combinazione di più porte logiche, permette di ottenere risultati più articolati. Per esempio, la frase "se è bel tempo ed è caldo esco; tuttavia, se ho un impegno esco in ogni caso" richiede una porta AND ed una porta OR unite tra loro come in figura. Bel tempo Caldo esco Impegno 15