Você está na página 1de 33

Circuitos Digitais

Ivan Saraiva Silva


Circuitos Combinacionais
Características e exemplos
• São circuitos nos quais as saídas dependem somente das
entradas

circuito
n entradas combinacional m saídas

• Podem conter diversas saídas, cada uma regida por uma


equação lógica distinta
• Principais tipos: multiplexadores (também chamados de
seletores), decodificadores, codificadores, circuitos
aritméticos (somadores, subtratores, multiplicadores) etc
Multiplexadores (ou seletores)
Multiplexador 2:1 (ou seletor 2:1)
“Sua função é selecionar uma dentre as duas entradas de
dado, fazendo-a aparecer na saída”
entrada de sel A B Y
entradas sel controle 0 0 0 0
de dados 0 0 1 0
0 1 0 1
A 0
Y saída 0 1 1 1
1 0 0 0
B 1
1 0 1 1
1 1 0 0
símbolo 1 1 1 1
Multiplexadores (ou seletores)
Multiplexador 2:1
Implementação com portas lógicas básicas

Y AB AB AB AB
sel·A
sel 0 0 1 1
sel 0 1 1 0 sel

A Y
sel·B

B
Y = sel·A+ sel·B
Multiplexadores (ou seletores)
Multiplexador 4:1 (ou seletor 4:1)
“Sua função é selecionar uma dentre quatro entradas”
sel1 sel0

sel1 sel0 Y
A 00 0 0 A
Y
B 01 0 1 B
C 10
1 0 C
D 11
1 1 D

símbolo

Y = sel1·sel0 · A+ sel1·sel0 · B+ sel1·sel0 · C+ sel1·sel0 ·


D
Multiplexadores (ou seletores)
Multiplexador 4:1 (ou seletor 4:1)
Implementação como associação de muxes 2:1
sel0 sel1
sel1 sel0 Y
0 0 A
A 0
0 1 B
B 1
1 0 C
0
Y
1 1 D
1
C 0 • A princípio, qualquer estrutura vista para
mux 2:1 pode ser usada
D 1
• Porém, se considerarmos a estrutura interna, é
possível reduzir o número de inversores
Multiplexadores (ou seletores)
Multiplexador 4:1 (ou seletor 4:1)
Implementação com portas lógicas
Y = sel1·sel0 · A+ sel1·sel0 · B+ sel1·sel0 · C+ sel1·sel0 ·
D
sel1 sel0

B Y

D
Multiplexadores (ou seletores)
Usando multiplexadores para implementar outras funções
booleanas
sel1 sel0 sel0 sel1

sel1 sel0 Y
A 0
0 0 A A 00
Y
B 01 B 1
0 1 B
0
C 10 Y
1 0 C
D 11 1
1 1 D
C 0

símbolo D 1
Decodificadores
Decodificador 2:4
• Sua função é ativar uma e somente uma dentre as 4
saídas, de acordo com a combinação de valores das
entradas
• Ativar, neste caso, quer dizer diferenciar, destacar
• Existe uma relação entre o número de saídas (ns) e o
número de entradas (ne):

ns = 2 ne
Decodificadores
Decodificador 2:4
Tabela-verdade e símbolo

entradas saídas

S0
A1 A0 S0 S1 S2 S3
A0 S1
0 0 1 0 0 0 A1 S2
0 1 0 1 0 0 S3
1 0 0 0 1 0
1 1 0 0 0 1
símbolo
Decodificadores
Decodificador 2:4
Cada combinação de entrada pode ser vista como o
endereço de uma saída específica
entradas saídas

A1 A0 S0 S1 S2 S3

0 0 1 0 0 0
endereço da saída
0 1 0 1 0 0
(=2 em decimal)
1 0 0 0 1 0
1 1 0 0 0 1 saída S2 ativada…

Não é um Mapa de Karnaugh


Decodificadores
Decodificador 2:4
Cada uma das 4 saídas corresponde a um mintermo
diferente. A0
S0
entradas saídas A1

S1
A1 A0 S0 S1 S2 S3

0 0 1 0 0 0 S0 = A1·A0
S2
0 1 0 1 0 0
S1 = A1·A0
1 0 0 0 1 0 S3
1 1 0 0 0 1 S2 = A1·A0
Implementação independente
S3 = A1·A0
de tecnologia
Decodificadores
Decodificador 2:4 com saídas em lógica invertida (ou
complementar)
A ativação se dá com o valor lógico 0
entradas saídas
S0
A1 A0 S0 S1 S2 S3 A0 S1

0 0 0 1 1 1 A1 S2

0 1 1 0 1 1 S3

1 0 1 1 0 1
1 1 1 1 1 0 símbolo
Decodificadores
Decodificador 2:4 com saídas em lógica invertida (ou
complementar)
Implementação independente de tecnologia - versão 1

entradas saídas A0
S0
A1
A1 A0 S0 S1 S2 S3
S1
0 0 0 1 1 1
0 1 1 0 1 1 S2
1 0 1 1 0 1
1 1 1 1 1 0 S3
Decodificadores
Decodificador 2:4 com saídas em lógica invertida (ou
complementar)
Implementação independente de tecnologia - versão 2

entradas saídas A0
S0
A1
A1 A0 S0 S1 S2 S3
S1
0 0 0 1 1 1
0 1 1 0 1 1 S2
1 0 1 1 0 1
1 1 1 1 1 0 S3
Decodificadores
Decodificador 2:4
Acrescentando uma entrada de habilitação (enable)
entradas saídas

