circuitos combinatórios a representação de sistemas...
TRANSCRIPT
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
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
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
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
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
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
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
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
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
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
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.
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