Sie sind auf Seite 1von 10

Exemplo – somador de 3 bits

LSB
Ci
Full Si número de 2 bits
3 números de 1 bit Ai
adder Ci1 (pode ser 0, 1, 2 ou 3)
Bi
MSB

Escrever uma expressão booleana para as funções Si(Ci,Ai,Bi) e Ci1(Ci, Ai, Bi)
Desenhar um circuito lógico que realize as funções Si() e Ci1()
Construir um circuito digital com circuitos integrados 74LSxxx
74LS00 – 4 x NANDs de 2 entradas
74LS08 – 4 x AND de 2 entradas
74LS11 – 3 x AND de 3 entradas
74LS04 – 6 x NOT (inversores)
74LS32 – 4 x OR de 2 entradas
FEUP/DEEC - Sistemas Digitais 86
http://www.fe.up.pt/~jca/feup/sd

Circuitos combinacionais
• Síntese a partir de tabelas de verdade
– Descrição formal -> circuito AND-OR ou OR-AND
– Circuitos só com NANDs ou NORs
– Aplica-se apenas a circuitos “pequenos”
• Circuitos complexos (dezenas de entradas)
– Impraticável usar os métodos estudados
– 32 entradas, 232 = 4 294 967 296 linhas da tabela de verdade
– Projecto hierárquico
• Construir circuitos complexos à custa de circuitos mais simples
• Um exemplo: construir um somador de 32 bits à custa de full-adders
– Um full-adder é um somador de 3 números de 1 bit

FEUP/DEEC - Sistemas Digitais 87


http://www.fe.up.pt/~jca/feup/sd

1
Funções combinacionais “padrão”
• Funções padrão
– Podem-se identificar em circuitos complexos
– Existem disponíveis (p. ex. como circuitos integrados)
– Facilitam o projecto de sistemas digitais
– Exemplos de funções padrão:
• Somadores/subtractores (detecção de overflow, com ou sem sinal)
• Comparadores (igualdade e magnitude, com sinal ou sem sinal)
• Descodificadores e codificadores (binário, 7-segmentos, BCD, hex)
• Multiplexers (“comutadores” digitais)

FEUP/DEEC - Sistemas Digitais 88


http://www.fe.up.pt/~jca/feup/sd

Desenho de circuitos
• Portas lógicas elementares
– A sua função é especificada pelo seu símbolo
• Funções complexas
– Não existem símbolos “padrão” para cada função*
– Usa-se uma “caixa” com entradas e saídas
– Função: tabela de verdade
Entrada activa com 1
Entrada activa com 0 (negada) A
F
EN_A
Nomes dos sinais H
EN_B
G
B
*existe para algumas Saída activa em 0 (negada)
FEUP/DEEC - Sistemas Digitais 89
http://www.fe.up.pt/~jca/feup/sd

2
Barramentos
• Grupo de N sinais lógicos relacionados
– Representam um dado com N bits
– Usam-se nomes do tipo A[7:0]

(MSB) A7 A6 A5 A4 A3 A2 A1 A0 (LSB)
nº de bits A[3:1]
8
A[7:0] A
A>B
fio (1 bit)
B[7:0] 8 B AS
8
Y MAX[7:0]
comparador
B
barramento (8 bits) multiplexer

FEUP/DEEC - Sistemas Digitais 90


http://www.fe.up.pt/~jca/feup/sd

Funções padrão
• Descodificadores (decoders)
– N entradas e M saídas, N < M (geralmente)
– Transforma um código noutro com mais bits
– Descodificador binário (ou N-para-2N)
• Exemplo: descodificador 2 ÷ 4

EN I1 I0 Y3 Y2 Y1 Y0
Y0 0 x x 0 0 0 0
I1 1 0 0 0 0 0 1
Y1
I0 Y2 1 0 1 0 0 1 0
1 1 0 0 1 0 0
EN Y3
1 1 1 1 0 0 0

FEUP/DEEC - Sistemas Digitais 91


http://www.fe.up.pt/~jca/feup/sd

3
Funções padrão (cont.)
• Descodificadores disponíveis como CIs
– Descodificador binário 2 ÷ 4 (74x139)
Y0 /Y0
A A
Y1 /Y1 (cada 74x139 tem
B B Y2 /Y2
2 descodificadores)

