You are on page 1of 47

Circuitos combinatrios

Organizao:
Formas bsicas de representao Sntese por mapas de Karnaugh Projectos com blocos SSI / MSI Anlise e teste

Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 1

A representao de sistemas digitais


Formas bsicas de representao:
Tabular (tabela de verdade) Algbrica (por extenso ou abreviada) Grfica (diagrama lgico ou mapa de Karnaugh)

Nvel da representao:
Comportamental Funcional Estrutural
Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 2

Tabelas de verdade
Apresentam o valor da(s) sada(s) para todas as combinaes possveis nas entradas S vivel em casos com A B C F 0 0 0 0 reduzida complexidade 0 0 1 1
0 0 1 1 1 1
Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 3

1 1 0 0 1 1

0 1 0 1 0 1

0 1 0 0 1 1

Equaes algbricas
Forma cannica da soma de produtos:
F = /A*/B *C + /A*B *C + A*B */C + A*B *C

A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

C 0 1 0 1 0 1 0 1

F 0 1 0 1 0 0 1 1

Forma cannica do produto de somas:


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

Forma cannica abreviada:


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

F = ABC (0, 2, 4, 5)
Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 4

Diagrama lgico
A B C
1 2

A 0 0 0 0 1 1

B 0 0 1 1 0 0 1 1

C 0 1 0 1 0 1 0 1

F 0 1 0 1 0 0 1 1

7404

7404

7404

1 1

Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 5

6
1 2 13 7411 3 4 5 7411 9 10 11 7411 1 2 13 7411 12 8 6 12

Mapas de Karnaugh

A 0 0 0 0 1

B 0 0 1 1 0 0 1 1

C 0 1 0 1 0 1 0 1

F 0 1 0 1 0 0 1 1

1 Os mapas de Karnaugh so usados 1 mais como formalismo de simplificao 1 do que como alternativa para a /D representao /C

D C
1 3

/D

/C /B /A
0

C B

/C
/B /A B
2
0 2 4 5 7 6

13 1
7

A
4 5

12

13

15

14

/B
8 9 11 10

Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 6

Simplificao de funes por mapas de Karnaugh


Teorema subjacente: X*Y + X*/Y = X No caso considerado:
A B C
1
7404

/C /B
0

C B

/C /A*/B*C

/A A
4

13 1
7

/A*B*C
6

5 Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 7 7408

2
1 3 2 1 7408 4 6 7432 3 2

Simplificao de funes por mapas de Karnaugh (2)


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

/D /C

D C

/D

C B

/C

/B /A B A
6

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

/A/BCD /A/BC/D

3
/ABCD

2
/ABC/D

/AB/C/D /AB/CD

/A*B*/C

4
AB/C/D

5
AB/CD

7
ABCD

6
ABC/D

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

1
A*B*C

3
A*B*/C

12

13

15
A/BCD

14
A/BC/D

/B

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

Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 8

11

10

Um adicionador de quatro bits


A sntese do circuito completo pelo processo descrito inviabilizada pelo nmero de entradas (mapas de Karnaugh com quantas clulas?)
A [0..3] B [0..3] 4 / 4 / 5

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

Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 9

A adio bit-a-bit
A alternativa mais prtica consiste em recorrer sntese por mapa de Karnaugh para um adicionador de um bit, construindo o somador pretendido por concatenao destes mdulos elementares
C in (en t r a da de t r a n spor t e) 1 0 + 1 0 1 0 0 1 0 0 0 1 1 0 0 1 1 ( (

som a ) t r a n spor t e)

A B

(1 bit )

S (som a )

8 + Projecto com Sistemas Digitais e Microcontroladores Introduo ao 11 Circuitos combinatrios - 10 19

C ou t (sa da de t r a n spor t e)

O somador de um bit
0 1 2 3 4 5 6 7 A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 C ou t 0 0 0 1 0 1 1 1 S 0 1 1 0 1 0 0 1

Co u t
/A

/C /B
0

C B
1

/C

1 1

A
4

1
/C

/C

C /B
0

S
/A

Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 11

O somador de um bit (2)


A B C A e B: Entradas de dados C: Entrada de transporte
1 2 3 5
7404 7404 7404

6
1 2 13 7411 3 4 5 6

/C

C /B
0

/C B

12

S
/A A

7411

S
8

9 10 11 7411 1 2 13

Sada de soma

12

Co u t
/A

/C /B
0

