circuitos combinatórios a representação de sistemas...

12
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatórios - 1 Circuitos combinatórios • Organização: – Formas básicas de representação – Síntese por mapas de Karnaugh – Projectos com blocos SSI / MSI – Análise e teste Introdução ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatórios - 2 A representação de sistemas digitais • Formas básicas de representação: – Tabular (tabela de verdade) – Algébrica (por extenso ou abreviada) – Gráfica (diagrama lógico ou mapa de Karnaugh) • Nível da representação: – Comportamental – Funcional – Estrutural Introdução ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatórios - 3 Tabelas de verdade • Apresentam o valor da(s) saída(s) para todas as combinações possíveis nas entradas • Só é viável em casos com reduzida complexidade A B C F 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 1 1 1 1 1 Introdução ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatórios - 4 Equações algébricas • Forma canónica da soma de produtos: • Forma canónica do produto de somas: • Forma canónica abreviada: F = /A*/B*C + /A*B*C + A*B*/C + A*B*C F = (A+B+C) * (A+/B+C) * (/A+B+C) * (/A+B+/C) F= Σ Σ Σ ABC (1,3,6,7) F= Π Π Π ABC (0, 2, 4, 5) A B C F 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 1 1 1 1 1

Upload: vannguyet

Post on 10-Nov-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Circuitos combinatórios A representação de sistemas ...jmf/Publicacoes/Downloads/Slides_IPSDM/2... · Introdução ao Projecto com Sistemas Digitais e Microcontroladores Circuitos

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 1

Circuitos combinatórios

• Organização:– Formas básicas de representação

– Síntese por mapas de Karnaugh– Projectos com blocos SSI / MSI

– Análise e teste

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 2

A representação desistemas digitais• Formas básicas de representação:

– Tabular (tabela de verdade)

– Algébrica (por extenso ou abreviada)– Gráfica (diagrama lógico ou mapa de Karnaugh)

• Nível da representação:– Comportamental

– Funcional– Estrutural

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 3

Tabelas de verdade

• Apresentam o valor da(s) saída(s) para todas ascombinações possíveis nas entradas

• Só é viável em casos comreduzida complexidade

A B C F

0 0 0 00 0 1 10 1 0 00 1 1 11 0 0 01 0 1 01 1 0 11 1 1 1

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 4

Equações algébricas

• Forma canónica da soma de produtos:

• Forma canónica do produto de somas:

• Forma canónica abreviada:

F = /A*/B*C + /A*B*C + A*B*/C + A*B*C

F = (A+B+C) * (A+/B+C) * (/A+B+C) * (/A+B+/C)

F = ΣΣΣΣABC (1,3,6,7)

F = ΠΠΠΠABC (0, 2, 4, 5)

A B C F

0 0 0 00 0 1 10 1 0 00 1 1 11 0 0 01 0 1 01 1 0 11 1 1 1

Page 2: Circuitos combinatórios A representação de sistemas ...jmf/Publicacoes/Downloads/Slides_IPSDM/2... · Introdução ao Projecto com Sistemas Digitais e Microcontroladores Circuitos

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 5

Diagrama lógico

F

A B C

7411

345

6

7411

91011

8

7411

12

1312

7404

12

7411

12

1312

7404

34

7404

56

A B C F

0 0 0 00 0 1 10 1 0 00 1 1 11 0 0 01 0 1 01 1 0 11 1 1 1

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 6

Mapas de Karnaugh

/A

A

0 1 3 2

4 5 7 6

/B B

1

C/C /C

1

1 1

A B C F

0 0 0 00 0 1 10 1 0 00 1 1 11 0 0 01 0 1 01 1 0 11 1 1 1

• Os mapas de Karnaugh são usadosmais como formalismo de simplificaçãodo que como alternativa para arepresentação

/A

A

/B

/B

B

0 1 3 2

4 5 7 6

12 13 15 14