/G G Y3 /Y3

G B A Y3 Y2 Y1 Y0 /G B A /Y3 /Y2 /Y1 /Y0


0 x x 0 0 0 0 1 x x 1 1 1 1
1 0 0 0 0 0 1 0 0 0 1 1 1 0
1 0 1 0 0 1 0 0 0 1 1 1 0 1
1 1 0 0 1 0 0 0 1 0 1 0 1 1
1 1 1 1 0 0 0 0 1 1 0 1 1 1
FEUP/DEEC - Sistemas Digitais 92
http://www.fe.up.pt/~jca/feup/sd

Funções padrão (cont.)


– Descodificador binário 3 ÷ 8 (74x138)

Y0 /Y0
Y1 /Y1 G1 /G2A /G2B C B A /Y7 /Y6 ... /Y1 /Y0
A A
Y2 /Y2 0 x x x x x 1 1 ... 1 1
B B x 1 x x x x 1 1 ... 1 1
Y3 /Y3 x x 1 x x x 1 1 ... 1 1
C C
/Y4 1 0 0 0 0 0 1 1 ... 1 0
Y4
1 0 0 0 0 1 1 1 ... 0 1
G1 G1 Y5 /Y5 ... ...
1 0 0 1 1 0 1 0 ... 1 1
/G2A G2A Y6 /Y6 1 0 0 1 1 1 0 1 ... 1 1
/G2B G2B Y7 /Y7

FEUP/DEEC - Sistemas Digitais 93


http://www.fe.up.pt/~jca/feup/sd

4
Funções padrão (cont.)
– Como fazer um descodificador 4 ÷ 16?
• 16 funções de 5 variáveis (admitindo um enable)
• Basta usar 2 CIs 74x138 (3 ÷ 8)
– E quantos são necessários para fazer um 5 ÷ 32?
– Como realizar funções lógicas de 3 variáveis com 74x138?
• Descodificador BCD para 7 segmentos (74x49)
(blanking input) a
BI a
b
(LSB) A c b
f g
B d
C e c
e d
(MSB) D f
g

FEUP/DEEC - Sistemas Digitais 94


http://www.fe.up.pt/~jca/feup/sd

Funções padrão (cont.)


• Codificadores (encoders)
– N entradas e M saídas, N > M (geralmente)
– Transforma um código noutro com menos bits
– codificador binário 2N ÷ N
• se não estiverem duas entradas em 1 simultaneamente
I3 I2 I1 I0 Y1 Y0 IDLE
I0 Y1 0 0 0 0 0 0 1
I1 Y0
0 0 0 1 0 0 0
0 0 1 0 0 1 0
I2
0 1 0 0 1 0 0
I3 IDLE 1 0 0 0 1 1 0

FEUP/DEEC - Sistemas Digitais 95


http://www.fe.up.pt/~jca/feup/sd

5
Funções padrão (cont.)
• Codificador de prioridade 8 ÷ 3 (74x148)
– 8 entradas: I7 (+prioridade) a I0 (- prioridade)
I7 enable output
enable input
I6 got something
I5 A2 EI I7 I6 I5 ... I2 I1 I0 A2 A1 A0 GS EO
A1 0 x x x ... x x x 0 0 0 0 0
I4
1 0 0 0 ... 0 0 1 0 0 0 1 0
I3 A0 1 0 0 0 ... 0 1 x 0 0 1 1 0
I2 1 0 0 0 ... 1 x x 0 1 0 1 0
... ... ...
I1 1 0 0 1 ... x x x 1 0 1 1 0
GS
I0 1 0 1 x ... x x x 1 1 0 1 0
EO 1 1 x x ... x x x 1 1 1 1 0
EI
1 0 0 0 ... 0 0 0 0 0 0 0 1

FEUP/DEEC - Sistemas Digitais 96


http://www.fe.up.pt/~jca/feup/sd

Funções padrão (cont.)


• Multiplexadores (multiplexers ou muxs)
– circuito selector (um mux 4 ÷ 1)

