Top Banner
05EKL 05EKL - - Progetto di Circuiti Progetto di Circuiti Digitali Digitali Tutore: Federico Quaglio Tutore: Federico Quaglio [email protected] [email protected] 011 011 - - 564 4004 ( 564 4004 ( 4004 4004 ) )
84

049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Feb 18, 2019

Download

Documents

truongcong
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

05EKL05EKL--Progetto di Circuiti Progetto di Circuiti DigitaliDigitali

Tutore: Federico QuaglioTutore: Federico [email protected]@polito.it

011011--564 4004 (564 4004 (40044004))

Page 2: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Introduzione alle Reti LogicheIntroduzione alle Reti Logiche

Page 3: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Sommario

• Richiami di algebra booleana• Mappe di Karnaugh• Coperture SP & PS• Alee statiche e loro minimizzazione• Circuiti sequenziali semplici• Ulteriori Circuiti

Page 4: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Algebra Booleana

• Negazione o inversione: NOT • A={0,1} B=NOT(A)= =A’={1,0}• Tabella di Verità: Simbolo:

A BA B0 10 11 01 0

( )

A

Page 5: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Algebra Booleana

• Prodotto logico: AND; • C=A*B=AB• Tavola di verità: Simbolo:

A B U A B U 0 0 00 0 00 1 00 1 01 0 01 0 01 1 11 1 1

•• C = 1 C = 1 A=B=1A=B=1

Page 6: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Algebra Booleana

• Somma logica: OR; • C=A+B• Tavola di Verità: Simbolo:

A B U A B U 0 0 00 0 00 1 10 1 11 0 11 0 11 1 11 1 1

•• C = 0 C = 0 A=B=0A=B=0

Page 7: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Algebra Booleana

• OR Esclusivo: EXOR;•

• Tavola di Verità: Simbolo:A B U A B U 0 0 00 0 00 1 10 1 11 0 11 0 11 1 01 1 0

• Comparatore di DISUGUAGLIANZA

BABABAC ⊕=⋅+⋅=

Page 8: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Algebra Booleana

• NAND (AND Negata):•

• Tavola di verità: Simbolo:A B U A B U 0 0 10 0 10 1 10 1 11 0 11 0 11 1 01 1 0

• C=0 A=B=1

ABC =

Page 9: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Algebra Booleana

• NOR (OR Negata): •

• Tavola di Verità: Simbolo:A B U A B U 0 0 10 0 10 1 00 1 01 0 01 0 01 1 01 1 0

• C = 1 A=B=0

BAC +=

Page 10: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Algebra Booleana

• EXNOR (EXOR Negata);•

• Tavola di Verità: Simbolo:A B U A B U 0 0 10 0 10 1 00 1 01 0 01 0 01 1 11 1 1

• Comparatore di UGUAGLIANZA

BABABAC ⊕=⋅+⋅=

Page 11: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

• NAND, NOR SONO GATE UNIVERSALI• Si possono ricavare tutte le altre funzioni

logiche a partire da essi• Es (con NAND):

Algebra Booleana

Page 12: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Algebra Booleana

Proprietà fondamentali:A*0=0; A+1=1; A*A=A; A+A=AA*(NOT(A))=0; A+(NOT(A))=1A+B=B+A; A*B=B*A(A+B)+C=A+(B+C);(A*B)*C=A*(B*C)A+A*B=A; A*(A+B)=A; A+NOT(A)*B=A+B; A*(NOT(A)+B)=A*BNOT(A+B)=NOT(A)*NOT(B)NOT(A*B)=NOT(A)+NOT(B)NOT(NOT(A))=A

Page 13: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Minimizzazione di Funzioni Logiche• Somma di Prodotti (SP)

• f(A,B,C)=(A*B*C)+(A’BC)+ etc…• In tabella di verità identifico i prodotti degli ingressi

che hanno uscita ‘1’ e li sommo• Ingresso a ‘1’ Considerato “dritto”• Ingresso a ‘0’ Considerato “negato”

• Prodotti di Somme (PS)• f(A,B,C)=(A+B+C)(A’+B+C)etc…• In tabella di verità identifico le somme che danno

uscita ‘0’ e le moltiplico• Ingresso a ‘0’ Considerato “dritto”• Ingresso a ‘1’ Considerato “negato”

Page 14: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Minimizzazione di Funzioni Logiche

• Ottengo rappresentazione in forma canonica

• Minimizzo funzione usando proprietà dell’algebra Booleana• Funzione minima

