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 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 MicrocontroladoresCircuitos 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 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 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 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 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 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 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
• Os mapas de Karnaugh são usados mais como formalismo de simplificação do que como alternativa para a representaçã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ções por 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ções por 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
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 9
Um adicionador de quatro bits• A síntese do circuito completo pelo processo descrito
é inviabilizada pelo número de entradas (mapas de Karnaugh 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 adicionador de um bit, construindo o somador pretendido por concatenaçã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 0
1 - 0 0 1 0 1
2 - 0 1 0 0 1
3 - 0 1 1 1 0
4 - 1 0 0 0 1
5 - 1 0 1 1 0
6 - 1 1 0 1 0
7 - 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
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 13
O adicionador de quatro bits• Concatenando quatro módulos adicionadores de um
bit, teremos o somador pretendido:
• Qual o tempo de adição para a implementação modular?
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 quatro bits• As mesmas razões já invocadas para o adicionador
de quatro bits inviabilizam a síntese directa do comparador 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 que
passar ao bit seguinte ([i-1], à direita deste)– Sendo A[i] > B[i] e assumindo que a comparação foi
inconclusiva para todos os bits anteriores, então resulta A<B falso, quaisquer que sejam os restantes bits
– Sendo A[i] < B[i] e assumindo que a comparação foi inconclusiva para todos os bits anteriores, então resulta A<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 0
0 1 X X 0 1
1 X 0 0 1 0
1 X 0 1 0 1
1 X 1 0 0 0
1 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
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_out
A<B_out
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 quatro bits• Uma vez mais, concatenando os quatro módulos
elementares, teremos o comparador de quatro bits:
• Também para este caso teremos um tempo de propagaçã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
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
&
G07
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
G07
5
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 uma funçã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 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1
Mux 4:1
Y
/Y
/Y
Y
W X
F
0
1
2
3
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 25
74x253 – Adicionador completo de 1 bit• Construir um adicionador completo de 1 bit
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 26
74x253 – Adicionador completo 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ês entradas• 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ês entradas
+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 a proporcionar também uma saída de erro
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 29
O desmultiplexador 74ALS155
&
&
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 comparador de 12 bits
+5 V
U1
74HCT85
10121315
91114
1234
765
A0A1A2A3B0B1B2B3A<BiA=BiA>Bi
A<BoA=BoA>Bo
U3
74HCT85
10121315
91114
1234
765
A0A1A2A3B0B1B2B3A<BiA=BiA>Bi
A<BoA=BoA>Bo
U2
74HCT85
10121315
91114
1234
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 de janela [2,11[
X < 11
X 2+5 V
+5 V
U1
74HCT85
10121315
91114
1234
765
A0A1A2A3B0B1B2B3A<BiA=BiA>Bi
A<BoA=BoA>Bo
U2
74HCT85
10121315
91114
1234
765
A0A1A2A3B0B1B2B3A<BiA=BiA>Bi
A<BoA=BoA>Bo
U4A
74HC08
1
23
U3A
74HC04
1 2
X0
X1
X2
X3
F
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
C_IN2
4
1
13
10
9C_OUT
C_IN
L
0
Pinos
Nível lógico
Activo a 1
Activo a 0
B3 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 modo subtracçã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ção para uma especificação, sendo necessária em tarefas como, por exemplo, a manutenção ou a modificação de funcionalidade
• Também para o teste, e nomeadamente para a geração de vectores de teste, a análise desempenha um 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 uma representação 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
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 37
Vantagens do modelo ss@
• As vantagens deste modelo de faltas são as seguintes:– É suficientemente simples para permitir na prática a
geração de vectores de teste (a complexidade da análise cresce linearmente com a dimensão do circuito)
– É suficientemente abrangente para cobrir uma larga variedade de defeitos físicos, dando-nos confiança que a percentagem de componentes com defeito que passam este teste é suficientemente reduzida
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 38
O conceito de controlabilidade• Trata-se de uma
medida da facilidade com que conseguimos impor num nó um determinado valor lógico
Y
X
A
B
C
F
7404
1 2
7404
3 4
7432
1
23
7408
1
2
3
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 de observabilidade• Trata-se de uma
medida da facilidade com que podemos observar o valor lógico presente num nó
Y
X
A
B
C
F
7404
1 2
7404
3 4
7432
1
23
7408
1
2
3
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 a geração de vectores de teste• O algoritmo D recorre a uma notação que considera
valores compostos para representar o efeito da presenç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
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 41
Procedimento principal do algoritmo 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é uma
saída primária– Justificar para montante os valores lógicos que permitiram
a 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 uma falta s@0
Y s@0A
B
C
F
1/07404
1 2
7404
3 4
7432
1
23
7408
1
2
3
C
F
Y s@0A
B
1/0
1
17404
1 2
7404
3 4
7432
1
23
7408
1
2
3
(a ) N ó Y s @0 . (b ) A ct i v a çã o d a fa l t a (p a s s o 1 ).
C
F
Y s@0A
B
1/0
1
1
01/0
7404
1 2
7404
3 4
7432
1
23
7408
1
2
3
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
2
3
(c) P r op a g a çã o d a fa l t a (p a s s o 2 ). (d ) J u s t i fi ca çã o d a fa l t a (p a s s o 3 ).
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 43
Exemplo: Uma falta não detectá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 v a l o r op os t o a s @0 é a p l i ca d o n o 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
2
3
(c) P r op a g a çã o (t en t a t i v a ). (d ) J u s t i fi ca çã o (n ã o é p os s í v e l ).
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 44
Backtracking na geração do vector
B
Y s@0A
F
7404
1 2
7404
3 4
7432
1
23
7432
1
2
3
B
1/0
A
0
1 Y s@0
F
0
1
0
7404
1 2
7432
1
23
7404
3 4
7432
1
2
3
(a ) N ó Y s @0 . (b ) P r i m e i r a t en t a t i v a (n ã o é p os s í v e l ) .
0 Y s@0
B1
0
A
1/0
F
1/0
7404
3 4
7404
1 2
7432
1
23
7432
1
2
3
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
2
3
(c) E s co l h a a l t e r n a t i v a . (d ) P r op a g a çã o e j u s t i fi ca çã o .
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 45
Redundância e testabilidade• 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 a resposta 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
2
3
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos combinatórios - 47
Conclusão
• Objectivo principal do capítulo: Introduzir o projecto de sistemas digitais (restrito, neste caso, aos circuitos combinató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
Top Related