Logica e reti logiche

Docente: Francesco Pasquale

Comunicazioni

Sessione Invernale

25-02-2020 13:19

Primo Appello (3 febbraio 2020): Compito. Risultati.
(Prova orale il 5 febbraio, a partire dalle 14:30 in Aula 3A)

Secondo Appello (24 febbraio 2020): Compito. Risultati.
(Prova orale il 26 febbraio, a partire dalle 14:30 in Aula 3A)


Sessione Autunnale

19-09-2019 10:20

Primo Appello (11 settembre 2019): Compito. Risultati.
(Prova orale il 16 settembre, a partire dalle 10:00 in Aula 3A)

Secondo Appello (18 settembre 2019): Compito. Risultati.
(Prova orale il 20 settembre, a partire dalle 14:30 in Aula 3A)


Sessione Estiva

16-07-2019 16:59

Primo Appello (27 giugno 2019): Compito A, Compito B. Risultati.
(Prova orale il 1 luglio, a partire dalle 10:00 in Aula 3A)

Secondo Appello (15 luglio 2019): Compito. Risultati.
(Prova orale il 19 luglio, a partire dalle 10:00 in Aula 3A)


Test intermedi

14-06-2019 21:22

Primo Test (15 aprile 2019): Compito A, Compito B. Risultati.

Secondo Test (12 giugno 2019): Compito A, Compito B. Risultati.

Ammessi all'orale.


Lezioni

2612-06-2019

Secondo test intermedio: Compito A, Compito B. Risultati.

2510-06-2019

Esercitazione.

2405-06-2019

Rappresentazione dei numeri frazionari: notazione in virgola fissa e notazione in virgola mobile, lo standard IEEE 754.

2303-06-2019

Circuiti aritmetici: richiami sul circuito Sommatore/Sottratore (ripple-carry adder). Migliorare l'efficienza del circuito: sommatore/sottrattore con "anticipazione di riporto" (carry-lookahead adder). Cenni alle ALU (Arithmetic/Logic Unit) e ai circuiti per la moltiplicazione. ([2]: Cap. 5).

2229-05-2019

Cenni ai linguaggi per la descrizione dell'hardware (HDLs). Simulazione e sintesi. Esempi. ([2]: Cap. 4). Cenni ai sistemi di controllo versione e Git. (I software utilizzati durante la lezione sono: Icarus Verilog per la compilazione del codice Verilog, Yosys per la sintesi dei circuiti, GTKWave per le simulazioni).

2122-05-2019

Esercitazione.

2020-05-2019

Macchine alla Moore e macchine alla Mealy. Codifica degli stati: binaria e one-hot. Cenni a metastabilità e sincronizzatori. Modello matematico di automa a stati finiti. ([2]: Cap. 3)

1915-05-2019

Circuiti sequenziali sincroni. Macchine a stati finiti: equazioni, tabelle e diagrammi di stato. Esempi. ([2]: Cap. 3)

1813-05-2019

Introduzione ai circuiti sequenziali: Latch, Flip-Flop e registri. ([2]: Cap. 3)

1708-05-2019

Esercitazione.

1606-05-2019

I blocchi funzionali principali dei circuiti combinatori: Encoder, Decoder e Multiplexer. Funzioni Booleane e circuiti. Cenni al problema della temporizzazione. ([2]: Cap. 2)

1529-04-2019

Dalla logica ai circuiti per le operazioni aritmetiche. Esempi: Half Adder, Full Adder e un circuito Addizionatore/Sottrattore. Minimizzazione di formule in forma normale: Il codice Gray e le mappe di Karnaugh. ([2]: Cap. 2)

1417-04-2019

Introduzione alla seconda parte del corso: Reti Logiche. Rappresentazione delle informazioni: binaria, esadecimale, base64. Operazioni aritmetiche e conversioni. Rappresentazione dei numeri in complemento a due (esempio in c: numeri.c). ([2]: Cap. 1)

1315-04-2019

Primo test intermedio: Compito A, Compito B. Risultati.

1210-04-2019

Esercitazione.

1108-04-2019

Logica del Primo Ordine (III). Un sistema di assiomi per la logica del primo ordine. Cenni alle teorie del primo ordine e all'incompletezza sintattica. ([1]: Cap. 8-9)
Cenni ad altre logiche: Logica della conoscenza e il mistero degli isolani dagli occhi blu. (Chi volesse approfondire può vedere, per esempio, qui)

1003-04-2019

Logica del Primo Ordine (II). Formule valide e il metodo dei tableaux per la logica del primo ordine. Cenni a correttezza e completezza. ([1]: Cap. 9)

901-04-2019

