Reti Logiche

December 6, 2022 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download Reti Logiche...

Description

 

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: IS  U

G: IS  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



• 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 



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 



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), (xy), (xy), (xy), (xy)

 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 



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



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 :



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 



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



I1

I0



   

 

 



I1

 



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 ab 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  x0x1 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



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



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



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



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



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





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)



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.



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 = (mlog2 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 i2-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



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)





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 







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

-

-



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



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

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, XQ’ 

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



1,0

1,-



0,0

0,0



1,1

1,-



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



b

1





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



00

01

11

10

0

0

1

1

0

1

0

0

1

1

y1y2

y1y2



00

01

11

10

0

0

1

1

0

1

1

1

0

0



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



11,-



 

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:



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



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





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



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



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 



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



tsu th 



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





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 



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, - 





00, 0 

10, 1 

10, 0 

0-, 1 

0-, 0  10, 0 



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)

 

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF