ARDWARE #15 Sintesi di Circuiti Logici – Prodotto di Somme

Obiettivo: Imparare a sintetizzare il comportamento di un circuito combinatorio partendo da una specifica tabella di verità mediante il prodotto di somme.

Componenti elettronici:

  • Porte Logiche (i.e., AND, OR, e NOT)

TeoriaUn circuito combinatorio è costituito da una serie di porte logiche opportunamente collegate tra loro con l’obiettivo di implementare una specifica funzione logica. Alcune delle porte logiche più utilizzate nell’ingegneria dell’informazione sono le porte: AND OR e NOT.

Le principali operazioni associate ad una rete logica sono due:

  • Analisi di una rete logica: dato un circuito combinatorio vengono determinate la funzione logica e la tabella di verità.
  • Sintesi di una rete logica: data la tabella di verità viene determinato il circuito combinatorio che implementa la rete.

Nel corso di questa lezione l’attenzione sarà focalizzata sulla sintesi di una rete logica. Nello specifico, la tecnica presentata per effettuare la sintesi di una rete logica viene denominata Prodotto di Somme e consiste in una procedura algoritmica che può essere facilmente applicata a tutte le differenti tabelle di verità.

Un’altra tecnica utilizzata per la sintesi di una rete logica è la somma di prodotti. Maggiori dettagli sono forniti al seguente link:


ARDWARE #14 Sintesi di Circuiti Logici – Somma di Prodotti


Il PRODOTTO DI SOMME (PoS – Product of Sum) è costituito dal prodotto logico dei maxtermini associati alle righe della tabella nella quale l’uscita assume valore 0.
Nel dettaglio un maxtermine è definito come la somma logica delle variabili booleane prese in forma diretta o negata a seconda se assumono valore 0 o 1.
A seguire, viene riportata la tabella dei maxtermini.

A B C Maxtermine
0 0 0 A+B+C
0 0 1 A+B+C
0 1 0 A+B+C
0 1 1 A+B+C
1 0 0 A+B+C
1 0 1 A+B+C
1 1 0 A+B+C
1 1 1 A+B+C

In analogia alla tabella di verità, è importante considerare che date n variabili di input il numeri di maxtermini è pari a 2n.

Esempio:
Al fine di illustrare in dettaglio il processo di prodotto di somme viene riportato un esempio specifico partendo dalla seguente tabella di verità:

A B C Y
0 0 0 1
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 0

1) Si prendono in considerazione solamente le uscite pari a 0 della tabella di verità, per ogni uscita si prendono i maxtermini di riferimento.

Input: 1 0 0 -> Maxtermine: A+B+C

Input: 1 1 1 -> Maxtermine: A+B+C

2) Si moltiplicano le somme precedentemente determinate per ottenere la funzione logica che implementa la tabella di verità di partenza.

Y= (A+B+C)*(A+B+C)

3) Si rappresenta la rete logica che implementa la funzione logica precedentemente determinata.

Circuito combinatorio di sintesi mediante prodotto di somme

Esercizi di Approfondimento:

Vengono in seguito riportati alcuni esercizi che possono essere facilmente eseguiti al fine di comprendere se i concetti presentati sono stati opportunamente acquisiti. Pertanto si chiede di determinare la rete combinatoria legata alle seguenti tabelle di verità:

  • Esercizio 1

A B C Y
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1

  • Esercizio 2

A B C Y
0 0 0 1
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 0

Considerazioni:

Le principali tecniche utilizzate per la sintesi di una rete logica, sono la somma di prodotti (SoP) ed il prodotto di somme (PoS). Sebbene il procedimento applicato possa sembrare analogo e pertanto la scelta del metodo di sintesi possa risultare ad appannaggio del progettista, in realtà i due metodi presentano differenti vantaggi computazionali in base alla tabella di verità da sintetizzare.
Nello specifico per tabelle di verità la cui uscita assume più facilmente un valore pari ad 1 è opportuno utilizzare la somma di prodotti.
Differentemente per tabelle di verità la cui uscita assume più facilmente un valore pari ad 0 è opportuno utilizzare il prodotto di somme.




ARDWARE #14 Sintesi di Circuiti Logici – Somma di Prodotti