Logica del Primo Ordine (I). Sintassi e semantica. Quantificatori, variabili, lettere predicative. Formule e interpretazioni nella logica del primo ordine. Formule valide vs tautologie. ([1]: Cap. 8)

827-03-2019

Esercitazione.

725-03-2019

Logica Proposizionale (IV). Sistemi assiomatici (Hilbert systems) per la logica proposizionale. Schemi di assiomi e regole di inferenza. La regola di inferenza Modus Ponens. Le definizioni di "Dimostrazione", "Teorema" e "Derivazione" in un sistema assiomatico. Un esempio di sistema assiomatico per la logica proposizionale. Il teorema di deduzione. Correttezza del sistema e cenni alla sua completezza. ([1]: Prima parte del Cap. 7 - Per approfondire si veda, per esempio, il Cap 1.4 in [3])

620-03-2019

Logica Proposizionale (III). Correttezza del metodo dei tableaux. Gli insiemi di Hintikka e il lemma di Hintikka. Completezza del metodo dei tableaux. ([1]: Cap. 6)

518-03-2019

Logica Proposizionale (II). Il metodo dei tableaux per dimostrare una formula. ([1]: Cap. 6). Cenni alla notazione polacca e alla notazione polacca inversa. Formule ben formate in notazione polacca.

413-03-2019

Esercitazione.

311-03-2019

Logica Proposizionale (I). Sintassi e semantica. Variabili, costanti e connettivi. Formule ben formate. Tabelle di verità. Tautologie, contraddizioni, contingenze. Interdipendenza dei connettivi: definire un connettivo in termini di altri connettivi. I connettivi joint denial (NOR) e alternative denial (NAND). ([1]: Cap. 5)

206-03-2019

I paradossi nella teoria elementare degli insiemi: "l'insieme di tutti gli insiemi", il paradosso di Russell, Hypergame. Richiami di matematica: il teorema di Cantor e le dimostrazioni per assurdo; il principio di induzione matematica e le dimostrazioni per induzione. ([1]: Cap 3 e 4)

104-03-2019

Introduzione al corso e descrizione del programma di massima. Richiami di matematica: teoria elementare degli insiemi; operatori Booleani ed equazioni Booleane; il metodo degli "indici" per verificare le equazioni Booleane; insiemi infiniti e cardinalità; insiemi numerabili; corrispondenze biunivoche. ([1]: Cap. 1 e 2)


Materiale didattico

Si veda la pagina del corso sul sito del docente

https://www.mat.uniroma2.it/~pasquale/dida/aa1819/lrl/index.html

Informazioni

Anno accademico2018-2019
Crediti6
SettoreINF/01
Anno1
Semestre2
PropedeuticitàNessuna

Programma

Prima Parte (Logica)

Richiami di matematica: teoria degli insiemi elementare, algebra Booleana, relazioni e funzioni, principio di induzione.
Logica proposizionale: connettivi logici, tabelle di verità, variabili, formule, tableaux. Sistemi assiomatici. Correttezza e completezza.
Logica del primo ordine: quantificatori, relazioni, proprietà e predicati, formule della logica del primo ordine. Tableaux del primo ordine.
Cenni al fenomeno dell'incompletezza.


Seconda Parte (Reti Logiche)

Sistemi numerici e rappresentazione dei numeri: binaria, esadecimale, base64. Le operazioni aritmetiche. Rappresentazione delle informazioni: le codifiche ASCII e Unicode; lo standard IEEE754 per i numeri in virgola mobile.

Funzioni Booleane e forme canoniche. Mappe di Karnaugh. Porte logiche e circuiti logici.
Circuiti combinatori: codificatori e decodificatori, multiplexer, sommatori e sottrattori.
Circuiti sequenziali: Latch e Flip-Flop. Sincronizzazione.

Cenni ai linguaggi per la descrizione dell'hardware (HDLs).

Automi a stati finiti.


Testi di riferimento

      Raymond M. Smullyan
[1]  A Beginner's Guide to Mathematical Logic
      Dover Publications, 2014
 
      Sarah L. Harris and David Money Harris
[2]  Sistemi digitali e architettura dei calcolatori
      Zanichelli, 2017


Ricevimento studenti

Durante il periodo delle lezioni (Marzo - Giugno 2019):
Giovedì 15:30 - 18:30 oppure su appuntamento.

Al di fuori del periodo delle lezioni:
Su appuntamento.


Modalità di esame

L'esame consiste in una prova scritta e in un colloquio orale.

Durante il corso si effettueranno due test intermedi. Gli studenti che ricevono una valutazione positiva a entrambi i test sono esonerati dalla prova scritta e ammessi a sostenere direttamente il colloquio orale.