Professional Documents
Culture Documents
Organizao:
Formas bsicas de representao Sntese por mapas de Karnaugh Projectos com blocos SSI / MSI Anlise e teste
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
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
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
/C /B
0
C B
/C /A*/B*C
/A A
4
13 1
7
/A*B*C
6
2
1 3 2 1 7408 4 6 7432 3 2
/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
11
10
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 )
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
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
A
4
9 8 10
7408
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]
1
A<Bin In c_in
12
1 13 1
9
15
14
1 12 1
8
13
1 15 1 11
14
11
10
10
B[i]
/B[i] A[i]
3 2
A<B _o u t
/B[i] /A[i]
B[i]
/B[i] A[i]
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
A<B_out
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 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
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)
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
&
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
Mu x 4:1 Y /Y /Y Y 0 1 2 3 F
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
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
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
1Y0
1Y1
1Y2
1Y3
13 3
1 2
/2G 14 /2C 15
&
ENb
1b 2b 3b
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)
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
A3<B3 A3=B3
10 9 12
2 3 4
< = >
11 13 14 15 1 2 3 4
H = Nvel lgico "alto" (1) L = Nvel lgico "baixo" (0) X = "tanto faz" (don't care)
B[0..3]
A[0..3]
B[4..7]
A[4..7]
B[8..11] A[8..11]
+5 V
7 6 5
7 6 5
7 6 5
X0 X1 X2 X3
+5 V
X2
U4A 1 3 2 74HC08
X < 11
A<Bo A=Bo A>Bo 7 6 5
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
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
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
F0
L
F1 F2 F3
L L L L H H
H H L L
H L H L
A < ou = B
H
H H H H
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 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 -
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
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
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
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
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
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
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
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
/A
F
1 1
X s@0
5 6
1 3 2
1
7404
F
3
7408
2
4 6 5 7408 7432
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