Obiettivo: Imparare a sintetizzare il comportamento di un circuito combinatorio partendo da una specifica tabella di verità mediante la somma di prodotti.

Componenti elettronici:

  • Porte Logiche (i.e., AND, OR, e NOT)

TeoriaUn circuito combinatorio è costituito da una serie di porte logiche opportunamente collegate tra loro con l’obiettivo di implementare una specifica funzione logica. Alcune delle porte logiche più utilizzate nell’ingegneria dell’informazione sono le porte: AND OR e NOT.

Maggiori informazioni in merito a queste porte logiche possono essere reperite nei seguenti link.


ARDWARE #3 Porta Logica NOT 74HC04



ARDWARE #5 Porta Logica OR 74HC32



ARDWARE #4 Porta Logica AND 74HC08


Le principali operazioni associate ad una rete logica sono due:

  • Analisi di una rete logica: dato un circuito combinatorio vengono determinate la funzione logica e la tabella di verità.
  • Sintesi di una rete logica: data la tabella di verità viene determinato il circuito combinatorio che implementa la rete.

La tecnica illustrata nel corso di questa lezione per effettuare la sintesi di una rete logica viene denominata Somma di Prodotti e consiste in una procedura algoritmica che può essere facilmente applicata a tutte le differenti tabelle di verità.
Nello specifico, la SOMMA DI PRODOTTI (SoP – Sum of Product) è costituita dalla somma logica dei mintermini associati alle righe della tabella nella quale l’uscita assume valore 1.
Nel dettaglio un mintermine è definito come il prodotto logico delle variabili booleane prese in forma diretta o negata a seconda se assumono valore 1 o 0.
A seguire la tabella dei mintermini.

A B C Mintermine
0 0 0 A B C
0 0 1 A B C
0 1 0 A B C
0 1 1 A B C
1 0 0 A B C
1 0 1 A B C
1 1 0 A B C
1 1 1 A B C

In analogia alla tabella di verità, è importante considerare che date n variabili di input il numeri di mintermini è pari a 2n.

Esempio:
Al fine di illustrare in dettaglio il processo di somma di prodotti viene riportato un esempio specifico partendo dalla seguente tabella di verità:

A B C Y
0 0 0 0
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 0

1) Si prendono in considerazione solamente le uscite pari ad 1 della tabella di verità, per ogni uscita si prendono i mintermini di riferimento.

Input: 0 1 1 -> Mintermine: A B C

Input: 1 0 0 -> Mintermine: A B C

2) Si sommano i mintermini precedentemente determinati per determinare la funzione logica che implementa la tabella di verità di partenza.

Y: A B C + A B C

3) Si rappresenta la rete logica che implementa la funzione logica precedentemente determinata.

Circuito combinatorio di sintesi

Esercizi di Approfondimento:

Vengono in seguito riportati alcuni esercizi che possono essere facilmente eseguiti al fine di comprendere se i concetti presentati sono stati opportunamente acquisiti. Pertanto si chiede di determinare la rete combinatoria legata alle seguenti tabelle di verità:

  • Esercizio 1

A B C Y
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 0

  • Esercizio 2

A B C Y
0 0 0 1
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 0




ARDWARE #12 Analisi di Circuiti Logici – Circuito Combinatorio

Obiettivo: Imparare ad analizzare il comportamento di un circuito combinatorio costituito dalla connessione di più porte logiche.

Componenti elettronici:

  • Porte Logiche (i.e., AND, OR, e NOT)

TeoriaUn circuito combinatorio è costituito da una serie di porte logiche opportunamente collegate tra loro con l’obiettivo di implementare una specifica funzione logica.
E’ importante considerare che le reti logiche combinatorie sono quelle reti in cui lo stato d’uscita dipende solamente dal valore degli ingressi assunto in quel determinato istante.

Al fine di poter analizzare un circuito combinatorio è opportuno conoscere il funzionamento delle singole porte logiche che costituiscono il circuito stesso.


ARDWARE #3 Porta Logica NOT 74HC04



ARDWARE #5 Porta Logica OR 74HC32



ARDWARE #4 Porta Logica AND 74HC08