8 9 11 10

D/D /D

/C C

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 7

Simplificação de funçõespor mapas de Karnaugh• Teorema subjacente:

X*Y + X*/Y = X• No caso considerado:

/A

A

0 1 3 2

4 5 7 6

/B B

1

C/C /C

1

1 1

/A*/B*C

/A*B*C

A

F

B C

7404

12

7408

1

23

7432

1

23

7408

4

56

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 8

/A* C

/A*/B*/C + /A* B*/C = /A*/C

Simplificação de funçõespor mapas de Karnaugh (2)

/A

A

0 1 3 2

4 5 7 6

/B B

C/C /C

/A*/B*/C /A*/B*C /A*B*C /A*B*/C

A*/B*/C A*/B*C A*B*C A*B*/C

/A*/B* C* D + /A*/B* C*/D = /A*/B* C

/A* B* C* D + /A* B* C*/D = /A* B* C

/A

A

/B

/B

B

0 1 3 2

4 5 7 6

12 13 15 14

8 9 11 10

D/D /D

/C C

/A/BC/D/A/BCD

/AB/C/D /AB/CD /ABC/D

AB/C/D AB/CD ABCD ABC/D

A/B/C/D A/B/CD A/BCD A/BC/D

/ABCD

/A/B/CD/A/B/C/D

Page 3: Circuitos combinatórios A representação de sistemas ...jmf/Publicacoes/Downloads/Slides_IPSDM/2... · Introdução ao Projecto com Sistemas Digitais e Microcontroladores Circuitos

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 9

Um adicionador de quatrobits• A síntese do circuito completo pelo processo descrito

é inviabilizada pelo número de entradas (mapas deKarnaugh com quantas células?)

ΣA [0..3]

B [0..3]

/

/

4

4 /

5

F [0..4] = A [0..3] + B [0..3]

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 10

A adição bit-a-bit

• A alternativa mais prática consiste em recorrer àsíntese por mapa de Karnaugh para um adicionadorde um bit, construindo o somador pretendido porconcatenação destes módulos elementares

Cin (entrada de transporte)

Cout (saída de transporte)

A

B

S (soma)Σ

(1 bit)

8+ 11

19

1 0 0 0+ 1 0 1 11 0 0 1 1 ( soma)

1 0 0 0 ( transporte)

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 11

O somador de um bitA B C Cout S

0 - 0 0 0 0 01 - 0 0 1 0 12 - 0 1 0 0 13 - 0 1 1 1 04 - 1 0 0 0 15 - 1 0 1 1 06 - 1 1 0 1 07 - 1 1 1 1 1

/A

A

0 1 3 2

4 5 7 6

/B B

1

C/C /C

1

S

1 1

/A

A

0 1 3 2

4 5 7 6

/B B

C/C /CCout

1

1

1 1

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 12

O somador de um bit (2)

S

A B C

Cout

Saída desoma

Saída detransporte

A e B: Entradas de dadosC: Entrada de transporte

7411

345

6

7411

91011

8

7411

12

1312

7404

12

7411

12

1312

7404

34

7404

56

7408

1

23

7408

4

56

7408

9

108

/A

A

0 1 3 2

4 5 7 6

/B B

1

C/C /C

1

S

1 1

/A

A

0 1 3 2

4 5 7 6

/B B

C/C /CCout

1

1

1 1

Page 4: Circuitos combinatórios A representação de sistemas ...jmf/Publicacoes/Downloads/Slides_IPSDM/2... · Introdução ao Projecto com Sistemas Digitais e Microcontroladores Circuitos

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 13

O adicionador de quatrobits• Concatenando quatro módulos adicionadores de um

bit, teremos o somador pretendido:

• Qual o tempo de adição para a implementaçãomodular?

A0 A1 A2 A3

B3B2B1B0

S0 S1 S2 S3

S4

Cout

S S S S

Cout Cout Cout