Page 15: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Minimizzazione di Funzioni Logiche• Esempio (SP):

Tabella di veritàA B C U0 0 0 00 0 1 00 1 0 00 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

BCAI =1

CBAI =2CABI =3

ABCI =4

ABCCABCBABCA

IIIIU

+++=

=+++= 4321

Page 16: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Minimizzazione di Funzioni Logiche

• Riduzione a espressione minima

( )( ) ( )

( )( ) BCACABABCAB

BABCABCBABCAB

CBAACBCBACACB

CABCBABCCABCBAAABC

ABCCABCBABCAIIIIU

++=++==++=++=

=++=++=

=++=+++=

=+++=+++= 4321

Page 17: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Sommario

• Richiami di algebra booleana• Mappe di Karnaugh• Coperture SP & PS• Alee Statiche e loro minimizzazione• Circuiti sequenziali semplici• Ulteriori circuiti

Page 18: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Mappe di Karnaugh

• Servono a minimizzare espressioni logiche• Copertura a Somma di Prodotti (SP)

f(A,B,C)=(A*B*C)+(A’BC)+ etc…• Copertura a Prodotti di Somme (PS)

f(A,B,C)=(A+B+C)(A’+B+C)etc…

Page 19: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Mappe di Karnaugh

• Metodo grafico molto veloce• Adatto per minimizzazione manuale• Complessità esponenziale con numero di

variabili di ingresso• Al massimo fino a 5-6 ingressi

Page 20: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Mappe di Karnaugh0

0

1

1

XY

XY00 01 11 10

0

1

W

00 01 11 10

00

01

11

10

XYWZ

0 2

1 3

0 2 6 4

1 3 7 5

0

1

3

2

4

5

7

6

12 8

13 9

15 11

14 10

U=…

U=…

U=…

Page 21: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Mappe di Karnaugh

00 01 11 10

00

01

11

10

XYWZ 00 01 11 10

V=0 V=1

0

1

3

2

4

5

7

6

12

13

15

14 10

11

9

8 16

17

19

18

20

21

23

22

28

29

31

30 26

27

25

24

Page 22: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Da tabella di verità a Mappa di Karnaugh

• Tabella di veritàA B C U0 0 0 00 0 1 00 1 0 00 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

• MappaAB

C 00 01 11 10

0

17 5

4

3

62

1

01

11 1

0 0 0

0

U

Page 23: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Regola per la copertura

• Iniziare a coprire gli ‘1’ (o gli ‘0’) non ancora coperti

• Massimizzare il “CUBO” includendo il maggior numero di ‘1’ (o ‘0’) in celle “Adiacenti”

• Celle sono Adiacenti c’è la variazione di UN SOLO ingresso

Page 24: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Regola per la copertura

• Esempi celle adiacenti:

00 01 11 10

00

01

11

10

XYWZ 00 01 11 10

00

01

11

10

XYWZ

Page 25: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Regola per la copertura

• Esempi celle adiacenti:

00 01 11 10

00

01

11

10

XYWZ 00 01 11 10

00

01

11

10

XYWZ

Page 26: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Regola per la copertura

• Esempi celle adiacenti:

00 01 11 10

00

01

11

10

XYWZ

Page 27: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Regola per la copertura

• Esempi celle adiacenti:

00 01 11 10

00

01

11

10

XYWZ 00 01 11 10

V=0 V=1

Page 28: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Esempio di copertura

AB

C 00 01 11 10

0

17 5

4

3

62

1

01

11 1

0 0 0

0

AB

BC AC

Page 29: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Mappe particolari

111

03

17

015

010

12

06

114

09

113

18

11

05

00

14

012

C,D 00 01 11 10

00

01

11

10

A,B

11

03

00

12

0 1

0

1

A

B

EXOR

05

17

14

11

03

00

12

06

A,B

00 01 11 10

0

1

C

Page 30: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Copertura SP

• Si coprono gli ‘1’• Rimangono solo ingressi che non sono

“variati” dentro uno stesso cubo• Ingresso vale ‘1’ Compare in uscita il

suo valore diretto (A)• Ingresso vale ‘0’ Compare in uscita il

suo valore negato (A’)

Page 31: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Copertura PS

• Si coprono gli ‘0’• Comportamento duale a copertura SP

• Se ingresso ‘0’ ingresso preso “dritto”• Se ingresso ‘1’ ingresso è negato

Page 32: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Esempio di rete combinatoriaTabella di verità

# A B C D U

0 0 0 0 0 1 1 0 0 0 1 12 0 0 1 0 03 0 0 1 1 04 0 1 0 0 15 0 1 0 1 16 0 1 1 0 17 0 1 1 1 18 1 0 0 0 09 1 0 0 1 1

10 1 0 1 0 011 1 0 1 1 012 1 1 0 0 013 1 1 0 1 114 1 1 1 0 015 1 1 1 1 1

Page 33: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Mappa di Karnaugh

19

11

15

113

011

03

17

115

010

02

16

014

08

10

14

012

C,D 00 01 11 10

00

01

11

10

A,B

Page 34: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Copertura minima SP

BD

19

11

15

113

011

03

17

115

010

02

16

014

08

10

14

012

A,BC,D 00 01 11 10

00

01

11

10

A,B A’C’

C’D

A’B

DCBDCABAU +++=

Page 35: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Copertura minima SP

Page 36: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Copertura minima SPA,BA,B

A’+D19

11

15

113

011

03

17

115

010

02

16

014

08

10

14

012

C,D 00 01 11 10

00

01

11

10

B+C’

( )( )CBDAU ++=

Page 37: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Copertura minima SP

Page 38: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Esempio

0 0

0 1

0 0

1 0

0 1

0 0

1 0

0 0

00 01 11 10

00

01

11

10

XYWZ

0 0

0 0

0 0

1 0

1 0

1 0

1 0

0 0

00 01 11 10V=0 V=1

Page 39: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Esempio

0 0

0 1

0 0

1 0

0 1

0 0

1 0

0 0

00 01 11 10

11

XYWZ

00

01

10

0 0

0 0

0 0

1 0

1 0

1 0

1 0

0 0

00 01 11V=0 V=1

10

YZVI =1

XYZI =2

WYXVI =3

WYXVXYZYZVU ++=

Page 40: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Sommario

• Richiami di algebra booleana• Mappe di Karnaugh• Coperture SP & PS• Alee Statiche e loro minimizzazione• Circuiti sequenziali semplici• Ulteriori circuiti

Page 41: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Esempio:

• Sia data la tabella di verità:

A B C U0 0 0 00 0 1 00 1 0 10 1 1 01 0 0 01 0 1 11 1 0 11 0 1 1

• Dalla mappa di Karnaugh si ricava

15

17

04

01

03

00

12

16

A,B

00 01 11 10

0

1

CBC’

AC

U=AC+BC’

Page 42: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Rete Combinatoria ottenuta

U

A

B

C

Page 43: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Comportamento ideale: porte logiche con ritardi nulli

C

B

A

C’

AC

BC’

U

Page 44: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Porte con ritardi non nulli

• Supponiamo che le porte abbiano tempi di propagazione diversi.

• Ad esempio:

U

A

B

C

t_AND1 = 2 ns

t_AND2 = 1 ns

Page 45: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Comportamento del circuito

C

B

A

C’

AC

BC’

Ut_AND2

t_AND2

t_AND1

Transizione spuria

Page 46: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Analisi del comportamento

• I diversi tempi di ritardo causano transizioni spurie (“Glitch”)

• Sono dovuti al fatto che nella funzione logica non considero variazioni simultanee di + segnali

• Transizioni spurie causano anche maggiore dissipazione di potenza

• Per minimizzarne l’effetto si inserisce altra logica che mantiene fissi i segnali

• Non ho più funzioni minime

Page 47: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Copertura Hazard-Free

• Inserisco anche i “cubi” che coprano variazioni contemporanee di + segnali

• Esempio

15

17

04

01

03

00

12

16

A,B

00 01 11 10

0

1

CBC’

AC

AB

Cubo Aggiunto

U=AB+AC+BC’

Page 48: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Sommario

• Richiami di algebra booleana• Mappe di Karnaugh• Coperture SP & PS• Alee Statiche e loro minimizzazione• Circuiti sequenziali semplici• Ulteriori circuiti

Page 49: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Concetti preliminari

• Circuiti digitali sono costituiti da una parte di “elaborazione” (Rete combinatori”) ed una parte di controllo e temporizzazione(“Parte sequenziale”)

Page 50: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Concetti Preliminari

• Le uscite dei circuiti sequenziali dipendono: dagli ingressi attuali, ma anche dagli INGRESSI PASSATI

• Sono cioè circuiti con MEMORIA • Il circuito si trova in uno STATO

PRESENTE• Evolverà in uno STATO FUTURO

Page 51: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Concetti Preliminari

• Un circuito sequenziale generico sarà costituito da (modello di Huffman)

CalcoloUscite e

Stato

R

Ingressi Uscite

Stato

Futuro

Stato

Presente

(interno)

Elemento di ritardo

Page 52: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Concetti preliminari

• Tipi principali di circuiti sequenziali:• Circuiti Asincroni: lo stato può cambiare in

ogni istante (in base a ritardi intrinseci porte)• Circuiti Sincroni: lo stato può cambiare

solo in corrispondenza di un segnale di cadenza

Page 53: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Concetti preliminari

• La maggioranza dei circuiti integrati digitali progettati sono “CIRCUITI SINCRONI”

• Esiste un segnale di cadenza (chiamato spesso “clock”) che “valida” e sincronizza i segnali considerati

• Esempio:

Dato Valido

Page 54: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Concetti preliminari

• I segnali devono mantenersi “stabili” a seguito di un “fronte” del segnale di cadenza

• Si devono inserire dei circuiti logici che memorizzino lo stato dei segnali

Page 55: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Concetti preliminari

• L’elemento di memorizzazione/ritardo si può ricondurre ad un anello di inverter

1

1

0

0

Il dato memorizzato non si può

modificare!!!

Page 56: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Concetti preliminari• Al fine di “inserire” valori dall’esterno le

NOT si possono sostituire con porte che possono “simulare” lo stesso comportamento:• NAND oppure NOR

1

1

0

0

1

1

Page 57: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Latch SR

Page 58: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Latch e flip-flop D

Page 59: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

FLIP-FLOP D

• Tabella di verità:

RST CK D Q_n QN_n

0 - - 0 1 1 0 0 1

1 1 1 0

D Q

QNCK

RST

Page 60: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Tempistica del Flip-Flop• Il dato D è “campionato” sul “fronte di salita” del

clock• Se D varia durante tale fronte cosa succede?

CLK

D

Q

Oscillazione dell’uscita di durata non predicibilea priori METASTABILITA’

Page 61: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Tempistica del Flip-Flop• Metastabilità è dovuta alla presenza di un punto quasi-

stabile (“metastabile”) nella transcaratteristica ingresso-uscita dell’anello di inverter

• Se campiono ingresso con valore vicino a quel punto impiego del tempo per “risolvere” metastabilità

• Più campiono vicino a punto metastabile, più lungo sarà il tempo con uscita non definita

Punto Metastabile

Page 62: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Tempi di set-up e hold

• Per evitare metastabilità dato deve essere “stabile” prima e dopo fronte del clock

• Tempo min. per cui dato deve essere stabile prima del clock tempo di set-up (t_su)

• Tempo min. per cui dato deve essere stabile dopo il clock tempo di hold (t_h)

CLK

Dt_su

t_h

Page 63: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Flip-Flop T

• Se ingresso T=‘1’ l’uscita Q varia, alternandolo, il suo valore ad ogni colpo di CLK (“toggle”)

• Si dimezza la frequenza di clock

T Q

QNCK

RST

• Tabella di verità:RST CK T Q_n QN_n

0 - - 0 1 1 0 Q_n-1 QN_n-1

1 1 QN_n-1 Q_n-1

Page 64: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Flip-Flop J-K• Tabella di verità:

RST CK J K Q_n QN_n

0 - - - 0 1 1 0 0 Q_n-1 QN_n-1

1 0 1 0 1

1 1 0 1 0

1 1 1 QN_n-1 Q_n-1

J Q

QN

CK

RST

K

Page 65: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Registri

• Affiancando n flip-flop D si ottiene un registro• Esempio Registro a 4 bit:

D Q

D Q

D Q

D Q

R4 4

Page 66: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Calcolo Frequenza Massima

• Identifico i percosi combinatori che collegano elementi sequenziali (cammini tra FF)

• Sommo i ritardi di propagazione delle porte combinatorie e del FF da cui esce un segnale

• Sommo il tempo di set-up del FF a cui segnale arriva

• Se ho percorsi paralleli che si ricongiungono considero il tempo massimo

Page 67: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Calcolo Frequenza Massima

• Esempio

U

A

B

C

D U

D U

D U

t ck -> U

t ck -> U t P (AND)

t P (AND)

t P (NOT)

t P (OR)t SU

Page 68: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Calcolo Frequenza Massima

• Percorso 1:

U

A

B

C

D U

D U

D U

t ck -> U

t ck -> U t P (AND)

t P (AND)

t P (NOT)

t P (OR)t SU

( ) ( ) SUORPANDPUck ttttT +++= → 1

ns ns ns ns ns 1342251 =+++=T

Page 69: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Calcolo Frequenza Massima• Percorso 2:

U

A

B

C

D U

D U

D U

t ck -> U

t ck -> U t P (AND)

t P (AND)

t P (NOT)

t P (OR)t SU

( ) ( ) SUORPANDPUck ttttT +++= → 2

ns ns ns ns ns 1342252 =+++=T

Page 70: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Calcolo Frequenza Massima

• Percorso 3:

U

A

B

C

D U

D U

D U

t ck -> U

t ck -> U t P (AND)

t P (AND)

t P (NOT)

t P (OR)t SU

( ) ( ) ( ) SUORPANDPNOTPUck tttttT ++++= → 3

ns ns ns ns ns ns 5.134225.053 =++++=T

Page 71: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Calcolo Frequenza Massima

• Percorso 4:

U

A

B

C

D U

D U

D U

t ck -> U

t ck -> U t P (AND)

t P (AND)

t P (NOT)

t P (OR)t SU

( ) ( ) SUORPANDPUck ttttT +++= → 4

ns ns ns ns ns 5.1342254 =+++=T

Page 72: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Calcolo Frequenza Massima• Periodo Minimo di clock richiesto:

U

A

B

C

D U

D U

D U

t ck -> U

t ck -> U t P (AND)

t P (AND)

t P (NOT)

t P (OR)t SU

( ) ns 5.13,,,max 34321min === TTTTTT

MHz 07,741

minmax ==

Tf

Page 73: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Sommario

• Richiami di algebra booleana• Mappe di Karnaugh• Coperture SP & PS• Alee Statiche e loro minimizzazione• Circuiti sequenziali semplici• Ulteriori circuiti

Page 74: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Multiplexer

• Seleziona tra n ingressi• Necessita di log2(n) segnali di selezione• Esempio MUX a 2 ingressi:

MUX

A

B

SEL

U

Page 75: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Multiplexer

• Funzione logica

SELBSELAU ⋅+⋅=

Page 76: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Multiplexer

• Con i MUX e porte NOT si possono realizzare qualsiasi funzione logica

• Es:

( )

BABAABAAA

ABAAU

+==+=+=

=⋅+⋅=

Page 77: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Driver Tri-State

• Si utilizzano per pilotare bus biderezionali

• Presentano un ingresso di abilitazione “enable” (EN)

• Se è attivo uscita corrisonde ad ingressi

• Se è disattivato uscita è in Alta Impedenza (HiZ)

• Tabella di verità

EN A OUT

0 0 00 1 11 - HiZ

A OUT

EN

Page 78: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Shift Register

• Serie di flip-flop D in cui l’uscita di 1 corrisponde all’ingresso del successivo

• Esempio Shith Register a 4 bit

D Q D Q D Q D QDin

CLK

Page 79: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Sincronizzatore

• Metastabilità non si può eliminare completamente, ma si può cercare di ridurre

• Tale problema è molto più evidente per gli ingressi provenienti dall’esterno che variano + lentamente

CLK

D

Page 80: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Sincronizzatore

• Si possono far passare gli ingressi in una catena di flip-flop

• Si riduce notevolmente la probabilità di entrare in metastabilità

Page 81: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Contatore

• “Conta” un numero 2 di colpi di clock (n è il numero di flip-flop utilizzati)

• Esempio Contatore UP modulo 8 (3 flip-flop)

n

CLK

D Q D Q D Q

Logica di conteggio

OUT

Page 82: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Esempio progetto logica di conteggio

• Analizziamo andamento delle uscite:

000 001 010 011 …

• L’ultimo bit varia ad ogni colpo di clock• Comportamento tipo flip-flop T (“toggle”)• Lo realizziamo:

T

QN

Q‘1’

Page 83: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Esempio:

• Usiamo flip-flop T:

• Uscita Q varia quando ingresso è ‘1’• Da tabella di verità T1=Q0 • Da tabella di verità: T2=Q0*Q1• Fine conteggio (TC): TC=Q0*Q1*Q2

TQN

Q1

Page 84: 049KL-Progetto di Circuiti Digitali - Corsi di Laurea a ...corsiadistanza.polito.it/corsi/pdf/05EKDN/intro_reti_logiche.pdf · Introduzione alle Reti Logiche. Sommario

Esempio:

Q

QN

T ‘1’Q

QN

TQ

QN

T

TC U2 U1 U0