C B
1

/C
1 2

7411

7408

1 1

6 5 7408

Cout Sada de transporte

A
4

9 8 10

Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 12

7408

O adicionador de quatro bits


Concatenando quatro mdulos adicionadores de um bit, teremos o somador pretendido:
S0 S1 S2 S3 A0 B0 A B C S Cout A1 B1 A B C S Cout A2 B2 A B C S Cout A3 B3 A B C S Cout S4

Qual o tempo de adio para a implementao modular?


Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 13

Um comparador de quatro bits


As mesmas razes j invocadas para o adicionador de quatro bits inviabilizam a sntese directa do comparador de quatro bits
A [0..3] B [0..3] 4 / 4 / Com pa r a dor / 1 A<B

Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 14

A comparao bit-a-bit
Comeando pelo bit mais significativo:
Sendo A[i] = B[i] o resultado inconclusivo e temos que passar ao bit seguinte ([i-1], direita deste) Sendo A[i] > B[i] e assumindo que a comparao foi inconclusiva para todos os bits anteriores, ento resulta A<B falso, quaisquer que sejam os restantes bits Sendo A[i] < B[i] e assumindo que a comparao foi inconclusiva para todos os bits anteriores, ento resulta A<B verdadeiro, quaisquer que sejam os restantes bits
Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 15

O comparador de um bit
In c _in 0 0 1 1 1 1 A<B _in 0 1 X X X X
A<B _o u t

A[i] X X 0 0 1 1
/B[i]

B [i] X X 0 1 0 1
B[i]

In c _o u t 0 0 1 0 0 1
/B[i] A[i]

A<B _o u t 0 1 0 1 0 0

In c _o u t

/B[i] /A[i]

B[i]

/B[i] A[i]

/A[i] /A<Bin /In c_in


0 1

/A<Bin /In c_in A<Bin In c_in /A<Bin

1
A<Bin In c_in

12

1 13 1
9

15

14

1 12 1
8

13

1 15 1 11

14

Introduo ao Projecto com Sistemas Digitais e Microcontroladores /A<Bin 8 Circuitos combinatrios - 16

11

10

10

O comparador de um bit (2)


Inc_in A<B_in A[i] B[i]
In c _o u t /B[i] /A[i] /A<Bin /In c_in
740 4
0 1

B[i]

/B[i] A[i]
3 2

A<B _o u t

/B[i] /A[i]

B[i]

/B[i] A[i]

/A<Bin /In c_in

Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 17

1
740 4

5
740 4

A<Bin In c_in

1
A<Bin In c_in /A<Bin

1 12 1
8

13

1 15 1 11

14

12

1 13 1
9

15

14

/A<Bin
1 2 13 741 1 3 4 5 741 1 1

10

11

10

12 1 3 2 6 743 2

Inc_out

3 2 4 740 8 9 10 11 741 1 6 5 8 743 2

A<B_out

O comparador de quatro bits


Uma vez mais, concatenando os quatro mdulos elementares, teremos o comparador de quatro bits:
A[3]=1 B[3]=1 +5 V Inc_in A<B_in Comp[3] A[2]=0 B[2]=1 Inc A<B A[1]=1 B[1]=0 Inc A<B A[0]=1 B[0]=1 Inc A<B

1 0

1 0
Comp[2]

0 1

0 1
Comp[1]

0 1

0 1
Comp[0]

1 A<B=1

Tambm para este caso teremos um tempo de propagao superior implementao no modular...
Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 18

O projecto com blocos SSI / MSI


Principais blocos SSI / MSI:
Portas lgicas elementares (incluindo os buffers) Codificadores e descodificadores Multiplexadores e desmultiplexadores Comparadores e circuitos de paridade Adicionadores, subtractores e multiplicadores Unidades lgicas e aritmticas

Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 19

O buffer 74ALS241
/OEA IA0 YB0 IA1 YB1 IA2 YB2 IA3 YB3 GND 1 2 3 4 5 6 7 8 9 10 20 19 18 17 16 15 14 13 12 11 VCC OEB YA0 IB0 YA1 IB1 YA2 IB2 YA3 IB3
IA1 4 IA2 6 IA3 8

Entradas IA L H X OEB H H L IB L H X

Sadas YA L H Z YB L H Z

1 19 2 4 6 8 17 15 13 11

EN1 EN2 2D 1 18 16 14 12 2 3 5 7 9