símbolo habitual
I0
Y = Is, s={S1,S0} I0
I1
Y I1
I2
I3 I2 Y
I3
entradas S0
S0
S1
de selecção S1

FEUP/DEEC - Sistemas Digitais 97


http://www.fe.up.pt/~jca/feup/sd

6
Funções padrão (cont.)
– Multiplexadores disponíveis como CIs
• 74x151 (mux 8 ÷ 1)
• 74x153 (2 x mux 4 ÷ 1)
• 74x157 (mux 2 ÷ 1, 4bit)
– Como fazer um mux 4÷1 com muxs 2 ÷ 1?
– Como realizar uma função lógica de N variáveis
• com um mux de N linhas de selecção?
• e com um mux de N-1 linhas de selecção?

FEUP/DEEC - Sistemas Digitais 98


http://www.fe.up.pt/~jca/feup/sd

Funções padrão (cont.)


• Porta OU-exclusivo (XOR) (74x86 tem 4 XOR)
– saída é 1 quando as entradas são diferentes
– aplicação: somadores, detector de paridade (ímpar)
A B A⊕B
0 0 0
A 0 1 1
A⊕B
B 1 0 1
1 1 0
– função lógica: A⊕B = A’.B + A.B’ (propriedade associativa)
– Como se faz um XOR com 4 NANDs?
– XNOR é um comparador de igualdade
FEUP/DEEC - Sistemas Digitais 99
http://www.fe.up.pt/~jca/feup/sd

7
Funções padrão (cont.)
• Somadores
– somador tipo ripple-carry (como se faz à “mão”)
– ligação de N full-adders em cascata (circuito iterativo)
• Si = Ai ⊕ Bi ⊕ Ci-1
• Ci = Ai.Bi + Ai.Ci-1 + Bi.Ci-1
• Subtractores
– como A-B = A + (-B), basta “trocar” o sinal de B
• trocar o sinal: trocar os bits todos (XORs) e somar 1 (carry-in)
– Portas XOR como inversores controlados
• X=A ⊕ B: quando A=0, X=B; quando A=1, X=B’
• Somadores como CIs:
– 74x283: somador de 4 bits, com carry-in e carry-out

FEUP/DEEC - Sistemas Digitais 100


http://www.fe.up.pt/~jca/feup/sd

Funções padrão (cont.)


• Comparadores de igualdade
– entre uma variável de N bits e uma constante
• um AND de N entradas
• negadas as entradas a comparar com zero
– entre duas variáveis A e B de N bits
• N portas XNOR comparam os bits de A e B
• uma porta AND de N entradas produz o resultado
Ai
Ai = Bi
Bi

FEUP/DEEC - Sistemas Digitais 101


http://www.fe.up.pt/~jca/feup/sd

8
Funções padrão (cont.)
• Circuitos iterativos
– ligação em cascata de sub-circuitos “simples”
– cada sub-circuito avalia parte dos operandos
– exemplo: comparador iterativo de igualdade
Ai Bi

AEQBin

os bits mais significativos


? AEQBout

os bits até i são iguais


(até i-1) são iguais

FEUP/DEEC - Sistemas Digitais 102


http://www.fe.up.pt/~jca/feup/sd

Funções padrão (cont.)


• Comparadores de magnitude (sem sinal)
– pode ser usado um subtractor
– comparador iterativo de magnitude:
Ai Bi
resultado (A>B) dos bits até i
AGTBin AGTBout

ALTBin ? ALTBout

resultado (A<B) dos bits até i


pelos bits mais significativos pelos bits mais significativos
(até i-1), já é A>B (até i-1), já é A<B
FEUP/DEEC - Sistemas Digitais 103
http://www.fe.up.pt/~jca/feup/sd

9
Funções padrão (cont.)
• CIs comparadores
– 74x85
• comparador de 4 bits (>, = e <), expansível em cascata
– 74x682
• comparador de 8 bits (saídas EQ e GT)
• Outras funções
– ALU (74x181, 74x381, 74x382)
– barrel shifters
– multiplicadores
– buffers 3 estados (74x125, 74x126)

FEUP/DEEC - Sistemas Digitais 104


http://www.fe.up.pt/~jca/feup/sd

10

Das könnte Ihnen auch gefallen