Viene in seguito riportato un esempio di circuito combinatorio. Tale circuito sarà analizzato considerando tutte le possibili combinazioni di valori assunti dai differenti input del sistema con l’obiettivo di determinarne la tabella di verità della rete logica combinatoria.
Nello specifico il circuito presenta tre differenti ingressi: l’ingresso A, l’ingresso B e l’ingresso C. Pertanto le possibili combinazioni di valore assunte dai vari input del sistema sono 8 (2 elevato alla terza).

Circuito Combinatorio

Viene in seguito riportata la tabella di verità con tutte le possibili combinazioni di valori assunte dall’ingresso. Compito dell’operazione di analisi è determinare il valore Y assunto per ogni specifico valore dell’ingresso.

A B C Y
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1

Come primo esempio sarà determinato il valore dell’uscita y quando A = 0, B = 0 e C = 0.

Circuito Combinatorio A = 0, B = 0, C = 0

Poichè l’ingresso della porta logica NOT1 risulta essere uguale a 0 il suo valore in uscita sarà pari ad 1. Le stesse considerazioni valgono per la porta logica NOT2. Considerando inoltre la tabella di verità della porta logica AND, l’uscita della porta logica AND1 risulterà essere uguale a 0 e di conseguenza anche l’uscita della porta logica AND2. In conclusione si può facilmente affermare che per l’ingresso A = 0, B = 0, C = 0, il valore dell’uscita Y è pari a 0.

Si analizzerà in seguito il valore dell’uscita per tutte le possibili combinazioni.

Circuito Combinatorio A = 0, B = 0, C = 1

Circuito Combinatorio A = 0, B = 1, C = 0

Circuito Combinatorio A = 0, B = 1, C = 1

Circuito Combinatorio A = 1, B = 0, C = 0

Circuito Combinatorio A = 1, B = 0, C = 1

Circuito Combinatorio A = 1, B = 1, C = 0

Circuito Combinatorio A = 1, B = 1, C = 1

Pertanto, dalla precedente analisi è facilmente determinabile la tabella di verità della suddetta rete logica

A B C Y
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 0

Esercizi di Approfondimento

Vengono in seguito riportati alcuni esercizi che possono essere facilmente eseguiti al fine di comprendere se i concetti presentati sono stati opportunamente acquisiti. Pertanto si chiede di determinare le tabelle di verità delle seguenti reti combinatorie.

  • Esercizio 1

Esercizio 1

  • Esercizio 2

Esercizio 2

  • Esercizio 3

Esercizio 3




ARDWARE #16 Carica e Scarica di un Condensatore. Visualizzare i tempi con i LED.

Obiettivo : Analizzare la carica e la scarica di un condensatore visualizzando i relativi tempi mediante due differenti LED

Componenti elettronici:

  • Arduino UNO
  • Breadboard
  • 2 led (un led verde per il tempo di carica ed uno rosso per il tempo di scarica)
  • 1 Condensatore (1000 microFarad)
  • 1 Resistenza (1000 Ohm) per carica/scarica condensatore
  • 2 Pulsanti

TeoriaIl condensatore è un dispositivo elettronico che ha la capacità di immagazzinare carica elettrostatica. Tale dispositivo modifica il suo comportamento in funzione del segnale di alimentazione utilizzato nell’applicazione in questione (e.g., segnale continuo, segnale alternato, etc …).

In regime di tensione costante (corrente continua), il condensatore si carica inizialmente (regime transitorio) fino a raggiunge una situazione di equilibrio dove la carica sulle armature corrisponde esattamente alla tensione applicata mediante il generatore (regime stazionario). Una volta carico, il condensatore si comporta come un circuito aperto ovvero interrompe ogni flusso di corrente all’interno del circuito.
Questo poiché il legame tensione corrente in un condensatore è dettato dalla seguente relazione:

I(t) = C*dV(t)/dt

Pertanto essendo la tensione costante la derivata di tale valore sarà zero e di conseguenza anche l’intensità di corrente.
Al cessare dell’eccitazione sul circuito l’energia elettrica accumulata nel condensatore torna a scaricarsi sotto forma di corrente elettrica rilasciata nel circuito.

Il tempo di carica e di scarica dipende alla costante di tempo Tau definita come:

Tau = R*C

Nelle seguenti figure sono riportati i grafici relativi alla carica e alla scarica del condensatore. Nell’immagine di sinistra il condensatore, inizialmente scarico, si carica fino a raggiungere il livello di tensione finale f. Differentemente, nell’immagine di destra il condensatore, inizialmente carico e con una tensione f ai suoi capi, si scarica fino a raggiungere un livello di tensione finale pari a zero volt.

