December 6, 2022 | Author: Anonymous | Category: N/A
Obiettivo del corso di Reti Logiche Imparare a:
descr scrii ve verr e e prr oge p getttar e le MAC MACCHI CHI NE DI GI TALI
Aspiranti ingegneri dell’informazione dell’informazione
Macchina Digitale e Rete Logica digitale è è Una macchina digitale un oggetto artificiale artificiale che elabora informazioni All’interno della macchina digitale le informazioni sono rappresentate da grandezze fisiche che possono assumere un numero finito di valori Se questo numero è 2 si parla di macchina digitale binaria
Una rete logica logica è è una rappresentazione astratta di una macchina digitale binaria In una RL le informazioni sono rappresentate con zeri e uni
1
Materiale per il corso
Dispense di riferimento R. Laschi, M.Prandini “Reti Logiche” Esculapio, 2007 2007
Informazioni, Lucidi e Testi di Prove Scritte http://didattica.arces.unibo.it/
Contatti Contatti Tel : 051 2095421 e-mail :
[email protected] [email protected]
Ricevimento durante il corso Martedì:
dopo la lezione
2
Posizionamento di reti logiche nel percorso formativo • Prerequisiti: nessuno • Insegnamenti che richiederanno la conoscenza di Reti Logiche: – Elettronica T (cioè Elettronica Digitale) – Calcolatori Elettronici T e M – Progetto di Sistemi Elettronici T
• Professioni che richiederanno la conoscenza di reti logiche: – Ingegnere dell’Informazione dell’Informazione – Progettista Hardware e Software
Esame: Regole e Date In questo Anno Accademico Accademico 2011-12 2 011-12 l’esame avrà una durata di circa quattro ore e consisterà di una prova scritta con 33 punti disponibili d isponibili suddivisi come segue: • 9 punti per domande di teoria teoria.. Questa parte dell’esame scritto potrebbe essere sostituita da una prova orale o da una prova di laboratorio a discrezione dei docenti • 24 24 punti punti per due esercizi che riguarderanno l’analisi, l’analisi, la progettazione o la composizione di Reti Logiche; Logiche; questi due esercizi verranno presi in considerazione ai fini dell’esame solo se è stata superata la prova di teoria.
Date importanti: • Ultima lezione: Martedì 20/12/201 20/12/2011 1 • Prima prova scritta: 16/1/2012 ore 14:00 Aule tbd • Altre prove scritte: febbraio, giugno, luglio, settembre
3
Requisiti per il superamento dell’esame • Metodo • Esperienza • Creatività
4
Informazione Segnali analogici e digitali
5
Informazione • L’in L’info form rmaz azio ione ne è un attributo di un messaggio • L’in L’info form rmaz azio ione ne è una entità misurabile – L’unità di misura dell’informazione è il bit bit (da (da Binary digIT) digIT) incertezza • Informazione è diminuzione di incertezza – Infatti l’informazione esprime una scelta tra un insieme di
alternative possibili • Un messaggio porta un bit di informazione se rappresenta una scelta (cioè una riduzione di incertezza) tra due alternative possibili • Una informazione può essere rappresentata in bit – Il bit (binary digit) è una variabile che può assumere solo due valori: 1 e 0 • La “quantità di informazione” associata a un messaggio è data dal numero minimo di bit necessari a rappresentarlo
Esempi di informazione • Og Ogni ni mes messag saggio gio co contie ntiene ne “I “Info nforma rmazio zione” ne” • Il testo è informazione • Le immagini sono informazione • Il lin lingua guagg ggio io parl parlato ato ((l’a l’audi udio) o) è inf inform ormazi azione one • Una variabile binaria che mi dice se una porta è aperta o chiusa è informazione
Qualunque informazione si può rappresentare sott sotto o forma di una sequenza di zeri e uni
L’operazione di traduzione di una informazione in un unaa sequenza di “0” e “1” si chiama CODIFICA delle INFORMAZIONI corso)) (la codifica delle informazioni è argomento del corso
6
Il trasporto dell’informazione: segnali segnali
sorgente segnali
destinazione
SEGNALE SEGNALE - Grandezza fisica variabile nel tempo il cui andamento o o forma d’onda d’onda andamento rappresenta l’informazione l’informazione che la parte sorgente vuole inviare alla parte destinazione. ANALOGICI: ogni variazione della grandezza fisica SEGNALI ANALOGICI: modifica l’informazione trasportata. SEGNALI DIGITALI: DIGITALI: solo a certe variazioni corrisponde una modifica di “significato”. “significato”.
Forme d’onda di segnali y(t) informazione
• Il segnale analogico
• Il disturbo • Il segnale digitale segnale analogico interpretato come insieme finito di valori
• Il segnale digitale binario segnale analogico interpretato come variabile binaria
H
L
7
Esempio: telefonia digitale Hell o
Hello
1010
1010
Hello
Hello
A/D
RL
TX
RX
RL
D/A
Modello generale di sistema digitale capace di elaborare segnali digitali e analogici segnali analogici microfono termostato altimetro Convertitore A/D
segnali analogici altoparlante plotter dinamo
Elaborazione di segnali binari
Convertitore D/A
segnali binari tastiera mouse
segnali binari lampadina stampante
Hard disk
Hard disk
8
Esempi di segnali da un bit (binari): Aperto, Chiuso Luce, Buio Presente, Assente High, Low ecc. ecc.
levetta: alta/bassa
tensione elettrica: igh/L ow High /Low
contatto: aperto/chiuso
cristallo liquido: trasparente/opaco
lampadina: accesa/spenta
corrente elettrica: presente/assente
Elaborazione delle informazioni rappresentate come sequenze di bit • Dato che l’informazione l’informazione codificata codificata in bit è una entità intangibile, per elaborare, ma anche per trasmettere e memorizzare informazioni dobbiamo far corrispondere agli zeri e agli uni valori diversi di grandezze fisiche rilevabili e modificabili • Oggi queste grandezze fisiche sono solitamente so litamente segnali elettrici • La più comune macchina digitale che elabora informazioni è il calcolatore
9
Che succede all’interno di un
calcolatore? All’interno di un calcolatore l’informazione,
rappresentata con segnali binari, viene rappresentata elaborata, memorizzata memorizzata e trasmessa Inoltre: La funzione svolta dal calcolatore è dettata dal software, cioè da un insieme di istruzioni codificate codificate in binario e memorizzate all’interno del calcolatore stesso I calcolatori sono quindi un caso particolare di macchina digitale: Sono cioè macchine binarie programmabili
Architettura dell’hardware dell’hardware di un calcolatore elettronico (rappresentazione astratta) BUS
Processore
Memoria principale
Unità di ingresso/ uscita
I principali metodi di gestione della complessità utilizzati dagli ingegneri sono: 1. La astr astrazi azione one (separ (separazi azione one delle delle informaz informazion ionii essenzi essenziali ali dai dai dettagli) dettagli) 2. La deco decompo mposiz sizione ione di di entità entità in entità entità più sempli semplici ci interc interconn onness essee tra
loro
10
I livelli di astrazione CPU
ALU CU BIU M
MEM
I/O
Livello Architettonico Architettonico
Livello Logico
Livello Fisico
Esempi di sistemi artificiali che contengono macchine digitali Tutti i seguenti prodotti dell’ingegneria industriale hanno all’interno almeno uno o più macchine digitali (solitamente (solitamente calcolatori):
• • • • • • • • • •
I telefonini I pda (personal data assistant) palmari Le centrali telefoniche I router e i server di Internet gli strumenti di misura gli strumenti biomedici i mezzi di trasporto Le macchine per la composizione dei giornali Gli elettrodomestici …..
11
Nuova definizione di Macchina Digitale Macchina digitale: Sistema artificiale che impiega grandezze fisiche
variabili nel tempo e co con n un num numer o fi ni nito to di va valor lori i per rappresentare , elaborare e comunicare informazioni Esempi: l’orologio l’orologio,, il calcolatore,.. calcolatore,..
Nuova definizione di Rete Logica
Rete Logica: “modello della macchina digitale» che consente • di astrarre dalla tecnologia • di dettagliarne l’immagine architettonica architettonica
12
Crescita della della densità densità di Macchine Macchine Digitali nella Società dell’Informazione dell’Informazione Ubiquitous Computing (1999 – (1999 – 2005): 2005): 0.1 to 1 device per m3 Pervasive Computing (2005 – (2005 – 2015): 2015): 1 to 10 devices per m3 Ambient Intelligence (2015 – (2015 – 2025): 2025): 10 to 100 devices per m 3 (Source: James L. Crowley: Context Driven Observation of Human Activity. EUSAI 2003: 101-118)
Programma di reti logiche 5: Reti sequenziali sincrone
Sap Sa per Descrivere Progettare e A na nalilizzzar e Le Ma M acchine Digitali
4: Reti sequenziali asincrone 3: Reti combinatorie combinatorie 2: Codifica binaria dell’infor. dell’infor.
1: Macchine digitali
13
Capitolo 1 Macchine digitali
1.1 - Descrizione e progettazione
Analisi & Sintesi astrazione cosa fa Descrizione del COMPORTAMENTO
Sintesi come è fatta
Analisi Descrizione della STRUTTURA
Macchina digitale
14
Analisi & Sintesi astrazione cosa fa Descrizione del COMPORTAMENTO
Sintesi
univoco
esito
come è non fatta univoco
Analisi
Macchina digitale
Descrizione della STRUTTURA
Approccio gerarchico alla descrizione di una macchina digitale (Livelli di descrizione) descrizione)
• La descrizione del comportamento può essere più e più volte decomposta in comportamenti più semplici • Ogni livello di questa gerarchia individua strutture formate da componenti “astratti” la cui struttura è definita nel livello sottostante sottostante
Scendendo dall’alto verso il basso •aumenta il numero nu mero di componenti •diminuisce la complessità dell’azione svolta da ciascuno ciascuno
15
Schemi a blocchi
16
Rappresentazione della struttura di una rete logica • Una rete logica può essere descritta in molti modi diversi • Un modello di rappresentazione molto importante della sua struttura è lo schema a blocchi • La schema a blocchi rappresenta la • rete logica come insieme di blocchi interconnessi
Il modello del “blocco” o “scatola nera” Alfabeto d’ingresso d’ingresso
Alfabeto d’uscita d’uscita
ingresso dei dati
uscita dei risultati
processo di elaborazione: relazione ingresso/uscita relazione di causa/effetto
trasformazioni e dinamica
Descrivibili mediante
Tabelle Diagrammi Frasi Acronimi
17
Propretà di composizione e decomposizione delle reti logiche Composizione: un numero arbitrario di reti logiche connesse è ancora una rete logica Decomposizione: una rete logica può essere decomposta in un insieme di reti logiche più semplici, fino al raggiungimento di reti logiche non più suddividibili ( dette reti logiche elementari o operatori o peratori logici elementari) (lo studio di reti lo logiche giche elementari è un argomento del corso)
Regole “elementari” di composizione a) in serie
u=M2(M1(i))
M2
M1
i
u
b) in parallelo M1
u1
M2
u2
i
c) in retroazione i
M1 s
M2
u
Funzione composta
Deve operare operare prima il blocco a sinistra, poi quello a destra. destra. u1=M1(i) u2 =M2(i)
{
Sistema di funzioni
I due blocchi operano contemporaneamente. contemporaneamente. u=M1(i, s) s=M2(u) u=M1(i, M2(u))
Funzione ricorsiva
È necessario che l’anello completi completi un calcolo prima di avviarne uno nuovo.
18
Bit, configurazioni Binarie e relative forme d’onda d’onda
Variabili binarie (bit) Bit (binary digit) digi t) - Variabile Variabile x tale che: x B 0,1
lo loggi ca po posi sitiva tiva e negativa Segnali binari: Presente, Assente High, Low Aperto, Chiuso Luce, Buio ecc. ecc. v
tensione
v
0
alta
1
bassa
L Lampada L
1
C C Co Contatto 0 aperto 1
0
accesa
0
1
1
spenta 0
logica negativa logica positiva
chiuso
0
1
19
Configurazioni binarie n bit
Configurazione binaria di n bit: Stringa di n simboli 0 e 1.
b2 b1 b0
Bn-1
n bit possono assumere 2 n configurazioni binarie diverse • Una configurazione di n bit può rappresentare: • i valori di n segnali binari ad un certo istante • i valori di un segnale binario in n istanti.
Es: abc 000 100 010 001 110 101
a
0
b
0
c
0 t
0 11 11 1
x
1
0
0
t1
t2
t3
Diagrammi ad occhio per rappresentare sinteticamente più forme d’onda binarie binarie
Andamento Andament o di 3 segnali: 010
101
000
…
…
Relazione di causa/effetto di un blocco con 3 ingressi e 2 uscite: ingresso 010
101
000
…
uscita 11
00
01
10
01
………. ……….
…
20
Dal capitolo 4 Reti logiche
4.1 - Funzioni, espressioni e schemi logici
Il modello strutturale delle reti logiche Configurazioni di n bit che codificano i simboli di un insieme I
i.1 . in
Configurazioni di k bit che codificano i simboli di
u1 . . um
F: IS U
G: IS S y1 . . y
memoria
Y1 . . Y
Configurazioni di m bit che codificano i simboli di un insieme U
Configurazioni di k bit che codificano i simboli di
un insieme S
k
memoria
k
un insieme S
nessu na re retr tro oazi one Rete logica combinatoria nessuna Rete logica sequenziale asincrona r etr tro oazi oni di r ette Rete logica sequenziale sincrona r etr oazi oni co con n fli f lip p-flo lop p
Reti logiche (terza definizione)
Modello matematico che assume come p prr i mi ti ve alcune semplici modalità di elaborazione di segnali binari e deduce deduce da da queste in modo rigoroso • quale struttura soddisfa un dato comportamento ((sintesi sintesi), ), • quale comportamento ha una data struttura (analisi). analisi).
Reti combinatorie
Rete combinatoria: comportamento e struttura i.1 . . . . in
F: I U sistema di m funzioni di n variabili binarie
u1 = F1(i1,.., in) . ui = Fi(i1,.., in) . . um = Fm(i1,.., in)
COMPORTAMENTO
Rete logica combinatoria - I valori dei segnali d’uscita dipendono solo dai valori contemporanei dei segnali d’ingresso. d’ingresso.
Descrizione del comportamento di una rete combinatoria: Tabelle della verità Tabella della verità - Descrizione tabellare di una funzione
di variabili binarie. n+1 n+1 colonne colonne
2n righe
x1 x2 … xn 0 0 0 ……..0 1 0 0 ……..0 0 1 0 ……..0 1 1 0 ……..0 0 0 1 ……..0
F(x1, x2, …, xn) oppure - oppure 1 oppure 0 oppure oppure - oppure 1 oppure 0 oppure oppure - oppure 1 oppure 0 oppure oppure - 0 oppure oppure 1 oppure oppure - 0 oppure oppure 1 oppure
0 1 1 ……..1 1 1 1 ……..1
oppure 1 oppure 0 oppure oppure - oppure - oppure 1 oppure 0 oppure
Funzioni incomplete
Rete combinatoria: Descrizione della struttura: schema logico i1 . . . . . in
G3
G2
G1
Gk
u1 = F1(i1,.., in) . ui = Fi(i1,.., in) . . um = Fm(i1,.., in)
STRUTTURA
Lo schema logico è un insieme di rreti eti logiche (blocchi Gi) inter interconnesse connesse Ad ogni blocco dello schema logico verrà associato nella realizzazione realizzazione fisica un «componente hardware»
comportamento-espressione-struttura
Espressione Comportamento
Struttura x1 x2
z = F(x1,.., xn) sintesi
G3
x3
tdv
analisi
G2
G1
Gk xn
Descrizione algebrica delle reti combinatorie Entità appartenenti alle reti logiche
Corrispondenti entità nella descrizione algebrica
• Segnali • Blocchi
→ →
Variabili ariabil i binar binarie ie Funzioni booleane
• Gate
→
Operazioni logiche
z
• Schemi
→
Espres Espressioni sioni logiche
Funzioni booleane
Funzioni di variabili binarie (funzioni booleane)
i1 . . . in
rete combinatoria
u1= F1(i1, i2, …, in) . . . um= Fm(i1, i2, …, in)
Funzione completa completa di di n variabili binarie z = F(x1, x2, …, xn) Insieme di 2n coppie ordinate x, z x Bn, z B formate da una configurazione di valori delle variabili indipendenti x e
i
dal corrispondente valore della variabile dipendente z. 4 funzioni di 1 variabile, 16 funzioni di 2 variabili, 256 funzioni di 3 variabili, var iabili, ecc. 65.536 funzioni di 4 variabili,
Il numero di distinte funzioni f unzioni di n variabili binarie è finito. 2n
(n) = 2
Funzione incompleta o non completamente specificata n Il dominio è un sottoinsieme di B
Tabelle della verità Tabella della verità - Descrizione tabellare di una funzione di variabili binarie. n+1 colonne colonne n+1
2n righe
x1 x2 … xn 0 0 0 ……..0 1 0 0 ……..0 0 1 0 ……..0
F(x1, x2, …, xn) oppure - oppure 1 oppure 0 oppure oppure - oppure 1 oppure 0 oppure oppure - oppure 1 oppure 0 oppure
1 1 0 ……..0 0 0 1 ……..0
0 oppure oppure 1 oppure oppure - oppure - 0 oppure oppure 1 oppure
0 1 1 ……..1 1 1 1 ……..1
oppure 1 oppure 0 oppure oppure - oppure - oppure 1 oppure 0 oppure
Funzioni incomplete
Funzioni Incomplete di
i1 . . .
rete combinatoria
u1= F1(i1, i2, …, in) . . .
variabili binarie
in
um= Fm(i1, i2, …, in)
o non completamente specificata Funzione Il dominioincompleta è un sottoinsieme di Bn Esempio: Rosso Giallo Verde
x1 x0 00 01 1 0 11
F(x1, x0) 0 0 1
STOP STOP GO Valore di F non specificato
- La configurazione di ingresso 11 Non si verificherà mai! Non devo specificare la corrisondente uscita
Altro esempio: BCD 7 segmenti
Il Calcolo delle proposizioni • Proposizioni: significato “vero”/ “falso” • Connettivi: “e”/“o”/“non” P, Q : proposizioni Assunzioni: P” ” è “vero” se e solo se P è “falso” “falso” “non P “P e Q” Q” è “vero” se e solo se P è “vero” e Q è “vero” “vero” “P o Q” Q” è “vero” se e solo o P è “vero”, o Q è “vero”, o lo sono entrambe Proposizioni e funzioni di variabili binarie possono essere Proposizioni messe in corrispondenza tra di loro
Funzioni di una variabile x f 0 f 3 f 1 f 2 0 0 1 0 1 1 0 1 1 0
4 funzioni di una variabile
Se diamo a 0 il significato significato di «falso» e diamo a 1 il significato di «vero», allora: f 0: fa fals lso o f 3: vero f 1: x f 1 è ver ver o se e solo se x è ver ver o) ( f f 2: no f 2 è ver non n x ( f ver o se e solo se x è falso)
Funzioni booleane di due variabili x0 0 0 1 1
x1 0 1 0 1
f 0 0 0 0 0
f 15 1 1 1 1
f 3 0 0 1 1
f 5 0 1 0 1
f 12 1 1 0 0
f 10 1 0 1 0
f 1 0 0 0 1
f 14 f 7 1 0 1 1 1 1 0 1
f 8 1 0 0 0
f 9 1 0 0 1
f 6 0 1 1 0
f 13 1 1 0 1
f 2 0 0 1 0
f 0 e f 15: costanti f 3, f 12, f 5, f 10 dipendono da una sola variabile
f 11 1 0 1 1
f 4 0 1 0 0
16 funzioni di due variabili variabili
f 1: x 0 e x 1 f 7: x 0 o x 1
Operazione logica: operazione definita tramite una funzione booleana di una o due variabili
Ad ogni operazione logica viene associato un simbolo Gate o porta logica o operatore logico elementare: elementare: componente primitivo che realizza una funzione di una o due variabili. Ad ogni gate viene associata una rappresentazione grafica
Esempio di corrispondenza tra funzione di due variabili, operazione logica e porta logica (o gate)
Funzione binaria:
f1 (vedi slide precedente)
Corrispondente operazione logica :
Prodotto Logico
.
Simbolo matematico della suddetta operazione: Corrispondente porta logica (o gate):
AND
Simbolo del gate g ate AND: AND: Il gate “and”
Porte logiche Strutture e comportamenti elementari (3)
Strutture e comportamenti elementari (4)
Il gate “or” Il gate “ and”
Contatti in parallelo Contatti in serie
I1 I2 AB aper aperto to aper aperto to ap aper erto to aper aperto to chiuso chiuso aper aperto to
A
I1
B
I1 aper aperto to aper aperto to chiu chiuso so chiu chiuso so
I2 apert aperto o chiuso apert aperto o chiu chiuso so
AB aper aperto to chiuso chiu chiuso so chiu chiuso so
A
B I1
chiu chiuso so aper aperto to ap aper erto to chiu chiuso so ch chiu iuso so ch chiu iuso so
I2
I2
Il gate “nor”
Il “not” elettronico
I
x1
L
z
x2
+E +E +E volt oppure 0 volt
Vu 0 volt oppure +E volt
Vu
Vi
Vu
N.B. Gli interruttori in parallelo possono essere più di due.
V
0 + E
Vi
+E 0
1
V2
V1
V2
Vu
L L H H
L H L H
H L L L
Porte logiche Strutture e comportamenti elementari (3)
Strutture e comportamenti elementari (4)
Il gate “or” Il gate “ and”
Contatti in serie A
B
I1
realizza f 7: x0 o x1
realizza f 1: x0 e x1 operazione logica: prodotto logico I1 aper aperto to aper aperto to chiu chiuso so chiu chiuso so
I2 aper aperto to chiuso chiuso aper aperto to ch chiu iuso so
Contatti in parallelo
AB ap aper erto to aper aperto to ap aper erto to ch chiu iuso so
I1
A
B
I1 aper aperto to aper aperto to chiu chiuso so chiu chiuso so
I2 apert aperto o chiuso apert aperto o chiu chiuso so
AB aper aperto to chiuso chiu chiuso so chiu chiuso so
I2
I2
Il gate “nor”
Il “not” elettronico
I
x1
L
z
x2
realizza f 5: non x0
+E realizza f 8: non (x0 o x1)
+E
Vu 0 volt oppure +E volt
Vi
+E volt oppure 0 volt
Vu
Vi
Vu
N.B. Gli interruttori in parallelo possono essere più di due.
V1
0 + E
+E 0
V2
Dualità tra “and” e “or”(1) “or”(1)
V1
V2
Vu
L L H H
L H L H
H L L L
Logica positiva
Logica negativa
I1 0 1 0
I2 0 0 1
AB 0 0 0
I1 0 1 0
I2 0 0 1
AB 0 1 1
1
1
1
1
1
1
Il gate “and”
Il gate “or” “or” Due differenti astrazioni! astrazioni!
{aperto = 0, chiuso = 1}
Contatti in serie A
B I1
I1 aperto aperto chiuso chiuso
{aperto = 1, chiuso = 0}
I2 aperto chiuso aperto chiuso
AB aperto aperto aperto chiuso
I2
La stessa realizzazione corrisponde a due diverse funzioni dette duali
Dualità tra “and” e “or”(2) “or”(2) Logica positiva I1 I1 00 11 00 11
I2 I2 00 00 11 11
AB AB 00 11 11 11
I1 0 1 0 1
I2 0 0 1 1
AB 0 0 0 1
Il gate “and” “and”
Il gate “or”
Due differenti astrazioni! astrazioni!
{aperto = 0, chiuso = 1}
Contatti in parallelo A
Logica negativa
I1
B
I1 aperto aperto chiuso chiuso
{aperto = 1, chiuso = 0}
I2 aperto chiuso aperto chiuso
AB aperto chiuso chiuso chiuso
I2
La stessa realizzazione corrisponde a due diverse espressioni dette duali
Dualità tra “ex“ex-or” e “ex“ex-nor”(3) nor”(3) Logica positiva
deviatore D1
I1 I1 00 11
I2 I2 00 00
AB AB 00 11
I1 0 1
I2 0 0
AB 1 0
00 11
11 11
11 01
0 1
1 1
0 1
{alto = 0, basso = 1}
{alto = 1, basso = 0}
{aperto = 0, chiuso = 1}
{aperto = 1, chiuso = 0}
deviatore D2
D1 alto basso alto basso
Operazioni logiche
D2 alto alto basso basso
AB aperto chiuso chiuso aperto
Funzioni e operazioni Un’operazione è detta logica se è la descrizione matematica di una funzione booleana di una o di due variabili. NOTAZIONI f(x,y) = *(x,y) f(x,y) = x * y
f(x) = *(x) f(x) = (x)* SIMBOLI
* operatore
= “f è descritta da ..” ..”
Identità : z = x Regole: 0=0 1=1
Funzione: x 0 1
z 0 1
Realizzazione: x
z
Complementazione : x’ , x, x x Regole: 0’ = 1 1’ = 0 0
Funzione: x 0 1
z 1 0
Realizzazione: Realizzazione: x
z
= : il complemento di 0 vale 1
Somma logica: x + y , x y Regole: 0+0=0 0+1=1 1+0=1 1+1=1
Funzione: x 0 0 1 1
y 0 1 0 1
z 0 1 1 1
Realizzazi Realizzazione: one: x z y
Prodotto logico: x . y , xy , x y y Regole: 0.0=0 0.1=0 1.0=0 1.1=1
Funzione: x 0 0 1 1
y 0 1 0 1
z 0 0 0 1
Somma modulo due: x y y
Realizzazione: x z y
Regole: 0 0 = 0 0 1 = 1 1 0 = 1 1 1 = 0
Funzione: x 0 0 1 1
y 0 1 0 1
z 0 1 1 0
Realizzazi Realizzazione: one: x z y
Equivalenza: x y y Regole: 0 0 = 1
Funzione: x 0
y 0
z 1
Realizzazione:
0 1 = 0 1 0 = 0 1 1 = 1
0 1 1
1 0 1
0 0 1
x
z
y
y Nand (operazione di Shaffer): z = x y Regole: 0 0 = 1 0 1 = 1 1 0 = 1 1 1 = 0
Funzione: x 0 0 1 1
y 0 1 0 1
z 1 1 1 0
Realizzazi Realizzazione: one: x z y
Nor (operazione di Pierce): z = x y y Regole: 0 0 = 1 0 1 = 0 1 0 = 0
Funzione: x 0 0 1
y 0 1 0
z 1 0 0
Realizzazione: x z
1 1 = 0
1
1
0
z
Funzioni e operazioni logiche Espressioni Espressionii e funzioni Espression Espressioni Espres sioni e schemi logici
Reti combinatorie comportamento-espressione-struttura Espressione Comportamento z = F(x1,.., xn)
Struttura x1 x2
G3
sintesi
G2
x3
G1
z
tdv analisi
Gk xn
Reti combinatorie: analisi analisi struttura-espressione-comportamento Espressione Comportamento
Struttura x1 x2
z = F(x1,.., xn) sintesi
G3
x3
tdv
analisi
G2
G1
z
Gk xn
Ad ogni gate Gi è associata una operazione logica Ad ogni operazione logica operazione logica è associata una funzione (tdv) Ad ogni schema logico è associata una espressione Ad ogni espressione è espressione è associata una funzione (tdv)
Operazioni e e Espressioni Operazioni f 1(x) = x
f 7(x,y) = x + y
f 1(x,y) = x . y
f 6(x,y) = x y
f 2(x) = x’ x’
f 8(x,y) = x y
f 14(x,y) = x y
f 9(x,y) = x y
Espressione logica - Stringa formata da costanti, bit, operatori Espressione logici e parentesi, in accordo con le seguenti regole: •le costanti 0 e 1 sono espressioni •le variabili binarie sono espressioni •se x è un’espressione, allora anche (x)’ è un’espress un’espressione ione •se x e y sono espression espressioni, i, allora lo sono anche (x+y), (x.y), (xy), (xy), (xy), (xy)
Esempi: (x y) (z w)
(x y) 0
a + (b.c)
Deduzione dell’espressione che descrive uno schema a
c = a’ a’
e=c+d f=c+b
b d = b’ b’
z=e.f.g = (c+d)(c+b)(a+d) = (a’+b’).(a’+b).( (a’+b’).(a’+b).(a+b’) a+b’)
g = a + d d
Sipartire attribuisce un simbolo al segnale d’uscita di ognisimbolo gate e, e, a dai gate più a monte, si associa a ciascun l’espressionee che descrive l’operazione svolta dal gate. l’espression gate. Una volta arrivati al segnale d’uscita, si eliminano progressivamente progr essivamente tutte le variabili intermedie
Esempi
Schema logico
Epressione
b c a
a+(b.c)
c (((a)’ + b) . c)’ c)’
b a b c a
(b↑c b↑c)) a (
N.B. - Lo schema logico di una espressione non può avere segnali in retroazione (l’uscita di ogni gate dipende da segnali d’ingresso e/o da uscite di gate disposti “a monte”). monte”).
Valutazione di una espressione Valutazione di una di n variabili per n-pla di valori 1 - Si sostituisce ad espressione ogni variabile va riabile il valore che le una compete. 2 - Partendo dalle parentesi più interne si sostituisce ogni operazione con il suo risultato fino ad ottenere o la costante 0 o la costante 1.
E se sem mpi o: E(a,b,c) = a+(b.c) per a=0, b=1, c=0 = 0+(1.0) = 0+0 =0 N° di valutazioni - Una espressione di n variabili può essere valutata in 2n modi diversi.
Espressioni e Funzioni Le 2n valutazioni di una espress espressione ione E(x1, x2, …, xn) creano 2n coppie x, z x, z x Bn, z B E se sem mpi o: E(a,b,c) = a+(b.c) a b c E 0,0,0) E(0,0,0 E( E( E(0,0,1 0,0,1))) = = 0+(0.0) 0+(0.1) = =0 0 0,1,0)) = 0+(1.0) = 0 E(0,1,0 E( 0,1,1)) = 0+(1.1) = 1 E(0,1,1 E( E(1,0,0 E( 1,0,0)) = 1+(0.0) = 1 E(1,0,1 E( 1,0,1)) = 1+(0.1) = 1 E(1,1,0 E( 1,1,0)) = 1+(1.0) = 1 1,1,1)) = 1+(1.1) = 1 E(1,1,1 E(
0 00 00 1 010 011 100 101 110 111
0 0 0 1 1 1 1 1
T1) Ogni espression espressionee descrive una e una sola funzion funzionee completa. Conseguenza: Ad ogni espressione corrisponde una e una sola tdv. Questa tdv è completamente specificata.
Equivalenza tra espressioni Espressioni equivalenti - Due espressioni E1, E2 Espressioni sono equivalenti, e si scrive E1 = E2, se e solo se descrivono la stessa funzione.
Funzioni di n variabili
Espressioni di n variabili
Espressioni di F F
Metodi per dimostrare l’equivalenza: induzione perfetta manipolazione algebrica
Proprietà T2) proprietà commutativa (+, ., , , , ) a*b=b*a T3) proprietà associativa (+, ., ) (a * b) * c = a * (b * c)
=a*b*c
T4) complementi: (x + y)’ = x y
N.B. l’apice! l’apice!
(x . y)’ = x y (x y)’ = x y
Avviamento alla sintesi: Espressioni e Schemi logici T5) Ogni espressione descrive una struttura formata da gate connessi in serie e/o in parallelo.
Per individuare lo schema descritto da una espressione: 1 - si parte dalle parentesi più interne e si traccia il simbolo del gate corrispondente all’operazione, collegandone gli ingressi ai segnali esterni; 2 - si procede in modo analogo con le altre coppie di parentesi, considerando considerando via via come ingressi dei nuovi gate anche le uscite di quelli già tracciati.
La sintesi di una rete combinatoria si effettua attraverso i passaggi: Descrizione (es. tdv) tdv) → Espressione → Struttura (es.: schema logico) logico) Ora dobbiamo imparare a passare dalla descrizione all’espressione
Reti combinatorie • Introduzione • Algebra della • • •
commutazione Analisi Sintesi Canonica Sintesi con decoder e OR
9/28/2011
Un insieme di operatori logici funzionalmente completo
• Nella prima settimana del corso abbiamo introdotto il modello di comportamento e • • • •
di struttura delle reti combinatorie. Nelle prossime diapositive studieremo uno strumento matematico (l’algebra della commutazione) che ci consente di eseguire l’analisi e la sintesi di reti logiche combinatorie composte dagli operatori logici elementari AND, OR e NOT. Questi tre operatori costituiscono un insieme i nsieme di operatori funzionalmente completo: con essi cioè è possibile realizzare qualunque rete logica combinatoria Trattandosi di operatori logici combinatori essi verranno verranno considerati operatori con ritardo nullo Quando invece vorremo tener conto del ritardo introdotto da un operatore utilizzeremo il seguente modello: dell ’operatore (oppure disegneremo il ritardo con un blocco specifico sull’uscita dell’operatore indicheremo il ritardo all’interno dell’operatore)
p Operatore logico combinatorio AND AND 9/28/2011
p
AND con ritardo p Reti Combinatorie
2
Comportamento & Struttura di una rete logica combinatoria ? Rete logica combinatoria
Tabella della verità x1x2x3 … xn
z = F(x1,.., xn)
0 0 0 ……..0 1 0 0 ……..0 0 1 0 ……..0 1 1 0 ……..0 0 0 1 ……..0
0 oppure oppure 1 1 0 oppure oppure 1 1 0 oppure oppure 1 1 0 oppure oppure 1 1 0 oppure oppure 1 1
Nell’algebra di comutazione i blocchi Gi sono AND OR e NOT
x x12
sintesi
G3
x3
analisi
Gk xn
G2
G1
z
oppure 1 1 0 1 1 ……..1 0 oppure 1 1 19/28/2011 ……..1 0 oppure 1 oppure 1
Reti Combinatorie
3
Algebra della commutazion commutazione e È un sistema matematico che consente di eseguire l’analisi l’anali si e la sintesi di reti logiche combinatorie. L’algebra della commutazione consente infatti infatti di di passare dallo schema logico alla tabella della verità e viceversa viceversa
L’algebra viene definita assegnando: • gli ope operat ratori ori del dell’a l’algeb lgebra ra • i simboli su cui gli operatori agiscono • i postulati che definiscono il comportamento degli operatori Studiare l’algebra di commutazione significa studiare le proprietà dei suoi operatori al fine di imparare a manipolare, costruire e analizzare espressioni
C’è una corrispondenza biunivoca tra gli operatori dell’algebra di commutazione e gli operatori logici elementari AND AND OR e NOT
9/28/2011
Reti Combinatorie
4
Definizione dei simboli simboli e e delle operazioni operazioni dell’algebra della commutazione commutazione L’algebra della commutazione è: • un’insieme di 3 operazioni • un insieme insieme di 2 simboli (0 e 1): questo insieme è l’alfabeto binario su cui cui le operazioni dell’algebra agiscono
1) Operazioni: Operazioni:
somma logica (+) (4 postulati, diap. 22 22)) prodotto logico ( ) (4 postulati, diap. 23) 23)
.
complementazione (‟) (2 postulati, diap.22) diap.22)
operazioni dell’algebra agiscono su costanti e variabili Le operazioni 2) Costanti: 0, 1 2) Costanti: 3) Variabili: Variabili: simboli sostituibili o con 0 o con 1
9/28/2011
(segue)
Reti Combinatorie
5
Definizione delle tre operazioni dell’algebra di commutazione e commutazione e dei corrispondenti operatori logici logici Complementazione : z = x‟ , z =x , z = x
Postulati: 0‟ = 1 1‟ = 0 0
Funzione: x 0 1
z 1 0
Realizzazione:
z x
Operatore NOT
Somma logica: z = x + y , z = x y
Postulati: 0+0=0 0+1=1 1+0=1 1+1=1 9/28/2011
Funzione: x 0 0 1 1
y 0 1 0 1
z 0 1 1 1
Realizzazione: Operatore OR
x z y
(segue) 6
Reti Combinatorie
Prodotto logico: z = x . y , z = xy , z = x y
Postulati: 0.0=0 0.1=0
Funzione: x 0 0
y 0 1
z 0 0
Realizzazione: x
1.0 0 1.1=1
1 1
0 1
0 1
z y Operatore logico AND AND
C’è una corrispondenza biunivoca tra gli operatori logici logici NOT, NOT, OR , AND e le tre operazioni dell’algebra complementazione complementazione,, somma logica e logica e prodotto logico (rispettivamente rappresentate con i caratteri „ +
. )
C’è una corrispondenza biunivoca tra ingressi dell’operatore logico e operandi dell’operazione algebrica C’è una corrispondenza biunivoca tra l’uscita dell’operatore logico e il risultato dell’operazione algebrica 9/28/2011
Reti Combinatorie
7
Giustificazione delle prossime diapositive •
L’alge L’algebra bra dell dellaa commu commutaz tazione ione è ilil pon ponte te tra tra la strutt struttura ura della della rete rete comb combina inatori toriaa e la descrizione del suo comportamento (cioè della relazione tra ingressi e uscita)
i s i l a n A i s e t n i S
• •
rappresenteremo la struttura con il suo schema logico logico rappresenteremo la relazione ingressi/uscita (cioè il comportamento) sotto forma di binarie funzione binaria di variabili binarie
•
Per Per ffar aree l’a l’ana nali lisi si asso assoce cere rem mo a ogni ogni schema logico logico una espressione dell’algebra e di lì passeremo alla funzione funzione con un procedimento detto “valutazione “valutazione dell’espressione” dell’espressione” • Per fare fare la la sintes sintesii impare imparerem remoo a dete determi rminare nare una una es espre pressi ssione one dell’ dell’alg algebr ebraa che “desc “descriv rivaa logico la funzione” da sintetizzare e quindi impareremo a disegnare lo schema logico corrispondente all’espressione trovata • Dobbiamo quindi definire i seguenti oggetti e le relative proprietà: – l’espressione dell’algebra – la funzione binaria di variabili binarie logico – lo schema logico • dobbiamo inoltre imparare ad applicare il seguente metoo di analisi: 1.
passare dallo schema logico all’espressione e viceversa
2.
studia stu diare re il il proced procedim iment ento o di valut valutazi azione one dell dellee espres espressio sioni ni
3.
descrivere le funzioni descrivere funzioni (ad esem esempio pio con la tabella tabella della verità verità e quindi quindi con con una descri descrizione zione a parole)
9/28/2011
Reti Combinatorie
Definizione di espressione
8
dell algebra di commutazione commutazione Espressione: - Stringa Stringa finita di costanti costanti,, variabili, variabili, operatori operatori e e parentesi parentesi,, formata in accordo con le seguenti regole: 1) 0 e 1) 0 e 1 sono espressioni 2) una variabile è variabile è una espressione 3) se A è un‟espressione, lo sono anche (A‟) e A‟ 4) se A, B sono espressioni, lo sono anche (A+B), (A+B), (A.B)
E sem sempi : a+(b.c)
a + bc
a‟.b a‟.b
(a+b)‟ (a+b)‟
a‟b + 0 + ab‟ ab‟
’operazion razionee di prod prodotto otto è prioritaria prioritaria rispe rispetto tto alla somm sommaa e non non è obbligato obbligatorio rio • L’ope racchiuderla tra parentesi. La notazione AB indica A.B
• • Le parentes parentesii sono sono obblig obbligatorie atorie solo se omettend omettendole ole cambia cambia l’ord l’ordine ine in in cui le operazioni sono applicate agli operandi operandi 9/28/2011
Reti Combinatorie
9
Definizione di Funzione completamente specificata Una Funzione completament completamentee specificata di n variabili binarie binarie z=F(x1, x2, …, xn) è l‟insieme di tutte le 2n coppie ordinate x,z x Bn, z B formate da una configurazione di valori delle n variabili indipendenti xi e dal corrispondente valore corrispondente valore della variabile dipendente z.
Una funzione può essere descritta in diversi modi, come, ad esempio: Con la tabella della verità X2
X1
X0
Z
0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
0 1 0 1 0 0 1 1
con le mappe di Karnaugh
x2 x1 x000
01
11
10
0
0
1
1
0
1
0
0
1
1
z
Due rappresentazioni equivalenti della stessa funzione z = F(x2, x1, x0) 9/28/2011
Reti Combinatorie
10
Descrizione di una funzione mediante Tabella della verità verità La Tabella della verità è una - Descrizione tabellare di una una funzione funzione di variabili binarie binarie
n+1 colonne colonne n+1 x1, x2, …, xn
0 0 0 ……..0 1 0 0 ……..0 0 1 0 ……..0 1 1 0 ……..0 0 0 1 ……..0
2n righe
F(x1, x2, …, xn) 0 oppure oppure 1 1 0 oppure oppure 1 1 Quante colonne ha la 0 oppure oppure 1 1 t.d.v. di una funzione 0 oppure oppure 1 1 di 4variabili? righe ha la 0 oppure oppure 1 1 Quante t.d.v. di una funzione di 8 variabili? variabili?
0 1 1 ……..1 1 1 1 ……..1
9/28/2011
0 oppure oppure 1 1 0 oppure oppure 1 1
Descrizione di una funzione mediante Mappe di Karnaugh Mappa di Karnaugh - Rappresentazione bidimensionale della tabella della verità di una funzione di 2,3,4 variabili, i cui valori sono stati elencati sui bordi in maniera che due configurazioni consecutive siano a distanza 1, differiscano cioè per il valore di un solo bit.
E se sem mpi :
b
ab cd 00 01 11 10 00 0 1 0 1
11
a
0 1
1 1 1
0 0 1
01 11
1 0 1
10
Somma Som logica
0 1 0
1 0 1
0 1 0
P ar i tà par i su 4 va var i abi li
9/28/2011
Reti Combinatorie
12
Importante proprietà delle mappe di Karnaugh: Adiacenza tra celle celle Coppia di celle adiacenti su mappe di Karnaugh - Due celle le cui coordinate differiscono per un solo bit sono celle adiacenti. In una mappa che descrive una funzione di n variabili ogni cella ha n celle adiacenti.
Regola grafica per l‟adiacenza l‟adiacenza Sono adiacenti celle aventi un lato in comune o poste all‟estremità di una stessa riga o colonna.
cella scelta come esempio ab
celle adiacenti a b
0
cd
00 01 11 10 00
a bc 00 01 11 10 0
1
0 1
10
1
2 variabili
3 variabili
9/28/2011
01 11
4 variabili
Reti Combinatorie
13
Estensione delle mappe variabili ef a 5 e a 6 variabili ef
00
cd de
00
bc
00 01
01 11 10 bc
de
00 00
00 01
01 11 10
01 11
01 11 10 cd
00 00 01 11
01 11 10
11
11 a=0
ab=00
ef
10
10
10
10
cd
a=1
00 00
5 variabili
01 11 10 cd
01
Ulteriore regola di adiacenza Sono adiacenti celle che occupano la stessa posizione posizione in in sotto-mappe adiacenti.
9/28/2011
ab =01
ef
00
01 11 10
00
11
01 11
10
10 ab =10
ab=11
6 variabili
Reti Combinatorie
14
Check point è una funzione completamente specificata e come possiamo • Cosa rappresentarla?
• Cos Cosaa è una una eespr spress ession ionee dell dell’al ’algeb gebra ra di comm commuta utazio zione ne e quali quali operazioni può includere?
• Si risponda alle due domande precedenti con alcuni esempi. • Cosa è la sintesi di una rete combinatoria? • Co Cosa sa è ll’a ’ana nali lisi si di una re rete te co comb mbin inat ator oria ia?? • Co Come me si si pa pass ssaa da un’e un’esp spre ress ssio ione ne alla alla fun funzi zion one? e? Col procedimento di valutazione che vediamo nelle prossime diapositive diapositive
• Co Come me si si pa pass ssaa da dall llaa funz funzio ione ne all’ all’es espr pres essi sion one? e? Con i procedimenti di sintesi che vedremo più avanti 9/28/2011
Reti Combinatorie
15
Analisi di reti combinatorie Procedimenti, esempi ed esercizi
9/28/2011
Reti Combinatorie
16
Valutazione di una espressione in un punto punto Sia data una espressione espressione E in cui compaiono n variabili e sia data una configurazione binaria di queste n variabili Valutare l‟espressione l‟espressione E nella configurazione binaria data (cioè in un particolare punto del suo dominio di definizione) significa eseguire i seguenti passi: passi: 1 - sostituire ad ogni variabile il i l valore che ha nella configurazione data 2 - partendo dalle parentesi più interne i nterne sostituire ogni operazione con il corrispondente risultato calcolato risultato calcolato applicando i postulati dell‟algebra,, fino ad ottenere o la costante 0 o la costante 1. dell‟algebra
E se sem mpi o:
c=0 Valutiamo E(a,b,c) = a+(b.c) a+(b.c) con a=0, b=1, c=0 0+(1.0) = 0+0 = 0 N° di valutazioni - Una espressione espressione di di n variabili può
essere valutata su 2n configurazioni binarie diverse 9/28/2011
Reti Combinatorie
17
Regole di priorità nella valutazione
valgon o le seguenti • Si ricordi che, in assenza di parentesi valgono regole: regole:
– L’operazione di complementazione è prioritaria rispetto a prodotto e somma
– L’operazione di prodotto è prioritaria rispetto alla somma e non è obbligatorio racchiuderla tra parentesi.
9/28/2011
Reti Combinatorie
18
Passaggio dalla espressione alla funzione • Il passaggio dalla espressione alla funzione si chiama anche “valutazione della espressione nel suo dominio” • Valutare una espressione di n variabili nel suo dominio Bn significa costruire una tabella della verità di 2n righe (una per ogni configurazione delle n delle n variabili) e n+1 colonne.
• Ogni riga conterrà nelle n colonne più a sinistra la configurazione binaria associata alla riga stessa
• Nella colonna più a destra di ogni riga si deve invece riportare la costante
determinata valutando l espressione nel punto individuato dalla configurazione binaria indicata nelle n colonne più a sinistra della riga stessa
• Con la valutazione di una espressione è possibile ottenere la funzione associata all’espressione data
9/28/2011
Reti Combinatorie
19
Dall’ Dall’espressione espressione alla alla funzione: esempio La valutazione di una una espressione espressione E(x0, x2, …, xn-1) nei 2n punti del suo dominio dà origine a 2n coppie x,z x,z x Bn, z B
E se sem mpi o: E(a,b,c) = a+(b.c)a b c | E E(0,0,0)) = 0+(0.0) = 0 E(0,0,0 E(0,0,1 E( 0,0,1)) = 0+(0.1) = 0 E(0,1,0 E( 0,1,0)) = 0+(1.0) = 0 0,1,1)) = 0+(1.1) = 1 E(0,1,1 E( E(1,0,0 E( 1,0,0)) = 1+(0.0) = 1 1,0,1)) = 1+(0.1) = 1 E(1,0,1 E( E(1,1,0 E( 1,1,0)) = 1+(1.0) = 1 E(1,1,1 E( 1,1,1)) = 1+(1.1) = 1
000|0 001|0 010|0 011|1 100|1 101|1 110|1 111|1
Tabella della verità della funzione associata all’espressione data data
T1) Ogni espressione descrive una e una sola funzione espressione descrive 9/28/2011
Reti Combinatorie
Dall’espressione one alla funzione: altri Dall’espressi esempi T2) Una funzione funzione può può essere descritta da infinite espressioni espressioni
20
Esercizio Verificare che le valutazioni di
a b c E E1 E2 0 00 00 1 010 011 100 101 110 111
E1=(a.b‟) + (b.c) + (a.b) (a.b) E2=(a+b).(a+c) sono identiche a quelle di E = a+(b.c)
9/28/2011
0 0 0 1 1 1 1 1
Reti Combinatorie
21
Analisi di una rete logica combinatoria: dalla Struttura Struttura al al Comportamento Valutazione
Espressione
verità Tabella della verità x1x2x3 … xn
z = F(x1,.., xn)
oppure 1 1 0 0 0 ……..0 0 oppure oppure 1 1 0 0 ……..0 0 oppure 1 oppure 1 1 0 1 0 ……..0 0 oppure 0 oppure oppure 1 1 10 10 01 ……..0 oppure 1 ……..0 0 oppure 1
Avendo studiato come si passa dall’espressione funzione, alla funzione, dobbiamo ora esaminare il passaggio dallo schema logico della rete combinatoria combinatoria
G3
x3
G2
G1
z
Gk
oppure 1 1 0 1 1 ……..1 0 oppure oppure 1 1 1 1 ……..1 0 oppure 1
x1 x2
all’espressione all’espressione
analisi
9/28/2011
Rete logica combinatoria combinatoria
Reti Combinatorie
xn Schema logico: insieme di operatori AND, OR, NOT interconnessi interconne ssi in serie e parallelo 22
logico all espressione espressione Dallo schema logico Per individuare l‟espressione corrispondente ad un dato schema schema si parte dai gate che elaborano solo segnali di ingresso, si assegna un simbolo alla loro uscita e si annota a parte l‟espressione. Si procede in modo analogo con i gate i cui ingressi i ngressi sono già stati denominati. Una volta individuata l‟espressione del gate di uscita, vi si sostituiscono tutti i simboli con le corrispondenti espressioni.
a‟ c = a‟
a
Questa rete realizza un importante operatore logico detto ESCLUSIVO o XOR OR ESCLUSIVO o XOR (Exclusive Or) Or)
e = (c . b)
z=e+f = (c.b) + (a.d) = a‟b + a.b‟ a.b‟ b
d = b‟ b‟
f = (a . d) d)
Qual è la tdv di questa rete? Se ne descriva a parole il comportamento
9/28/2011
Reti Combinatorie
Check point •
Com Comee si es esegu eguee l’anal l’analisi isi ddii uno sch schema ema llogi ogico co co comp mpost ostoo da A AND, ND, O OR R e NO NOT T interconnessi?
•
Qu Qual al è il risu risult ltat atoo de dell ll’a ’ana nali lisi si??
•
Esistono altre tecniche di analisi oltre a quella basata sulla valutazione delle
•
espressioni? Sì, le vedremo in alcune diapositive successive Quante espressioni sono associate a uno schema logico?
•
Quante funzioni sono associate a una espressione?
•
Quante espressioni sono associate a una funzione?
23
9/28/2011
Reti Combinatorie
24
Esercizi Esercizi •Si disegni lo schema logico logico dell’espressione: ac + bc’ bc’ •La rete così ottenuta si chiama multiplexer a due vie •Si analizzi questa rete (se ne tracci la mappa) e se s e ne descriva a parole il funzionamento
•Si verifichi con il simulatore la correttezza della soluzione trovata
Si tracci la tabella della verità e lo schema logico corrispondenti all’espressione: all’espressione: E(D, C,B,A) = D.(C + B) Si descriva a parole la funzione nel caso in cui i bit D, C, B, A rappresentino i coefficienti del numero D.23+ C.22+ B.21+ A.20 9/28/2011
Reti Combinatorie
Check point sull’analisi delle reti combinatorie •
Abbiamo visto un metodo di analisi basato sulla valutazione delle espressioni associate allo schema logico assegnato.
•
Qu Questo esto met metodo odo può diven diventa ta im impra pratica ticabile bile qu quand andoo l’espr l’espress ession ionee è com comple plessa ssa
•
In questo caso si possono utilizzare in generale due metodi alternativi:
– la semplificazione dell’espressione mediante applicazione di alcune proprietà dell’algebra della commutazione – la semplificazione sistematica dell’espressione mediante applicazione del
25
teorema di espansione
• Nelle prossime diapositive illustreremo alcune proprietà proprietà (o teoremi) dell’algebra di commutazione e mostreremo qualche esempio del primio metodo
•
Il secondo metodo verrà presentato successivamente
9/28/2011
Reti Combinatorie
26
Equivalenza tra espressioni espressioni Espressioni equivalenti - Due espressioni E1, E2 sono equivalenti, e si scrive E1 = E2 , se e solo se descrivono la stessa funzione.
Funzioni di n variabili
Espressioni di n variabili Espressioni di F
F •Se si vuole analizzare una espressione conviene cercare tra le espressioni equivalenti alla espressione data, quelle più facili da analizzare! Questa ricerca può essere effettuta applicando le equivalenze indicate nelle prossime due diapositive diapositive 9/28/2011
Reti Combinatorie
27
Equivalenze notevoli dell’algebra di commutazione commutazione Proprietà della somma e del prodotto logico:
T4) commutativa
x+y
=
y+x
T5) associativa T6) distributiva T7) idempotenza T8) identità T9) limite
9/28/2011
x.y (x + y) + z
= =
y . x x+y+z
(x . y) . z (x . y) + (x . z) (x + y) . (x + z) x+x x.x x+0 x.1 x+1 x.0
= = = = = = = = =
x . y. z x . (y + z) x + (y . z) x x x x 1 0
Reti Combinatorie
28
Altre equivalenze notevoli dell’algebra di commutazione Proprietà della complementazione: T10) involuzione (x ’) ’’ T11) limite T12) combinazione
x+x’ x.x’ xy + xy xy’’ (x+y).(x+y’) (x+y).(x+y ’)
T13) I aa le leg g e di De Morg Morg an (x + y) ’ I i l le eg g e di De Mo Morg rg an (x . y) ’ T14) consenso
9/28/2011
=x = 1 1 = 0 0 =x = x x = x ’ . y ’ ’ = x ’ + y ’ ’
xy + x’z x’z + yz (x+y).(x’+z (x+y).( x’+z).(y+z) ).(y+z)
Reti Combinatorie
Dualità
= xy + x’z x’z = (x+y).( (x+y).(x’+z x’+z))
29
Espressioni duali - Data l‟espressione E(x, y, Espressioni y, z, .., 1, 0, +, ., ., ’) l‟espressionee che si ottiene ottiene è detta duale di E e denotata con Ed l‟espression scambiando tra loro 0,1 e .,+ ’). Ed = E(x, y, z, .., 0, 1, .,+, ’). Esempio: A+B e A.B A.B (nell’esempio si scambiano solo gli operatori . e + ) Proprietà della dualità: (Ed)d = E Ed = E’(x’, y’, z’, ...) ...) Se E Se E1 = E2 allora allora (E (E1 )d = (E2 )d
•La terza proprietà dice che se due espressioni sono equivalenti, lo sono anche le rispettive duali. Si verifichi questa proprietà nelle equivalenze notevoli dei lucidi precedenti precedenti N.B. - A causa delle due possibili codifiche dei valori di un segnale binario, il comportamento comportamento di ogni ogni struttura di interruttori azionabili indipendentemente uno dall’altro ha due descrizioni algebriche, una u na duale duale dell’altra. 9/28/2011
Reti Combinatorie
30
Conseguenza del Principio di Dualità • Se una rete logica esegue una certa funzione considerando ingressi e uscite in logica positiva, posi tiva, allora la rete duale esegue la stessa funzione considerando ingressi e uscite in logica negativa
• Es Esem empi pio: o: l’ l’an andd è dual dualee dell dell’o ’or r • Funzione ddeell’AND: – l’uscita vale 1 se entrambi gli ingressi valgono 1
• Funzione dell’OR: – L’uscita vale zero se entram entrambi bi gli ingressi valgono zero
9/28/2011
Reti Combinatorie
31
Qualche commento sui teoremi dell’algebra di commutazione commutazione • • •
La propr propriet ietàà assoc associat iativa iva per l’O l’OR R si può anc anche he scri scriver veree come come ssegu egue: e: (x + y) + z = x + (y + z) = (z + x) + y = x + y + z
Questa proprietà ci dice che combinando in qualunque modo tre ingressi con due OR in cascata si ottengono sempre espressioni equivalenti; la funzione che si ottiene vale 1 se
e solo se almeno un ingresso ing resso vale 1. Possiamo chiamare questa funzione fu nzione “OR a tre ingressi”; è possibile nello stesso modo definire l’OR a n ingressi • •
si verifichi la proprietà associativa con il simulatore
chiam chi amiam iamoo NOR l’ope l’operat ratore ore comp compost ostoo da un OR OR e un NO NOT T in casc cascata ata;; si disegn disegnii la tdv tdv di questo operatore composto e si dimostri che per questo operatore non vale la proprietà
• •
associativa
Per la la terza terza prop proprie rietà tà sulla sulla dual dualità ità que quello llo che che abbia abbiamo mo detto detto per per l’OR l’OR vale vale anch anchee per l’AND e quello che non vale per il NOR non vale nemmeno per l’operatore composto dalla serie AND-NOT (il NAND)
• •
I teore teoremi mi di De Morga Morgann indica indicano no l’equ l’equiva ivalen lenza za tra tra NOR NOR e AND deg degli li ingre ingressi ssi complementati e l’equivalenza tra NAND e OR degli ingressi complementati Il teore teorema ma del conse consenso nso indic indicaa due dive diversi rsi modi modi per per realiz realizza zare re la funzio funzione ne “mult “multipl iplexe exerr a due vie” già vista in un esempio precedente
9/28/2011
Reti Combinatorie
32
Qualche esercizio di analisi da svolgere utilizzando i teoremi dell’algebra della commutazione commutazione • Si eese segu guaa l’an l’anal alis isii dell dellee se segu guent entii espr espres essi sioni oni:: • xy + x’z + xyz + yz • (((x ((x+y)’ )’+ +(z+w)’) ’)’’+1)’ • ((x+y)’+(z+y)’)’
• pe perr l’ult l’ultim imoo eserc eserciz izio io si si consi consigl glia ia di di esegu eseguir iree le semplificazioni a partire dallo schema logico
• Per il primo si suggerisce di provare sia con i teoremi, sia tracciando direttamente la mappa di Karnaugh Karnaugh 9/28/2011
Reti Combinatorie
33
Check point •
Ora siamo siamo in grado grado di esegui eseguire re l’ana l’analis lisii delle delle reti reti combi combinat natori orie e rea realiz lizzat zate e con gli operatori operatori dell’algebra dell’algebra di commutazione commutazione.. Il procedimento si basa basa sulla semplificazione delle espressioni (ottenuta applicando intuitivamente i teoremi dell’algebra) e sulla relativa valutazione. valutazione.
•
Resta ancora da vedere una tecnica di semplificazione sistematica espansione già già dell’espressione basata sull’applicazione del teorema di espansione annunciato e che dobbiamo ancora studiare
•
Prima vogliamo affrontare affrontare il problema problema della sintesi e vogliamo inoltre inoltre dimostrare che gli operatori dell’algebra sono un insieme funzionalmente completo (il che significa che con AND, A ND, OR e NOT è possibile realizzare qualunque tabella della verità)
9/28/2011
Reti Combinatorie
Sintesi di Reti Combinatorie
34
• Introduzione • Numero di livelli e ritardi in una RC • Da Dall’ ll’es espre press ssion ione e all allo o sche schema ma log logico ico
9/28/2011
Reti Combinatorie
35
Il problema della sintesi Funzione
Espressioni Espre ssioni equivalenti
Schemi logici
assegnata
Individuazione dell‟ dell‟espressione espressione che che fornisce schema “migliore” per la realizz realizzazione azione della funzioneloassegnata. assegnata. Massima velocità Minima complessità
Massima flessibilità 9/28/2011
Reti Combinatorie
36
Velocità e lunghezza dei percorsi Velocità e (a‟.b‟+a.b).c‟+(a‟.b+a.b‟).c (a‟.b‟+a.b).c‟+(a‟.b+a.b‟).c
c‟ c‟ a‟ a‟ b‟ tp b‟ a b a‟ a‟ b
=
a‟ a‟ b‟ b‟ c‟ c‟ a b c‟ c‟ a‟ a‟ b c
tp
tp
a‟.b‟.c‟ +a.b.c‟+a‟.b. c +a.b‟.c +a.b‟.c
tp
a b‟ b‟ c
tp
tp
a b‟ b‟ c 9/28/2011
Questa rete è più veloce
Reti Combinatorie
37
Stima della durata del transitorio I1
(metodo del ca cass o peg g iore) U
I0
A
I1
I0
A
U
I1
U
I0 9/28/2011
Reti Combinatorie
38
A
Funzioni non completamente specificate specificate •Alcune configurazionidi configurazionidi ingresso possono essere impossibili, oppure oppure per certe configurazioni di ingresso può non interessare il valore dell’uscita. dell’uscita. In questi casi la funzione è incompleta o “non completamente specificata” specificata”
6) Funzioni incomplete - Funzioni di n variabili il cui dominio è un sottoinsieme di Bn Le configurazioni di valori delle variabili al di fuori del dominio sono dette condizioni di indifferenza e sono indicate nella tdv con il simbolo ““ -” nella colonna ove va indicato il valore della funzione.
x2
x1
x0
z1
z0
0 0 1 0
0 0 0 1
0 1 1 0
0 1 0 1
1 0 1 1
0 1 1 1
-
-
ENCODER a 3 ingressi x2 x1 x0 z1
z0
0 1
0 1
0 1 0 0
0 1 0 1 0 0 0 1 0 1 N.B. le altre configurazioni sono per ipotesi impossibili
1 1 0 1
0 0
0 0
0 1
9/28/2011
Reti Combinatorie
39
Espressioni di funzioni incomplete incomplete Espressioni equivalenti di funzioni incomplete - Espressioni che Espressioni forniscono eguale valutazione limitatamente al dominio di una funzione funzione incompleta data sono dette equivalenti rispetto alla funzione
Espressioni per l‟ENCODER: l‟ENCODER: Come funziona un encoder? encoder?
x2
x1
x0
z1 u1 z0 u0
0
0
0
0 0 0 0
1 0 0 1 1 0 1
z1 = x2 x1‟x0‟+ x2‟ x1 x0‟ z0 = x2 x1‟x0‟+ x2‟ x1‟x0 u1 = x2 + x1 u0 = x2 + x0 9/28/2011
0 1 0 1 0 1 1
0 0 1 0 1 1 1
1 1 0 0 0 0 0
1 1 0 1 1 1 1
1 0 1 0 0 0 0
1 0 1 1 1 1 1
Reti Combinatorie
40
Sintesi di reti combinatorie mediante AND, OR, NOT •
Come si esegue la sintesi di una rete combinatoria di cui è data la tabella della verità? Si può utilizzare l’algebra di commutazione commutazione
•
In tal caso si passa dalla tdv alla espressione e, successivamente, dalla espressione allo schema logico
•
Nelle prossime diapositive verrà illustrato il passaggio dall’espressione allo schema logico. logico. Il problema della determinazione di una espressione associata alla tdv verrà esaminato successivamente
9/28/2011
Reti Combinatorie
41
Dall’espressione allo schema logico logico T3) Ogni espressione descrive una struttura formata da gate AND, OR, NOT connessi in serie e/o in parallelo (schema logico)
Per individuare lo schema logico corrispondente logico corrispondente ad una data espressione si parte dalle parentesi più interne e si traccia il espressione si simbolo del gate corrispondente all‟operazione, collegandone collegandone gli ingressi ai segnali esterni. Si procede in modo analogo con le altre parentesi, considerando via via come ingressi dei nuovi gate anche le uscite di quelli già tracciati.
b c a
a+(b.c)
9/28/2011
Reti Combinatorie
42
Dall’espressione allo schema logico: Dall’espressione logico: altro esempio c (((a)‟ + b) . c)‟ c)‟
b a
N.B. - Lo schema logico di una espressione non può avere segnali in retroazione (l’uscita di ogni gate dipende da segnali d’ingresso e/o da uscite di gate disposti “a monte”).
9/28/2011
Reti Combinatorie
43
Sintesi di reti combinatorie • Sintesi con espressioni canoniche
• decoder decoder • Sintesi con decoder e or or
• esercizi ed esempi 9/28/2011
Reti Combinatorie
44
Espressioni normali Espressione normale - Espressione del tipo “somma di prodotti logici” (SP) o “prodotto di somme logiche” (PS). Lo schema logico corrispondente ad una espressione normale contiene al più due gate in cascata (tre, se non sono disponibili anche i complementi dei segnali di ingresso).
Quando l‟interesse preminente preminente è la velocità di risposta, l‟espressione “migliore” “migliore” è quella normale ! ! Nell‟ambito delle espressioni normali hanno particolare rilievo: rilievo: le espressioni canoniche e le espressioni generali, che individuano circuiti utili nella sintesi di qualsiasi funzione; funzione;
le
espressioni minim minime, e, che consentono di realizzare realizzare una funzione con il minimo numero di gate e di collegamenti.
9/28/2011
Reti Combinatorie
45
Espressioni canoniche canoniche T16) E s pre press s ione ca canon nonica ica SP S P (S om omm ma di P Prodo rodottti) Ia forma canonica - Ogni funzione può essere descritta da una somma di di tanti tanti prodotti logici quante sono le configurazioni per cui cui vale 1. In ciascun prodotto, o mintermine, mintermine, appaiono tutte le variabili, in forma o vera o complementata complementata a seconda che nella configurazione corrispondente presentino presentino valore 1 o valore 0.
T17) E s pre press s ione ca canon nonica ica P S (P rodot rodotto di S omm omme) IIa forma canonica - Ogni funzione può essere descritta da un di tante tante somme logiche somme logiche quante sono le configurazioni prodotto di per cui vale 0. In ciascuna somma, o maxtermine, maxtermine, appaiono tutte le variabili, in forma o vera o complementata complementata a seconda che nella configurazione corrispondente presentino presentino valore 0 o valore 1. 9/28/2011
Reti Combinatorie
46
Espressioni canoniche della funzione “a implica b” b” a b ab 00 1 01 1 10 0 11 1
IIa forma canonica: F(a,b) = a‟ + b b Ia forma canonica: F(a,b) = a‟ . b‟ + a‟ . b + a . b b
Verifica della equivalenza per manipolazione algebrica: F(a,b) = a‟ . b‟ + a‟ . b + a . b = a‟ . (b‟ + b) + a . b b = a‟.1 + a . b b = a‟ + a . b b = a‟ + a . b + a‟ . b = a‟ + b 9/28/2011
Reti Combinatorie
47
Sintesi canonica dell’operatore EX EX-OR -OR
x0
1 se x0=0 e x1=1 oppure se x0=1 e x1=0 0 negli altri
x1
due casi
1 se e solo se x0=0 e x1=1
x1 x0 x0x1 0 0 1 1
0 1 0 1
1 se e solo se x0=1 e x1=0
0 1 1 0 0 x x1
9/28/2011
Reti Combinatorie
Sintesi di un ENCODER a tre ingressi x2
x1
x0
z1
z0
0
0
0
0
0
48
1 0
0 1
0 0
1 1
z1
1 0
0 0 1 0 1 N.B. le altre configurazioni
z0
sono per ipotesi impossibili
z1 = x2 x1‟x0‟+ x2‟ x1 x0‟
x2 x1 x0
z0 = x2 x1‟x0‟+ x2‟ x1‟x0 9/28/2011
Reti Combinatorie
49
Addizione “colonna per colonna” ... (S)2 = (A)2 + (B)2
r n r n-1
r i
r 1
an-1
ai
a1 a0
bn-1
bi
b1 b0
sn sn-1
9/28/2011
si
0 +
s1 s0
Reti Combinatorie
r a b R
S
000 001 010 011
0 0 0 1
0 1 1 0
100 101 110 111
0 1 1 1
1 0 0 1
50
… e sintesi canonica del Full Adder S = r‟. a‟. b + r‟. a . b‟ + r . a‟. b‟ + r. a . b R = r‟. a . b + r . a‟. b + r . a . b‟ + r . a . b
S
R
r‟ r a‟ a b‟ b 9/28/2011
Reti Combinatorie
51
N Sintesi della trascodifica da binario a 1 su N Esempio: Trascodifica Trascodifica 2:4
B A U0 U1 U2 U3 0 0 1 1
0 1 0 1
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
U0 = B‟. A‟ U1 = B‟. A U2 = B . A‟ U3 = B . A
A B 9/28/2011
Reti Combinatorie
52
DECODER Il circuito integrato DECODER Decoder o Rete di decodifica - Rete logica combinatoria che realizza i 2n distinti prodotti di n variabili (n = 2,3,4) U0 U1 U2 U3
EN A B
N.B. - In realtà le uscite sono attive “basse” “basse” SN74139 U0 (MSI) U1 EN U2 A U3 B
SN74154 U0 (MSI)
SN74138 U0 (MSI) U1
Quando EN=1, vale 1 l‟uscita il cui pedice, in decimale, corrisponde al numero binario in ingresso (A bit di minor peso) 9/28/2011
EN A B C
U2 U3 U4 U5 U6 U7
EN A B C D
Composizione modulare di Decoder N.B. il prodotto è associativo
U0 U1 DEC U2 2:4 U3
U0 1
DEC U1
U0 U DEC 1 U2 2:4 U3
U0 U1 U2 U3 U4 U5 6 U U
U1 U 2 U3 U4 U5 U6 U7 U8 U9 U10 U11 U12 U13 U14 53 U15
C D
9/28/2011
U2 U3
2:4
U0 U DEC 1 U2 2:4 U3 U0 U DEC 1 U2 2:4 U3
A B
7
U8 U9 U10 U11 11 U12 U13 U 14 U15 15
54
Notazioni simboliche per le espressioni canoniche i
rab
R
S
0 1 2 3 4 5 6
000 001 010 011 100 101 110
0 0 0 1 0 1 1
0 1 1 0 1 0 0
7 1 1 1
1
1
S (r,a,b) = S3 m (1,2,4,7) S (r,a,b) = 3 M (0,3,5,6) R (r,a,b) = S3 m (3,5,6,7) R (r,a,b) = 3 M (0,1,2,4)
• m(i) : mintermine di n bit bit che assume il valore 1 solo per la n-pla di valori delle variabili corrispondente all’indice i. • M(i) : maxtermine di n bit che assume assume il valore 0 solo per per la n-pla di valori delle variabili corrispondente all’indice i. 9/28/2011
Reti Combinatorie
55
Sintesi del Full Adder con Decoder e Or S = S3 m (1,2,4,7) R = S3 m (3,5,6,7)
‟138
b a r
A B C
U0 U1 U U23 U4 U5 U6 U7
N.B - Le uscite di un decoder TTL hanno fan-out >10. Come si modifica lo schema se si prende atto che le uscite sono attive basse? 9/28/2011
R S
Il problema della sintesi
Assegnata una qualsiasi funzione di variabili binarie, è poss possibile ibile descr descriverl iverla a con una una espressione espressione contenente solo le operazioni eseguite dai gate?
56
Struttura & Comportamento di una rete logica combinatoria Espressione Comportamento
Struttura x1
sintesi
x2
G3
x3
z = F(x1,.., xn) analisi
G2
G1
z
Gk xn
Algebre binarie Algebr Alge bra a bina binari ria a - Sistema matematico formato da un insieme di operatori definiti assiomaticamen assiomaticamente te ed atti a descrivere con una espressione ogni funzione di variabili binarie Calcolo delle proposizioni proposizioni Cr Crisi isipp ppo o (250 (250 a.c.) a.c.) e, o, non} {vero, falso } { tre operatori
Algebra di commutazione {0, 1} {+, . , ’} tre operatori
G. Bool Boolee (185 (1854) 4)
C. Sha Shann nnon on (193 (1938) 8)
Algebra del nand {0, 1} {↑} un operatore
Algebra del nor {0, 1} {↓} un operatore
Algebra lineare ⊕ , .} {0, 1} { ⊕ due operatori
4.2 Algebra di commutazione
Algebra di commutazione 1) Costa Costant nti: i: 2) Operazioni:
0, 1
somma logica (+)
prodotto logico (.)
complementaz complementazione ione (’)
3) Postulati: 0+0=0
0.0=0
0’ = 1
1+0=1 0+1=1
1.0=0 0.1=0
1’ = 0
1+1=1
1.1=1
4) Variabili:
simboli sostituibili o con 0 o con 1
Espressioni 5) Espr Espres essi sion onee - Stringa finita di costanti, costanti, va varia riabil bili, i, op opera erator torii e parentesi parentesi,, formata in accordo con le l e seguenti regole: 1) 0 e 1 sono espressioni 2) una variabile è un una a espr espres essi sion onee 3) se se A è un’e un’esp spre ress ssio ione ne,, lo è anch anchee (A’) 4) se A, B sono espressioni, lo sono anche (A+B), (A+B), (A.B) Esempi:
a+(b.c) a’.b
(a+b)’
a + bc a’b + 0 + ab’
N.B - L’operazio L’operazione ne di di prodot prodotto to è prioritar prioritaria ia rispetto rispetto alla somma somma e non è obbligatorio racchiuderla tra paren parentesi. tesi. La notazione AB indica A.B
Teoremi di equivalenza
Equivalenze notevoli Proprietà Prop rietà della della somma somma e del prodotto prodotto log logico: ico:
E1) commutativa
x+y x.y
= =
y+x y.x
(x + y) + z (x . y) . z E3) distributiva (x . y) + (x . z) (x + y) . (x + z) E4) idempotenza x + x x.x
= = = = = =
x+y+z x . y. z x . (y + z) x + (y . z) x x
E5) identità
= =
x x
E2) associativa
x+0 x.1
E6) limite
x+1 x.0
= =
1 0
Equivalenze notevoli Proprietà Prop rietà della della compleme complementaz ntazione: ione:
E7) involuzione
(x ’) ’ = x
E8) limitazione
x+x’=1 x.x’ =0 xy + xy’ = x (x+y).(x+y’) = x
E9) combinazione
Eliminazione della ridondanza
E10) I a legge di De Morgan (x + y) ’ = x ’ . y ’ II a legge di De Morgan (x . y) ’ = x ’ + y ’ E11) consenso
xy + x’z + yz = xy + x’z
(x+y).(x’+z).(y+z) = (x+y).(x’+z) x, y, z so sono no espr espres essi sion onii di vari variab abil ilii bina binari riee
Espressioni di funzioni incomplete ENCODER a 3 ingressi x2
x1
x0
z1
z0
x2
x1
x0
z1
z0
0 1 0
0 0 1
0 0 0
0 1 1
0 1 0
0 1 0
0 0 1
0 0 0
0 1 1
0 1 0
0
0
1
0
1
0 1 1 0 1
N.B. le altre configurazioni sono per ipotesi impossibili
0 1 0 1 1
1 0 1 1 1
0 -
1 -
Espressioni di funzioni incomplete Espressionii equiva Espression equivalenti lenti di funzio funzioni ni incomp incomplete lete - Espression Espressionii che forniscono eguale valutazione limitatamente al dominio di una funzione incompleta sono dette equivalenti. equivalenti.
Espressioni per l’ENCODER: z1 = x2 x1’x0’+ x2’ x1 x0’ z0 = x2 x1’x0’+ x2’ x1’x0
1 2 1 u u0 = =x x2 + +x x0
u1 z0 0 0 1 1 1 0 0 1 1 0 1 0
u0 0 1 0 1 1 1
x2 0 1 0 0 1 1
x1 0 0 1 0 1 0
x0 0 0 0 1 0 1
z1 0 1 1 0 0 0
0 1
1 1
1 1
0 1 0 1 0 1 0 1
Espressioni canoniche
Espressioni canoniche T6) Espressione canonica SP (Somma di Prodotti) Ia for forma ma can canoni onica ca - Ogni Ogni funz funzion ionee di n varia variabil bilii è descr descritt itta a da una una somma di tanti prodotti logici quante sono le configurazioni configurazioni per cui cui vale vale 1. In ciascun ciascun prodotto, prodotto, o mintermine, mintermine, appare ogni variabile, in forma vera se nella configuraz configurazione ione corrispondente vale 1, in forma forma complementata complementata se vale vale 0.
T7) Espressione canonica PS (Prodotto di Somme) IIa for forma ma can canoni onica ca - Ogni Ogni funz funzion ionee di n varia variabil bilii è descr descritta itta da un un prodotto die tante logiche quante sono le configurazioni configurazion per cui vale cui val 0. In somme ciascuna ciascuna somma, o maxtermine, maxtermine , appare ognii variabile, in forma vera se nella configuraz configurazione ione corrispondente vale 0, in forma forma complementata complementata se vale vale 1.
Espressioni canoniche della funzione “a implica b” a
a b a→b 00 1 01 1 10 0 11 1
a b
II forma canonica: F(a, F( a,b) b) = a’ a’ + b Ia forma canonica: F(a, (a,b) = a’ . b’ + a’ . b + a . b
a b
Verifica della equivalenza equivalenza per manipolazione manipolazione algebrica: F(a,b) = a’ . b’ + a’ . b + a . b = a’ . (b’ + b) + a . b E3 = a’.1 + a . b E8 = a’ + a . b E5 = =a a’’ + +a b . b + a’ . b
una part parte è inc inclus lusa a nel tutt tutto o E3,eE8, E5
EX-OR x0⊕x1= x0’x1+ x0x1’
x0 x1 x0⊕x1 0 0 0 1 1 0
0 1 1
x0 x1
1 1
0
x0 x1
x0⊕x1= (x0’+x1’).(x0+x1)
Full Adder S = r’. a’. b + r’. a . b’ + r . a’. b’ + r. a . b R = r’. a . b + r . a’. b + r . a . b’ + r . a . b rab
R
S
0 00 00 1 010 011 100 101 110 111
0 0 0 1 0 1 1 1
0 1 1 0 1 0 0 1
S
R
r’ r a’ a b’ b
Espressioni canoniche di funzioni incomplete
x 2
0 1 0 0
x 1
0 0 1 0
x 0
0 0 0 1
z
z
1
z1
0
0 1 1 0
0 1 0 1
z0
N.B. le altre configurazioni sono per ipotesi impossibili
x2 x1 x0 z1 = x2 x1’x0’+ x2’ x1 x0’ + x2 x1 x0 + .... z0 = x2 x1’x0’+ x2’ x1’x0 + ....
Notazioni simboliche
Notazioni simboliche per le espressioni canoniche rab
R
S
000 001 010 011 100 101 110 111
0 0 0 1 0 1 1 1
0 1 1 0 1 0 0 1
i 0 1 2 3 4 5 6 7
S (r,a,b) = Σ3 m (1,2,4,7) S (r,a,b) = Π3 M (0,3,5,6) R (r,a,b) = Σ m (3,5,6,7) 3 R (r,a,b) = Π3 M (0,1,2,4)
• m(i) : min minterm termine ine di di n bit bit ch chee assume assume il valore valore 1 solo per per la n-pla n-pla di valori delle variabili corrispondente all’indice i • M(i) : maxtermine di n bit che che assume il valore valore 0 solo per per la n-pla n-pla di valori delle variabili corrispondente all’indice i
I DECODER 2:4 e 3:8 m(0)= B’A’
m(0)=C’B’A’ m(1)=C’B’A
m(1)=B’A
m(2)=C’BA’
m(2)=BA’
m(3)=C’BA m(4)=CB’A’
m(3)=BA
m(5)=CB’A m(6)=CBA’
i = B.21+A.20
A B
m(7)=CBA A B
i = C.22+B.21+A.20
C
i = C.22+B.21+A.20
Decoder 3:8 m(0) = C’.B’.A’ m(1) = C’.B’.A m(2) = C’.B.A’ m(3) = C’.B.A m(4) = C.B’.A’ m(5) = C.B’.A m(6) = C.B.A’ m(7) = C.B.A
A B C
Il DEC n:2n DEC n:2n
0 1
A0 A1 . . An-1
Bit di indirizzo
. . . . . . . . 2n-1
Codice 1 su 2n
i = An-1.2n-1+ .. +A1.21+A0.20
Sintesi Sint esi del Full Full Adder Adder con Decode Decoderr e Or Or S = Σ3 m (1,2,4,7) R = Σ3 m (3,5,6,7) DEC 3:8
b a r
A B C
U0 U1 U2 U3 U4 U5 U6 U7
R S
Espressioni generali
Teoremi di espansione (o di Shannon) T8) E(x1,x2,..,xn-1,xn) = xn’.E(x1,x2,..,xn-1,0) + xn .E(x1,x2,..,xn-1,1) T9) E(x1,x2,..xn-1,xn) = (xn+E(x1,x2,..,xn-1,0)).(xn’+E(x1,x2,..,xn-1,1))
Esempio: E= x1+x2 x3’
= x1’.(0+x2 x3’)+x1.(1+x2 x3’) = (x1+(0+x2 x3’)).(x1’+(1+x2 x3’))
Mux e teor teorem emii di espa espansi nsion onee F(1,x2 ...xn)
I1 F I
F(0,x2
...xn)
0
A
MUX
xn ...x2 Esempio :
x1
x1+x2 x3’ = x1’ (0 + x2 x3’) + x1 (1 + x2 x3’) 1
I1 F
x3 x2 x1
I0 A
La decomposizione indotta da T8 x1 x2 . . xn x1 x2 . xn-1
z=F(x1,x2 ...xn)
F(x1 ...xn-1,1)
z
I1
z F(x1 ...xn-1,0)
I0 A
xn
Estrazione di due variabili con T8
x1 xn-2
I F(x1 ...xn-2,0,0) F(x1 ...xn-2,1,0) F(x1 ...xn-2,0,1) F(x1 ...xn-2,1,1)
xn-1 xn
0
I1 z
I2 I3 A B
n
Il MUX con n bit d’indirizzo e 2 vie d’ingresso
Vie d’ingresso
i = An-1.2n-1+ .. +A1.21+A0.20 Bit di indirizzo
0 MUX 1 . . . . z . . . 2n-1 An-1 …. A1 A0
Applicazione iterata dei teoremi di espansione E(x1x2 x3) = x1+x2 x3’ = x1’(0+x2x3’)+x1(1+x2x3’) = x1’x2’(0+0.x3’)+x1’x2(0+1.x3’)+ x1x2’(1+0.x3’)+ x1x2(1+1.x3’) = x1’x2’ x3’(0+0.0) + m(0).E(0) + x1’x2’ x3 (0+0.1) + m(1).E(1) + x1’x2 x3’(0+1.0) + m(2).E(2) + x1’x2 x3 (0+1.1) + x1 x2’ x3’(1+0.0) + x1 x2’ x3 (1+0.1) + x1 x2 x3’(1+1.0) + x1 x2 x3 (1+1.1)
m(3).E(3) + m(4).E(4) + m(5).E(5) + m(6).E(6) + m(7).E(7)
Espressioni generali T10 e T11)T11)- Ogni funzione funzione è descritta descritta da una una espre espressione ssione in cui compaiono o tutti i mintermini o tutti i maxtermini: 2n-1
m(i) . F(i)
F(x ,x ,...x ,..x ) = i=0
Σ 2 -1 F(x ,x ,...x ,..x ) = Π ( M(i) + F(i)) 1
2
i
n
(SP)
n
1
2
i
n
i=0
(PS)
Caso SP m(i) : mintermine di n bit F(i): valore dalla funzione per la n-pl n-pla a di valor valorii delle delle variabili per cui m(i)=1
Caso PS M(i) : maxtermine di n bit F(i): valore dalla funzione per la la n-pla n-pla di valor valorii delle delle variabili per cui M(i)=0
Sinte Si ntesi si di un full full-a -adde dderr con con MUX MUX I0
Mux
a b r
S R
0 0 0 0 0 1
0 0 1 0
I1 I2 I3 I4 I5 I6 I7 C B
0 0 1 1 1 1
1 0 1 0 0 1
I0 I1 I2 I3 I4 I5
1 1 0 0 1 1
0 1 0 1 0 1
0 1 0 1 1 1
a b r
S
Z
R
A
Mux
I6 I7 C B 1 0
Z
A
4.3 Famiglie logiche
Famiglie di circuiti logici integrati Tutti i gate !!! Moltissime reti di gate!!!
Livello logico Livello fisico
Full Fu ll Adder Adder con con AND, AND, OR OR e EXEX-OR OR S = r’. a’ a’.. b + r’. a . b’ + r . a’. b’ + r. a . b R = r’. a . b + r . a’. b + r . a . b’ + r . a . b manipolazione algebrica: S = r’. r’. (a (a’. ’. b + a . b’ b’)) + r . (a (a’. ’. b’ + a . b) S = r’. (a ⊕ b) + r . (a ⊕ b)’ S = r ⊕ (a ⊕ b) R = (r’ + r) . a . b + r . (a’. b + a . b’) R = a . b + r . ((a a ⊕ b) HA
r
FA
S
a b
R HA
Confronto tra due numeri di n bit
CFR = (a0’. b0’ + a0. b0 ) . (a1’. b1’ + a1. b1 ). …. CELLA: 2 AND a due ingressi 1 OR a due ingressi 2 NOT
CELLA: 1 EX-NOR a due ingressi i ngressi
Famiglie di gate (TTL SSI -1968/74) 14 13 12 11 10
9
8
14 13 12 11 10
9
8
14 13 12 11 10
9
8
14 13 12 11 10
9
8
1
6
7
1
6
7
1
6
7
1
6
7
2
3
4
5
2
3
4
5
2
3
4
5
2
3
4
5
SN7411
SN7404 14 13 12 11 10
9
8
1
6
7
2
3
4
5
SN7408
SN7423
Famiglia di circuiti logici: alimentazionee e consumo alimentazion segnali e soglie fan-ou -outt (n° max. max. di ingres ingressi si fan
14 13 12 11 10
9
8
1
6
7
2
collegabili all’uscita) veloc ocità ità di commut commutaz azion ionee vel
SN7407
3
4
5
SN7432
14 13 12 11 10
9
8
14 13 12 11 10
9
8
1
6
7
1
6
7
2
3
4
5
2
3
4
5
SN7400 SN7498
Circuiti combinatori MSI e LSI Sono disponibili come parti elementari anche reti di gate particolarmente utili per il progettista logico: Si consiglia di visitare il sito di un Costruttore (ad es. www.ti.com) !
2
2 7
2 4
3
2 6
2
2 3
4
2 5
3
2 2
5
2 4
4
2 1
6
2 3
7
2 2
8
2 1
9
2 0
1
1 6
5
2 0
1 4
2
1 5
6
1 9
2
1 3
3
1 4
7
1 8
3
1 2
4
1 3
8
1 7
4
1 1
5
1 2
9
1 6
5
1 0
6
1 1
1 0
6
9
7
1 0
1 1
7
8
8
9
1 2
Decoder Multiplexer
2 8
1
1
Full adder
1
1 5 1 4 1 3
Aritmetica Registro acc. Contatore
1 0
1 9
1 1
1 8
1 2
1 7
1 3 1 4
1 6 1 5
Trascodifica … µ µP Buffer RAM
Fan-in e fan-out
Effetto di carico: uso di Buffer e Not Fan-out “l’uscita di un gate ha un numero massimo di ingressi di altri gate a cui può essere collegata”
1
> 10 > 10
1
1 > 10
And An d e Or: propr proprie ietà tà ass assoc ocia iati tiva va Fan-in
Gate con un massimo di otto ingressi
E2
x0 x1 x2
x0 x1 x2
Pari Pa rità tà co con n EXEX-OR OR (1) (1) P = b0⊕ b1⊕ b2⊕ b3⊕.. ⊕ b7 Fan-in
N.B. L’operazione di somma modulo modul o due è assoc associati iativa va
P = ((b0⊕ b1)⊕(b2⊕ b3))⊕((.. ⊕ b7)) E = P ⊕ (((b0⊕ b1)⊕(b2⊕ b3))⊕((.. ⊕ b7)))
b0 b1
b2 b3
14 13 12 11 10
9
8
1
6
7
3
b4 b5
4
5
9
8
1
6
7
8 9 4 7 N S
8 9 4 7 N S 2
14 13 12 11 10
2
3
4
5
b6 b7
P/E
0/P
Pari Pa rità tà co con n EXEX-OR OR (2) (2) b0 b1 b2 b3 b4 b5 b6 b7
P/E
0/P
Generazionee parità e rilevazione Generazion rilevazione errori errori singoli su dati da da due byte: 8+8
⊕ ’280
0
⊕ ’280
⊕
⊕
’280
’280
Trasmettitore
P
Ricevitore
E
Tempo di propagazione
Ve Velo loci cità tà di c com ommut mutaz azio ione ne: : il rit ritar ardo do del del Not Not elet elettro troni nico co +E causa: Vi
Vu
alta bassa tempo
Vi effetto: Vu alta bassa
∆T1
∆T2
tempo
Il ritardo sui fronti LH) e di discesa • (Ilτ rita ritardo rdo sui fro fronti nti di s salit alita a ( presen sente te in o ogni gni ttipo ipo d diτi gate gate e varia varia in HL) è pre modo notevole da dispositivo a dispositivo.
• A causa della marcata differenza dei due valori, valori, la durata di una situazione H o L in ingresso ad
un gate gate è dive diversa rsa d dalla alla ccorr orrisp isponde ondente nte situazione in uscita. • A causa causa dell della a “ine “inerzia rzia” ” del ga gate, te, un un segn segnale ale di ingres ing resso so “im “impu pulsi lsivo” vo” e “ “tr trop oppo po st stre rett tto” o” pu può ò
non ess essere ere avve avverti rtito to iin n us uscit cita. a.
Un mode modello llo più reali realistic stico o per per il gate gate x1 x2
xn
Simbolo grafico del gate o gate “ideale”
Z
ritardo di propagazione
z
gatee “rea gat “reale” le” (o quas quasi) i)
Z = F(x1, x2, .., xn) z(t) = Z(t-tp) N.B. - I Costruttori Costruttori di famiglie famiglie logiche logiche fornisco forniscono no i valori valori minimo, nominale e massimo di tp
I modelli del ritardo di propagazione ritardo di propagazione: tp = max (τLH, τHL) • Ritardo puro t p
∆t < tp
• Ritardo inerziale
nessun effetto tp
Il modell modello o del del ritard ritardo o inerz inerziale iale è il più più vicino vicino alla alla realtà realtà.. ditico) un èvalore o leL:da tp e. Il Durata ritardo ritard o puro puminima ro (o (o matema matematico) però piùHfacile faci da3-4 simular simulare.
Comportamento in transitorio
Veloci Vel ocità tà e llungh unghezz ezza a dei dei perc percors orsii (a’.b’+a.b).c’+(a’.b+a.b’).c
=
a’ b’
c’ a’ b’ a b a’ b a b’ c
a’.b’.c’ +a.b.c’+a’.b. c +a.b’.c
tp tp
tp tp
c’ a b c’ a’ b c a b’ c
tp
tp
Questa rete è più veloce
Comportamento a regime e in transitorio dei circuiti combinatori I nuovi valori dei segnali di ingresso di una rete combinatoria devono propagarsi all’interno della struttura prima di riuscire ad imporre al segnale d’uscita il valore che ad essi deve corrispondere. Ciò determina un comportamento in transitorio, che in generale sarà diverso da da quello a regime. regime.
ingresso i
F(i)
uscita u
F(i)
comportamento
comportamento
in transitorio
a regime
Stima della durata del transitorio (metodo del caso peggiore) I1 U I0
A
I1
I0
τ τ τ
U
τ I1
A
3τ
U
I0
A
Tipi di transitorio: il ritardo I1
c
τ
τ
0
τ
U?
τ
2τ I1
1
Tipo “rit Tipo “ritar ardo do” ” - L’ L’us usci cita ta mantiene il vecchio valore per tutto il transitorio t ransitorio
c
U
Tipi di transitorio: l’alea statica 1
τ
c
τ
U?
Retroazioni dirette
1
τ
τ
delle reti asincrone
b
a
3τ A
A
a Tip Tipo o “al “alea ea sstati tatica ca” ”L’uscita, che dovrebbe rimanere costante, assume temporaneamente l’altro valore.
c b U
1
Tipi di transitorio: l’alea dinamica c τ
1
τ
τ
τ
b
τ
R
a
A
B
4τ Tipo “al Tipo “alea ea di dinam namic ica” a” L’usci L’u scita ta var varia ia più volte volte prima di assestarsi sul nuovo valore.
A,B
10
01
Decoder
Il circuito integrato DECODER
Decode Deco derr o Ret Retee di di dec decod odifi ifica ca - Rete Rete logi logica ca comb combin inat ator oria ia che che realizza i 2n distinti mintermini di n variabili (n = 2,3,4) U0 U 1
U2 EN A B
U3
SN74139 (MSI) EN A B
U0 U1 U2 U3
SN74138 U0 (MSI) U1 U2
SN74154 U0 U1 (MSI) U2 U3 U4 U5 U6 U7 U8 U9 10
Quando EN=1, vale 1 l’uscita il cui pedice, in decimale, corrisponde al numero binario in ingresso (A bit di minor peso)
U3 U4 U5 U6 U7
EN A B C
EN A B C D
U U11 U12 U13 U14 U15
Composizione modulare di un Decoder 4:16 N.B. - Il pro N.B. prodo dott tto o logico gode della propri pro prietà età ass associ ociati ativa va
1 C D
DEC 2:4
0 1
DEC 2:4
DEC 2:4 2 3 DEC 2:4
A B
DEC 2:4
U0 U1 U2 U3 U4 U5 U6 U7 U8 U9 U10 U11 U12 U13 U14 U15
Multiplexer
I Multiplexer A, B, C, D bit d’indirizzo Ii via o bit di programmazione
SN74157 I0 I1
Z A
SN74153 I0 I1 I2 Z I3 BA
SN74151 I0 I1 I I23 Z I4 I5 I6 I7 CBA
SN74150 I0 I1 I2 I3 I4 I5 I6 I7 I8 I9 I10 I11 I12
Z
II13 14 I15 DCBA
Sintesi a MUX di funzioni di 4 variabili I0 SN74151 I1 I2 I3 Z F(Q0 ,Q1 ,Q2 ,0) I4 I5 SN74157 I6 I0 I7 C B A Z I1
I0 SN74151 I1
F (Q0 ,Q1 ,Q2 , Q3)
A
I2 I3 Z I4 F(Q0 ,Q1 ,Q2 ,1) I5 I6 I7 C B A Q3
1 0 Q2Q1Q0
Sintesi con MUX a n-1 bit d’indirizzo F(0,0,0,Q3) = 1 F(0,0,1,Q3) = 0 F(0,1,0,Q3) = Q3’ F(0,1,1,Q3) = Q3 F(1,0,0,Q3) = Q3
Q2Q1 Q0 Q3
000 001 010 011 100 101 110 111 0 1 0 1 0 0 0 1 0 1 1 0 0 1 1 1 0 1
I0 SN74151 I1 I2 I3 Z I4 I5 I6 I7 C B A
F(1,0,1,Q3) = Q3 F(1,1,0,Q3) = Q3’ F(1,1,1,Q3) = Q3 F
Q3’ Q3 1 0
Q2Q1Q0 genera le 4 funzioni di una variabile !
Data Selector
Amplificatore a 3 stati d’uscita
I
O
OE H H L
I L H X
Lo stato elettrico del segnale
O L H Z
d usci ta è inde indefin finito ito o fluttuante fluttuante uscita (Terzo Stato, Stato di Alta Imp.)
OE
OE I O
tpZ(L/H)
tp(L/H)Z
Retroazione
Rete ideale, ritardo e retroazione
Vu = V3 ↓ ↓ (V1 ↓ ↓ V2)
V1 (t + 2τp) = Vu (t) V3
Vu
V1
2τ p
V2
+E
+E Vu
V1 V2
V3
Descrizione della retroazione Livello fisico
Livello logico
Variabile dipendente
Y
Variabile indipendente
y
Segnale in retroazione
Latch SR a NOR Q = R ↓ (q ↓ S) Q = (R + (q + S)’)’ Q = R’. (q + S) S)
q
S, R 00 01
11
10
0
0
0
-
1
1
1
0
-
1
Q V2=V3=1 vietato ! Pongo S = V2 R = V3 Q = Vu
S
Vu = V3 ↓ ↓ (V1 ↓ ↓ V2)
R
Q/q
Cosa occorre per scrivere un 1 (o uno 0)? R=0 Q q=0
2τp
S: 0→ 1
∆t = 2τp S
Dopo ∆t dal fron ronte di salita di S, q passa
Q
da 0 a 1, condizione che si mantiene anche se S torna a 0
q La durata minima di un comando comando di set/reset è spesso indicata indicata con la denominazione di tempo di set-up del latch
Manipolazione algebrica A I0 I1 U 0 0 0 0 0 0 0 1 1 1
0 1 1 0 0 1
1 0 1 0 1 0
0 1 1 0 1 0
Ia forma canonica: U = A’. I0 . I1’+ A’. I0 . I1 + A . I0’. I1 + A . I0 . I1 4 AND a 3 ingressi e 1 OR a 4 ingressi forme equivalenti ottenute per “manipolazione”: = A’. I0 . (I1’+ I1) + A . (I0’ + I0) . I1 = A’. I0 . 1 + A. 1 . I1 = A’. I0 + A . I1 I1
1 1 1 1
U I0
A
Decoder 3:8 m(0) = C’.B’.A’ m(1) = C’.B’.A m(2) = C’.B.A’ m(3) = C’.B.A m(4) = C.B’.A’ m(5) = C.B’.A i=
m(6) = C.B.A’
C.22+B.21+A.20
m(7) = C.B.A
“carico” 1 A 1 B 1C
Tempo di propagazione: il fenomeno del ritardo nel relè corrente
la causa
C A
D B
SI
NO tempo contatto AB
l’effetto ∆T1
∆T2
chiuso
aperto
tempo
MUX con amplificatori 3-state (1) In ogni istante di tempo non deve deve esser esserci ci più più di
I0 I1
un 3-state abilitato !
Z
I2
Situazione di corto circuito Occorre ( conflitto conflitto elettrico) con una pausa possibili malfunziona malfunzionamenti menti tra un’abilitazione un’abilitazione l’altra dele sistema
I3
3
A0 A1
2
1
0 MUX 4:1
DEC
Le uscite del decoder non variano simultaneamente Nei 3-state il tempo di risposta all’abilitazione (tpZH, tpZL) è inferiore a quello necessario per il ritorno nel terzo stato (tpHZ, tpLZ)
I0
MUX con amplificatori 3-state (2) I 0
I1
I1
Z
I2
Z
I2 I3
I3 EN A0 A1
3
2
1
DEC
Ai
0
EN A0 A1
3
2
DEC
1
0
EN Z
Selezione con MUX S3
S2
S1
S0
1
1
1
1
0 BA 1 1 P/S 2 3 MUX
Selezione con amplificatore a tre stati S3
S2
S1
S0
D
EN A1 A0
Il Bus
d
D
Sintesi di reti combinatorie •Espressioni generali •MULTIPLEXER
25 ottobre 2001
Sintesi con multiplexer
1
Notazioni simboliche per le espressioni canoniche i
rab
R
S
0 1 2 3 4
000 001 010 011 100
0 0 0 1 0
0 1 1 0 1
5 10 11 0 6 1 7 1 1 1
1 1 1
0 0 1
• Abbiamo già visto che una funzione può essere espressa come somma di mintermini o mintermini o come prodotto come prodotto di maxtermini • Questo esempio ne mostra la notazione applicata al caso del full adder
S (r,a,b) = S (r,a,b) =
4 m
(1,2,4,7) 4 M (0,3,5,6)
R (r,a,b) = R (r,a,b) =
4 m
(3,5,6,7) 4 M (0,1,2,4)
• m(i) : mintermine di n bit che assume il valore 1 solo per la n-pla di valori delle variabili corrispondente all’indice i. • M(i) : maxtermine di n bit che che assume il valore 0 solo per la n-pla di valori delle variabili corrispondente all’indice i.
25 ottobre 2001
Sintesi con multiplexer
2
Espressioni generali La notazione del lucido precedente può essere generalizzata come segue: si consderano tutti i mintermini (caso SP) o i maxtermini(caso PS) e semplicemente si “mascherano” cioè si fanno sparire quelli che non interessano
Espressione generale generale - Espressione in grado di descrivere qualsiasi funzione di n variabili: 2n-1
F(x1,x2,...xi,..xn) =
i=0
m(i) . F(i)
(SP)
2n-1
F(x1,x2,...xi,..xn) =
( M(i) + F(i))
(PS)
i=0 Caso PS
Caso SP m(i) : mintermine di n bit F(i): valore dalla funzione per la n-pla di valori delle variabili per cui m(i)=1 25 ottobre 2001
M(i) : maxtermine di n bit F(i): valutazione dalla funzione per la n-pla di valori delle variabili per cui M(i)=0
Sintesi con multiplexer
3
La rete basata sull’espressione generale generale 2n-1
F(x1,x2,...xi,..xn) =
i=0
(caso SP) m(i). F(i) F(i)
Espressione in grado Espressione in di descrivere qualsiasi funzione di n variabili
F(i): F(i): costante detta anche “bit di programmaz programmazione” ione” F(0) F(0)
combinatoria Rete combinatoria
F(1) F(1)
programmabile in grado programmabile di realizzare qualsiasi funzione di n variabile
F
Questa rete è un multiplexer a 2n vie e può anche essere realizzata con un decoder di n variabili, 2n AN A N D con n+1 ingressi ingressi e un OR con 2n ingressi
F(2n-1) -1)
1 x2 xn 25 ottobrex 2001
4
Sintesi con multiplexer
I Multiplexer a partire dai decoder MUX a 4 vie, detto anche MUX MUX di due vari variabili abili (espressione SP) U = (C1’. C0’). I0 + (C1’. C0) . I1 +( C1 . C0’). I2 + (C1 . C0) . I3
I0 I1
U
I2 I3 U0 U1
U2 U3
C1 e C0 si chiamano anche variabili di controllo o controllo o bit di indirizzo del MUX
DECODER I1
C1
Ricordando che il decoder è la rete che genera i mintermini, la realizzazione del MUX con decoder, and or a partire dall’espressione dall’espressio ne di U è immediata (è sufficiente applicare la proprietà associativa ai 4 prodotti logici) logici)
I0
C0
5
Sintesi con multiplexer
F → E→
Schematico: Realizzazione di una tdv con un MUX Una tdv può essere rappresentat rappresentata a algebricamente con l’espressione generale SP: 23-1
E(x0,x1,x2) = X X X
U
m(i) .U(i) 0
2
0 0 0 0 1 1 1 1
0
1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
Per ogni conf. di ingresso «i» si attiva il solo
0 1 1 0 1 0 0 1
I0
mintermine m(i), quindi quando l’ingresso è «i» l’espressione assume il valore U(i) U(i)
I1
L’espressione generale SP può essere realizzata con un MUX:
I2 . . .
U
I3 I4 I5
Il mux infatti porta in uscita il valore dell’ingresso Ii ove il pedice i è il numero individuato dalla configurazione delle variabili di controllo (C2, C1, C0)
I6
Quindi: Il valore di U associato associato a ciascuna configurazione
I7
di ingresso va portato all’ingresso I i del mux, i mentree agli ingressi di controllo vanno mentr portate le variabili indipendenti dell’espre dell’espressione ssione
Circuiti integrati che realizzano realizzano MUX di 1, 2, 3, e 4 variabili (detti variabili (detti anche MUX a 2, 4, 8 e 16 vie) SN74157 I0 I1 Z A
A,B,C,D Ii
25 ottobre 2001
SN74153 I0 I1 I2 Z I3 BA
SN74151 I0 I1 I2 I3 Z I4 I5 I6 I7 CBA
ingressi ( xi ) bit di programmazione ( pi ) Sintesi con multiplexer
Sintesi con Multiplexer
SN74150 I0 I1 I2 I3 I4 I5 I6 I7 I8 I9 I10 I11 I12 I13 I14 I15 DCBA
Z
7
Il Multiplexer con n bit di indirizzo è la realizzazione della espressionee generale SP di n variabili. espression Il procedimento di sintesi mediante multiplexer si articola art icola nei seguenti passi: 1) Si sceglie, o si realizza, un MUX con un numero di vie pari alle righe della tabella della verità da realizz realizzare. are. 2) Si collegano gli ingressi di selezione ai segnali che corrispondono alle variabili della funzione. 3) Si impone su ciascuna via vi a o il valore “0” o il valore “1” seguendo le indicazioni fornite dalla tabella della verità.
N. B. - Nello schema elettrico l’imposizione di un valore logico (0 o 1) 1) - Nello schema implica il collegamento con il corrispondente valore fisico (es. 0V o 5 V) 25 ottobre 2001
Sintesi con multiplexer
8
Ci vuole un MUX per ogni variabile di
Sintesi di un full-adder con MUX I0 I1
uscita!
a b r
S R
0 0 0 0 1 1 1 1
0 1 1 0 1 0 0 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
Vcc
SN74151
I2 I3 Z I4 I5 I6 I7 C B A
0 0 0 1 0 1 1 1
I0
1
S
SN74151
I1 I2 I3 Z I4 I5 I6 I7 C B A
R
25 ottobre 2001 GND
0
9
1 0
a b r
Impiego dei MUX per semplificare la sintesi di funzioni di molte variabili a b r 0 a=0 0 0 0 1 a=1 1
0 0 1 1 0 0
S
0 1 0 1 0 1
0 1 1 0 1 0
1 1 0 1 1 1
0 1
b
• Dividiamo in due una t.d.v. di n variabili in variabili in modo che ognuna delle due
r
0 1 1 0
RC
b
b
“sottotabelle sottotabelle”” ottenute abbia una variabile di ingresso costante (es.: xn-1)
r
MUX
0 U 1 C
1 0 0 1
a b
Una RC RC per per a =0 e una RC RC per per a =1
• Si ottengono così 2 tdv di n-1 variabili ciascuna associata a un valore costante di xn-1 • La rete che realizza la tdv di n n var. assegnata può essere realizzata inviando a un MUX
r
RC
S
r
a due vie due vie controllato da xn-1 le uscite delle 2 reti di n-1 variabili che variabili che realizzano le due sottotabelle
Sintesi con multiplexer
10
Iterazione del procedimento illustrato nel lucido precedente •
Il procedimento illustrato nel lucido precedente è semplicemente l’applicazione del teorema di espansione espansione
•
Il procedimento può essere iterato suddividendo ulteriormente le tdv di n-1 variabili in due tdv di n-2 variabili variabili
•
La realizzazione della tdv assegnata, dopo due iterazioni, si riduce a: – la realizzazione di 4 funzioni di n-2 variabili – un albero di multiplexer a due vie
•
l’a l’albe lbero ro di di MUX MUX real realizz izza a a sua sua vol volta ta lla a funzi funzion one e di mux a 4 vie vie,, co come me
illustrato dal prossimo lucido •
Il teorema di espansione può essere applicato in tutto n volte (TANTE QUANTE SONO LE VAR. DI INGRESSO)
•
Alla fine Alla fine si arriv arriva a alla alla realiz realizzaz zazion ione e delll’e delll’espr spressi essione one gener generale ale SP tram tramite ite albero di MUX a n livelli livelli
25 ottobre 2011
Sintesi con multiplexer
11
Albero di MUX Espressione SP di un MUX a 4 vie U = A1’. A0’. I0 + A1’. A0 . I1 + A1 . A0’. I2 + A1 . A0 . I3 Manipolazione algebrica: U = A1’. (A0’. I0 + A0 . I1) + A1 . (A0’. I2 + A0 . I3)
I0 I1
I2 I3 A0
MUX 0 U 1 A
MUX 0 U
MUX 0 U 1 A
U
1 A
A1 Disponendo opportunamente più MUX in serie/parallelo si 12 25 ottobre 2001 Sintesi con multiplexer ottiene un MUX con un numero maggiore di vie.
Teoremi di espansione (o di Shannon) T19) F(x1,x2,..xn-1,xn) = xn’.F(x1,x2,..xn-1,0) + xn .F(x1,x2,..xn-1,1) T20) F(x1,x2,..xn-1,xn) = (xn+ F(x1,x2,..xn-1,0)).(xn’+ F(x1,x2,..xn-1,1)) F(x1,x2,..xn-1,0), F(x1,x2,..xn-1,1) sono rispettivamente le parti della tdv di F in cui rispettivamente si ha xn=0 e xn=1. Se F è descritta da una espressione E(x1,x2,..xn-1,xn), allora
F(x1,x2,..xn-1,0), F(x1,x2,..xn-1,1) si ottengono da E sostituendo a xn i valori 0 e 1.
E sem sempi o 1: a b F(a,b) 0 0 0 0 1 1 0 1 1 1
1
b F(0,b) 0 0 1 1 1 b F(1,b) 0 1
25 ottobre 2001
1 1
E se sem mpi o 2: E= x1+x2 x3’ = x1’.(0+x2 x3’)+x1.(1+x2 x3’) ’) = (x1+(0+x2 x3’)).(x1’+(1+x2 x3’)) ’))
Sintesi con multiplexer
13
Espressioni Generali e Teoremi di Shannon se applichiamo n volte i teoremi di espansione a una espressione E di n variabili ritroviamo le espressioni generali 25 ottobre 2001
Sintesi con multiplexer
14
Esempio di iterazione del teorema di espansione
Sia F(Q0 ,Q1 ,Q2 ,Q3) una espressione di 4 variabili. Applichiamo tre volte il teorema di espansione e otteniamo: Z = F(Q0 ,Q1 ,Q2 ,Q3) = F(0,0,0, Q3) Q2’Q1’Q0’ + F(0,0,1, F(0,0,1 , Q3) Q2’Q1’Q0 +
Un’ulteriore Un’ulteriore iterazione iterazione
1 Q0’ + F(0,1,1, Q3) Q2’Q1 Q0 + F(0,1,0, Q Q3)) Q Q2’Q F(1,0,0, Q 3 2 1’Q0’ + F(1,0,1, Q3) Q2 Q1’Q0 + F(1,1,0, Q3) Q2 Q1 Q0’ + F(1,1,1, F(1,1,1 , Q3) Q2 Q1 Q0
F(0,0,0,Q3) F(0,0,1,Q3) F(0,1,0,Q3) F(0,1,1,Q3) F(1,0,0,Q3) F(1,0,1,Q3) F(1,1,0,Q3) F(1,1,1,Q3)
Q3
I0 SN74151 I1 I2 I3 Z I4
avrebbe portato alla espressione generale (somma di prodotti)
F
I5 I6 I7 C B A Q2Q1Q0
15
Mapping di reti logiche su gate array programmabili •
Il simulatore logico che utilizziamo nel corso di reti logiche deve sapere quale dispositivo elettronico verrà impiegato per realizzare le reti che vogliamo simulare
•
I dispositivi utilizzabili sono gate array programmabili programmabili in campo (FP (FPGA GA o Field Programmable Gate Arrays) costruiti da Altera
•
Questi dispositivi sono costituiti da matrici di celle logiche logiche,, la cui struttura di riferimento sarà illustrata nel prossimo lucido
• •
Solitamente le celle sono celle sono tutte uguali Le loro principali principali caratteristiche sono la configurabilità e la interconnettibilità: esiste un programma detto “fitter” che automaticamente converte la rete data in una rete equivalente composta di celle configurate e interconnesse
•
Alcuni FPGA mantengono la configurazione anche in assenza di alimentazione
•
Altri FPGA mantengono la configurazione su una memoria volatile che perde il contenuto in assenza di alimentazione
25 ottobre 2001
Sintesi con multiplexer
16
FPGA: struttura di una cella tipo •
Interconnettendo tra loro più celle di un FPGA è possibile realizzare reti combinatorie e sequenziali di notevole complessità
•
Ogni cella ha le seguenti caratteristiche: – 5 o 6 ingressi “combinatori” “combinatori”
– un mux a due vie: una via è un ingresso, la variabile variabil e di controllo è un altro ingresso e l’altra via è una qualunque funzione degli altri 3 o 4 ingressi (scelta dal fitter) – un FFD con ingressi di clock, enable, e clear+preset sincroni sincroni – 2 uscite: l’uscita del mux e l’uscita del FFD FFD – l’ingresso del FFD è l’uscita del MUX MUX
•
In questo modo ogni cella può essere impiegata per realizzare la funzione G, la funzione F o il registro con lo stato presente
25 ottobre 2001
Sintesi con multiplexer
17
Rappresentazione concettuale di una cella logica di FPGA cd
a,b,c,d
00 01 11 10 ab 00 X 1 1 X 01 X 1 1 X 11 X 10 0
1 1
1 1
X X
z MUX
0 U 1 A
YF D
Q
y
RC di 4 variabili configurabile
e • Preset e clear del FFD non sono indicati
f
• Il clock è un segnale globale, esteso est eso cioè a tutto il dispositivo 25 ottobre 2001
Sintesi con multiplexer
18
Esercizi di mapping su FPGA •
Si mappi su due celle una funzione di 5 variabili
•
Si mapp mappii su tre tre cell cellee il genera generator toree di forme forme d’ond d’ondaa asseg assegnat nato o nella nella prima prova intermedia
•
Si scelgano a piacere tre reti e le si mappi su FPGA
•
Questi esercizi si possono risolvere applicando alle funzioni da mappare il teorema di espansione come indicato nel lucido n.10 (semplificazione di reti complesse)
25 ottobre 2001
Sintesi con multiplexer
19
Sintesi a MUX di funzioni complesse (1) Caso di studio: sintesi di una funzione incompleta di 4 variabili varia bili usando MUX con 3 ingressi di selezione. selezione.
Q2Q1 Q0 111 Q3 000 001 010 011 100 101 110 111 0 1 0 1 0 0 0 1 0 - 1 1 1 0
Vedremo di seguito 2 diverse realizzazioni: a): con un mux a due vie, 2 mux a 8 vie e 16 costanti b): con un mux a 8 vie e 8 funzioni di una variabile 25 ottobre 2001
Sintesi con multiplexer
20
Sintesi a MUX di funzioni complesse (1 bis) a): sintesi sintesi con un mux a due vie (controllato da Soluzione a): Q3) e 2 mux a 8 vie con ingressi di dato vincolati a costante (0 o 1) Z = F(Q0 ,Q1 ,Q2 , Q3) = F(Q0 ,Q1 ,Q2 ,0).Q3’ + F(Q0 ,Q1 ,Q2 ,1).Q3
Q2Q1 Q0 111 Q3 000 001 010 011 100 101 110 111 0 1 0 1 0 0 0 1 0 - 1 1 1 0
25 ottobre 2001
Sintesi con multiplexer
Sintesi a MUX di funzioni complesse (2)
21
I0 SN74151 I1 I2 F(Q0 ,Q1 ,Q2 ,0) I3 Z I4 I5 SN74157 I6 I0 I7 C B A Z
F (Q0 ,Q1 ,Q2 , Q3)
I1 I0 SN74151 A I1 I2 I3 Z I4 F(Q0 ,Q1 ,Q2 ,1) I5 I6 I7 C B A 1 0 Q2Q1Q0
Q3
25 ottobre 2001
Sintesi con multiplexer
22
Sintesi a mux: altra soluzione Soluzione b): Si applica 3 volte il teorema di espansione per “estrarre” una dopo l’altra le variabili Q0, Q1 e Q2, quindi si impiega un mux a 8 vie Z = F(Q0 ,Q1 ,Q2 ,Q3) = F(0,0,0, Q3) Q2’Q1’Q0’ F(0,1,0, Q3) Q2’Q1 Q0’ F(1,0,0, Q3) Q2 Q1’Q0’ F(1,1,0, Q3) Q2 Q1 Q0’
+ F(0,0,1, Q3) Q2’Q1’Q0 + + F(0,1,1, F(0,1,1 , Q3) Q2’Q1 Q0 + + F(1,0,1, Q3) Q2 Q1’Q0 + + F(1,1,1, F(1,1,1 , Q3) Q2 Q1 Q0
F(0,0,0,Q3) F(0,0,1,Q3) F(0,1,0,Q3) F(0,1,1,Q3) F(1,0,0,Q3) F(1,0,1,Q3)
I0 SN74151 I1 I2 I3 Z I4 I5 I6 I7 C B A
F
F(1,1,0,Q3) F(1,1,1,Q3)
Q
23
3
Q2Q1Q0
Sintesi a MUX - sol soluzione uzione b) (2) F(0,0,0,Q3) = 1 F(0,0,1,Q3) = 0 F(0,1,0,Q3) = 1 F(0,1,1,Q3) = 0
Q2Q1 Q0 Q3
111 000 001 010 011 100 101 110 111 0 1 0 1 0 0 0 1 0 - 1 1 1 0
I0 SN74151 I1 I2 I3 Z I4 I5 I6 I7 C B A Q3’ Q3 1 0 25 ottobre 2001
F(1,0,0,Q3) = 0 F(1,0,1,Q3) = 0 F(1,1,0,Q3) = 1 F(1,1,1,Q3) = Q3 F
La soluzione b) soluzione b) presenta presenta minor numero di componenti e minor ritardo rispetto alla a) . a) .
Q2Q1Q0 genera le 4 funzioni di una variabile ! Sintesi con multiplexer
Esercizio 4.9 Si consideri la precedente funzione Z e si esegua la sintesi con MUX MUX a 8 vie estraendo dapprima solo Q0 e poi Q1, Q2 ,Q3 .
24
25 ottobre 2001
Sintesi con multiplexer
25
Capitolo 2 Codifica binaria dell’informazione dell’informazione
2.1 – Rappresentazione dell’informazione 2.1 – dell’informazione 2.2 – 2.2 – Codifica Codifica di caratteri 2.3 – Codifica 2.3 – Codifica dei numeri 2.4 – 2.4 – Trasmissione dell’informazione dell’informazione 2.5 – 2.5 – Protezione dell’informazione
1
2.1 Rappresentazione dell’informazione dell’informazione
2
Simbolo, alfabeto e stringa stringa Informazione - Stringa Stringa di di lunghezza finita formata da simboli si appartenenti un alfabeto alfabeto di : a , .., a a A s1 s2 s3 ….ad si …… sn-1 sn di condefinizione si A: , 1 2 m Alfabeto A : insieme di informazioni “elementari” “elementari” Esempi:
“testo” e caratteri caratteri
“numero” e cifre cifre
“immagine”, pixel e toni di grigio grigio
“musica” e note note
“disegno” e pend./lung. di tratti tratti
“misura” e posizione di un indice indice
“parlato” e fonemi fonemi
3
Macchine digitali e
rappresentazione dell’informazione dell’informazione Rappresentazione esterna Rappresentazione delle “richieste” e delle “notifiche” “notifiche” Rappresentazione binaria Rappresentazione delle “richieste” e delle “notifiche” “notifiche”
controllo
segnali binari
macchina dei “comandi” e degli “stati” digitale
Rappresentazione Rappresentaz ione binaria
Rappresentazione esterna dei “dati” “dati”
percorso dei dati
Rappresentazione esterna dei “risultati”
Rappresentazione binaria Rappresentazione dei “dati” e dei “risultati” “risultati” 4
La codifica binaria della informazione n bit b1 b2 b3
bn
5
Codici binari
6
Codice binario Codice binario - Funzione dall’insieme delle 2n configurazioni di n bit ad un insieme di M informazioni ( simboli simboli alfanumerici, alfanumerici, colori, eventi, eventi, stati interni, interni, ecc.). Condizione necessaria per la codifica: 2n M
0 0 0 ……..0 ……..0 1 0 0 ……..0 ……..0 0 1 0 ……..0 ……..0
z
n.u.
1 5
a
1 1 0 ……..0 ……..0 2n config.
M informazioni
0 0 1 ……..0 ……..0 0 0 1 ……..1 ……..1
?
m
0 1 1 ……..1 ……..1 1 1 1 ……..1 ……..1 7
Proprietà di un codice Il codice è una rappresentazione convenzionale dell’informazione. La scelta scelta di di un codice è condivisa da sorgente e sorgente e destinazione destinazione ed ha due gradi di libertà: • il numero di bit bit (qualsiasi, (qualsiasi, a patto che sia 2n M M ) ) associazione tra tra configurazioni e informazioni • l’ l’associazione A parità di n e di M le associazioni possibili sono -M)! C = 2n! / (2n-M)!
n = 1, M = 2 n = 2, M = 4 n = 3, M = 8 n = 4, M = 10
C=2 C = 24 C = 64.320 C = 29.000.000.000 8
Codici ridondanti e non ridondanti facilità d’uso d’uso verifica d’integrità d’integrità
8
Codici ridondanti n > nmin
2n M
nmin = lg2 M
7 6
Codici non ridondanti
t i b 5 i d ° 4 n : 3 n
minimizzazione del costodi codifica Impossibilità
2 1 0 2
22
42
62
M: n° di informazioni
9
2
0 1
00
+ -
1 0
4.104
segno
Altri 29 miliardi di codici a 4 bit
BCD
n.u.
colori
Esempi Cifre decimali zer o ze uno due tre quattro cinque se s ei se s ette otto nove
11 10
0 1
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
01
1111110 0110000 1101101 1111001 0110011 1011011 0011111 1110000 1111111 1110011
1000000000 0100000000 0010000000 0001000000 0000100000 0000010000 0000001000 0000000100 0000000010 0000000001
7 segmenti
uno su dieci 10
Codice a 7 segmenti
a b
f
zero uno ecc.
g
e
a b c d e f g 1 1 1 1 1 1 0 0 1 1 0 0 0 0
c d
Universal Product Code a b c d e f g
0
1
2
3
4
5
6
7
8
9
11
Trascodifica
12
La trascodifica sul percorso dei dati Trascodifica Unità di Codice elaborazione interno e di memoria
Codici esterni Trascodifica
Il codice interno è di norma non ridondante ridondante per per minimizzare il n° di bit da elaborare e da memorizzare. ridondante,, per semplificare la generazione Il codice esterno è di norma ridondante e la interpretazione delle informazioni, informazioni, e standard, standard, per rendere possibile la connessione di macchine (o unità di I/O) fatte da Costruttori diversi. 13
La calcolatrice tascabile Codice ridondante per la visualizzazione dei dati
Codice BCD per la rappresentazione
Codice ridondante per la introduzione dei dati e
interna dei numeri
dei comandi 14
Le due trascodifiche x4 x3 x2 x1
ENCODER trascod. da 1 su 4 a binario
DECODER x2 x1 x0
trascod. da binario a 1 su 8
y2 y1 y0
x4 x3 x2 x1
y2 y1 y0
0 0 0 0 1
0 0 0 0 1
0 0 0 1 0
0 0 1 0 0
0 1 0 0 0
0 0 1 1 0
0 1 0 1 0
y7 y6
x2 x1 x0 0 0 0
y7 y6 y5 y4 y3 y2y1 y0 0 0 0 0 0 0 0 1
y5 y4 y3 y2 y1 y0
0 0 0 1 1 1 1
0 0 0 0 0 0 1
0 1 1 0 0 1 1
1 0 1 0 1 0 1
0 0 0 0 0 1 0
0 0 0 0 1 0 0
0 0 0 1 0 0 0
0 0 1 0 0 0 0
0 1 0 0 0 0 0
1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 15
Codici proprietari e standard Codice proprietario - Codice fissato da un Costruttore per mettere in comunicazione apparati da lui realizzati
• L’uso di codici proprietari ottimizza proprietari ottimizza le prestazioni e protegge il mercato di certe apparecchiature. Esempi: Linguaggio Assembler, Assembler, Periferiche, Telecomando Telecomando TV Codice standard - Codice fissato da norme internazionali ( de i ure ur e ) o dal costruttore di una macchina utile per tutti tut ti gli altri ( de facto ). • L’uso di codici standard nelle standard nelle unità di I/O consente di collegare macchine fatte da costruttori diversi
Esempi: Stampanti e Calcolatori, Calcolatori e Calcolatori Calcolatori 16
2.2 La codifica dei caratteri
17
La codifica Morse (1830)
t0 t1 t2 t3
Caratteristiche:
t0 t1 t2 t3
E T A
D F H
I N M O S R G W U
B X V C Y L J Z Q
K
P
•Lunghezza variabile •Stringhe separate da pause
•Efficiente per l’uso da parte di operatori umani umani •Difficoltoso il progetto di ricetrasmettitori automatici
Stringhe di uguale lunghezza - Baudot (1874): 5 bit 18
I 95 96 simboli di “testo”: ASCII a 7 bit (1967) (1967) 000 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101
001
caratteri di controllo
010
01 1
100
1 01 10
110
111
SP ! " # $ % & ' ( ) * + , -
0 1 2 3 4 5 6 7 8 9 : ; < =
@ A B C D E F G H I J K L M
P Q R S T U V W X Y Z [ \ ]
' a b c d e f g h i j k l m
p q r s t u v w x y z { | }
. /
1110 1111
> ?
N O
^ _
n o
~ DEL 19
Codice ASCII esteso (8 e 16 bit)
3 bit 8 conf.
configurazioni 5 bit : 32 configurazioni
Lo standard Unicode (16 bit) codifica in binario i caratteri di tutte le lingue! 20
B i t map: un codice d’uscita ridondante ridondante per simboli alfanumerici Stampanti ad impatto: ASCII
Bianco/nero: 1 pixel, 1 bit Tonalità:
Stampanti laser, a getto,
1 pixel, 8 bit
monitor: BITMAP
Colori RGB: 1 pixel, 3x8 bit Font Matrice di pixel: ad es. 8x8 21
2.3 La codifica dei numeri
22
Rappresentazione Rappresentazi one dei numeri
ASCII, Unicode Esterna: BCD, BCD, ASCII, • Interna: Sistema di numerazione in base 2
23
Numeri in base B
1) Rappresentazione: Rappresentazione: an-1 …… a0 , a-1 …… a-m -m
ai {0, 1, …., (B-1)} (B-1)}
2) Valore: (N)B = (an-1 .Bn-1 + …+ a0 .B0 + a-1 .B-1 + a-2 .B-2 + … a-m .B-m)
24
Il sistema di numerazione in base 2
(il caso dei numeri naturali < 2n) n bit bn-1 bn-2
(N)2 = bn-1 .2n-1 + bn-2 .2n-2 + …+ b0 .20
b1 b0
N10 0 1 2 3 4
N2 0000 0001 0010 0011 0100
N10 8 9 10 11 12
N2 1000 1001 1010 1011 1100
5 6 7
0101 0110 0111
13 14 15
1101 11 1110 10 11 1111 11
Lunghezza Lunghezza della stringa in base 2 e in base 10 Dato un numero decimale con m cifre 0 (N)10 10m -1 per la sua rappresentazione binaria deve quindi essere 2n > 10 m e quindi n = (mlog2 10) (3,32 m)
25
Conversione di base
26
Conversioni da base 2 a base 10 e viceversa di numeri naturali ESEMPIO: 100110 0+ 2 + 4 + 10 Conversione da base 2 a base 10 0+ (N)10 = (bn-1 .2n-1 + bn-2 .2n-2 + … + b1 .21 + b0 .20)10 0+ 32 32 = = 38 Conversione da base 10 a base 2 Osservazione prelimin preliminare: are: (N)10 = (bn-1 .2n-1 + bn-2 .2n-2 + … + b1 .21 + b0 .20)10 (N)10/2= (bn-1 .2n-2 + bn-2 .2n-3 + … + b1 .20) + (b0 .2-1)10 -1 + R. 2-1 = Q 27
Conversione di un numero naturale N da base 10 a base 2 i=0 A=N
B = (A / 2) 10 = (Qi + R i2-1) 10
ESEMPIO: 131 131/2 = 65 + 1.0,5 65/2 = 32 + 1.0,5 32/2 = 16 + 0 16/2 = 8 + 0 8/2 = 4 + 0 4/2 = 2 + 0
A = Qi bi = R i
i = i+1
NO
A=0
2/2 = 1 + 0 1/2 = 0 + 1.0,5 10000011
SI
fine 28
Altre rappresentazioni di numeri binari • Sistema esadecimale: B =16 cifre: 0,1,..,9,a,b,c,d,e,f cifre: 0,1,..,9,a,b,c,d,e,f codice binario: binario: 0 = 0000, 1 = 0001, …, f = 1111 1111 n° di bit per cifra: 4 ESEMPIO: 11000100 1100-0100
c4
0xc4
• Sistema ottale: B = 8, cifre: 0, 1, …,7 cifre: …,7 codice OCT OCTAL AL:: 0 = 000, …, 7 = 111 111 n° di bit per cifra: 3 ESEMPIO: 11000100 11-000-100
304
29
Operazioni aritmetiche
30
Addizione (con riporto) 0+0 = 00
r i ai bi
0+1 = 01 1+0 = 01 1+1 = 10 riporto carry r n r n-1 r n-2
r 1
0
an-1 an-2
a1 a0
bn-1 bn-2
b1 b0
sn sn-1 sn-2
s1 s0
+
Full Adder
si r i+1
r i ai bi r i+1
si
000
0
0
0 00 11 0 011 100 101 110 111
0 0 1 0 1 1 1
1 1 0 1 0 0 1 31
Moltiplicazione Moltiplicazi one (shift and add)
xy
p7
y3
y2
y1
y0
x3
x2
x1
x0
x0y3
x0y2
x0y1
x0y0
x1y3
x1y2
x1y1
x1y0
0 +
x2y3
x2y2
x2y1
x2y0
0
0 +
xy
xy
xy
0 +
3 3
3 2
3 1
3 0
0
0
p6
p5
p4
p3
p2
p1
+
p0 32
Rappresentazione dei numeri razionali •Come coppia di interi (più un bit per il segno)
s
in in-1 ...
i0
f 1 f 2 ...
f n
in in-1 ...
i0
f 1 f 2 ...
f n
• Notazione Notazione scientifica scientifica s
mn mn-1 ... m0
s
en en-1 ...
e0
33
2.5 Protezione
34
Disturbi e Guasti
sorgente
canale
destinazione
• linea di trasmissione • unità di memoria Obiettivo: riconoscere alla destinazione le configurazioni modificate.
Condizione necessaria: il codice deve essere ridondante • se arriva una configurazione “non utilizzata” la destinazione ha la certezza della sua non integrità; • se arriva una configurazione “utilizzata” la destinazione ha solo una certa probabilità che sia integra. Ulteriore condizione condizione - Le configurazioni non utilizzate devono probabili delle delle configurazioni utilizzate. essere le modifiche più probabili 35
Codici separabili: rilevazione di errori bit di informazione (information bits) bits)
bit di controllo (check bits) bits)
I
F
F Tx
C Rx
C F C bit di R sindrome d’errore d’errore
36
Gestione degli errori ricezione
NO Memoria
Correzione
N = N + 1
in Tx ? NO
NO Errore? SI
Perdita consentita?
SI
Ritrasmissione
SI
Manutenzione o sostituzione del canale
SI
E=E+1
E/N >k? NO
Scarto 37
Codici con rilevazione di errori
38
L ipotesi degli errori indipendenti bit e supponiamo che l’evento di Consideriamo una stringa di n bit modifica di un bit (o errore errore)) da parte di un disturbo a) sia indipendente dalla posizione del bit nella stringa; b) si verifichi con probabilità pari a p (tasso di errore). La probabilità che la stringa ricevuta contenga e errori è data da:
Pe = Esempio: p = 1 % N.B. molto alto!
n 8 16
n e
( ) . pe . (1-p)n-e P0 92,27 % 85.14 %
P1 7,46 % 13,76 %
P2 0,26 % 1,04 %
P3 0,005 % 0,049 %
Per n = 8 le modifiche più probabili riguardano un solo bit Per n = 16 le modifiche più probabili riguardano uno o due bit 39
Distanza minima di un codice Distanza fra due configurazioni binarie di n bit: D(A,B) Numero di bit omologhi che hanno valore diverso.
Esempi: D(100,101) = 1; D(011,000) D(011,000) = 2; D(010,101) = 3 Distanza minima di un Codice C: DMIN (C) - Valore Valore minimo della distanza tra due qualsiasi delle configurazioni utilizzate.
Esempi: DMIN (Codice ASCII) = 1; DMIN (Codice semafor semaforo) o) = 2 2 • I codice non ridondanti hanno DMIN=1. DMIN=1.
• I codice ridondanti possono avere DMIN > 1 1.. Esempio: DMIN (UPC) = 2 2
40
Distanza minima e rilevazione degli errori • Un codice per la rilevazione di tutti i possibili poss ibili errori singoli, o SEDC (Single Error Detection Code), deve non utilizzare tutte le configurazioni che distano “uno” da ciascuna delle configurazioni utilizzate. Un codice SED deve dunque avere almeno DMIN = 2 .
• Un codice per la rilevazione di modifiche su k bit deve avere almeno DMIN = k+1 .
41
Il bit di parità : una semplice modalità per ottenere la rilevazione di errori singoli bit che la sorgente sorgente aggiunge ad una stringa di bit di Bit di parità p - bit codifica al fine di renderne pari il n° di “uni”. “uni”. Errore di parità e - bit che la destinazione pone a 1 se e solo se riceve una configurazione con un numero dispari di “uni”. “uni”.
x1 0 0 1 1
x2 0 1 0 1
p 0 1 1 0
Codice con DMIN = 2
x1 0 0 0 0 1 1
x2 0 0 1 1 0 0
p 0 1 0 1 0 1
e 0 1 1 0 1 0
1 1
1 1
0 0 1 1 42
Calcolo della parità e della sindrome d’errore x1 x2
x1 x2 x1 0 0 1 1
x2 0 1 0 1
p 0 1 1 0
p = F(x1, x2)
x’1 0 0 0 0 1 1
x’2 0 0 1 1 0 0
p p’ p’ e 0 0 0 0 1 1 1 0 1 1 1 0 1 0 1 1confronto 1 0
1 1
1 1
1 0 0 1
Si/No
0 1
e = E(x’1, x’2, p’) p’) p = F(x’1, x’2) x’2) e = F(p, p’) p’)
43
Codici con correzione di errori
44
La correzione di errori singoli (esempio) 100 110
101 111
000 010
100 110
001 011
Tx trasmette o NO = 000 o SI = 111
101 111
000 010
001 011
Se P1>> P2 ogni configurazione errata può essere corretta
A causa dei disturbi Rx può ricevere una terna qualsiasi
45
Distanza minima e correzione degli errori DMIN=3.. Il codice dell’esempio precedente ha DMIN=3 • Ogni SECC (Single Error Correction Code) deve avere DMIN 3. errori e può correggerne • Un codice con DMIN = 2k+1 rileva 2k errori fino a k .. Di solito si corregge un solo bit e si usa la ridondanza introdotta per valutare la “qualità” “qualità” del canale (manutenzione/sostituzione)
46
Codici separabili: correzione di errori Hamming (Bell Labs, 1950) ha dimostrato che per correggere gli errori singoli su informazioni codificate con I bit occorrono C bit di controllo tali che 2C I + C + 1 . I
F
F
C
C F R
ICU 000 011 C bit di 101 sindrome
Tx
110 d’errore d’errore
Rx
Le 2C configurazioni delle sindromi di errore devono indicare se non c’è errore (1 situazione) e se c’è, dov’è (I + C situazioni).
47
Aritmetica binaria binaria sui numeri relativi (somme e sottrazioni) e Unità aritmetiche Esercizi da laboratorio ed esercizi per l’esame l’esame 30 ottobre 2011 2011
Reti Logiche
1
Numeri relativi: rappresentazione in complemento a 2 con n bit bit n bit
N = -2n-1 . bn-1 + bn-2 .2n-2 + …+ b0 .20 Se il bit più significativo è 1, N customize-> General e selezionare “Quartus II” in sezione “look and feel” feel” Prima di creare I nuovi file accertarsi di aver selezionato l’icona l’icona del progetto nel riquadro in alto a sinistra(presente solo in modalità look and feel= quartus II) e verificare che I nuovi file creati siano inclusi nel progetto, andando a verificare nella sezione “file “file--> add/remove files to projects” dello stesso riquadro in alto a sinistra
10
Terminato lo schematico si eseguano I seguenti comandi:
1) Assignements-> Assignements-> Settings-> Simulator settings-> Simulation mode: selezionare inizialmente Functional e e non Timing ! 2) ProcessingProcessing->Start>Start-> > Analysis Analysis and elabora elaboration tion (nei progetti progetti che inclu includono dono files crea creati ti da voi ATTENZIONE ATTENZIONE a dove vi chiede di salvare il .BD .BDF) F) 3) Pro Proce cess ssin ing g -> Generate functional simulation netlist
4) Creare Creare il file .v .vwf wf (file (file -> -> new vector wave waveform form file) file) 5) Ment Mentre re si si ed edit itan ano o le for forme me d’onda d’onda:: Edit-> mettere valori adeguati in grid size e end time (es: 20ns, 1us) 6) Editare il file in modo SENSA SENSATO TO (A (ATTENZION TTENZIONE E ANCHE ALLA SC SCEL ELT TA DE DEII PIN) 7) Proces Processin sing g --> >s star tartt s simu imulat lation ion Per eseguire la Timing simulation: 1) Assignements-> Settings-> Simulator settings-> Simulation mode, imporre “Timing” “Timing” 2) Processing-> Start Compilation and simulation 3) Per ripassare a “Functional” occorre rigenerare la netlist!!! Per usare un componente realizzato: 1) File-> Create/Update Create/Update -> Create Symb Symbol ol Files For Current Current File (verrà crea creato to un .bsf) 2) Nel nuovo nuovo progetto importare il .BDF ed utilizzare nello schematico schematico il .BSF 11
sum
a
XOR
Progettazione di un adder
b
da 4 bit (prima parte)
cout
AND cin_i
a_i b_i a
b
HA
C S
cout_i
OR
a
b
HA C S
12
S
Progettazione di un adder a 4 bit (seconda parte)
a3
b3
a3
a2 b2
b3
a2
b2
a1
b1
a1
b1
a0
a0
b0
b0
4bit_Adder a b
Cin
FA
a b
a b Cin
FA
FA
Cout
Cout S
Cin
Cout
S
a b
Cin
FA Cout
S
S
XOR
ov
s3
ov
s3
s2 s2
s1 s1
s0 s0
13
Esercizio: verificare la correttezza •
dell’espressione di dell’espressione di ov
Se il bit di overflow vale 1 abbiamo sempre un errore di
rappresentazione del risultato? E se il bit di overflow vale 0 il risultato è sempre corretto? Si considerino i 4 casi di operandi con lo stesso segno e con segno diverso •
Inizio della risposta: si disegni una mappa di Karnaugh di 4 variabili (I segni degli degli operandi e c_in e c_out del full adder più significativo, quindi si riempi la mappa.
•
8 celle si possono riempire immediatamente immediatamente osservando che, se il segno degli operandi è discorde,il risultato è sempre rappresentabile e inoltre (lo si verifichi) c_in c_out quindi ci sono 4 condizioni di
indifferenza •
Si completi poi la mappa. 14
Esercizi Assumendo p come ritardo di propagazione di un gate, si determini quale è il ritardo massimo di un 4 bit Full-Adder realizzato realizz ato connettendo in cascata 4 moduli FA.
E’ possibile realizzare a due livelli un addizionatore a 4 bit ? Quali sono i vantaggi e gli svantaggi di questa soluzione rispetto all’addizionatore realizzato connettendo in cascata 4 moduli FA?
15
Domande • Quanto impiega il carryout a propagarsi? • Perchè è meglio connettere il Cout di un full adder con l’ingesso Cin l’ingesso Cin e non con a o b del full adder a monte?
• Nel sommatore a 4 bit visto in lab c’è c’è un un componente che potrebbe essere rimosso? è un half adder? Se sì quale? Perchè?
16
Ricordando la tecnica di determinazione del complemento a 2 di un numero si descriva a parole il comportamento del seguente “adder/subtractor ” programmabile e quindi se ne ricavino le CI forma d’onda che verifichino quanto affermato CI 4 BIT a0 ADDER a1 a2 a3 s0 s1 s2 s3 b0 b1 b2 b3 CO
x C0
y 0
M U 1X CI C0 0 1
0
u
1
x+y
x+y+1
x-y-1
x -y
….. stesso stesso esercizio, con due ingressi di programmazione in più (C1 e C2) C2 CI
CI
C2 C1 C0 0 0 0
0
1
x+y
x+y+1
x ‘0000’
C1
CI 4 BIT a0 ADDER a1 a2
0M U X 1
a3
s0 s1 s2 s3
C0
y
0M U ‘0000’ X 1
b0 b1 b2 b3
0M U X 1
u
0 0 1
x - y -1
x -y
0 1 0
x
x+1
0 1 1
x-1
x
1 0 0
y
y+1
-(y +1)
1 0 1
-y
CO
0
1
24 -1 , -1
0
1 1 0 1 1 1
Sintesi della rete di pre-elaborazione ak = c2’ x.k +c2 0 =.c2’ xk bk = c0’
c1’ yk. + . ( )
C1
x0
c0
.
(
c1.’ yk
)’.
C0
= c0 c1’ yk.
C2
(
)
CI
CI a0
x1
a1
x2
a2
x 3
y0
a3 b0
y1
b1
y2
b2
y3
b3
4 BIT ADDER 4 BIT ADDER
s
s0 0 s1s1 s2s2 s3s
3
CO
u
Check point su: • Applicazione dell’espressione generale • Logica Positiva e Logica Negativa e applicazione del principio di dualità Si suggerisce di rappresentare visualmente mediante tabelle, mappe e schemi logici tutte le affermazioni dei prossimi lucidi
10/11/2011
RETI LOGICHE T
Il punto della situazione sulla Applicazione delle espressioni generali • • • • • •
Tabelle della verità e memorie a sola lettura Espressione generale e multiplex multiplexer er Multiplexer Multiplex er e memorie Interconnessione Inter connessione di memorie Logica binaria e terzo stato – buffer tristate Realizzazione Realizz azione di mux con decoder e buffer tristate
1
Multiplexer er distribuiti • Multiplex 10/11/2011
RETI LOGICHE T
2
equivalenza tra tdv e mem a sola lettura rappresenta con • Una funzione binaria di n var binarie si rappresenta una tdv avente: – 2 righe, n colonne di ingressi, una colonna per l’uscit l’uscita a n
• La tdv rappresenta rappresenta anche il i l contenuto contenuto di una memoria a sola lettura di 2 celle da un bit n
– ogni cella ha per indirizzo una configurazione degli n bit di ingresso ndirizzi di mem – Ingressi di f ≡ iindirizzi
– Uscita di f ≡ dato in mem 10/11/2011
RETI LOGICHE T
3
Corrispondenza tra espressione generale e multiplexer • Ogni tdv può essere rappresent rappresentata ata in forma algebrica con una «espressione generale» (es.: espressione generale SP) • In virtù della corrispondenza tra espressione generale e mux si può affermare che: – ogni f si può realizzare realizzare con un mux
Una mem da un bit si può realizzare con un mux
• Abbiamo visto gli schemi per: 1. 2. 3.
Re Real aliz izzzare are mux mux con con u un n dec decod oder er e una una ret rete eS SP P Realizzare tdv di n variabili con n grande, che si basano sulla tecnica di «cablare» i 2n valori della funzione all’interno del dispositivo che realizza il mux Estendere a m il numero di uscite della tdv tdv,, ( e quindi anche il numero di bit di ogni cella) a cu cuii corrisponde una realizzazione di m mux basata su un solo decoder e m reti SP
10/11/2011
RETI LOGICHE T
4
Composizione di tdv (mem) per ottenere ott enere tdv (mem) più grandi • Si possono comporre dispositivi di memoria secondo due diversi schemi in modo da: 1.
Este Estende ndere re la la dimens dimension ione e della della singo singola la cella cella,, lascia lasciando ndo iimm mmut utat ato o il numero di celle: il numero di variabili di ingresso non cambia, mentre cambia il numer di uscite
2.
Este Estende ndere re ilil numer numero o di celle celle lasc lascian iandon done e im immut mutat ata a la di dime mensi nsione one:: il numero di var di igresso aumenta di uno ogni volta che si desidera raddoppiare il numero di celle di mem, mentre il numero di uscite resta immutato
• Questi schemi corrispondono alla applicazione del principio di composizone delle reti logiche. Più in dettaglio, con lo schema 1 aumenta il numero di mux realizzati a partire dallo stesso decoder mentre lo schema 2 corrisponde alla realizzazione di mux più grandi ottenuti componendo più decoder con la tecnica dei decoder ad albero 10/11/2011
RETI LOGICHE T
5
Un nuovo approccio alla realizzazione dei mux basata sul concetto di logica tristate tristate in sostituzione della logica binaria: mux distribuiti
•
Le uscite di buffer tristate (definiti nel file intitolato «Reti Programmabili») possono essere collegate tra loro loro a condizione che non capiti mai che due buffer tristate interconnessi siano entrambi attivi
•
I buffer tristate sostituiscono la rete SP nella realizzazione di Multiplexer
•
I buffer tristate consentono la realizzazione di mux distribuiti: – ogni componente da multiplexare viene equipaggiato con un buffer di uscita tristate – Data path: le uscite corrispondenti di detti componenti vengono interconnesse tra loro al fine di generare generare un unico segnale (segnale di bus) – Control path: i disposit dispositivi ivi interconnessi devono essere attivati uno alla volta, in modo mutuamente esclusivo – quindi i segnali che abilitano i buffer di uscita tristate dei dispositivi interconnessi devono essere pilotati da un DECODER esterno – Visto che decoder e buffer tristate risiedono in blocchi diversi, questi mux si chiamano MULTIPLEXER DISTRIBUITI 10/11/2011
RETI LOGICHE T
6
Controllo del decoder in un MUX distribuito • Le uscite di buffer tristate possono essere cortocircuitat cortocir cuitate e a condizione che mai, nemmeno in transitorio, si abbiano due buffer abilitati contemporaneamente • Quindi, se le uscite dei buffer tristate sono controllati da un decoder, decoder, il decoder deve essere un decoder ccon on ingresso di enable (EN) • nelle applicazioni pratiche (es. bus dei calcolatori) si tiene EN normalmente non attivo ( EN=0 in Logica Positiva Positiv a ) e si attiva EN (in LP si pone EN=1) solo dopo che gli ingressi del del decoder si sono stabilizzati stabilizzati Per un richiamo sul significato di Logica Positiva e Negativa Negativa si veda il prossimo lucido 10/11/2011
RETI LOGICHE T
7
Logica Positiva e Logica Negativa Logica Positiva (L.P (L.P.) .)
Voltage
Logica Negativa (L.N.)
1
High (H)
0
0
Low (L)
1
x
Convenzione nella denominazione del segnale
x#
Segnale «attivo alto»
(si aggiunge il carattere # al nome del segnale)
Si parla anche di
Segnale «attivo basso»
Con un NOT si trasforma un segnale «attivo basso» in segnale «attivo alto» e viceversa X
X# X = /X#
10/11/2011
A parole si dice: X cancelletto è un segnale «attivo basso» X è un segnale «attivo alto»
a
a# a# = /a
RETI LOGICHE T
Il principio di dualità • Allo schema elettrico (struttura) di un sistema digitale si possono associare due diverse espressioni espress ioni logiche (interpret (interpretazioni) azioni) , una in LP e una in LN • Le due espressioni si dicono una duale dell’altra. • Si passa da una espres espressione sione alla duale eseguendo i seguenti due passi: 1.
si scam scambi bian ano o tra tra loro loro le cost costan anti ti 0 e 1
8
2. Si scambi scambian ano o tra tra loro loro le le oper operaz azion ionii d dii somm somma a llogi ogica ca e prodotto logico 10/11/2011
RETI LOGICHE T
9
Applicazione del principio di dualità Una delle proprietà della dualità è: Ed = E’(a’,
b’, c’, ...)
Cioè:
RL1
a
RL b
z
≡
b
b#
a
a#
RLd
z
z# z = /z#
RL è equivalente a RL1 (cioè RL e RL1 hanno la stessa tabella della verità) Es.: se RL è un AND allora si dirà che l’AND è equivalente al NOR dei negati RLd realizza in logica negativala stessa stessa funzione che RL realizza in logica positiva Es: l’OR realizza in LN la stessa funzione dell’AND in LP
In LN l’OR è descritto come segue: l’uscita è attiva (cioè a 0) se entrambi gli ingressi sono attivi (cioè a 0) 0) 10/11/2011
RETI LOGICHE T
Reti combinatorie Sintesi minima
10
con gli operatori dell’algebra di commutazione
26 ottobre 2000
Reti combinatorie - sintesi minima
1
Richiamo: Definizione di Funzione completamente specificata Una Funzione completamente specificata specificata di n variabili binarie z=F(x1, x2, …, xn) è l’insi l’insieme eme ddii tut tutte te le 2n coppie ordinate {x,z | x ∈ Bn, z ∈ B} formate da una configurazione di valori delle n variabili indipendenti xi e dal corrispondente valore della variabile dipendente z. Una funzione può essere descritta in diversi modi, come, ad esempio: Con Conlalatabella tabelladella dellaverità verità
X2
X1
X0
Z
0 0 0 0 1 1
0 0 1 1 0 0
0 1 0 1 0 1
0 1 0 1 0 0
1
1
10
1
con conlelemappe mappedidiKarnaugh Karnaugh
x2
x1 x0 00
01 11 10
0
0
1
1
0
1
0
0
1
1
z
Due rappresentazioni equivalenti della stessa funzione z = F(x2, x1, x0) 26 ottobre 2000
Reti combinatorie - sintesi minima
2
Richiamo: Funzioni non completamente specificate •Alcune configurazionidi configurazionidi ingresso possono essere essere impossibili, impossibili, oppure per certe configurazioni di
configurazionidi ingresso possono essere essere impossibili, oppure per certe configurazioni configurazioni di •Alcune configurazionidi ingresso può n non on interessa interessare re il valore d dell’uscita ell’uscita. . In questi c casi asi la fun funzione zione è incompleta ingresso può non non interessare interessare il valore dell’uscita. dell’uscita. In questi casi casi la funzione funzione è incompletaoo“non “non completamente specificata” specificata ” completamente specificata specificata” ”
6) Funzio Funzioni ni incom incomple plete te - Fun Funzio zioni ni di n vvari ariabi abili li il ccui ui domin dominio io è un sottoinsieme di Bn Le configurazioni di valori delle variabili al di fuori del dominio sono dette condizioni di indifferenza e sono indicate indicate nnella ella td tdvv con il simbol simboloo ““-” nella nella colo colonna nna ove va indicato il valore della funzione.
ENCODER a 3 ingressi x2 x1 x0 z1
z0
0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 N.B. le altre configurazioni sono per ipotesi impossibili 26 ottobre 2000
0 1 0 1
x2
x1
x0
z1
z0
0 1 0 0 1 1 0 1
0 0 1 0 1 0 1 1
0 0 0 1 0 1 1 1
0 1 1 0 -
0 1 0 1 -
Reti combinatorie - sintesi minima
3
Richiamo: Espressioni di funzioni incomplete Espressioni equivalenti Espressioni equivalenti di funzioni funzioni incomplete incomplete - Espressioni Espressioni che forniscono eguale valutazione limitatamente al dominio di una funzione incompleta data sono dette equivalenti rispetto alla funzione
Espressioni per l’ENCODER: Come Comefunziona funzionaun unencoder? encoder?
z1 = x2 x1’x0’+ x2’ x1 x0’ z0 = x2 x1’x0’+ x2’ x1’x0 u1 = x2 + x1 u0 = x2 + x0 26 ottobre 2000
x2
x1
x0
z1 u1 z0 u0
0 1 0 0 1 1 0 1
0 0 1 0 1 0 1 1
0 0 0 1 0 1 1 1
0 1 1 0 0 0 0 0
Reti combinatorie - sintesi minima
0 1 1 0 1 1 1 1
0 1 0 1 0 0 0 0
0 1 0 1 1 1 1 1 4
Descrizione di una funzione mediante Mappe di Karnaugh Mappa di Karna Mappa Karnaugh ugh - Rappr Rappresent esentazion azionee bid bidimen imensional sionalee del della la tabella della verità di una funzione funzione di 2,3,4 vvariabili, ariabili, i cui valori sono stati elencati sui bordi in maniera che due configurazioni consecutive siano siano a dis distanza tanza 1, differiscano differiscano ci cioè oè per il valore di un solo bit. ab
Esempi:
a
b 0 1
0 0 1
1 1 1
Somma logica 26 ottobre 2000
cd 00 01 11 10 00 01 11 10
0 1 0 1
1 0 1 0
0 1 0 1
1 0 1 0
Parità pari su 4 variabili
Reti combinatorie - sintesi minima
5
Import Imp ortante ante propri proprietà età del delle le mappe di Karnaugh Karnaugh:: Adiacenza tra celle Coppia di celle Coppia celle adiacenti adiacenti su mappe mappe ddii Karna Karnaugh ugh - Due celle celle llee cui coordinate differiscono per un solo bit sono celle adiacenti. In una mappa che descrive una funzione di n variabili ogni cella ha n celle adiacenti.
Regola grafica Regola grafica per per l’adiac l’adiacenz enzaa Sono adiacenti celle aventi un lato in comune o poste all’estremità all’estremità di una stessa stessa riga o colonna. cella scelta come esempio
cd
ab
celle adiacenti
a
00
bc
b 0
1
00 01 11 10 0
01 11
1
10
a
0 1
00 01 11 10
2 variabili
3 variabili
26 ottobre 2000
4 variabili
Reti combinatorie - sintesi minima
6
Estensione delle mappe a 5 e a 6 variabili ef de bc
cd 00 00 01 11 10 cd 00 00 01 11 10
de 00
01 11 10
00
bc
01 11
01 11
10
10
10
ef
00
01 10
01 11 10
01 11
00 11
ef
a=0
cd a=1
5 variabili
Ulter Ulteriore iore rego regola la di adiace adiacenza nza Sono adiacenti celle che occupano la stessa posizione in sotto-mappe adiacenti. 26 ottobre 2000
ab=00 00
ab=01
ef
01 11 10
00
cd
00
00
01 11
01 11
10
10
ab=10
01 11 10
ab=11
6 variabili
Reti combinatorie - sintesi minima
7
Raggruppamenti rettangolari di ordine p (RRp)
x1 x0 x3 x2 00 01 11 10
Un raggruppamento rettangolare di ordine p
0
00 01 11
p=3
10
1 p=2
4 variabili
su una una map mappa pa di di Karn Karnau augh gh è un ins insie ieme me di di 2p celle ognuna delle quali ha p celle adiacenti tutte appartenenti al raggruppamento Nella mappa a fianco sono indicati un RR di ordine 3 (detto anche RR3 RR3), ), un RR2 RR2,, un RR1 ed un RR0
Le celle di un RRp sono individuate individuate da una ben precis precisaa e comune configuraz configurazione ione binaria di n-p variabili; infatti nella cella queste n-p variabili restano costanti, mentre le altre p variabili assumono tutte le loro 2p configurazioni possibili. Quindi una funzione che assume assume valore 1 in tutte e sole sole le celle di un RRp RRp può essere essere espressa come come una funzione termine prodotto di n-p variabili (quelle che non cambiano). Ad esempio si consideri l’RR1 l’RR1 di figura: Z= m3 + m7 = /x3 = /x3 /x2 /x2 x1 x0 + /x3 x2 x1 x0 = /x3 x2 x0 (/x2 + x2) = /x3 x1 x0 Il termine prodotto individua tutte le celle in cui x3=0, x1=x0=0, qualunque sia il valore di x2 (p=1, quind quindii 4-1=3 variabili non cambiano, cambiano, mentre una varibile (x2) assume le sue due configurazioni) configurazioni) 26 ottobre 2000
Reti combinatorie - sintesi minima
8
26 ottobre 2000
Reti combinatorie - sintesi minima
9
Espressioni minime
26 ottobre 2000
Reti combinatorie - sintesi minima
10
Complessit Comples sitàà e vel veloci ocità tà Indicatori : N gate = numero di gate, N conn = numero di connessioni N casc = numero di gate disposti in cascata sul più lungo percorso di elaborazione • Complessità ⇒ funz funzione ione cre cresc scent entee di N gate , N conn • Vel Veloci ocità tà di ela elabora borazi zione one ⇒ fun funzio zione ne ddecr ecresc escent entee di N casc Esempio: x x y y
z z
Le due reti sono equivalenti (T6). Hann Hanno o la stessa veloc velocità ità di elabo elaborazi razione. one. La rete di sini sinistra stra è meno com complessa plessa.. 26 ottobre 2000
Reti combinatorie - sintesi minima
11
Schemi logici di “co “costo sto mini minimo” mo” (forme norma normali) li) Rete com Rete combin binator atoria ia di ttipo ipo SSP P e di ccosto osto m minim inimoo - Sch Schema ema llogic ogicoo che realizza una funzione connettendo ad un OR di uscita il minimo numero di AND con il minimo numero di ingressi. Retee com Ret combin binator atoria ia di ttipo ipo P PSS e di ccosto osto m minim inimoo - Sch Schema ema llogic ogicoo che realizza una funzione connettendo ad un AND di uscita il minimo numero di OR con il minimo numero di ingressi. N.B. - Lo schema di costo minim minimo o viene ric ricercato ercato fra quelli ave aventi nti la massima massi ma ve veloci locità tà di el elabora aborazion zionee (al più 2 gat gatee in ca cascat scata). a). Il numero di gate e/o di connessioni della rete di costo minimo di tipo SP è in generale diverso da que quello llo della rete di co costo sto minimo di tipo PS che realizza la stessa funzione. 26 ottobre 2000
Reti combinatorie - sintesi minima
12
Espressioni minime Espressio Espres sione ne min minima ima (S (SP/PS P/PS)) - Des Descri crizi zione one alg algebr ebrica ica di un unaa rete di costo minimo: espressione normale (SP/PS) formata
dal minimo numero possibile possibile di ter termini mini (prodot (prodotti/somm ti/somme) e) aventi ciascuno il minimo numero possibile di “letterali” (variabili in forma vera o complementata).
N.B - E’ possib possibile ile che che più più esp espres ressio sioni ni norm normali ali dell dello o stess stesso o tip tipo o siano siano minimee (abbiano minim (abbiano cioè cioè egu eguali ali val valori ori di N gate e N conn).
26 ottobre 2000
Reti combinatorie - sintesi minima
13
Raggruppamenti rettangolari di uni e condizioni di indifferenza RR ed implicanti -Un RR di ordine p costituito da celle contenenti valore 1, ed eventualmente e ventualmente condizioni di indifferenza, individua un termine prodotto che copre la funzione e si chiama implicante impli cante dell dellaa funzione. funzione. Nel prodotto comp compaiono aiono le sole (n-p) variabili che rimangono costanti nel RR, in forma vera se valgono valgono 1, in for forma ma complement complementata ata se valgono valgono 0. RR ed implicati -Un RR di ordine p costituito da celle contenenti valore 0, ed eventualmente e ventualmente condizioni di indifferenza, individua termine somma che copre la funzione e si chiama implicato impli cato della fu funzion nzione. e. Nella somma comp compaiono aiono le sole (n-p) variabili che rrimangono imangono costanti nel RR, in forma vera se valgono valgono 0, in form formaa complement complementata ata se valgono valgono 1. 26 ottobre 2000
Reti combinatorie - sintesi minima
14
Ricerca della I forma normale minima Individuazione di termini prodotto minimi (implicanti primi) su una mappa (1 di 2) Definizione:Un R-R di ordin ordinee p form formato ato da cell cellee cont contenen enenti ti i valo valori ri “1” o “-” ma non “0”, e non contenuto contenuto in nessun altro R-R di ordine maggiore maggiore (anch’esso (anch’esso contenent cont enentee i valo valori ri “1” “1” o “-” ma non non “0”, “0”, si chiam chiamaa “R-R di uni di ordine
massimo” RR di uni di dimensione massima ed implicanti primi Un RR di uni di ordine m massimo assimo individua un ter termine mine prodotto con un numero minimo minimo di le letterali tterali che copre la funzione data. Questo termine prodotto si chiama implicante primo cd Esempio: bd non è un ab 00 01 11 10 00 X 1 1 X implicante 01 X 1 1 X primo ! 11 X 1 1 X è un im impl plic ican ante te d 10 0 1 1 X primo ! 26 ottobre 2000
Reti combinatorie - sintesi minima
15
Ricerca dell’espressione minima SP (2 di 2) •
L’ L’es espr pres essio sione ne mi mini nima ma SP è un unaa so somm mmaa di im impl plic ican anti ti prim primi; i; qu ques esti ti infatti coprono gli uni su R-R di ordine massimo, quindi coprono il massimo numero di uni contemporaneamente e inoltre sono termini prodotto con il minimo numero di operandi
•
E’ im impo port rtan ante te tr trov ovar aree iill n num umer ero om min inim imo o di im impl plic ican anti ti prim primii cche he coprono l’intera funzione. A tal fino conviene partire dagli implicanti primi “essenziali”, “essenziali”, cioè da quegli im implicanti plicanti prim primii in assenza dei qua quali li la funzione non verrebbe completame completamente nte coperta
•
Lo sstud tudent entee d deve eve ac acqui quisir siree d dim imest estich ichezz ezzaa ccon on que questo sto pro proce cedim diment ento o manuale di ricerca dell’espressione SP minima
26 ottobre 2000
Reti combinatorie - sintesi minima
16
Ricerca dell’espressione minima PS •
L’ L’es espr pres essio sione ne m min inim imaa PS è un p pro rodo dott tto o di iimp mpli lica cati ti p pri rimi mi;; quest questii in infa fatt ttii coprono gli zeri su R-R di ordine massimo, quindi coprono il massimo numero di zeri contemporaneamente e inoltre sono termini somma con il minimo numero di operandi
•
E’ im impo port rtan ante te ttro rova vare re iill nu nume mero ro m min inim imo o di iimp mpli lica cati ti p pri rimi mi cche he ccop opro rono no l’intera funzione. A tal fino conviene partire dagli implicati primi “essenziali”, cioè da quegli iimplicanti mplicanti p primi rimi in assenz assenzaa dei q quali uali gli zeri della funzione non verrebbero tutti coperti
•
Lo sstud tudent entee d deve eve ac acqui quisir siree d dim imest estich ichezz ezzaa ccon on que questo sto pro proce cedim diment ento o manuale di ricerca dell’espressione PS minima
26 ottobre 2000
Reti combinatorie - sintesi minima
17
Esempio di implicati
ab
cd
00 01 11 10 00 0 x x 0 01 0 x x 0 11 0 x x 0
c’ + d non è un implicato primo !
10 0
non è un implicato primo !
x
1
0
c+d
d è un imp implic licato ato pri primo mo ! 26 ottobre 2000
Reti combinatorie - sintesi minima
18
Esercizio • Tracciare i RR che individuano tutti gli implicanti primi e
gli implicati primi della seguente funzione: cd ab 00 01 11 10 00
0
1
1
0
01
0
1
1
0
11
1
1
0
0
10
1
1
0
0
e scrivere le corrispondenti espressioni SP e PS. 26 ottobre 2000
Reti combinatorie - sintesi minima
19
Esempi di ricerca delle espressioni minime con il metodo grafico
26 ottobre 2000
Reti combinatorie - sintesi minima
20
Coperture ed espressioni (1) ab
cd 00 01 11 10 00 1 1 0 0 0 01 1 11 1 1 0 1 10 1
ab
1
0
c’ + acd’
Uno dei due due RR non è di dimensione massima (acd’ non è un impl implican icante te prim primo): o): l’espressio l’esp ressione ne non è minima. minima.
1
cd 00 01 11 10 00 1 1 0 0 01 1 11 1
1
0 0
1
10 1
1
0
1
c’ + ad’ L’espr L’e spress ession ionee è minim minimaa !
26 ottobre 2000
Reti combinatorie - sintesi minima
21
Coperture ed espressioni (2) ab
cd 00 01 11 10 00 0 01 0 11 1
0 1
0 1
1 1
1
0
0
10 1
1
0
0
a’cd’’ + a’bc + bc’d + ac’ a’cd
Somma irridondante di implic implicanti anti prim primii (non possiamo togli togliere ere nessun termine termine prodotto senza lasciare almeno u un n uno sc scoperto), operto), ma non espressione minima
ab
cd 00 01 11 10 0 0 1 00 0 01 0 1 1 1 11 1 1 0 0 10 1
1
0
a’cd’’ + a’bd + ac’ Espressione minima a’cd
0
22
Coperture ed espressioni (3) ab
cd 00 01 11 10 0 0 1 00 1 01 1 1 0 0 11 0 1 1 0 10 0
cd
0
1
1
(b’+c’+d).(a+c’+d’).(b+c+d’).(a’+c+d)
ab
00 01 11 10 0 0 1 00 1 01 1 11 0
1 1
0 1
0 0
10 0
0
1
1
(a+b’+ (a+ b’+c’) c’).(a’+ (a’+b’+ b’+d) d).(a’+b+c).(a+b+d’) Due espressioni minime di tipo PS
26 ottobre 2000
Reti combinatorie - sintesi minima
23
Individuazione grafica dell’espressione minima (1) A partire dalla mappa che descrive la funzione occorre determinare la copertura minima e da questa q uesta la corrispondente espressione minima. Il procedimento è per sua natura natura non si sistematico stematico e presuppone l’abilità l’abilità di chi lo esegue. È tuttavia possibile delineare una sequenza di passi che che consenton consentonoo di individuare individuare con fac facilit ilitàà la coper copertura tura mini minima: ma: 1) Si decide se cercare l’espressione di tipo SP o PS P S e ci si predispone di conseguenza a coprire gli uni o gli zeri. cd ab 00 01 11 10 00 0
0
0
1
01 0 11 1
1
1
-
1
0
0
10 1
1
0
0
26 ottobre 2000
1) scegliamo SP
Reti combinatorie - sintesi minima
Individuazione grafica dell’espressione minima (2)
24
2) Si cerca di individuare tra le celle da coprire una cella che possa essere racchiusa in un solo RR e lo si traccia di dimensione massima, annotando il termine corrispondente. corrispondente. Se la funzione è incompleta ilil RR può contenere anche condizioni di indifferenza. indifferenza. ab
cd 00 01 11 10 00 0 01 0 11 1
0 1
0 1
1 -
1
0
0
10 1
1
0
0
26 ottobre 2000
1) scegliamo SP 2) a’cd’
Reti combinatorie - sintesi minima
25
Individuazioneminima grafica(3) dell’espressione quando è possibile il passo 2, tenendo cont contoo 3) Si ripete fino a quando della possibilità possibilità di coprire anche celle incluse in RR già tracciati. ab
cd 00 01 11 10 0 0 1 00 0 01 0 1 1 11 1 1 0 0 10 1
26 ottobre 2000
1
0
0
1) scegliamo SP 2) a’cd’ 3) ac’
Reti combinatorie - sintesi minima
26
Individuazione grafica dell’espressione minima (4) 4) Si prendono in considerazione le cella ancora da coprire e se ne sceglie a colpo d’occhio la copertura migliore, tenendo conto come al solito solito ddella ella ppossibi ossibilità lità di ccoprir opriree ce celle lle già già coperte coperte e condizioni di indifferenza. ab
cd 00 01 11 10 0 0 1 00 0 01 0 11 1
1 1
1 0
0
10 1
1
0
0
1) scegliamo SP 2) ac’ 3) a’cd’ 4) a’bd
5) Si ripete il passo 4 fino a soddisfare la condizione di copertura. Si scrive infine l’espressione minima.
a’ccd’ + ac ac’’ + a’bd ’bd 5) a’
26 ottobre 2000
Reti combinatorie - sintesi minima
27
Altri esempi di applicazione del procedimento grafico ab
cd 00 01 11 10 0 0 0 00 0 01 0 1 1 0 11 1 0 10 1
a
1
-
1) scegliamo PS 2) a+b 3) b’+d 4) a’+ c’ 5) (a+b) . (b’+d) . (a’+c’)
0
bc 00 01 11 10 0 0 1 0 0
ab
cd 00 01 11 10 1 1 0 00 0
PS: b + d
1
0
1
1
0
01 1 11 10 0
a’ b’c + ab’c’ + abc L’espressione minima SP è l’espressi l’espressione one canonica canonica 26 ottobre 2000
1
1
-
1 1
1 1
1 0
SP: b + d
Le coperture minime PS ed SP portano alla stessa espressione Reti combinatorie - sintesi minima
28
Mappa del del mux a due vie e due poss possibili ibili ccopertu operture re con implica impl icanti nti pprim rimii di cui uuna na è mini minima ma In rosso i RR essenziali, in blu un RR ridondante A
Somma degli implicanti primi
I1 I0 00 0 1
0 0
01 11 10 1
1
0
1
0 1
U = A’I0 + I1 I0 + AI1
U
Implicante primo eliminabile Questo lucido dimostra il teorema del consenso!!
U = A’I0 + AI1 26 ottobre 2000
Reti combinatorie - sintesi minima
29
Sintesi minima di un encoder
x2
x1
x0
z1
z0
z1
x0
x1 x2 00 0
0
01 11 10 1
-
1
0 1 0 0 1 1 0 1
0 0 1 0 1 0 1 1
0 0 0 1 0 1 1 1
0 1 1 0 -
0 1 0 1 -
26 ottobre 2000
0
1
-
-
-
z1 = x1 + x2 z0
x0
x1 x2 00
01 11 10
0
0
1
-
0
1
1
-
-
-
z0 = x0 + x2
Reti combinatorie - sintesi minima
30
Sintesi di un trascodifica trascodificatore tore da BCD a 7 seg segmenti menti
a
a b Trascodifica c da BCD a d 7 segmenti e f g
b
f g e
c d
D C B A “0”
“ 1”
“2”
“3”
“4”
“ 5”
DCBA
a b c d e f g
0 0 0 0 0 0 0 0 1 1
0 1 0 0 1 0 1 0 0 0
0 0 0 0 1 1 1 1 0 0
0 0 1 1 0 0 1 1 0 0
“6”
0 1 0 1 0 1 0 1 0 1
“7”
0 0 0 0 0 1 1 0 0 0
0 0 1 0 0 0 0 0 0 0
0 1 0 0 1 0 0 1 0 1
“8”
0 1 0 1 1 1 0 1 0 1
0 1 1 1 0 0 0 1 0 0
1 1 0 0 0 0 0 1 0 0
“9”
Progetto della rete di costo minimo (1) BA
BA
DC 00 01 11 10 00 0 1 0 0
BA
DC 00 01 11 10 00 0 0 0 0
DC 00 01 11 10 00 0 0 0 1
01 1
0
0
1
01 0
1
0
1
01 0
0
0
0
11 -
-
-
-
11 -
-
-
-
11 -
-
-
-
10 0
0
-
-
10 0
0
-
-
10 0
0
-
-
a
b
a = D’C’B’A + CA’
26 ottobre 2000
c
b = CB’A + CBA’
Reti combinatorie - sintesi minima
c = C’BA’
32
Progetto della rete di costo minimo (2) BA DC 00 01 11 10 00 0 1 0 0
BA DC 00 01 11 10 00 0 1 1 0
01 1
0
1
0
01 1
1
1
0
11 -
-
-
-
11 -
-
-
-
10 0
1
-
-
10 0
1
-
-
d BA DC 00 01 11 10 00 0 1 1 1
d = CB’A CB’A’’ + C C’B ’B’A ’A + CB CBA A e = A + CB’
e BA DC 00 01 11 10 00 1 1 0 0
f = D’C’A + BA + C’B
01 0
0
1
0
01 0
0
1
0
11 -
-
-
-
11 -
-
-
-
10 0
0
-
-
10 0
0
-
-
f
g = D’C D’C’B ’B’’ + CBA CBA
g
Risposta della rete di costo minimo a configurazioni non previste dal codice BCD a b c d e f g
DCBA 1100 1101 1 0
1010 0
1011 0
0
0
0
1
0
0
1110 1
1111 0
1
1
0
0
0
0
0
0
1
0
0
1
0 1
1 1
1 0
1 0
0 0
1 1
0
0
0
0
0
1
la rete di costo minimo non consente la rilevazione Reti combinatorie - sintesi minima di alcuna configurazione di ingresso “illecita”
26 ottobre 2000
Progetto della rete in grado di rilevare le configurazioni di ingresso illecite (1) Alle configurazioni illecite devono corrispondere sul display simboli diversi da quelli previstii per le configur previst configurazioni azioni lecite; lecite; in particolare il disp display lay deve essere spent spento o per la configurazione DCBA = 1111. Quest’ultima specifica richiede di ri-sintetizzare solo le funzioni a, b, c.
BA
BA
BA
34
00 DC 00 0
01
11
10
1
0
0
00 DC 00 0
01
11
10
0
0
0
00 DC 00 0
01
11
10
0
0
1
01
1
0
0
1
01
0
1
0
1
01
0
0
0
0
11
-
-
1
-
11
-
-
1
-
11
-
-
1
-
10
0
0
-
-
10
0
0
-
-
10
0
0
-
-
a
b
a = D’C’B’A + CA’
b = CB’A + CBA’
a1 = a + DC a2 = a + DB
c
c = C’BA’
b1 = b + DC b2 = b + DB c1 = c + DC c2 = c + DB
La soluzione integrata (1)
26 ottobre 2000
Reti combinatorie - sintesi minima
La soluzione integrata (2)
36
I gate aggiuntivi previsti nella soluzione integrata servono per conseguire ulteriori funzionalità, derivabili da specifici segnali di ingresso-uscita (tutti attivi a livello logico 0) ed elencate in ordine di priori pri orità tà dec decre resce scente nte::
BI’ (B (Bla lank nkiing In Inpu put) t)
display spento
LT’ (Lamp Test)
display acceso
RBI’ (Rippl plee Bla lank nkiing Input ut))
26 ottobre 2000
display spento e attivazione del segnal seg nalee di usc uscita ita RBO RBO’’ (Ri (Rippl pplee Blanking Blank ing Output Output)) solo solo se il dato dato in ingr ingress essoo è ze zero ro (DCBA = 0000)
Reti combinatorie - sintesi minima
Reti combinatorie
Sintesi con NAND, NOR, EX-OR
37
14 novembre 2001
Reti combinatorie - si s intesi con NAND, NOR, XOR
1
Sintesi con NAND, NOR, EX-OR
14 novembre 2001
Reti combinatorie - si s intesi con NAND, NOR, XOR
Quali altre algebre si possono utilizzare oltre all’algebra di commutazione? •
Ora Ora cono conosc scia iam mo ll’a ’alg lgeb ebra ra di ccom ommu muta tazi zion onee
•
Esist Esistono ono altre altre al algeb gebre re bina binarie rie che ut utili ilizzan zzano o al altri tri ope operat ratori ori eleme elementa ntari, ri, ccioè ioè altre funzioni di due variabili al posto dell’and e dell’or?
•
Nei prossi prossimi mi luci lucidi di eelen lenchi chiamo amo le ffunz unzion ionii di una una e d due ue v vari ariabi abili, li, quind quindii citiamo le altre principali algebre sviluppate
2
•
Infine Infine ved vedrem remo o che che senza senza bis bisogn ogno o di app approf rofond ondire ire le altr altree algeb algebre re p poss ossiam iamo o però trovare facilmente le regole per passare da espressioni dell’algebra di commutazione a espressioni di altre algebre e viceversa.
•
Così Così riu riusc sciam iamo o a sv svin inco colar larci ci da dall llaa n nece ecess ssit itàà di util utiliz izzar zaree ne nell llee real realiz izza zazi zion onii circuitali gli operatori dell’algebra di commutazione se questi dovessero non essere convenienti. convenienti. Nel cont contempo empo pos possiamo siamo contin continuare uare a imp impiegare iegare l’algebra di commutazione, commutazione, di gran lung lungaa più semplice delle altre nella maggior maggior parte dei problemi di analisi e sintesi
14 novembre 2001
Reti combinatorie - si s intesi con NAND, NOR, XOR
3
Numero di funzioni di n variabli Numero di funzi Numero funzioni oni - Il numer numero o di disti distinte nte funz funzioni ioni binariee è finito binari finito.. Le funzi funzioni oni di n variabi variabili li sono: 2n Φ (n) = 2
4 funzioni di 1 variabile, 16 funzioni di 2 variabili, 256 funzioni di 3 variabili, 65.536 funzioni di 4 variabili, ecc.
14 novembre 2001
Reti combinatorie - si s intesi con NAND, NOR, XOR
4
Elenco delle funzioni di una e due variabili 4 funzioni
x f 0 f 3 f 1 f 2 0 0 1 0 1 1 0 1 1 0 x0 0 0 1 1
x1 0 1 0 1
f 0 0 0 0 0
f 15 1 1 1 1
di una
f 0, f 3 : costanti 0 e 1 f 1: iden identi tità tà o buff buffer er
variabile
f 2: not
f 3 0 0 1 1
f 5 0 1 0 1
f 12 1 1 0 0
f 10 1 0 1 0
f 1 0 0 0 1
f 0, f 15 : costanti 0 e 1 f 3 , f 5 : iden identi tità tà o buffe bufferr f 12 , f 10 : not
14 novembre 2001
f 14 1 1 1 0
f 7 0 1 1 1
f 8 1 0 0 0
f 9 1 0 0 1
f 6 0 1 1 0
f 13 1 1 0 1
f 2 0 0 1 0
f 1 : and f 14 : nand f 7 : or f 8 : nor f 9: eq equi uiva vale lenc ncee f 6: ex-or
f 11 1 0 1 1
f 4 0 1 0 0
16 funzioni di due variabili
In Inrosso rossolele funzioni funzioniche che degli deglioperatori operatori dell’algebra dell’algebradi di commutazione commutazione
Reti combinatorie - si s intesi con
5
NAND, NOR, XOR
Algebre binarie Algebr Alge bra a bina binari ria a - Sistema matematico formato da un insieme di operatori definiti assiomaticamen assiomaticamente te ed atti a descrivere con una espressione ogni funzione di variabili binarie Calcolo delle proposizioni proposizioni {vero, falso} {e, o, non} G. Boole (1854) tre operatori
Algebra di commutazione {0, 1} {+, . , ’} tre operatori
Algebra del nand {0, 1} {↑} un operatore
Algebra del nor {0, 1} {↓} un operatore
C. Sha Shann nnon on (193 (1938) 8)
Algebra lineare {0, 1} { ⊕ ⊕ , .} due operatori
6
Sintesi con NAND La sintesi sintesi “a NAND” può essere essere effettuata effettuata trasform trasformando ando un’espressione normale SP che descrive la funzione assegnata in una nuova espressione contenente esclusivamente operatori “↑”: F = a. b + c’. d + e. f’ f’ + g definizione dell’operatore ↑
F = (a ↑ b)’ + (c’ ↑ d)’ + (e ↑ f’)’ + g T13 (IIa legge di De Morgan)
F =
((a ↑ b) .
(c’ ↑ d) . (e ↑ f’) . g’)’ definizione dell’operatore ↑
F = (a ↑ b) ↑ (c’ ↑ d) ↑ (e ↑ f’) ↑ g’ 14 novembre 2001
Reti combinatorie - si s intesi con NAND, NOR, XOR
7
Algoritmo per la sintesi a NAND 1) Si parte da un’espressione SP, SPS, SPSP... e si introducono gli operatori operatori “.” e le parentesi non indicati indicati esplicitamente. esplicitamente. ogni simbo simbolo lo “.” 2) Si sostituisce il simbolo “↑” ad ogni 3) Si sostituisce il simbolo “↑” ad ogni ogni simb simbol olo o “+” “+” e si si complemen comp lementano tano le variabili variabili e le costanti costanti affiancate affiancate a tale simbolo senza l’interposizione di una parentesi. 4) Si disegna lo schema logico corrispondente all’espress all’espressione ione trovata. Se
l espres espressione sione di di parte partenza nza è a più di due li livelli velli ssii cerc cerca a l eventual eventualee pres presenza enza di NAND con ingressi identici e li si sostituisce con uno solo (sfruttando il fan-out >1 del gate corrispondente). N.B. - La trasformazione trasformazione dell’espressione dell’espressione minima SP individua individua l’espression l’espressionee minima a NAND. 14 novembre 2001
Reti combinatorie - si s intesi con NAND, NOR, XOR
8
Esempio: sintesi a NAND di un EX-OR U = a b’ b’ + a’b U = a b’ + a’b a’b + a’a + b’b U = a (a’ (a’ + b’) b’) + b (a’ (a’ + b’)
SPS !
passo 1
U = ( a . (a’ (a’ + b’) ) + ( b . (a’ (a’ + b’) ) passi 2 e 3
U = ( a ↑ (a ↑ b) ) ↑ ( b ↑ (a ↑ b) ) passo 4 a
U
b 14 novembre 2001
Reti combinatorie - si s intesi con NAND, NOR, XOR
9
Sintesi con componenti SSI di un selettore a due vie U = A’. I0 + A . I1 1
1
I1
U = (A’ ↑ I0) ↑ (A ↑ I1)
4 2
1 3
3
1 2
4
1 1
5
1 0
6
9
7
8
A
14 13 12 11 10
9
IA1
8
S N 7 4 0 8 1
2
3
4
5
6
I0
14 13 12 11 10
1
9
2
2
3
4
5
6
3
4
5
6
7
8
S N 7 4 3 2 1
8
S N 7 4 0 0
U 14 13 12 11 10
9
7
A’
SN7404
U
A’
I0
7
N.B. - La di N.B. dispo sponib nibil ilità ità di ga gate te div divers ersii da A AND, ND, O OR, R, NO NOT T co conse nsente nte spesso di minimiz minimizzare zare il numero di “parti” impiegate.
10
Sintesi con NOR La sintesi sintesi “a NOR” può esser esseree effettuata effettuata trasfor trasformand mando o un’espressione normale PS che descrive la funzione assegnata in una nuova espressione contenente esclusivamente operatori “↓”: F = (a’ + b’ + c) . (d’ + e) . f’ . g definizione dell’operatore ↓ F = (a’ ↓ b’ ↓ c)’ . (d’ ↓ e)’ . f’ . g T13 (Ia legge di De Morgan)
F =
((a’ ↓ b’ ↓ c)
+ (d’ ↓ e) + f + g’)’ definizione dell’operatore ↓
F = (a’ ↓ b’ ↓ c) ↓ (d’ ↓ e) ↓ f ↓ g’ 14 novembre 2001
Reti combinatorie - si s intesi con NAND, NOR, XOR
11
Algoritmo per la sintesi a NOR 1) Si parte da un’espressione PS, PSP, PSPS... e si introducono gli operatori operatori “.” e le parentesi n non on indicati esplicitament esplicitamente. e. 2) Si sostituisce il simbolo “↓ ” ad o ogni gni sim simbol bolo o “+ “+” ” gnii ssiimbo bollo “ “.” .” e si si comp omplem lemen enta tano no le 3) Si sostituisce il simbolo “↓ ” ad ogn variabili e le costanti affiancate a tale t ale simbolo senza l’interposizione di una parentesi. 4) Si disegna lo schema logico corrispondente all’espress all’espressione ione trovata. Se l’espres l’es pression sionee di partenza partenza è a più di due live livelli lli si ce cerca rca l’e l’eventu ventuale ale presenz presenza a di NOR con ingressi identici e li si sostituisce con uno solo (sfruttando il fan-out >1 del gate corrispondente). N.B. - La trasformazio trasformazione ne dell’espres dell’espressione sione minima minima PS individua l’espressione minima a NOR. 14 novembre 2001
Reti combinatorie - si s intesi con NAND, NOR, XOR
12
Esempio: sintesi a NOR di un “equivalence” U = (a + b’) b’) . ( a’ + b) U = (a + b’) b’) . (a’ (a’ + b) . (a’ (a’ + a) . (b (b’ + b) U = (a + a’b’) . (b + a’b’)
PSP !
passo 1
U = ( a + (a’ . b’) ) + ( b + (a’ . b’) ) passi 2 e 3
U = ( a ↓ (a ↓ b) ) ↓ ( b ↓ (a ↓ b) ) passo 4
a b
U
14 novembre 2001
Reti combinatorie - si s intesi con NAND, NOR, XOR
13
Full Adder con AND, OR e EX-OR S = r’. a’ a’.. b + r’. a . b’ + r . a’. b’ + r. a . b R = r’. a . b + r . a’. b + r . a . b’ + r . a . b manipolazione algebrica: S = r’. r’. (a (a’. ’. b + a . b’ b’)) + r . (a (a’. ’. b’ + a . b) S = r’. (a ⊕ b) + r . (a ⊕ b)’ S = r ⊕ (a ⊕ b)
R .ab⊕+b) r . (a’. b + a . b’) R= = (ar’. b+ r+) r. a . ((a HA
r
FA
S
a b
R 14
HA
Composizione modulare di addizionatori addizionatori 0 a0 b0
FA
s0 r1
CI a0 a1 a2
4 Bit Full Adder
a3 r1 a1 b1
FA
rn-1 an-1 bn-1
FA 14 novembre 2001
s0 s1 s2 s3
s1 r2
sn-1 rn = sn
b0 b1 b2 b3 CO
Reti combinatorie - si s intesi con NAND, NOR, XOR
15
Esercizi propagazione di un gate, si Assumendo τp come ritardo di propagazione determini deter mini quale quale è il ritardo ritardo massimo massimo di un 4 bit Full-Adder Full-Adder realizzato connettendo connettendo in cascata 4 moduli FA.
E’ pos possib sibile ile rea realiz lizzar zaree a du duee live livelli lli un add addizi izion onato atore re a 4 bit ? Quali sono i vantaggi e gli svantaggi di questa soluzione rispetto rispe tto all’addizion all’addizionatore atore rea realizz lizzato ato connettendo connettendo in cascata 4 moduli FA?
14 novembre 2001
Reti combinatorie - si s intesi con NAND, NOR, XOR
16
Pari Pa rità tà co con n EX EX-O -OR R (1 (1)) P = b0⊕ b1⊕ b2⊕ b3⊕.. ⊕ b7 N.B. L’operazione di somma modulo modul o due è assoc associati iativa va
P = ((b0⊕ b1)⊕(b2⊕ b3))⊕((.. ⊕ b7)) E = P ⊕ (((b0⊕ b1)⊕(b2⊕ b3))⊕((.. ⊕ b7))) b0 b1
b2 b3
14 13 12 11 10
9
8
1
6
7
b4 b5
3
4
5
9
8
1
6
7
8 9 4 7 N S
8 9 4 7 N S 2
14 13 12 11 10
2
3
4
5
b6 b7
14 novembre 2001
0/P
17
P/E
Parità Par ità con EX-OR EX-OR (2) b0 b1 b2 b3 b4 b5 b6 b7
SN74280 (MSI)
P/E
0/P
Generazionee parità e rilevazione Generazion rilevazione errori errori singoli su dati da da due byte: 8+8
⊕ ’280 ⊕
P
⊕ ’280 ⊕
E
0
’280
’280
Trasmettitore
Ricevitore
18
Confronto con EX-OR a0 b0
a0 b0
a1 b1
a1 b1 z
z
an-2 bn-2
an-2 bn-2
an-1 bn-1
an-1 bn-1 14 novembre 2001
Reti combinatorie - si s intesi con NAND, NOR, XOR
19
Esercizio
Quale è la funzione funzione svolta svolta dalla dalla rete rete in figura figura ?
SN74138 U0 U1
I0 I1
SN74151
1
EN
ABC
U2 U3 U4 U5
I2 I3 I4 I5
U6 U7
I6 I7
a0 a1 a2 14 novembre 2001
Z
?
ABC
b0 b1 b2 Reti combinatorie - si s intesi con NAND, NOR, XOR
Capitolo 5 Circuiti programmabili
5.1 - Me 5.1 Memo morie rie a so sola la le lett ttur ura a 5.2 - Mat Matrici rici llogi ogiche che progr programm ammabi abili li 5.3 5. 3 - Un Unit ità à ar arit itm met etic ica a e lo logi gica ca
La programmazione dell’hardware
20
Funzioni di n variabili “macchina” di programmazione
Ho bisogno di questa!
Le reti combinatorie programmabili Rete combinat combinatoria oria programma programmabile bile - Rete combina combinatoria toria in grado di presentare diverse relazioni ingresso/uscita singolarmente selezionabili mediante l’attribuzione di una determinata configurazione configurazione ad un gruppo di ingressi detti bit di programmazione. programmazione. p1 p2 x1 x2 xn
py
Rete combinatoria programmabile
z1 z2 zm
zi = F (p1,p2 ,….., ,…..,p py ,x1,x2 ,…..,xn) = Fp (x1,x2 ,…..,xn)
5.1 Memorie a sola lettura
La rete basata sull’espressione generale 2n-1
F(x1,x2,...xi,..xn) = Σ m(i) . F(i) i=0
F(0) F(1)
Espressione in grado di descrivere qualsiasi funzione di n variabili
Rete combinatoria programmabile programmab ile in i n grado di realizzare qualsiasi
F
funzione di n variabile
F(2n-1)
F(i): F(i): bit di programmazione x 1 x2 xn
MUX come reti programmabili SN74157 I0 I1 Z A
A,B,C,D Ii
SN74153 I0 I1 I2 Z I3
SN74151 I0 I1 I2 I3 Z
BA
I4 I5 I6 I7 CBA
ingressi ( xi ) bit di programmaz programmazione ione ( pi )
SN74150 I0 I I12 I3 I4 I5 I6 I7 Z I8 I9 I10 I11 I12 I13 I14 I15 DCBA
ROM (Read Only Memory) • I MUX disponibili nelle famiglie logiche hanno un basso numero di segnali di selezione.
Difatti al crescere di n cresce esponenzialmente esponenzialmente il numero dei pin del circuito integrato da utilizzare per i bit di programmazione. Esempio: n=16
216 = 65536 pin per la programmazione !
combinatorie programmabili basate sulla • Le ROM sono reti combinatorie espressione generale SP ed aventi i bit di programmazione integrati all’interno del dispositivo. dispositivo.
Struttura di una ROM (1) Una diversa realizzazione del MUX ( T5 )
I contatti al posto dei segnali di programmazione
F(3) F(2) F(1) F(0)
x x 1
x x 0
1
F
0
F
F(i)=0/1
Contatto aperto/chiuso
Struttura di una ROM (2) Rappresen resentazi tazione one “compatta “compatta” ” della struttura struttura di una ROM : • Rapp contatto chiuso
contatto aperto
x1 x 0
G
F
O
Realizzaz zazione ione integrat integrata a di più funzioni. funzioni. • Realiz Esempio: in oun8 contenitore conten itore pin è possibile alloggiare alloggiare unvariabili. chip che realizza funzioni di da 14 24 variabili o una funzione di 21un
Le ROM come circuiti di memoria A0 A1 . .A n-1
m0 D E
m1 Bit di programmazione
C m2n-1
D0
D1
Dk
Ogni configurazione delle variabili di ingresso può essere vista formato to dai bit che che sono stati come l’indirizzo l’indirizzo di un dato forma programmati nella riga corrispondente. corrispondente.
Le “ver “veree e p pro ropr prie ie” ” ROM ROM • I contatti vengono realizzati dal costruttore nell’ultimo stadio del
processo di fabbricazione del circuito su ordine dell’acquirente:
• Le ROM sono programmabili una sola volta (OTP: one time programmable).
memorie lettura (Read Only Only). ). memorie a sola lettura memorie non volatili
Memorie non volatili a sola lettura Memorizzazione di informazioni Memorizzazione informazioni che devono permanere quando il sistem sistema a non non è alim alimen entat tato o e che non non cambiano durante il funzionamen f unzionamento to . Esempi: il “loader”, il programma di un
sistema “embedded”, il BIOS del PC …..
Limitazioni delle ROM
Costi fissi elevati
Non adatte allo sviluppo (OTP)
Grossi volumi di produzione.
PROM (P rogrammable ROM)
i
La programmazione viene effettuata dall’utente mediante un’apposita apparecchiatura apparecchiatura che consente di “bruciare” selettivamente i fusibili inseriti dal costruttore. Convenienti per bassi-medi volumi di produzione Dispositivi programmabili una sola volta
EPROM (E rasable PROM) Q
Q
Programmazione effettuata dall’utente mediante una apposita apparecchiatura apparecchiatu ra che consente di inviare impulsi elettrici che provocano accumulazione accumulazione di carica sul terminale di comando. Cancellazione ottenuta convogliando luce ultravioletta sui terminali di comando attraverso una finestra di quarzo presente sul contenitore. Costo superiore a quello delle PROM Dispositivi riprogramm riprogrammabili abili
Memorie a sola lettura cancellabili elettricamente EEPROM (Electrically E rasable PROM) : si programmano e cancellano byte-per-byte tramite segnali elettrici e senza rimuovere il dispositivo dalla piastra stampata. FLASH-EPROM: si programmano/cancellano FLASH-EPROM: programmano/cancellano elettricamente direttame dire ttamente nte sulla piastra. piastra. La cancellaz cancellazione ione è più veloce veloce rispetto rispetto alle EEPROM: EEPROM: con un’unica operazione operazione è possibile cancellare l’intero l’inte ro dispositivo dispositivo oppure oppure uno uno o più “settori” “settori”..
Selezione a due dimensioni (1) F(A2,A1, A0)
= A2’A1’A0’ F(0) + A2’A1’A0 F(1) + A2’A1A0’ F(2) + A2’A1A0 F(3) + A2A1’A0’ F(4) + A2A1’A0 F(5) + A2A1A0’ F(6) + A2A1A0 F(7) = A2’(A1’A0’ F(0) + A1’A0 F(1) + A1A0’ F(2) + A1A0 F(3)) F(3)) + A2 (A1’A0’ F(4) + A1’A0 F(5) + A1A0’ F(6) + A1A0 F(7)) F(7)) m0
A0 A 1
D E C
m1
F(0)
F(4)
F(1)
F(5)
F(2)
F(6)
F(3)
F(7)
Bit di programmazione
m2 m3
A2
MUX
F
Selezione a due dimensioni (2) Matrice di bit di programmazione
A0 A1 Am-1
R
D
O w
E C
Am Am+1
C O
D E
An-1
L
C
M U X
D0
D1
Estensione del numero di uscite xn x1 x0 A0 A1 ……..An-1
ROM D0 D1 …Dk z0 z1 … zk
A0 A1 ……..An-1
ROM D0 D1 …Dk zk+1 zk+2 …z2k+1
Collegame Colle gamento nto in parallelo parallelo di più più ROM
Estensione del numero di ingressi
Dk
Teorema di espansione
m A0 A1 ……..Am-1
ROM
ROM
ROM
D0
n-m
A0 A1 ……..Am-1
A0 A1 ……..Am-1
D0
Dk
D0
A .. m MUX An-1
A .. m MUX An-1
D0
Dk
N.B. - Al primo primo livello livello occorro occorrono no 2(n-m) ROM
Amplificatore a 3 stati d’uscita O
I OE
O
I OE
OE H H L
I L H X
O L H Z
OE I O
Lo stato elettrico del segnale è ind indefi efinito nito o fluttuan fluttuante te (Terzo (Terzo Stato, Stato di Alta Impedenza)
MUX con amplificatori 3-state (1) I0
In ogni istante di tempo
non deve esserci più
I1
di un 3-state abilitato !
Z
I2 I3
3 A0 A1
2
1
Situazione di corto circuito ( conflitto conflitto elettrico) con possibili malfunziona malfunzionamenti menti del sistema
0 MUX 4:1
DEC
Le uscite del decoder non variano simultaneamente Nei 3-state il tempo di risposta all’abilitazione (tpZH, tpZL) è inferiore a quello necessario per il passaggio nel terzo stato (tpHZ, tpLZ)
MUX con amplificatori 3-state (2) I0
I0
I1
I1
Z
I2
Z
I2 I3
I3 EN A0 A1
3
2
1
DEC
Ai EN Z
0
EN A0 A1
3
2
DEC
1
0
Stadio di uscita di una ROM A0 A1
R O W
D E C
Bit di programmazione
Am-1
Am Am+1 An-1
C O L
D E C
MUX
D0
D1
Dk
O0
O1
Ok
CE’ OE’
Progetto di un banco di ROM (1) Supponiamo di voler connettere 32K byte di ROM ad una CPU con 16 bit di indirizzo (A0..A15) ed 8 bit di dato e di avere a disposizione dispositivi ROM da 8K x 8 . Supponiamo inoltre che la CPU veda il banco di ROM nella parte alta del suo spazio spa zio di indir indirizz izzame amento nto (800 (8000H 0H - FFFFH, FFFFH, cioè cioè A =1). Estensione del numero degli ingressi
15
a[0..12] MRD a15
A0 A1 …A12 ROM D0
A0 A1 …A12 ROM D0
A0 A1 …A12 ROM D0
A0 A1 …A12 ROM D0 D7
a[13,14]] a[13,14 MUX
MUX
d0
d7
Progetto di un banco di ROM (1) MRD* a[0..12] A0 A1 …A12 ROM OE* CE* D0 D7
a13 a14 a15
D E C
A0 A1 …A12 ROM OE* CE* D0 D7
A0 A1 …A12 ROM OE* CE* D0 D7
A0 A1 …A12 ROM OE* CE* D0 D7
7 6 5 4 3 2 1 0
d0 d7
Esercizi 5.1 e 5.2 • Si riprogetti riprogetti il banco banco di ROM da 32KB 32KB (byte) (byte) nel caso in cui cui si disponga di una ROM 16K x 8, una ROM 8K x 8, due ROM
4K x 8.
• Si individui uno schema che consente di collegare al bus dati 8 pulsanti di cui il processore deve deve poter fare il polling all’indirizzo di I/O 0000H.
5.2 Matrici logiche programmabili
Rappresentazione di una ROM in termini di matrici AND e OR ROM 2x2
Caso generale Matrice AND Programmata dal costruttore
NAND = 2n Matrice OR Programmata dall’utente N.B. - Ogni N.B. Ogni AND realiz realizza za un po poten tenzia ziale le minter mintermin minee e può essere impiegato per la programmazione programmazione di ciascuna uscita (espressione generale SP).
PLA e PAL PAL PAL::
PLA PLA:: Programmable Logic Array
Programmable Array Logic
Matrice AND Programmata
Matrice AND Programmata
dall’utente
dall’utente
NAND 1 sono dette «corse corse». ». Le corse vanno analizzate una per una, in quanto in alcuni casi in presenza di corsa corsa la la rete potrebbe comportarsi in modo diverso da quanto previsto dalla T.d.T T.d.T.. (potrebbe cioè finire in uno stato non desiderato); queste situazioni sono dette «corse « corse critiche» critiche» e devono essere eliminate.
•
Requisito sulle espressioni delle variabili di stato futuro (rete G) 3. Le uscit uscitee della della rete rete G devo devono no esse essere re priv privee di alee alee stat statich ichee o dinam dinamich ichee onde evitare che la rete venga a trovarsi in stati non previsti dalla T.d.T. T.d.T.
Ulteriore requisito requisito sui disallineamenti delle variabili di ingresso etee G dev devee esse esserre pri priva va di al alee ee es esse senz nzia iali li 4. La ret •
(alee essenziali potrebbero essere presenti solo in RSA con più di una variabile di stato; in tal caso questo requisito non può essere soddisfatto sodd isfatto a livello di progetto logico: deve invece essere considerato a livello circuitale riggered) circuitale,, vedi lucido 21 e FF-D edge ttriggered)
Vincoli sulla codifica degli ingressi e degli stati nelle RSA L e transi transi zi oni tr a conf. conf. di i ngr ng r esso a di sta stanza nza > 1 sono sono pr i ve di si sigg ni nififi cato cato i n una R SA 10
→ 01
E se sem mpi o:
10 - 11 - 01
10 - 00 00 - 01
Quindi, per evitare comportamenti non previsti dalla T.d.T. bisogna assicurarsi che:
•
Simboli di ingresso consecutivi e stati adiacenti differiscano per il valore di un solo bit, cioè siano siano codificati con con configurazioni binarie a distanza 1
Reti sequenziali asincrone (struttura) Circuito combinatorio t 1
ingresso ingresso
uscita
tm
Rete combinatoria
t n tr stato futuro
stato presente presente
Esercizio: Si crei una T.d.T. su cui sia possibile dimostrare che: Se i requisiti 1, 2, 3 del lucido 18 non sono soddisfatti la rete potrebbe comportarsi in modo diverso da quanto previsto dalla T.d.T T.d.T.. (potrebbe cioè finire in uno stato non desiderato)
Esempio di T.d.T. «malata» se riferita a RSA x1 x0
00
01
11
10
z1 z0
00
00
11
10
01
00
01
01
01
11
01
01
11
11
11
10
11
11
10
10
10
10
00
10
y1 y0
Con riferimento alla struttura della RSA riportata nel lucido precedente:
1. 2.
3.
la tr transi ansizion zionee dall dallo o st stato ato 0 00 0a1 11 1 con ing ingress resso o 01 è una ccors orsaa cri critic tica: a: la rrete ete non non ra raggi ggiunge ungerà rà m mai ai lo stato 11, ma si fermerà in 01 o 10 (violato il requisito 2) la tr transi ansizion zionee da 00 a 10 ccon on in ingres gresso so 1 11 1 no non n ver verrà rà qu quasi asi ccerta ertamen mente te effe effettu ttuata, ata, in qu quant anto: o: ssee cambia prima x1 ci si fermerà in 01, mentre se cambia prima x 0 si ricade nella situazione di corsa critica precedente (violato il requisito 1) Anch Anchee la tran transiz sizion ionee da 0 00 0 a 01 ccon on iingre ngresso sso 10 rrisc ischia hia di n non on aavven vvenire ire ssee ne nella lla sin sintes tesii l’espressione di Y1 presenta presenta un’alea di d i zero tra le conf. 0000 e 0010 (es. sintesi PS senza copertura dei due zeri adiacenti) (violato il requisito 3)
La violazione del requisito 4 (alea ( alea essenziale) essenziale) si potrebbe verificare se: quando cambia una variabile di ingresso, questa variazione viene sentita dalla rete Y 1 dopo che y0 è già stato aggiornato (o viceversa)
Il procedimento di analisi Il procedimento di analisi di una rete sequenziale asincrona èdallo formato da 4logico: passi e consente di dedurne il comportamento schema 1: individuazione delle variabili di stato, 2: analisi della parte combinatoria, 3: individuazione della tabella delle transizioni, 4: studio delle condizioni di stabilità. S
X ?
analizzare il E sem sempi o: Si vuole analizzare LATCH SR a NOR e si vuole Capire se è utile rendere disponibili all’esterno entrambe le uscite dei NOR
R
Q
Analisi del latch SR a NOR (1 & 2) 1. Si ta tagli glia a id ideal ealmen mente te la retr retroaz oazion ione, e, ssii id ident entifi ifica ca lla a variabile di stato q e si considera la variabile di uscita X
S
X
q
R
Q
2) Si scrivono le espressioni NOR della rete combinatoria a tre ingressi F: e due X =uscite S q così ottenuta: G:
Q = (S q) R
Analisi del latch SR a NOR (3) 3) Si trasformano le espressioni NOR in espressioni espressioni A AND, ND, OR, NOT e se ne riportano le valutazioni su una mappa.
X = S q = (S + q)’ = S’. q’ q’
SR q
00
01
11
10
0 0,1 0,1 0,0 1,0 1 1,0 0,0 0,0 1,0
Q = (S q) R = ((S + q)’ + R)’ R)’ = (S + q) . R’
Q,X
Analisi del latch SR a NOR (3) 4) Si eliminano le valutazioni fuori dal dominio delle due funzioni (la condizione di ingresso S = R = 1 è per ipotesi impossibile) e si evidenziano sulla mappa le quattro situazioni di stabilità. SR q 00 01 11 10
0 0,1 0,1 0,0 1,0 1 1,0 0,0 0,0 1,0 Q,X Conclusioni: In ogni situazione di stabilità si ha X = Q’. Conclusioni: Q’. Chi deve impiegare il latch può così disporre della forma vera e complementata del bit in memoria.
Latch SR a NAND SR
S’R’ S’R’ 01 10 11
QX 1 0 0 1 Q Q’ Q’
q
Q
01
11
10
0 0,1 0,1 1,1 1,1 1 1,0 0,1 1,1 1,0 analisi
S’ S’
00
Q, XQ’
Q = S’ (q R’) R’) Q = (S’ . (q . R’)’)’ R’)’)’ Q = S + q.R’ q.R’
X = R’ q X = R + q’
q
X
Si noti che il latch SR a NAND poteva essere immediatamente dedotto dal latch SR a NOR
R’ R’
applicando il principio di dualità!
Il procedimento di sintesi Il procedimento di sintesi di una rete sequenziale asincrona è formato da 4 passi e consente di dedurne lo schema logico dal comportamento: 1: individuazione del grafo degli stati, 2: definizione della tabella di flusso, 3: codifica degli stati e definizione della tabella delle transizioni, 4: sintesi della parte combinatoria e retroazioni. retroazioni.
E sem sempi o di r elaz lazi one i ngr ngr esso/ sso/uscit usci ta (lampada da tavolo): “z cambia di valore ad ogni fronte di salita di x” x”
x
z
1 - grafo degli stati x, z 0,1
a
1,0
1,-
b
0,0
0,0
g
1,1
1,-
d
0,1
Stabilità - Ogni stato è stabile per l’ingresso che lo genera. genera. Indifferenza sull’uscita (quando commuta) commuta) - La modifica di uscita può essere rinviata al raggiungimento
della stabilità.
2 - tabella di flusso x stato a b g d
0 a,1 g,0 g,0 a,1
1 b,b,0 d,d,1
In ogni colonna si raggiunge sempre una condizione di stabilità (altrimenti la rete oscillerebbe). Se lo stato futuro è sempre uno stato stabile per stabile per l’ingresso con cui viene raggiunto allora siamo in presenza di un T.d.F T.d.F.. in modo fondamentale
3 - codifica e tabella delle transizioni x y2 y1,y2 0 1 0 1 y1 a 00 00 00,1 01,-
0
a
b
1
d
g
b 01 01 g 11 11 d 10 10
11,0 11,0 11,0 00,1 00 ,1
01,0 01,0 10,10 ,10,1 10 ,1
Y1, Y2, z
Codifica degli stati - A stati consecutivi (stat (stato o presente e relativo stato sta to futuro) si devono assegnare configurazioni adiacenti. Se non è possibile si può ricorrere alle transizioni multiple. multiple. Transizione multipla – – è è la transizione da uno stato stabile stabil e ad un altro attraverso stati intermedi non utilizzati e resi instabili per la configurazione di ingresso considerata;
per introdurre le transizioni multiple è spesso necessario necessario aggiungere di stato. Ad es. se la tabella soprastante prevedesse anche l’adiacenza tra a e variabili g, si potrebbe aggiungere 000 0 001 101 111 110 0000) a g 11 1100) attraverso la sequenza 00 la variabile y3 e passare da a 00
4 – Mappe Mappe delle funzioni funzioni di stato futuro e di uscita (G ed F) Ipotesi: si desiderano reti minime di tipo SP y1y2
x
00
01
11
10
0
0
1
1
0
1
0
0
1
1
y1y2
y1y2
x
00
01
11
10
0
0
1
1
0
1
1
1
0
0
x
00
01
11
10
0
1
0
0
1
1
-
0
-
1
Y1 = x’.y2 + x.y1 + y2.y1 Y2 = x’.y2 + x.y1’ + y2.y1’
z = y2’
Coperture ridondanti - Per eliminare a priori il pericolo di alea statica (causato dal probabile sfasamento tra x e x’) “ogni coppia di 1 adiacenti deve essere coperta da almeno un RR”.
5 – schema schema logico e retroazioni x x.y1 Y1
y2.y1 x’.y2
Fan-out >1
Y2
x.y1’
z
y2.y1’
Esercizio 6.1 Eseguire la sintesi di una rete sequenziale asincrona che fornisca 1 in uscita quando entrambi i suoi due ingressi valgono 1 e solo se le due precedenti configurazioni (andando a ritroso) sono state 01 e 00. I segnali di ingresso possono cambiare di valore uno solo alla volta. Suggerimento: Il grafo parziale di figura è in grado di individuare la sequenza 00-01-11: bisogna completarlo considerando tutti gli altri casi possibili. 00,0 01,0
11,1
a
11,-
b
3 Latch CD
Una memoria binaria con controllo della memorizzazione memorizz azione diverso rispetto al LATCH SR Latch CD - Memoria binaria in cui: 1. il va valo lore re 1 d dii u un n sseg egna nale le C individua “quando scrivere” scrivere” 2. il va valo lore re co cont ntem empo pora rane neo od dii u un n sseg egna nale le D dice «cosa scrivere». Trascodifica da CD a SR Latch CD
C
C
C 1 1 0
D 1 0 -
S 1 0 0
R 0 1 0
D 0
0 0
1 0
D 0
0 0
1 1
1
0
1
1
0
0
S = C.D
C D
S
Q
R
Q’ Q’
R = C.D’ C.D’
Y = S + /R. y = CD + /(C. /D). y= CD + (/C + D) y
Mappa dello stato futuro del LATCH CD Y = S + /R. y = CD + /(C. /D). y= CD + ((/C /C + D) y Quindi: Y = CD + /C y + D y Ove D y è una copertura ridondante che assicura a Y l’assenza di alee statiche CD y
00
01
11
10
0 0
0
1
0
1 1
1
1
0
Y
Q=y Q’ = /y /y Le uscite sono quelle del LATCH SR
TdT e DDS del LATCH CD
Si lascia allo studente il compito di: 1. V ri rica cava vare re T.d.T .d .T le e D. D.D. S. ioni d del el L Lat ch CD 2. erific eri ficare are cche he condiz coD.S. ndizioni diatch cor corret retto to funzi funziona onamen mento to del della la RSA sono soddisfatte se ssii assicura che gli ingress ingressii cambino sempre uno alla volta
Campionamento e Memorizzaz Memorizzazione ione Segnale del Data Path con valori significativi solo in certi intervalli intervalli Es: segnale D con “glitch “glitch””
segnale di campionamento C “attivo alto” alto” segnale “ricostruito” “ricostruito” dal latch
dal Controller dal Data Path
C
Q
D
Q’ Q’
il latch CD
al Data Path
Il latch CD a NAND ed a NOR C
C’ C’ S’ S’
Q
D
S
Q
D R’ R’
R
Quando C = 1 il valore va lore presente presente su D si propaga all’interno della rete prima di diventare il valore del segnale Q. Il comando che ha generato un nuovo valore di Q deve mantenersi fino al raggiungimento della stabilità sull’anello di retr retroazione. oazione.
I tempi di se e di risposta sett-up, di hold e segnale di Scomando C deve restare Larghezza di campionamento campionamento - Ildei attivo per undell’impulso tempo non inferior tempo inferiore e alla durata minima seg segnali nali e R in ingresso al latch SR (vedi il parametro tw min nel data-sheet del LATCH LATCH SR). Inoltre il bit da memorizzare deve soddisfare i tempi di set di set up e hold rispetto al fronte di discesa di C
durata minima C (Comando di Scrittura
nel latch CD D (Bit in Ingresso)
sett-up se
hold
Bit in memoria
OLD
tempo max di risposta
L’uscita “trasparente” Comando di campionam.
tw-min
Bit in ingresso
Bit in memoria
te tem mpo di r i sposta sposta Quando C = 1 il LATCH CD è trasparente. Quindi, se C=1 per un intervallo maggiore di tw-min e se durante questo intervallo D modifica il suo valore, rispettando anch’esso il vincolo su tw-min, allora le stesse modifiche si ritrovano su Q.
CD q 00 01 11 10 0 0 0 1 0 1 1 1 1 0 Q
Una quarta realizzazione del LATCH CD CD q 00 01 11 10 0 0 0 1 0 1 1 1 1 0 Q Un ritardo che
C
Q = C.D + C’.q C’.q
elimina gli impulsi di durata inferiore al ritardo stesso si chiama RITARDO INERZIALE
D Ritardo INERZIALE
Multiplexer
Il ritardo inerziale dei due NOT elimina il «glitch» (impulso spurio) generato dall’alea statica del MUX
Esercizio 6.2
Applicare il procedimento procedimento di analisi allo schema logico del circuito ‘75 per dimostrare, con la tabella delle transizioni, transizioni, che il comportamento è quello del latch CD.
Esercizio 6.3
D
Q
C
Q’ Q’
y1
D
Q
C
Q’ Q’
y2 z
x’ x’ Dimostrare che lo schema sopra indicato ha lo stesso comportamento di quello precedentemente ricavato per la lampada da tavolo. Suggerimento: Suggerimento: Y = x’.y + x.y + y .y = x’.y + (x + y ).y = S + R ’.y 1 2 1 2 1 2 2 1 1 1 1 Y2 = x’.y2 + x.y1’ + y2.y1’ = x.y x.y1’ + (x’+ y1’).y2 = S2 + R 2’.y2 z = y2’
n+1
I CK
Q
n
= D
D
Q
U
yi /Q
RSA con due variabili di stato, quindi con 4 stati
4 Flip-flop D
PREMESSA:: Si può realizzare la rete che controllo la lampada PREMESSA tavolo con un solo latch CD? No, la rete ha 4 stati, il latch CD ne mette a disposizione 2 – 2 – INFATTI: INFATTI:
x
C
Q
D
Q’ Q’
Q Q’ se x = 1 (la rete Q Q oscilla) se x=0
Se x = 1 dura più del tempo di risposta si risposta si verificano diverse commutazioni di Q.
Se x = 1 durasse meno del tempo di risposta risposta e più del tempo tw-min, si tw-min, si avrebbe una sola oscillazione, ma soddisfare questo requisito è praticamente impossibile.
x
x
No!
Q
Q
Irrealizzabile !!
Con due latch in cascata (4 stati) si può eliminare l’oscillazione se si pilotano i due LATCH CD con segnali F1 e F2 in controfase. Bisogna però riuscire a trasformare la variabile di ingresso x (cioè il pulsante della lampada) in F1 e F2 F1 : QM QS’
F2 : QS QM
x
F1
F1 C
QM’
F2 D
Q M QS (lampada)
D
Qs’
C
QS
F2 QM
Generazione delle fasi F1 e F2 a partire partire dalla variabile di ingresso x T Master
x
x
C D
trasparente
Master memorizza
Master trasparente
Q’ Q’ QM
x’
Slave memorizza
Slave Copia
Slave memorizza
(trasparente)
D
Q’ Q’
C
QS
Ma quando entrambi i LATCH sono trasparenti la rete potrebbe oscillare. Questa situazione va studiata
x x’
Il flip-flop D master-slave con campionamento sul fronte negativo
x
C
C D
y
M
D
S D
Q
Q
intervallo n x
z
Qn+1 = Dn
intervallo n+1 latch M trasp.
latch S trasparente Il «campionamento» avviene quando lo slave diventa trasparente e lascia
tsu th
y
Q
passare il valore in ingresso fino a quel momento al master
z
tr
Il flip-flop D master-slave con campionamento sul fronte positivo Qn+1 = Dn CK
I
c
c d
M
Q
I
U
CK
S Q
d
/Q
D
Q yi
YM = cd + /c . ym + d.ym = /CK I + CK . ym + I .ym YS = cd + /c . ys + d. ys = CK ym + /CK . ys + ys.ym
In blu i termini anti-alea
/Q
RSA con due variabili di stato, quindi con 4 stati
ANALISI DEL FF-D
U = ys
U
Mappe di G ed F Dal lucido precedente, trascurando i termini anti-alea di 1 (che non modificano le mappe) si ha: YM = cd + /c . ym = /CK I + CK . ym YS = cd + /c . ys = CK ym + /CK . ys U = ys
Ck I
ymys 00
00
01
11
10
0
1
0
0
01
0
1
0
0
11
0
1
1
1
10
0
1
1
Ck I
ymys
1
00
01
11
10
00
0
0
0
0
0
01
1
1
0
0
1
11
1
1
1
1
1
10
0
0
1
1
0
YM
U
YS
Tabella delle transizioni (1/2) Con riferimento riferimento alle mappe del lucido precedente: precedente: CK I
00
01
11
10
U
00
00 00
10
00
00
0
01
01
11
00
00
1
11
01
11
11
11
1
10
00
10
11
11
0
ym ys
Le frecce non in rosso mostrano transizioni in cui CK non commuta: in esse commuta D ma non varia l’uscita (è considerato solo il caso di uscita = 0)
Con riferimento ai requisiti per il corretto funzionamento delle RSA si vede che: 1. Se il rrequisi equisito to 1 è sodd soddisfatto isfatto,, allora allora le due transiz transizioni ioni evidenziate evidenziate in rosso non si
verificheranno mai (quindi possiamo non considerarle nel dds) 2. Il re requi quisito sito 2 è soddi soddisfa sfatto tto ((non non ci so sono no ccors orse) e) 3. Il requ requisito isito 3 è soddis soddisfatto fatto p perché erché ne nelle lle espr espression essionii SP d dii YM YM e YS ricavate ricavate dalla rete il termine anti-alea anti-alea c’è (siamo partiti da due LA LATCH TCH CD) CD)
Tabella delle transizioni (2/2) Ulterioree analisi della T.d.T. Ulterior T.d.T. CK I
00
01
11
10
U
00
00
10
00
00
0
01
01
11
--
00
1
11
01
11
11
11
1
10
00
10
11
--
0
ym ys
Le frecce rosse mettono in evidenza l’azione del fronte positivo del clock - Ck : 0 → 1 nei casi in cui l’ingresso I è diverso dall’uscita U U Le altre frecce sono relative a transizioni transizi oni in cui CK non commuta: in esse commuta D ma non varia l’uscita (è considerato solo il caso di uscita = 1; il caso con uscita =0 è stato messo in evidenza nel lucido precedente) Sono state inserite condizioni di indifferenz indiff erenza a in quelle caselle in cui non ci si può mai trovare
Diagramma degli stati Se in 00 sono stabile con ingresso 11 è perché ci sono
arrivato da
Nello stato 10 il Master è trasparente
Ck I 0 0 1 -
00,0
00 01
01
10,0
10, infatti la transizione 01-11 non può verificarsi nella stato 00 perché con ingresso 01 la rete cambia stato
11
Ck : 0 → 1 1 10
01,1
Ck : 0 → 1 1
01
11,1 1- 01
00 00 Nello stato 01 il Master è trasparente
Il flip-flop D master-slave: forme d’onda CK = CS CM Latch trasp. M 2
I
tsu th
S
0
M 2
tsu th
S 0
M 2
S
tsu th
QM U= QS Il FF-D FF-D campiona l’ingresso I sul fronte positivo di CK Si noti che se la condizione su th non è soddisfatta, c’è il rischio di campionar campionaree il segnale D in un istante successivo al fronte positivo del clock! (in realtà in questo caso il FF-D andrebbe in metastabilità)
Il flip-flop D master-slave: positive edge triggered, con un clock del LATCH slave in ritardo rispetto a quello del master (disallineamento dei clock)
C
C
CK
D
I
D
M Q
D
Q /Q
S Q Qn+1 = Dn
Le espressioni e quindi la T.d.T T.d.T.. , il d.d.s. d.d.s. e l’equazione caratteristica sono identiche rispetto al caso precedente. Cambia solo l’allineamento l’allineamento del clock dello slave, che ora è in ritardo rita rdo rispetto a quello del master
Il flip-flop D master-slave: malfunzionamento quando entrambi i LATCH sono trasparenti CS(t+2τ) = CS(t+2τ CK(t)
CM Trasp.
M
0
tsu th
S
2
M
0
tsu th
S 2
M
0
S
tsu th
I
QM U= QS L’uscita QS commuta erroneamente sul fron fronte te negativo di CK se quando lo slave blocca il master, master, che si è aperto prima, è riuscito a far arrivare allo slave il nuovo ingresso (alea essenziale)
Il flip-flop D master-slave: caso in cui il disallineamento si può trascurare perché il tempo di risposta del master è maggiore dell’intervallo in cui entrambi i LATCH CD sono trasparenti
CS(t+2ττ) = CK(t) CS(t+2
CM Trasp.
M
0
S
2
M
0
S 2
M
0
S
tsu th I
QM U= QS
Il clock esterno è in anticipo rispetto a entrambi i clock dei due LATCH LATCH CD
I tempi di se e di risposta sett-up, di hold e
D
Se sono soddisfatti i tempi di set-up di set-up,, di requisiti ) allora il FF-D reagisce hold ( requisiti reagisce con il tempo di risposta max anch’esso indicato nel data-sheet
Q
Fronte del clock
Segnale D
sett-up se
hold
Segnale Q
risposta
Il FF-D ha anche due ingressi asincroni!
Comando asincrono
D
/PR
/CL
Comando sincrono
Requisiti per il corretto funzionamento del FF-D
Q /Q
Funzioni del FF-D edge triggered 1. Il FF-D campiona e copia sull’uscita il valore della variabile di ingresso D nell’istante del fronte positivo di CK 2. Il F FF-D F-D è una me memor moria ia da un bi bitt (i (ill va valore lore cam campion pionato ato vie viene ne mantenuto fino al prossimo fronte positivo di CK 1. Se il CK è un seg segnal nalee per perio iodi dico co di pe peri riod odo o T ck e il segnale di ingresso D è sincrono con il fronte positivo del CK (cioè è stato a sua generato partire da un precedente positivo CK),volta allora il FF-D a ritarda il segnale di ingresso fronte di T ck (da cui il di nome FF-D, ove D sta per Delay)
D
Q /Q
Qn+1 = Dn Delay!!
Generazione di ritardi precisi rispetto a segnali SINCRONI Delay = n*T ck con n FF-D in cascata I
D Q
α
D Q
β
D Q
γ
D Q
δ
D Q
ε
α
β
/Q
/Q
/Q
/Q
/Q
CK I FF-D devono soddisfare la condizione: τ > τ r
t 0
t 1 T 0
t 2
T 1
I
t 4
t 3 T 2
T 3
h
t 5 T4
t 6 T5
t7
T6
r
τ
α β γ δ
Impiego dei FF-D nelle Reti Sequenziali Sincrone i
u F
s* s
G Qn+1 = Dn
Q /Q
D
CK (f = f ck )
Nelle RSS si inserisce un FF-D su ogni variabile in retroazione: su D si porta por ta lo stato futuro e su Q si ritrova lo stato presente con un ritardo pari a T ck Si capisce immediatamente immediatamente che nelle RSS non è più necessario soddisfare i requisiti di corretto funzionamento delle RSA (vedi lucido 18) in quanto il FF-D interrompendo la retroazione consente alle variabili di stato futuro di stabilizzarsi prima di essere trasferite agli ingressi della rete G sotto forma di stato presente E’ sufficiente che il prossimo fronte positivo di clock arrivi dopo che tutti i transitori della rete G si sono estinti
Complessità e Componenti
Un altro flip-flop (ormai poco utilizzato): il flip-flo flip-flop p JK
Jn 0 hold 0 1 set 1 0 reset 0 1 toggle toggle 1
K n 0 0 0 0 1 1 1 1
Qn 0 1 0 1 0 1 0 1
Qn+1 0 1 1 1 0 0 1 0
J
Q
K
Q’ Q’
n+1
Q
Qn
n
= (J.Q’+K’.Q)
Jn K n 00 01 11 10
0 1
0 1
0 0
1 0
1 1
Qn+1
Esercizio 6.4
• Con pochi gate ed un flip-flop D è possibile ottenere una rete che ha il comportamento del flip-flop JK. • Con pochi gate ed un flip-flop JK è possibile ottenere una rete che ha il comportamento del flip-flop D.
Tracciare i due schemi logici
APPENDICE ALLA SEZIONE SULLE RSA
Incipit della costruzione del Grafo degli Stati del FF-D edge triggered (esempio di grafo degli stati di RSA)
Costruzione del dds del Flip Flop D edge triggered (rete asincrona che campiona con un fronte di salita) CD,Q 01, 0
A
Il fronte di salita di C campiona D=1 e ne ordina la memorizzazione
11, 1
00, 0
10
Per ipotesi è impossibile che D vari durante un fronte di salita di C
D va a 0 prima del fronte di C. Q non deve cambiare (segue) (segue)
Il grafo degli stati del FF-D positive edge triggered
CD,Q 01, 0
11, 1
11, -
A
C
00, 0
10, 1
10, 0
0-, 1
0-, 0 10, 0
B
11, 1 00, 1
10, -
11, 0
D 01, 1
Contatori Binari
Luca Faggianelli
[email protected]
1
Contatore binario Un contatore contatore binario è una rete sequen sequenziale ziale sincro sincrona na che memo memorizza rizza un numero binario e lo incrementa a ogni fronte positivo del segnale do clock. Dunque un contatore conta i fronti positivi del segnale di clock. Un con contato tatore re bina binario rio per 2 n conta fino a (2n – 1), quindi quindi riparte da 0 e mantien man tiene e il contegg conteggio io su un un registro registro Rn Rn di n bit. bit. In figura figura è mos mostra trata ta una possibile struttura di un cont contato atore re binar binario io per 2n Per somm Per sommare are 1 a una conf co nfig igur uraz azio ione ne di n bi bitt bastan bas tano o n ha half lf adder adder!!
z=y
n
+
1
yn-1 .. 0 Stato presente (n variabili) 9 dicembre 2009
Yn-1 .. 0 Stato futuro (n variabili)
Rn
Luca Faggianelli
[email protected]
CLK
2
Diagramma degli stati stati di un contatore binario per 2 n Contatore x2^n
OUT n
Se l’uscita l’uscita del contator contatore e è a n bit ( OUT[n-1 .. 0] ) le configurazioni d’uscita sono son o 2^n 2^n,, qui quindi ndi il valo valore re ma massi ssimo mo con contat tato o è 2^n - 1.
2^n-1
0
1
2^n-2
2 … 3
Esempio: contatore binario per 2 4 In caso di contatore per 16 si scriverà:
k + 1
S
=
( S k + 1 ) mod 16
Dunque raggiunta la configuraz configurazione ione 1111, il contatore ricomincia a contare da 0. CLK
Quando il segnale CLK passa
Q R4 D 4
1
4
+
da 0 a 1 (fronte di salita) i 4 FFD del registro da 4 bit R4 leggono il valore su D e lo portano in uscita ( su Q). Tra un fronte f ronte positivo del clock e il fronte successivo il valore di Q non cambia, mentre invece il valore di D[3..0] si incrementa di 1 per predisporre gli ingressi del registro in attesa del prossimo fronte positivo di clock. 4
Contatore binario x8 (3 bit) Vediamo ora come realizzare un contatore binario da 3 bit. Ci servirà servirà un sommatore sommatore da 3 bit, bit, che potrebbe potrebbe e essere ssere real realizzato izzato con con 3 full adder adder e 3 Flip Flop D (ognuno dei quali memorizza un bit) come da figura. Si noti che il CI è posto a 0 e l’operando l’operando B è posto a “001”. Lo stess stesso o risultato si può può ottenere ponendo ponendo CI a 1 e B a “000”. Questo consente di semplificare grandemente la rete combinatoria eliminando la logica che elabora l’operatore B: si possono du dunque nque sostituire i 3
FULL-ADDER con 3 HALF-ADDER
CI
0
S
1
A B
COUNT0
D Q CK
CO
CI S
0
A B
COUNT1
D Q CK
CO
CI S
0
A B
CO
D Q
COUNT2
CK
CO
5
CLK
Segnali di comando di un contatore Il contatore binario x8 della slide precedente non può essere controllato: appena acceso, il contatore inizia a contare incrementandosi su ogni fronte positiv pos itivo o del clo clock ck (q (quin uindi di con frequ frequenz enza a fck se fc fck k è la fre freque quenza nza de dell clo clock) ck).. Il contatore contatore di diventa venta pi più ù inter interessa essante nte se pos possiam siamo o control controllare lare lla a modal modalità ità di conteggio con opportuni comandi. I comandi dovranno essere SINCRONI, in modo da assicurare assicurare che, se la frequenza di clock è stata ben calcolata, sia soddisfatto il requisito sul tempo di set up minimo dell’ingresso D dei FF rispetto al fronte positivo del Clock. Si possono ipotizzare, ipotizzare, ad esempio, i seguenti comandi: RESET – Il conteggio riparte da zero (qualunque sia il valore di conteggio corrente) RESET – ENABLE – – Il contatore “conta” cioè incrementa il suo valore in risposta rispos ta ai fronti ENABLE positivii del clock solo se il comand positiv comando o di ENABLE è attivo, altri altrimenti menti il contatore contatore mantiene il suo valore; ipotizziamo che il reset prevalga sull’enable UP/DOWN# – Se il contatore è realizzato in modo da poter contare s UP/DOWN# – sia ia in avanti che all’indietro all’in dietro (cioè se può sia incrementarsi incrementarsi sia decrementars decrementarsii in risposta ai fronti positivi del clock), allora questo comando indica il senso del conteggio (1 in avanti e 0 all’indietro) LOAD – inizializzato to con un valore arbitrario inviat inviato o ad appositi LOAD – Il contatore viene inizializza 6 ingressi (quindi il contatore può partire anche da un valore diverso da zero)