/OEA L L H

H = Nvel lgico "alto" (1) L = Nvel lgico "baixo" (0) X = "tanto faz" (don't care) Z = Alta impedncia
IA0 2 18 YA1 16 YA2 14 YA3 12 IB3 11 9 IB2 13 7 YB3 IB1 15 5 YB2 YA0 IB0 17 3 YB1 YB0

Tipo 74ALS241A 74ALS241A-1

Tempo de propagao tpico 4,5 ns 4,5 ns

Corrente tpica de alimentao 18 mA 18 mA

Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 20

1 /OEA

10 OEB

O codificador 74HCT147
11 12 13 1 2 3 4 5 10 1 2 3 4 5 6 7 8 9
10 5 4 3 2 1 13 12 11 /A8 /A7 /A6 /Y3 /A5 /Y2 /A4 /Y1 /A3 /Y0 /A2 /A1 /A0 14 6 7 9
L H H H H H H H H H H H L X X X X X X X L X X L H X L H H L 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 H H H H L L L H L H /A0 /A1 H /A2 H

HPRI/BCD
Entradas /A3 H /A4 H /A5 H /A6 H /A7 H /A8 H /Y3 H Sadas /Y2 H /Y1 H /Y0 H

1 2 4 8

9 7 6 14

X X X X

X X X X

X X X X

X X X X

X X X X

X X X L

X X L H

X L H H

L H H H

L L H H

H H L L

H H L L

L H L H

H = Nvel lgico "alto" (1) L = Nvel lgico "baixo" (0) X = "tanto faz" (don't care)

Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 21

O descodificador 74ALS138
6 5 4 E2 E1 E0 O7 O6 O5 O4 3 2 1 A2 A1 O1 A0 O0 O3 O2 7 9 10 11 12 13 14 15
/E0 H X X L L /E1 X H X L L L L L L L L Entradas E2 X X L H H H H H H H H A0 X X X L H L H L H L H A1 X X X L L H H L L H H A2 X X X L L L L H H H H /O0 H H H L H H H H H H H /O1 H H H H L H H H H H H /O2 H H H H H L H H H H H Sadas /O3 H H H H H H L H H H H /O4 H H H H H H H L H H H /O5 H H H H H H H H L H H /O6 H H H H H H H H H L H /O7 H H H H H H H H H H L

1 2 3 4 5

0 0 G 7 2

0 1 2 3

15 14 13 12 11 10

L L L L L

&

H = Nvel lgico "alto" (1)

L = Nvel lgico "baixo" (0) 7 Introduo ao Projecto com Sistemas Digitais e Microcontroladores 6 X = "tanto faz" (don't care) Circuitos combinatrios - 22

O multiplexador 74ALS151
Entradas Sadas /E H L L L L L L L L Y L I0 I1 I2 I3 I4 I5 I6 I7 /Y H /I0 /I1 /I2 /I3 /I4 /I5 /I6 /I7

7 11 10 9 4 3 2 1 15 14 13 12

S2

S1 X L L H H L L H H

S0 X L H L H L H L H

EN 0 G 2

MUX 0 7

X L

I0
I1 I2 I3 I4

Y /Y

5 6

L L L H H H H

I5
I6 I7

H = Nvel lgico "alto" (1)


Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 23

L = Nvel lgico "baixo" (0) X = "tanto faz" (don't care)

Implementao de uma funo com um mux


Qualquer funo com N entradas pode ser implementada por um mux de 2(N-1) para 1
W 0 0 0 0 1 1 1 1 X 0 0 1 1 0 0 1 1 Y 0 1 0 1 0 1 0 1 F 0 1 1 0 1 0 0 1
W X
Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 24

Mu x 4:1 Y /Y /Y Y 0 1 2 3 F

74x253 Adicionador completo de 1 bit


Construir um adicionador completo de 1 bit

Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 25

74x253 Adicionador completo de 1 bit


X 0 Y 0 Cin 0 S 0 Cout 0 +5V
6 5 4 3 10 11 12 13 14 2 1 15 1C0 1C1 1C2 1C3 2C0 2C1 2C2 2C3 A B 1G 2G 74LS253 1Y 7

0
0 0 1 1 1 1

0
1 1 0 0 1 1

1
0 1 0 1 0 1

1
1 0 1 0 0 1

0
0 1 0 1 1 1

Cin

/Cin

S Cout

2Y

Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 26

74x157 Votador com trs entradas


Construir um circuito votador com trs entradas e uma sada (que deve assumir o valor que for comum maioria das entradas)

Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 27

74x157 Votador com trs entradas


A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 F 0 0 0 1 0 1 1 1 B C +5V
2 3 5 6 11 10 14 13
1 15 1A 1B 2A 2B 3A 3B 4A 4B A/B G 74LS157 1Y

4
7 9 12

2Y
3Y 4Y

2 3 5 6 11 10 14 13
1 15

1A 1B 2A 2B 3A 3B 4A 4B A/B G 74LS157

1Y

4
7 9 12

2Y
3Y 4Y

Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 28

Sugesto: Altere o circuito de forma a proporcionar tambm uma sada de erro

O desmultiplexador 74ALS155
Entradas Sadas Dados (data) 1C X H H H H L H L H H H H H H L H H H H H H L H H H H H H L H

/1G 2 1C A B 1

X/Y & ENa 0a 1a 2a 3a 0b 7 6 5 4 9 10 11 12 1Y0 1Y1 1Y2 1Y3 2Y0 2Y1 2Y2 2Y3

Seleco B X L L H H X A X L H L H X

Habilita (strobe) /1G H L L L L X

1Y0

1Y1

1Y2

1Y3

13 3

1 2

/2G 14 /2C 15

&

ENb

1b 2b 3b

H = Nvel lgico "alto" (1)

Para a outra metade idntico, a menos do nvel L = Nvel lgico "baixo" (0) activo na entrada /2C X = "tanto faz" (don't care) (estar em L para funcionar)

Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 29

O comparador 74HCT85
10 12 13 15 9 11 14 1 3 3 P < Q 0 Q P = Q P > Q 6
A3=B3 A2<B2 A2=B2 A2=B2 A2=B2 A2=B2 A2=B2 A2=B2 A2=B2 A2=B2 A2=B2 A2=B2 X A1>B1 A1<B1 A1=B1 A1=B1 A1=B1 A1=B1 A1=B1 A1=B1 A1=B1 A1=B1 X X X A0>B0 A0<B0 A0=B0 A0=B0 A0=B0 A0=B0 A0=B0 A0=B0 X X X X X H L L X H L X X X X X L H L X H L X X X X X L L H H L L L H L H L H L L L L H H L H L H L H L L L H L L L L L L L H H L L

0 P

COMP

Entradas de comparao

Entradas de cascata I_A<B X X X I_A=B X X X O_A>B H L H

Sadas O_A<B L H L O_A=B L L L

A3, B3 A2, B2 A1, B1 A0, B0 I_A>B A3>B3 X X A2>B2 X X X X X X X X X

A3<B3 A3=B3

10 9 12

A0 B0 A1 B1 A2 B2 A3 B3 I_A<B I_A=B I_A>B O_A<B O_A=B O_A>B 7 6 5

A3=B3 A3=B3 A3=B3 A3=B3 A3=B3 A3=B3 A3=B3

2 3 4

< = >

11 13 14 15 1 2 3 4

A3=B3 A3=B3 A3=B3

H = Nvel lgico "alto" (1) L = Nvel lgico "baixo" (0) X = "tanto faz" (don't care)

Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 30

74HCT85 Um comparador de 12 bits

B[0..3]

A[0..3]

B[4..7]

A[4..7]

B[8..11] A[8..11]

U1 10 12 13 15 9 11 14 1 2 3 4 A0 A1 A2 A3 B0 B1 B2 B3 A<Bi A=Bi A>Bi 74HCT85 10 12 13 15 9 11 14 1 2 3 4

U2 A0 A1 A2 A3 B0 B1 B2 B3 A<Bi A=Bi A>Bi 74HCT85 10 12 13 15 9 11 14 1 2 3 4

U3 A0 A1 A2 A3 B0 B1 B2 B3 A<Bi A=Bi A>Bi 74HCT85

+5 V

A<Bo A=Bo A>Bo

7 6 5

A<Bo A=Bo A>Bo

7 6 5

A<Bo A=Bo A>Bo

7 6 5

A<B A=B A>B

Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 31

74HCT85 Detector de janela [2,11[


U1 10 12 13 15 9 11 14 1 2 3 4 A0 A1 A2 A3 B0 B1 B2 B3 A<Bi A=Bi A>Bi 74HCT85 74HC04 U3A A<Bo A=Bo A>Bo 7 6 5 1 2

X0 X1 X2 X3

+5 V

X2
U4A 1 3 2 74HC08

U2 10 12 13 15 9 11 14 1 2 3 4 A0 A1 A2 A3 B0 B1 B2 B3 A<Bi A=Bi A>Bi

X < 11
A<Bo A=Bo A>Bo 7 6 5

74HCT85 Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 32 +5 V

O adicionador 74HCT283
5 3 14 12 6 2 15 11 7 3 CI CO 9 3 0 Q 3 P 0 4 1 13 10 0

5 6 3 2 14 15 12 11 2

A1 B1 A2 B2 A3 B3 A4 B4 C_IN C_OUT 9 10 13 1 4

Pinos Nvel lgico Activo a 1 Activo a 0

C_IN A1 L 0 1 L 0 1

A2 H 1 0

A3 L 0 1

A4 H 1 0

B1 H 1 0

B2 L 0 1

B3 L 0 1

B4 H 1 0

H 1 0

H 1 0

L 0 1

L 0 1

C_OUT H 1 0

Exemplo

Nota 3 Nota 4

H = Nvel lgico "alto" (1)

Introduo ao Projecto com Sistemas Digitais e Microcontroladores L = Nvel lgico "baixo" (0) Nota 4: C_IN+6+5 = 12 (activo a 0) Circuitos combinatrios - 33

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

Unid. lgicas e aritmticas


S0 S1 S2 S3 M 6 5 4 3 8 4 M0 31 0 15 17 14 16 X Y A=B /Cn+4
L L L L L L H H H H L L L L H H H H L L H H L L H H L L H H L L H H L H L H L H L H L H L H L H L 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 Menos 1 (compl. 2) A Mais A*/B (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 Mais 1 (A+B) Mais 1 (A+/B) Mais 1 Zero A Mais A*/B Mais 1 (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) Mais A*B Mais 1 A*B A Mais A Mais 1 (A+B) Mais A Mais 1 (A+/B) Mais A Mais 1 A S3 S2 S1 S0 Dados activos a 1 Entradas M=H Funes Lgicas M=L Funes Aritmticas /Cn=H (sem transporte - no carry) /Cn=L (com transporte - with carry)

/Cn 7 A0 2 B0 1 A1 23 B1 22 A2 21 B2 20 A3 19 B3 18 P Q P Q P Q P Q (4) 13 (3) 11 (2) 10 (1) 9

F0
L

F1 F2 F3

L L L L H H

Entrada Cn Sada Cn+4 Dados activos a 0 Dados activos a 1


H

H H L L

H L H L

A > ou = B A < B A > B A < ou = B

A < ou = B
H

A > B A < B A > ou = B

H H H H

Nota: A ALU deve estar em modo subtraco (S3,S2,S1,S0 = 0110)

Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 34

(:+: representa o OU-EXCLUSIVO)

Anlise e teste
A anlise permite-nos passar de uma implementao para uma especificao, sendo necessria em tarefas como, por exemplo, a manuteno ou a modificao de funcionalidade Tambm para o teste, e nomeadamente para a gerao de vectores de teste, a anlise desempenha um papel fundamental
Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 35

O modelo de faltas ss@


Um modelo de faltas proporciona-nos uma representao alternativa para os factores que podem 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
Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 36

Vantagens do modelo ss@


As vantagens deste modelo de faltas so as seguintes:
suficientemente simples para permitir na prtica a gerao de vectores de teste (a complexidade da anlise cresce linearmente com a dimenso do circuito) suficientemente abrangente para cobrir uma larga variedade de defeitos fsicos, dando-nos confiana que a percentagem de componentes com defeito que passam este teste suficientemente reduzida
Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 37

O conceito de controlabilidade
Trata-se de uma medida da facilidade com que conseguimos impor num n um determinado valor lgico
A 0 0 1 1 B 0 1 0 1 C X X X X
A
1 2
1 3 2

7404

7408

1 3 2

X
3 4

7432

7404

Co n tr. de Y=1 -

A X X

B X X

C 0 1

Co n tr. de X=0 -

Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 38

O conceito de observabilidade
Trata-se de uma medida da facilidade com que podemos observar o valor lgico presente num n
A X X B X X C 0 1 Obs e rv . de Y
A
1 2
1 3 2

7404

7408

1 3 2

X
3 4

7432

7404

A 0 0 1 1

B 0 1 0 1

C X X X X

Obs e rv . de X

Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 39

O algoritmo D para a gerao de vectores de teste


O algoritmo D recorre a uma notao que considera valores compostos para representar o efeito da presena de faltas nos ns
Va lo r l g ic o c o m p o s to 0/0 0/1 1/0 1/1 Re p re s e n ta o 0 /D D 1 S itu a o n o n N a 0, sem fa lt a pr esen t e N s@1, t en t a -se a plica r 0 N s@0, t en t a -se a plica r 1 N a 1, sem fa lt a pr esen t e

Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 40

Procedimento principal do algoritmo D


Por cada n e por cada falta (s@0 e s@1):
Forar no n o valor oposto ao da falta (activar a falta) Propagar para jusante o sinal de erro (D ou /D), at uma sada primria Justificar para montante os valores lgicos que permitiram a propagao, at se chegar s entradas primrias

Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 41

Exemplo: Deteco de uma falta s@0


A
1 2
1 3 2 2

Y s@0 1/0
1 3 2 7 43 2

1 3

Y s@0 1/0
1 3 2 7 43 2

7 40 4

7 40 4

7 40 8

7 40 8

7 40 4

7 40 4

(a ) N Y s@0.
A
1 2

(b) Act iva o da fa lt a (pa sso 1).


A 0
1 2

1 3 2

Y s@0 1/0
1 3 2

1 3 2

Y s@0 1/0
1 3 2

7 40 4

7 40 4

7 40 8

F 1/0

B 1

7 40 8

F 1/0

0 C
3 4

7 43 2

0 C 1
3 4

7 43 2

7 40 4

7 40 4

(c) P r opa ga o da fa lt a (pa sso 2).

(d) J u st ifica o da fa lt a (pa sso 3).

Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 42

Exemplo: Uma falta no detectvel


A
1 2 1 3 2 7 40 4 7 40 4 7 40 8 1 3 2 7 43 2 3 4 3 4 2

Y s@0

1 3

Y s@0 1/0
1 3 2 7 43 2

7 40 8

7 40 4

7 40 4

(a ) N Y s@0.
A
1 2

(b) O va lor opost o a s@0 a plica do n o n Y.


A 0
1 2

1 3 2

Y s@0 1/0
1 3 2

1 3 2

Y s@0 1/0
1 3 2

7 40 4

7 40 4

7 40 8

7 40 8

0
3 4

7 43 2 3 4

7 43 2

7 40 4

7 40 4

(c) P r opa ga o (t en t a t iva ).

(d) J u st ifica o (n o possvel).

Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 43

Backtracking na gerao do vector


A
1 2
1 3 2 2

Y s@0

1 3

Y s@0 1/0
1 3 2

7 40 4

7 40 4 7 43 2 1 3 2 7 43 2

7 43 2

0
3 4

7 43 2

7 40 4

7 40 4

(a ) N Y s@0.
A
1 2

(b) P r im eir a t en t a t iva (n o possvel).


A 1
1 2

1 3 2

Y s@0 1/0
1 3 2

1 3 2

Y s@0 1/0
1 3 2

7 40 4

7 40 4

7 43 2

F 1/0

7 43 2

F 1/0

0
3 4

7 43 2

0
3 4

7 43 2

7 40 4

7 40 4

(c) E scolh a a lt er n a t iva .

(d) P r opa ga o e ju st ifica o.

Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 44

Redundncia e testabilidade
A presena de termos redundantes implica normalmente problemas de testabilidade
A B C
5
740 4

/C

C /B
0 1

/C B

F
1 3 2 740 8 4 6 5 740 8 9 8 10 740 8

Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 45

/A
F

1 1

X s@0

Redundncia para corrigir a resposta temporal


A presena de redundncia, no entanto, pode impedir a ocorrncia de impulsos extemporneos nas sadas

5 6
1 3 2
1

7404

F
3

7408
2

4 6 5 7408 7432

Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 46

Concluso
Objectivo principal do captulo: Introduzir o projecto de sistemas digitais (restrito, neste caso, aos circuitos combinatrios) Pistas para a continuao do estudo:
Outros algoritmos de simplificao de funes lgicas Implementao multi-nvel Aprofundar as questes associadas ao funcionamento em regime dinmico
Introduo ao Projecto com Sistemas Digitais e Microcontroladores Circuitos combinatrios - 47

You might also like