A A A A

B B B B

C C C C

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 14

Um comparador de quatrobits• As mesmas razões já invocadas para o adicionador

de quatro bits inviabilizam a síntese directa docomparador de quatro bits

A [0..3]

B [0..3]

/

/

4

4 /1

A<BComparador

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 15

A comparação bit-a-bit• Começando pelo bit mais significativo:

– Sendo A[i] = B[i] o resultado é inconclusivo e temos quepassar ao bit seguinte ([i-1], à direita deste)

– Sendo A[i] > B[i] e assumindo que a comparação foiinconclusiva para todos os bits anteriores, então resultaA<B falso, quaisquer que sejam os restantes bits

– Sendo A[i] < B[i] e assumindo que a comparação foiinconclusiva para todos os bits anteriores, então resultaA<B verdadeiro, quaisquer que sejam os restantes bits

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 16

O comparador de um bitInc_in A<B_in A[i] B[i] Inc_out A<B_out

0 0 X X 0 00 1 X X 0 11 X 0 0 1 01 X 0 1 0 11 X 1 0 0 01 X 1 1 1 0

/Inc_in

Inc_in

/A<Bin

/A<Bin

A<Bin

0 1 3 2

4 5 7 6

12 13 15 14

8 9 11 10

Inc_out B[i]/B[i] /B[i]

/A[i] A[i]

1 1

1 1

/Inc_in

Inc_in

/A<Bin

/A<Bin

A<Bin

0 1 3 2

4 5 7 6

12 13 15 14

8 9 11 10

A<B_out B[i]/B[i] /B[i]

/A[i] A[i]

1 1 1 1

1

1

Page 5: Circuitos combinatórios A representação de sistemas ...jmf/Publicacoes/Downloads/Slides_IPSDM/2... · Introdução ao Projecto com Sistemas Digitais e Microcontroladores Circuitos

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 17

O comparador de um bit (2)Inc_in A<B_in A[i] B[i]

Inc_

A<B_

7404

56

7404

12

7404

98

7408

1

23

7432

4

56

7432

1

237411

12

1312

7411

345

6

7411

91011

8

/Inc_in

Inc_in

/A<Bin

/A<Bin

A<Bin

0 1 3 2

4 5 7 6

12 13 15 14

8 9 11 10

Inc_out B[i]/B[i] /B[i]

/A[i] A[i]

1 1

1 1

/Inc_in

Inc_in

/A<Bin

/A<Bin

A<Bin

0 1 3 2

4 5 7 6

12 13 15 14

8 9 11 10

A<B_out B[i]/B[i] /B[i]

/A[i] A[i]

1 1 1 1

1

1

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 18

O comparador de quatrobits• Uma vez mais, concatenando os quatro módulos

elementares, teremos o comparador de quatro bits:

• Também para este caso teremos um tempo depropagação superior à implementação não modular...

+5 V

Inc_in

A<B_in

B[3]=1

A<B=1

Inc

A<B

A[3]=1 A[2]=0 B[2]=1 B[1]=0A[1]=1

A<B

Inc

B[0]=1

Inc

A[0]=1

A<B

1

0

1

0

0

1

0

1

0

1

0

1 1

Comp[3] Comp[2] Comp[1] Comp[0]

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 19

O projecto com blocos SSI /MSI• Principais blocos SSI / MSI:

– Portas lógicas elementares (incluindo os buffers)

– Codificadores e descodificadores– Multiplexadores e desmultiplexadores

– Comparadores e circuitos de paridade– Adicionadores, subtractores e multiplicadores

– Unidades lógicas e aritméticas

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 20

O buffer 74ALS241

2D2

4

6

8

17

15

13

11

1

19EN1

EN2

1

2

18

16

14

12

3

5

7

9

IA1

IA0

IA2

IA3

YA0

YA1

YA2

YA3

/OEA

2

4

6

8

16

18

14

12

1