In questa esperienza si propone l’utilizzo di due differenti led (un led verde ed uno rosso) per visualizzare i tempi di carica e di scarica del condensatore.
Il principale vantaggio di questo approccio è legato all’utilizzo del mediatore visivo al fine di comprendere il comportamento di un condensatore. Nello specifico, premendo un il pulsante SW1 il condensatore inizierà a caricarsi e pertanto il led D1 si accenderà poiché percorso da corrente. Una volta carico il condensatore non permetterà più il passaggio di corrente e pertanto il led D1 si spegnerà. A questo punto sarà possibile premere il pulsante SW2 al fine di scaricare il condensatore. In questo caso ad accendersi sarà il led D2 che rimarrà accesso fino a che il condensatore non si sarà scaricato.

Schema Circuitale

Collegamento Circuitale:

Viene in seguito riportato lo schema elettrico utilizzato per analizzare il tempo di carica e di scarica di un condensatore.

Collegamento Circuitale

Tinkercad:



Personalizzazioni:

E’ possibile modificare i tempi di carica e di scarica variando il valore della resistenza o del condensatore.




Il Modello di Von Neumann

Teoria: Proposto dal matematico ungherese Von Neumann nel corso degli anni 40 il modello di Von Neumann rappresenta, ancora oggi, uno dei modelli principali dei calcolatori moderni.
L’idea alla base del modello di Von Neumann nasce nel corso di un progetto di ricerca gestito dal DARPA (Defense Advanced Research Projects Agency) con l’obiettivo di definire le tecnologie volte a fronteggiare l’emergente potenza russa nel secondo dopoguerra. Nel dettaglio, era necessario definire un sistema per calcolare le traiettorie dei missili balistici intercontinentali per il trasporto delle armi nucleari.
La macchina di Von Neumann è composta da 4 tipi di componenti funzionali:

  • Unità Centrale di Elaborazione (CPU – Central Processing Unit): Rappresenta il “cervello” del computer. Esegue le istruzioni per l’elaborazione dei dati e svolge le principali funzioni di controllo del sistema.

  • Memoria Centrale: Memorizza e fornisce i dati necessari per eseguire i programmi (RAM/ROM).

  • Unità di Input/Output: Componenti elettroniche per l’introduzione di dati nel calcolatore e per la relativa visualizzazione degli output. Esempi moderni di unità di input sono tastiera, mouse, microfono. Esempi moderni di unità di output sono schermo, altoparlanti, stampante.

  • Bus: Utilizzato per le funzioni di trasferimento dei dati e delle informazioni di controllo tra i vari elementi.

Nella seguente figura viene riportato lo schema grafico semplificato del modello di calcolatore proposto da Von Neumann.

Modello di Von Neumann (Semplificato)

Curiosità: Stanley Kubrick si ispirò al matematico Von Neumann per il personaggio del Dottor Stranamore (il protagonista di uno dei suoi capolavori cinematografici).




Grandezze Elettriche

Teoria: Vengono in seguito descritte e riportate le principali grandezze elettriche:

  • Carica Elettrica: La carica elettrica si misura in Coulomb può essere positiva o negativa ed è sempre multipla della carica elementare q0 = 1,6021*10^-19.

  • Corrente: Dato un conduttore attraverso il quale vi sia un moto ordinato di cariche, si definisce corrente elettrica la quantità di carica elettrica ΔQ che nell’intervallo di tempo Δt attraversa il conduttore

I = ΔQ/ΔT [Ampere]

  • Tensione: La tensione o differenza di potenziale tra due punti A e B, rappresenta il lavoro compiuto per spostare una carica Q dal punto A al punto B.

VAB = VA-VB = L/Q [Volt]

  • Resistenza: Indica la proprietà di un materiale di resistere al passaggio di corrente elettrica. La resistenza elettrica si misura in Ohm

  • Potenza: La potenza è definita come il lavoro compiuto nell’unità di tempo.

P = L/ΔT [Watt]

P = L/ΔT = V*Q/ΔT = V*IΔT/ΔT = V*I

P = V*I [Watt]