H A1 A0 S0 S1 S2 S3
H
0 X X 1 1 1 1 todas as saídas S0
desativadas
A0 S1
1 0 0 0 1 1 1
A1 S2
1 0 1 1 0 1 1
S3
1 1 0 1 1 0 1
1 1 1 1 1 1 0
símbolo

entrada de habilitação
Decodificadores
Decodificador 2:4
Implementação inversores e NANDs
entradas saídas H

H A1 A0 S0 S1 S2 S3 A0 S0
0 X X 1 1 1 1
1 0 0 0 1 1 1 A1
S1

1 0 1 1 0 1 1
S2
1 1 0 1 1 0 1
1 1 1 1 1 1 0
S3
Decodificadores
Decodificadores 3:8, 4:16, 5:32 etc
• Seguem o mesmo princípio dos decodificadores vistos,
sempre observando a relação n:2n (número de entradas:
número de saídas)
• Também se pode “montar” um decodificador a partir
de decodificadores menores, que possuam entrada de
habilitação
Decodificadores
Um Decodificador 3:8, sem entrada de habilitação

S0 S0
A0 A0 S1 S1
A1 A1 S2 S2
H S3 S3

A2

S0 S4
A0 S1 S5
A1 S2 S6
H S3 S7
Codificadores

• Conceito: grosso modo, codificadores realizam a


função oposta dos decodificadores
• Codificadores servem para reduzir o número de bits
necessários para a representação de alguma
informação (facilitando sua manipulação e seu
armazenamento)
• Os principais tipos de codificadores são: binários, de
prioridade.
Codificadores
Codificador Binário 4:2
Apenas as situações de entrada contendo somente uma
posição valendo 1 são consideradas
As demais situações são tratadas como don’t cares (usar
Karnaugh)
entradas saídas
A0
A4 A2 A1 A0 S1 S0
A1
0 0 0 1 0 0 S0

0 0 1 0 0 1 A2
0 1 0 0 1 0
A3 S1
1 0 0 0 1 1
D0 A0 Problemas
D1 Se mais de uma entrada = 1
D2 Ex: D3 = 1 e D6 = 1
D3
D4 A1
D5 A2 A1 A0 = 1 1 1 como se D7 = 1
D6
D7 A2 Se nenhuma entrada = 1
A2A1A0 = 000, como se D0=1

Codificador de prioridade
Se duas entradas são iguais a 1 simultaneamente, a entrada
de maior prioridade tem precedência.

Tabela verdade com prioridade


D3 D2 D1 D0 A1 A0 V
0 0 0 0 0 0 0
V indica saída válida
0 0 0 1 0 0 1 (pelo menos uma entrada = 1)
0 0 1 X 0 1 1
0 1 X X 1 0 1 X = don’t care
1 X X X 1 1 1
Mapas de Karnaugh
A1 A0
D 1D 0 D1D0
D3D2 00 01 11 10 D3D2 00 01 11 10
00 00 1 1

01 1 1 1 1 01

11 1 1 1 1 11 1 1 1 1

10 1 1 1 1 10 1 1 1 1

A1 = D2 + D3 A0 = D3 + D1.D2
V = D3 + D2 + D1 + D0
Implementação

D3
A0
D2

D1

A1
D0
V
• Gerador e Verificador de paridade
– O bit de paridade é uma das técnicas mais primitivas de
verificação de transmissão correta de dados
• Paridade par: O bit de paridade é gerado de forma o número
total de bits iguais a “1” transmitidos, incluindo o bit de
paridade, seja par;
• Paridade impar: O bit de paridade é gerado de forma o
número total de bits iguais a “1” transmitidos, incluindo o bit
de paridade, seja par;
– A verificação é feita comparando o valor do bit de
paridade transmitido, com o valor do bit gerado após a
recepção;
• Com este método, erros de no máximo um bit podem ser
detectados, mas não corrigidos;
• Gerador de paridade

Exercício: Escolha um código binário para a palavra D (D0 a D3)


e verifique se o gerador de paridade funciona corretamente.
• Gerador de paridade

Exercício: Escolha um código binário para a palavra D (D0 a D3)


e verifique se o gerador de paridade funciona corretamente.
• Verificador de paridade

Exercício: Com a palavra D (D0 a D3) utilizada no exercício anterior


e o bit de paridade gerado, verifique o funciona deste circuito.
Exercício: Modifique apenas um dos bits da palavra D (D0 a D3)
e verifique o funciona do circuito.
Teorema da Expansão de Shannon

F(V1,V2,...,Vn) = Vi·F(Vi=1) + Vi·F(Vi=0)

• Exemplo:
F(A,B,C,D) = (A·B) + (B·C) + D

F(A,B,C,D) = B·(A + D) + B·(C + D)


• O Teorema da expansão de Shannon reduz a
função a uma estrutura de multiplexação.
• Para o exemplo:

F(A,B,C,D) = B·(A + D) + B·(C + D)

A+D 1

F
C+D 0

B
A+D 1

F
C+D 0

1 1
A 0 1

D F
1 1 0

C 0
B
• Exercício encontre a solução para a equação
abaixo
F = ((A+B)·C) + ((C+D)·A)
Multiplexadores (ou seletores)
Usando multiplexadores para implementar outras funções
booleanas sel0 sel1

A 0

B 1
0
Y

1
C 0

D 1

• As arquiteturas reconfiguráveis são exemplo de circuitos


que utilizam atualmente multiplexadores como
implementadores de função booleana

Você também pode gostar