IB1

IB0

IB2

IB3

YB0

YB1

YB2

YB3

OEB

17

15

13

11

5

3

7

9

10

Entradas Saídas

YB/OEA OEB IBIA YA

L

L

L

L

L L L

H

H H

H

H H H

X Z ZX

H = Nível lógico "alto" (1)

L = Nível lógico "baixo" (0)

X = "tanto faz" (don't care)

Z = Alta impedância

VCC

OEB

YA0

IB0

YA1

IB1

YA2

IB2

YA3

IB3GND

IA3

IA2

YB2

/OEA

YB1

YB3

IA1

IA0

YB0

2

5

6

1

3

8

10

9

4

7

17

12

11

13

18

15

20

16

14

19

Tempo de pro-pagação típico

Corrente típicade alimentação

Tipo

74ALS241A 18 mA

74ALS241A-1

4,5 ns

4,5 ns 18 mA

Page 6: Circuitos combinatórios A representação de sistemas ...jmf/Publicacoes/Downloads/Slides_IPSDM/2... · Introdução ao Projecto com Sistemas Digitais e Microcontroladores Circuitos

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 21

O codificador 74HCT1479

7

6

14

2

11

12

13

1

2

3

4

5

10

1

4

8

1

2

3

4

5

6

7

8

9

HPRI/BCD

/A011

/A112

/A213

/A31

/A42

/A53

/A64

/A75

/A810

/Y09

/Y17

/Y26

/Y314

X

/A0

H

X

X

X

X

X

X

X

L

X

/A1

H

X

X

X

X

X

X

L

H

X

/A2

H

X

X

X

X

L

X

H

H

X

/A3

H

X

X

X

L

H

X

H

H

X

/A4

H

X

X

X

H

H

L

H

H

X

/A5

H

X

X

L

H

H

H

H

H

X

/A6

H

X

L

H

H

H

H

H

H

X

/A7

H

L

H

H

H

H

H

H

H

L

/A8

H

H

H

H

H

H

H

H

H

L

/Y3

H

L

H

H

H

H

H

H

H

H

/Y2

H

H

L

L

H

L

H

H

H

/Y1

H

H

L

L

H

L

H

L

H

SaídasEntradas

L

H

H

H

H

/Y0

L

L

L

H

L

L

H = Nível lógico "alto" (1)

X = "tanto faz" (don't care)

L = Nível lógico "baixo" (0)

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 22

O descodificador 74ALS138

O411

A01

A12

A23

E04

E15

O213

O312

O510

O114

O015

O69

O77

E26

&

G0

7

1

2

3

4

5

6

15

14

13

12

11

10

0

1

2

3

0

2

9

7

X

/E0

H

L

/E1 /O0 /O1 /O2 /O3 /O4 /O5 /O6 /O7

SaídasEntradas

A0 A1 A2E2

L

L

L

L

L

L

L

H

H

H

H

H

H

H

H

H

H

H

H

H H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

X = "tanto faz" (don't care)

L = Nível lógico "baixo" (0)

H = Nível lógico "alto" (1)

X

X X

X

X

X

XX

X

X

X

X

X

X

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 23

O multiplexador 74ALS151

G0

75

6

2

0

4

3

2

1

15

14

13

12

7

11

10

9

MUXEN

L

X

L

L

/E Y /YS0

L

H

H

L

L

H

L

H

L

H

L

L

L

I5

I4

H

H

L

L

H

H

H

L

L

L

I2

I3

I6

I7

X

L

L

H

L

L

L

I0

I1

H

SaídasEntradas

S2 S1

H

H

/I0

/I1

/I2

/I3

/I4

/I5

/I6

/I7

H = Nível lógico "alto" (1)

L = Nível lógico "baixo" (0)

X = "tanto faz" (don't care)

X

I0

I1

I2

I3

I4

I5

I6

I7

Y

/Y

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 24

Implementação de umafunção com um mux• Qualquer função com N entradas pode ser

implementada por um mux de 2(N-1) para 1W X Y F

0 0 0 00 0 1 10 1 0 10 1 1 01 0 0 11 0 1 01 1 0 01 1 1 1

Mux 4:1

Y

/Y

/Y

Y

W X

F

0

1

2

3

Page 7: Circuitos combinatórios A representação de sistemas ...jmf/Publicacoes/Downloads/Slides_IPSDM/2... · Introdução ao Projecto com Sistemas Digitais e Microcontroladores Circuitos

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 25

74x253 – Adicionadorcompleto de 1 bit• Construir um adicionador completo de 1 bit

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 26

74x253 – Adicionadorcompleto de 1 bit

+5V

74LS253

6543

10111213

1421

15

7

9

1C01C11C21C3

2C02C12C22C3

AB1G2G

1Y

2Y

X Y

S

Cout

Cin /Cin

X CinY S Cout

0 0 0

100

00 1

110

01 0

1 10

011

111

0

0

0

0

1

1

1

1

0

0

0

0

1

1

1

1

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 27

74x157 – Votador com trêsentradas• Construir um circuito votador com três entradas e

uma saída (que deve assumir o valor que for comumà maioria das entradas)

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 28

74x157 – Votador com trêsentradas

+5V

B

F

A

C

74LS157

2356

11101413

115

4

7

9

12

1A1B2A2B3A3B4A4B

A/BG

1Y

2Y

3Y

4Y

74LS157

2356

11101413

115

4

7

9

12

1A1B2A2B3A3B4A4B

A/BG

1Y

2Y

3Y

4Y

0

1

0

0

0

1

1

1

1

1

1

0

C

0

0

0

01

1

0

A

1

1

B

0

0

1

0

F

0

01

1

1

0

1

Sugestão: Altere o circuito de forma aproporcionar também uma saída de erro

Page 8: Circuitos combinatórios A representação de sistemas ...jmf/Publicacoes/Downloads/Slides_IPSDM/2... · Introdução ao Projecto com Sistemas Digitais e Microcontroladores Circuitos

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 29

O desmultiplexador74ALS155

&

&

1C

/1G

B

A

/2C

/2G

1Y0

1Y1

1Y2

1Y3

2Y0

2Y1

2Y2

2Y3

1

14

15

13

3

2

1

12

11

10

9

4

5

6

7

3b

2b

1b

0b

3a

2a

1a

0a

ENa

ENb

2

X/YSelecção

X

B A /1G

Habilita(strobe)

X

X X X

1C

Saídas

1Y31Y1 1Y21Y0

Entradas

Dados(data)

X

L

L

L

L

L

L

L

L

L

L

L

L

L

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

L = Nível lógico "baixo" (0)

X = "tanto faz" (don't care)

H = Nível lógico "alto" (1) Para a outra metade éidêntico, a menos do nívelactivo na entrada /2C(estará em L parafuncionar)

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 30

O comparador 74HCT85

2

3

4

P

0

3

3

0

1

14

9

11

12

10

13

15

<

=

>

P < Q

P = Q

P > Q

7

6

5

Q

COMP

2

3

4

1

15

13

14

9

10

12

11

7

6

5

I_A<B

I_A=B

I_A>B

A0

B0

A1

B1

A2

B2

A3

B3

O_A=B

O_A>B

O_A<B

Saídas

A3>B3

I_A>B I_A<B I_A=B O_A>B O_A<B O_A=B

Entradas de cascataEntradas de comparação

A3, B3 A2, B2 A1, B1 A0, B0

A3<B3

A3=B3

A3=B3

A3=B3

A3=B3

A3=B3

A3=B3

A3=B3

A3=B3

A3=B3

A3=B3

X

X X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

H

L

H

L

H

L

H

L

H

L

L

L

A3=B3

A3=B3

A2>B2

A2<B2

A2=B2

A2=B2

A2=B2

A2=B2

A2=B2

A2=B2

A2=B2

A2=B2

A2=B2

A2=B2

A1>B1

A1<B1

A1=B1

A1=B1

A1=B1

A1=B1

A1=B1

A1=B1

A1=B1

A1=B1

A0>B0

A0<B0

A0=B0

A0=B0

A0=B0

A0=B0

A0=B0

A0=B0

H

L

L

X

H

L

L

L

L

L

L

L

L

L L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

X

H

H

H

H

H H

H

H

H

H

H

H

H

H = Nível lógico "alto" (1)

X = "tanto faz" (don't care)

L = Nível lógico "baixo" (0)

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 31

74HCT85 – Um comparadorde 12 bits

+5 V

U1

74HCT85

101213159

11141234

765

A0A1A2A3B0B1B2B3A<BiA=BiA>Bi

A<BoA=BoA>Bo

U3

74HCT85

101213159

11141234

765

A0A1A2A3B0B1B2B3A<BiA=BiA>Bi

A<BoA=BoA>Bo

U2

74HCT85

101213159

11141234

765

A0A1A2A3B0B1B2B3A<BiA=BiA>Bi

A<BoA=BoA>Bo

A[0..3]B[0..3] A[4..7]B[4..7] A[8..11]B[8..11]

A<B

A>B

A=B

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 32

74HCT85 – Detector dejanela [2,11[

X < 11

X ≥≥≥≥ 2+5 V

+5 V

U1

74HCT85

101213159

11141234

765

A0A1A2A3B0B1B2B3A<BiA=BiA>Bi

A<BoA=BoA>Bo

U2

74HCT85

101213159

11141234

765

A0A1A2A3B0B1B2B3A<BiA=BiA>Bi

A<BoA=BoA>Bo

U4A

74HC08

1

23

U3A

74HC04

1 2

X0

X1

X2

X3

F

Page 9: Circuitos combinatórios A representação de sistemas ...jmf/Publicacoes/Downloads/Slides_IPSDM/2... · Introdução ao Projecto com Sistemas Digitais e Microcontroladores Circuitos

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 33

O adicionador 74HCT283

7

P

0

3

3

0

11

15

6

2

3

5

14

12

CI

Q

0

3

CO 9

10

13

4

1

11

12

14

15

6

5

3

2

A1

B1

A2

B2

A3

B3

A4

B4

Σ1

Σ2

Σ3

Σ4

C_IN2

4

1

13

10

9C_OUT

C_IN

L

0

Pinos

Nível lógico

Activo a 1

Activo a 0

Σ2Σ2Σ2Σ2Σ1Σ1Σ1Σ1 Σ3Σ3Σ3Σ3 Σ4Σ4Σ4Σ4B3 B4B2B1A4A3A2A1 C_OUT Exemplo

1 0

1

00

H H H H

0

11

0

H

0

H

1

0

L

00

1

L

1

L

1

1

0

L L

1

1

L

10 1

0

H

1

0

H = Nível lógico "alto" (1)

L = Nível lógico "baixo" (0)

Nota 3: 9+10 = 19 (activo a 1)

Nota 4: C_IN+6+5 = 12 (activo a 0)

Nota 3

Nota 4

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 34

Unid. lógicas e aritméticas

2

1

23

22

21

20

19

18

P

Q

P

Q

P

Q

P

Q

A0

B0

A1

B1

A2

B2

A3

B3

F0

F1

F2

F3

9

10

11

13

S0

S1

S2

S3

M

/Cn

15

17

14

16

0

4

M031

6

5

4

3

8

7

/Cn+4

A=B

Y

X

(1)

(2)

(3)

(4)

Entrada Cn Saída Cn+4 Dados activos a 0 Dados activos a 1

H

H

H

HL

L

L

L

A > ou = B

A < B

A > B

A < ou = B

A < ou = B

A > B

A < B

A > ou = B

Nota: A ALU deve estar em modosubtracção (S3,S2,S1,S0 = 0110)

S3 S2 S1 S0

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

H

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

FunçõesLógicas

M=H

/A

/(A+B)

/A*B

0

/(A*B)

/B

A:+:B

A*/B

/A+B

/(A:+:B)

B

A*B

1

A+/B

A+B

A

A

A+B

A+/B

A Mais A*/B

Menos 1 (compl. 2)

(A+B) Mais A*/B

A Menos B Menos 1

A*/B Menos 1

A Mais A*B

A Mais B

(A+/B) Mais A*B

A*B Menos 1

A Mais A

(A+B) Mais A

(A+/B) Mais A

A Menos 1

(A+B) Mais 1

(A+/B) Mais 1

A Mais A*/B Mais 1

Zero

(A+B) Mais A*/B Mais 1

A Menos B

A*/B

A Mais A*B Mais 1

A Mais B Mais 1

A*B

A Mais A Mais 1

(A+B) Mais A Mais 1

(A+/B) Mais A Mais 1

A

Dados activos a 1Entradas

A Mais 1

(A+/B) Mais A*B Mais 1

M=L Funções Aritméticas

/Cn=H (sem trans-porte - no carry)

/Cn=L (com trans-porte - with carry)

(:+: representa o OU-EXCLUSIVO)

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 35

Análise e teste

• A análise permite-nos passar de uma implementaçãopara uma especificação, sendo necessária em tarefascomo, por exemplo, a manutenção ou a modificaçãode funcionalidade

• Também para o teste, e nomeadamente para ageração de vectores de teste, a análise desempenhaum papel fundamental

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 36

O modelo de faltas ss@

• Um modelo de faltas proporciona-nos umarepresentação alternativa para os factores quepodem impedir o bom funcionamento de um circuito

• No modelo ss@ (single stuck-at) considera-se que:– Só um nó de cada vez pode ter uma falta presente (por

isso se diz single)– A falta presente no nó pode ser de um de dois tipos: Ou

permanentemente a VCC ou permanentemente à massa

Page 10: Circuitos combinatórios A representação de sistemas ...jmf/Publicacoes/Downloads/Slides_IPSDM/2... · Introdução ao Projecto com Sistemas Digitais e Microcontroladores Circuitos

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 37

Vantagens do modelo ss@

• As vantagens deste modelo de faltas são asseguintes:– É suficientemente simples para permitir na prática a

geração de vectores de teste (a complexidade da análisecresce linearmente com a dimensão do circuito)

– É suficientemente abrangente para cobrir uma largavariedade de defeitos físicos, dando-nos confiança que apercentagem de componentes com defeito que passameste teste é suficientemente reduzida

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 38

O conceito decontrolabilidade• Trata-se de uma

medida da facilidadecom que conseguimosimpor num nó umdeterminado valorlógico

Y

X

A

B

C

F

7404

1 2

7404

3 4

7432

1

23

7408

1

23

A B C Contr. de Y=1 A B C Contr. de X=0

0 0 X - X X 0 -0 1 X X X 1

1 0 X -1 1 X -

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 39

O conceito deobservabilidade• Trata-se de uma

medida da facilidadecom que podemosobservar o valor lógicopresente num nó

Y

X

A

B

C

F

7404

1 2

7404

3 4

7432

1

23

7408

1

23

A B C Observ. de Y A B C Observ. de X

X X 0 - 0 0 X

X X 1 0 1 X -

1 0 X

1 1 X

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 40

O algoritmo D para ageração de vectores de teste• O algoritmo D recorre a uma notação que considera

valores compostos para representar o efeito dapresença de faltas nos nós

Valor lógico composto Representação Situação no nó

0/0 0 Nó a 0, sem falta presente

0/1 /D Nó s@1, tenta-se aplicar 0

1/0 D Nó s@0, tenta-se aplicar 1

1/1 1 Nó a 1, sem falta presente

Page 11: Circuitos combinatórios A representação de sistemas ...jmf/Publicacoes/Downloads/Slides_IPSDM/2... · Introdução ao Projecto com Sistemas Digitais e Microcontroladores Circuitos

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 41

Procedimento principal doalgoritmo D• Por cada nó e por cada falta (s@0 e s@1):

– Forçar no nó o valor oposto ao da falta (activar a falta)

– Propagar para jusante o sinal de erro (D ou /D), até umasaída primária

– Justificar para montante os valores lógicos que permitirama propagação, até se chegar às entradas primárias

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 42

Exemplo: Detecção de umafalta s@0

Y s@0A

B

C

F

1/07404

1 2

7404

3 4

7432

1

23

7408

1

23

C

F

Y s@0A

B

1/0

1

17404

1 2

7404

3 4

7432

1

23

7408

1

23

(a) Nó Y s@0. (b) Activação da falta (passo 1).

C

F

Y s@0A

B

1/0

1

1

01/0

7404

1 2

7404

3 4

7432

1

23

7408

1

23

C

F

Y s@0A

B

1/0

1

1

0

1

01/0

17404

1 2

7404

3 4

7432

1

23

7408

1

23

(c) Propagação da falta (passo 2). (d) Justificação da falta (passo 3).

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 43

Exemplo: Uma falta nãodetectável

B F

A Y s@0

7404

1 2

7404

3 4

7432

1

23

7408

1

23

Y s@01A

1/0

FB1

7404

3 4

7432

1

23

7408

1

23

7404

1 2

(a) Nó Y s@0. (b) O valor oposto a s@0 é aplicado no nó Y.

F

0

B

Y s@01

1/0

A

17404

1 2

7404

3 4

7432

1

23

7408

1

23

1

1

0

1/0

Y s@0A

FB

1

0

7432

1

23

7404

3 4

7404

1 2

7408

1

23

(c) Propagação (tentativa). (d) Justificação (não é possível).

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 44

Backtracking na geração dovector

B

Y s@0A

F

7404

1 2

7404

3 4

7432

1

23

7432

1

23

B

1/0

A

0

1 Y s@0

F

0

1

0

7404

1 2

7432

1

23

7404

3 4

7432

1

23

(a) Nó Y s@0. (b) Primeira tentativa (não é possível).

0 Y s@0

B1

0

A

1/0

F

1/0

7404

3 4

7404

1 2

7432

1

23

7432

1

23

1

B

Y s@0

1

0

1

A

F

0

1/0

1/07432

1

23

7404

3 4

7404

1 2

7432

1

23

(c) Escolha alternativa. (d) Propagação e justificação.

Page 12: Circuitos combinatórios A representação de sistemas ...jmf/Publicacoes/Downloads/Slides_IPSDM/2... · Introdução ao Projecto com Sistemas Digitais e Microcontroladores Circuitos

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 45

Redundância etestabilidade• A presença de termos redundantes implica

normalmente problemas de testabilidadeA B C

F

X s@0

7408

1

23

7408

4

56

7408

9

108

7404

56

/A

A

0 1 3 2

4 5 7 6

/B B

1

C/C /C

F

1

11

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 46

Redundância para corrigir aresposta temporal• A presença de redundância, no entanto, pode impedir

a ocorrência de impulsos extemporâneos nas saídas

A B C

F7408

1

23

7408

4

56

7404

56

7432

1

23

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 47

Conclusão

• Objectivo principal do capítulo: Introduzir o projectode sistemas digitais (restrito, neste caso, aos circuitoscombinatórios)

• Pistas para a continuação do estudo:– Outros algoritmos de simplificação de funções lógicas

– Implementação multi-nível– Aprofundar as questões associadas ao funcionamento em

regime dinâmico