técnicas digitais i circuitos digitais

Transcription

técnicas digitais i circuitos digitais
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
UNIVERSIDADE FEDERAL FLUMINENSE
CENTRO TECNOLÓGICO - ESCOLA DE ENGENHARIA
DEPARTAMENTO DE ENGENHARIA DE TELECOMUNICAÇÕES
APOSTILA PARA
DISCIPLINAS DE
TÉCNICAS DIGITAIS I
&
CIRCUITOS DIGITAIS
(CURSO DE ENGENHARIA DE TELECOMUNICAÇÕES DA UFF)
(CURSO DE BACHARELADO EM INFORMÁTICA DA UFF)
2º PARTE (Versão 0)
Profª Carmen Maria Costa de Carvalho
Agosto,2002
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
Parte 2 – Circuitos Combinacionais
1-Sistemas Digitais
1.1- Histórico - Circuito Integrado
1.2- Escala de Integração
1.3- Famílias lógicas - Principais características das famílias lógicas
1.4- Encapsulamento
2- Circuitos Combinacionais Básicos
2.1- Padrão de Circuitos Combinacionais
2.2- Somadores e Subtratores
2.2.1- Meio somador (Half-Adder)
2.2.2- Somador Inteiro (Full-Adder)
2.2.3- Somador Inteiro a partir de Meio somador
2.2.4- Somador de 4 bits
2.2.5- Complementador a 2
2.2.6- Subtrator de 4 bits em C2
2.2.7- Subtrator de 4 bits em C1
2.2.8- ULA – Unidade Lógica e Aritmética
2.3- Circuitos Conversores de Código
2.3.1- Apresentação de alguns códigos
2.3.2- Exemplo de Conversores de código
2.4- Codificadores / Decodificadores
2.4.1- Decodificadores
2.4.2- Codificadores
2.4.3- Conversor de Código a partir de Decodificador/Codificador
2.5- Multiplexadores / Demultiplexadores
2.5.1- Multiplexadores
2.5.1.1- Mux como Seletor de Canal
2.5.1.2- Mux como Gerador de Função
2.5.2- Demultiplexadores
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
1-Sistemas Digitais
1.1- Histórico - Circuito Integrado
Em um Sistema Digital um componente eletrônico sozinho faz muito pouco. São
necessários milhares, centenas de milhares, milhões, para compor as portas e as funções
lógicas mais complexas desse sistema. Sendo assim, a velocidade do sistema como um
todo, depende da velocidade de operação das portas.
-
Diferentemente dos sistemas analógicos, nos digitais, o valor real da corrente não é
o que importa. Os dispositivos eletrônicos do sistema devem conduzir uma
quantidade substancial de corrente ou muito pouca ou nenhuma corrente.
Histórico: Dos componentes eletrônicos aos Sistemas Digitais
•
Até 1955 – os sistemas eram baseados em diodos semicondutores e válvulas
a vácuo, apresentando as seguintes características:
-
diodos:
relativamente
pequenos
(milímetros),
dissipando
relativamente pouca potência;
-
válvulas: grandes (vários centímetros), dissipando grandes potências
(W).
A maioria dos componentes compunha portas a base de diodos e resistores, mas
também eram necessárias válvulas em grandes quantidades.
- Conseqüência – sistemas digitais enormes, caros, consumindo muita
potência.
•
Por volta de 1955 – foi inventado o transistor que veio substituir as válvulas.
- Vantagem - muito menos potência (mW), dimensões da ordem de
poucos centímetros.
•
Até 1965 – os semicondutores eram encapsulados individualmente.
-
Fabricados através da aplicação repetida de certos processos físicos e
químicos à superfície de uma pastilha de silício extremamente puro.
-
Dispositivo na superfície do silício – da ordem de mícrons
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
-
A maior parte da dimensão de um dispositivo encapsulado
individualmente envolve e próprio encapsulamento e o suporte
mecânico para as conexões elétricas.
•
Por volta de 1965 – iniciou-se uma série de progressos tecnológicos que
levaram à fabricação do circuito integrado (CI). Em um CI, muitos
transistores e diodos são fabricados, isto é, integrados, sobre a mesma
pastilha de silício; na mesma estrutura são também integrados resistores e
até mesmo as interligações para fabricar uma porta completa, muitas portas e
até mesmo um sistema digital completo.
•
No início da década de 80 – os chips já atingem o ponto de se obter um
circuito que coubesse na palma da mão, dissipando em torno de 1W e
superando sistemas existentes há 30 anos que envolviam uma sala cheia de
equipamento e consumiam milhares de watts.
•
Nos dias de hoje, os C.I.’s tornaram-se indispensáveis, pois com sua
utilização os sistemas tiveram seus custos extremamente reduzidos e bem
mais confiáveis.
1.2- Escala de Integração
De acordo com a quantidade de
portas ou componentes encapsulados em um
mesmo chip os C.I.’s comercialmente disponíveis são classificados em:
-
SSI – small scale integration (baixa escala de integração)
-
MSI – medium scale integration (integração em média escala)
-
LSI – large scale integration (integração em larga escala)
-
VLSI – very large scale integration (integração em muita larga escala)
-
ULSI – ultra large scale integration (integração em ultra larga escala)
A convenção adotada para a composição de cada uma dessas escalas é a seguinte:
-
SSI – até 12 portas ou até 99 componentes.
-
MSI – de 13 a 99 portas ou de 100 a 9999 componentes.
-
LSI – de 100 a 9999 portas ou de 10.000 a 99.999 componentes.
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
-
VLSI –de 10.000 a 99.999 portas ou de 100.000 a 999.999 componentes.
-
ULSI – acima de 100.000 portas
1.3- Famílias lógicas - Principais características das famílias lógicas
Existe um número de famílias de C.I. que se distinguem umas das outras pelo tipo
de dispositivo semicondutor que incorporam e pela maneira como os dispositivos
semicondutores (e resistores, quando usados) são interligados para formar portas.
Dentre as famílias, podemos citar:
DTL (diode-transistor logic)
RTL (resistor transistor logic)
RCTL (resistor-capacitor transistor logic)
HTL (high-thershold logic)
TTL (transistor-transistor logic)
ECL (emitter-compled logic)
MOS logic (metal oxide semicondutor logic)
C MOS (complementary MOS)
Algumas das famílias acima citadas já estão obsoletas. As mais comumente encontradas
são TTL, CMOS e ECL.
OBS: A família encontrada no laboratório de Eletrônica do Departamento de
Telecomunicações é a TTL.
Principais características das famílias lógicas
Uma família lógica é caracterizada por vários parâmetros, dos quais quatro se
destacam:
a) atraso de propagação e tempo de comutação
b) dissipação de potência
c) capacidade de saída
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
d) margens de ruído
a) Atraso de propagação e tempo de comutação
Atraso de propagação é o tempo requerido pela saída de uma porta para responder a
uma mudança no nível lógico da entrada da porta (microssegundos e
nanosegundos).
Tempo de comutação é o tempo que uma porta leva para passar do estado 1 para o
estado 0 ou vice-versa.
b) Dissipação de potência
Geralmente é possível melhorar a velocidade de operação (isto é, reduzir os tempos
de a), sacrificando a potência.
Como mais potência envolve mais correntes, as capacitâncias “parasitas” podem ser
carregadas e descarregadas mais rapidamente. Estas capacitâncias parasitas não são
introduzidas deliberadamente no circuito, mas são o resultado inevitável das
dimensões e geometria do circuito.
A disponibilidade de correntes maiores torna possível ligar e desligar as transistores
mais rapidamente.
Resta saber se o aumento de viabilidade compensa o sacrifício de potência.
Produto velocidade X potência – produto do atraso de propagação pela dissipação
de potência de uma porta.
c) Capacidade de saída
Fan-in – é o número total de entradas da porta lógica
Fan-out – é o número que expressa a quantidade máxima de portas da
mesma família que poderá ser conectada à saída de uma porta lógica.
Uma fonte de um sinal digital aplicado à entrada de uma porta deve ser
capaz de estabelecer naquela entrada uma ou outra tensão correspondente a um ou
outro nível lógico.
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
Em qualquer um dos níveis a fonte deve satisfazer os requisitos de corrente
da porta acionada. Como a saída de uma porta freqüentemente é usada como fonte
para a entrada de outra porta é necessário conhecer o FAN-OUT desta porta.
Portas lógicas apresentam uma impedância de saída. Ao conectar outras
portas a esta, iremos diminuir cada vez mais a impedância de carga do bloco e, por
conseguinte, drenaremos uma maior corrente do circuito, alterando assim mais
características de limites de tensão de saída.
d) Margem de ruído
Níveis lógicos ≠ níveis de tensão
Os níveis 1 e 0 não correspondem a 1V e 0V e sim a faixas de tensão
específicas para cada família.
O nível zero corresponde a uma faixa de tensão pequena, abaixo de um certo
valor máximo.
O nível um corresponde a uma faixa de tensão acima de um valor mínimo e
abaixo de um valor máximo.
Dentro deste conceito, os fabricantes especificam as seguintes tensões (de
entrada e de saída):
VOH – tensão de saída mínima que uma porta fornece quando na saída estiver
em nível lógico 1.
VOL – tensão de saída máxima que uma porta fornece quando na saída
estiver um nível lógico 0.
VIH – tensão mínima que pode ser aplicada à entrada de uma porta e
reconhecida como nível 1.
VIL – tensão máxima que pode ser aplicada à entrada de uma porta e
reconhecida como nível 0.
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
1.4 - Encapsulamento
Os C.I. consistem fisicamente de uma pastilha (chip) sobre a qual os
elementos lógicos reais são localizados, encapsulado num pacote com somente os
pinos de conexão (leads) extendendo-se através da embalagem.
Até uma determinada época, os C.I. eram encapsulados de um dos 2 modos
abaixo:
-
flat pack
-
dual in lim package - DIP
Flat pack – é o mais compacto e é destinado a ser permanentemente soldado
no circuito impresso, geralmente de cerâmica.
DIP – é mais resistente e pode ser encaixado em um soquete.
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
Hoje existem outras formas de encapsulamento. Este é um assunto para pesquisa dos
alunos.
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
2- Circuitos Combinacionais Básicos
2.1- Padrão de Circuitos Combinacionais
Qualquer circuito combinacional pode ser construído a partir dos seguintes passos:
⇒ identificação do problema (entradas e saídas)
⇒ construção da tabela verdade
⇒ obtenção da função (preferencialmente de forma minimizada)
⇒ representação por diagrama de portas
Exemplo de padrão de circuitos combinacionais
Ex: Construa um circuito capaz de produzir um nível alto na saída S, sempre que for
aplicado à uma entrada uma combinação de bits – com 2 bits adjacentes iguais a zero
(entrada de 4 bits).
⇒identificação do problema (entradas e saídas)
A
B
C
D
Entradas
S (saída)
⇒construção da tabela verdade
A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
S
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
0
⇒obtenção da função simplificada
00
01
11
10
00 01 11 10
1 1 1 1
1
1
1
1
S= AB+CD+BC
Apenas com portas NOR:
S = A B + C D + B C = A+B + C+D + B+C
S = A+B + C+D + B+C
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
⇒representação por diagrama de portas
O diagrama de portas da função simplificada é obtido com 3 ANDs, 4 Inversores e 1 OR.
Abaixo está desenhada a opção que monta o circuito usando apenas portas nor.
2.2- Somadores e Subtratores
Os circuitos de somadores são bastante genéricos, podendo-se a partir deles obter a
construção de subtratores e também multiplicadores.
2.2.1- Meio somador (Half-Adder)
O primeiro circuito aritmético mais básico é o do meio somador (H.A.), pelo fato de poder
realizar apenas a soma de dois bits.
Neste caso, numa operação como a abaixo, o Meio Somador é o circuito que pode realizar
apenas a soma de A0 com B0.
C2 C1 C0
A = .......A3 A2 A1 A0 +
B = .......B3 B2 B1 B0
C3 S3 S2 S1 S0
Partindo do padrão de circuitos combinacionais, os passos para a geração do Meio Somador
são os seguintes:
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
⇒identificação do problema
A0
H.A.
B0
⇒ construção da tabela verdade
S0
C0
(carry)
⇒obtenção da função
S0 = A0B0 + A0B0 = A0 ⊕ B0
C0 = A0B0
⇒representação por diagrama de portas
⇒Outra forma possível de representação por portas:
A0
0
0
1
1
B0
0
1
0
1
S0
0
1
1
0
C0
0
0
0
1
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
2.2.2- Somador Inteiro (Full-Adder)
Este circuito já é mais genérico, podendo realizar a soma de três bits quaisquer.
C n-1
An
Bn
Cn
Sn
Seguindo todos os passos do padrão de circuitos combinacionais, tem-se:
C n-1
Sn
An
F.A.
Cn
Bn
An
0
0
0
0
1
1
1
1
B n C n-1
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
Sn
0
1
1
0
1
0
0
1
Cn
0
0
0
1
0
1
1
1
Geração de S n
AnBn
Cn-1 00 01 11 10
0
1
1
1 1
1
S n = A nB nC n-1 + A nB nC n-1 + A nB nC n-1 + A nB nC n-1
S n = A n (B nC n-1 + B nC n-1) + A n (B nC n-1 + B nC n-1)
S n = A n (B n ⊕ C n-1) + A n (B n ⊕ C n-1)
S n = A n ⊕ (B n ⊕ C n-1)
S n = A n ⊕ B n ⊕ C n-1
OU EXCLUSIVO sempre gera a soma
das variáveis
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
OBS: Toda vez que no Mapa de Karnaugh todas e somente as mesmas posições do Mapa,
de nº ímpar de variáveis verdadeiras estiverem assinaladas tem-se uma EX-OR de todas as
variáveis.
Quando estiverem assinaladas todas as posições de nº par de variáveis verdadeiras tem-se
uma EX-NOR de todas as variáveis.
C
C
AB AB AB AB
1
1
1
1
ABC + ABC + ABC + ABC
1
3
1
0
2
2
2
AnBn
Cn-1
00 01 11 10
0
1
1
1 1 1
C n = A nB n + A nC n-1 + B nC n-1
An Bn
EX-OR
ABC + ABC + ABC + ABC
AB AB AB AB
C 1
1
C
1
1
Geração de Cn:
1
Cn-1
Sn
U1A
U1B
Cn
EX-NOR
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
2.2.3- Somador Inteiro a partir de Meio somador
Pelo circuito acima, verifica-se que ele é obtido através de 2 H.A. e mais algumas portas.
Assim:
An⊕Bn
A nB n
Entretanto, observando mais detalhadamente, percebe-se que para se ter estouro (carry),
pelo menos duas variáveis precisam ser 1 e isto acontece quando An e Bn são 1 ou quando
o carry de entrada e o resultado da soma de An e Bn também são 1. Logo:
C n = (A n ⊕ B n) C n-1 + A nB n
An
0
0
0
0
1
1
1
1
B n C n-1 A n ⊕ B n (A n ⊕ B n) C n-1 C n
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
0
0
1
E o circuito do F.A. pode ser construído da forma mais reduzida abaixo.
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
An⊕Bn
A nB n
(A n ⊕ B n) C n-1
2.2.4- Somador de 4 bits
Utilizando blocos somadores inteiros, um somador para 2 nos binários de 4 bits,
corresponde a:
C2 C1 C0
A3 A2 A1 A0
+
B3 B2 B1 B0
C3 S3
S2
S1 S0
A3 B3
C3
F.A.
A2 B2
C2
F.A.
A1 B1
C1
S3
S2
Este somador de 4 bits é encontrado em
F.A.
A0 B0
C0
S1
A
F.A.
S0
B
forma de CI, de número 7483.
7483
7483
S
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
Se forem utilizados 2 CI´s 7483, pode-se obter um somador para 2 nos binários de 8 bits
cada um.
B7 B6 B5 B4
S8
A7 A6 A5 A4
B3 B2 B1 B0
7483
A3 A2 A1 A0
7483
S7 S6 S5 S4
S3 S2 S1 S0
2.2.5- Complementador a 2
De acordo com a análise feita na Parte 1 da Apostila, item 2.2, a subtração pode ser gerada
a partir da soma do minuendo com o complemento do subtraendo. Para tal, já que o
somador já está definido, resta gerar o circuito que realiza o complemento.
Se a subtração for realizada com a técnica de complemento a 2, o circuito a ser gerado é o
do Complementador a 2 que é um circuito combinacional e, como tal, pode ser construído
da forma padrão abaixo:
B3
B2
B1
B0
C3
Complementador
a2
C2
C1
C0
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
B3
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
B2
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
B1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
B0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
C3
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
C2
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
C1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
C0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
B3B2
00
B1B0
00
01 1
11 1
10 1
01 11 10
1
1
1
1
1
C3 = B3B2 + B3B0 + B3B1 + B3B2B1B0
C3 = B3 (B0 + B1 + B2) + B3 (B0 + B1 + B2)
C3 = B3 ⊕ (B0 + B1 + B2)
B3B2
B1B0
00
01
11
10
00 01 11 10
1 1
1
1
1
1
1
1
C2 = B2B1B0 + B2B0 + B2B1
C2 = B2 (B1 + B0) + B2 (B1 + B0)
C2 = B2 ⊕ (B1 + B0)
B3B2
B1B0 00 01 11 10
00
01 1 1 1 1
11
10 1 1 1 1
B3B2
B1B0 00 01 11 10
00
01 1 1 1 1
11 1 1 1 1
10
C1 = B1B0 + B1B0
C1 = B1 ⊕ B0
C0 = B0
Nem precisava ter feito, era só olhar para a
tabela.
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
C3 = B3 ⊕ (B0 + B1 + B2)
C2 = B2 ⊕ (B0 + B1)
C1 = B1 ⊕ B0
C0 = B0
B3 ⊕ (B0 + B1 + B2)
B3
B2
C3
B0 + B1 + B2
B2 ⊕ (B0 + B1)
B1
C2
B0 + B1
B1 ⊕ B0
B0
C1
C0
Outro modo possível de viabilizar o complemento a 2 é aplicando a regra prática de
complemento a 2.
B3 B2 B1 B0
C0 = B0
C3 C2 C1 C0
C1 = B1B0 + B1B0
Se B0 for 1, C1 = B1 e se B0 = 0 C1 = B1
C1 = B1 ⊕ B0
C2 = B2B1B0 + B2B0 + B2B1
Se B0 = B1 = 0 então C2 = B2
Se B0 = 1, C2 vai ser igual a B2
Se B1 = 1, C2 vai ser igual a B2
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
C3 = B3B2 + B3B0 + B3B1 + B3B2B1B0
Solução para o complemento de um número de n bits:
C n = B n ⊕ (B n-1 + B n-2 + ... + B1 + B0)
Uma terceira solução é utilizando o postulado matemático que diz:
Cb = Cb-1 + 1
Logo:
C2 = C1 + 1
C2 = inversor e soma com 1
2.2.6- Subtrator de 4 bits em C2
Considerando Minuendo ≥ Subtraendo
Conforme já visto anteriormente, sempre vai ocorrer estouro quando for feita a
soma do minuendo com o complemento a 2 do subtraendo, estouro este que poderá ser
desprezado para representação do resultado da subtração.
Ex: 5 – 3 = 5 + C23 = R
M - S = M + C2S=R
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
Circuito este que obviamente pode ser simplificado para:
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
Considerando Minuendo < Subtraendo
Neste caso, jamais vai haver estouro e o resultado da soma do minuendo com o
complemento a 2 do subtraendo deve passar por novo complemento, se o objetivo for o de
se obter a real magnitude da subtração. (OBS: Em uma operação de subtração realizada
internamente no computador, o resultado é apresentado em SMC2, logo se o resultado é
negativo, ele vai permanecer complementado a 2).
* A figura abaixo tem um erro. Qual será ?
Considerando o caso geral
Observa-se que a diferença entre os circuitos acima, que tratam separadamente das
subtrações para M > S e M ≤ S, está na necessidade de efetuar o segundo complemento a 2
ou não. Esta situação é identificada a partir do fato de ter ou não ocorrido estouro.Um
circuito combinacional que atende a esta idéia de efetuar o complemento a 2 ou não a partir
de um determinado comando é o circuito True / Complement, onde a saída corresponde à
própria entrada ou ao complemento a 2 da mesma.
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
Aplicando a proposta do circuito True / Complement para o caso do subtrator genérico de 4
bits, chega-se ao seguinte circuito:
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
Ampliando esta idéia, pode-se construir o circuito de um somador / subtrator genérico, para
4 bits, operando em C2, com uma variável de controle para selecionar qual a operação que
se deseja realizar.
Y = 5º bit da soma ou sinal da
subtração
Pequenas lógicas internas:
C
0
0
1
1
C4
0
1
0
1
Cx
0
0
0
1
Y
0
1
1
0
Cx = C. C4 (Controle do segundo True / Complement)
Y = C ⊕ C4
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
2.2.7- Subtrator de 4 bits em C1
Seguindo a mesma linha de raciocínio adotada para a construção das diversas etapas do
subtrator em C2 e analisando a teoria de subtração com a técnica em C1, os diversos
circuitos de subtrator de 4 bits em C1 e somador / subtrator em C1 são os abaixo
apresentados.
Subtrator binário para 2 números de 4 bits, operando em C1 e considerando M > S.
(sempre vai ocorrer estouro, que deverá ser somado ao resultado)
Subtrator acima, considerando M ≤ S
* O Circuito abaixo tem um erro. Qual será ?
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
Subtrator geral de 4 bits em C1
Somador / subtrator genérico em C1.
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
2.2.8- ULA – Unidade Lógica e Aritmética
A ULA é um circuito lógico inteiramente combinacional (isto é, consiste em portas
sem realimentação e sem flip-flops)
Ela torna disponível em um único chip a realização de diferentes operações lógicas e
aritméticas, como soma, subtração, incremento, ou, e, ou-exclusivo, etc...
A operação de uma ULA típica (de 4 bits) é a seguinte:
A0, A1, A2, A3 e B0, B1, B2, B3 -> entradas
Cn -> carry de entrada (indica vai-um no nível 0)
M -> função lógica (1) ou aritmética (0)
F0, F1, F2, F3 -> saídas
Cn+4 -> carry de saída (indica se vai-um no nível 0)
S0, S1, S2, S3 -> seleção de função
Quando a unidade é utilizada para soma e a velocidade é importante, pode-se ligar
na unidade (ULA) a VUA (vai-um antecipado), normalmente aplicada em computadores de
grande porte. Esta adaptação com a VUA visa reduzir a séria limitação de velocidade que
resulta no fato de o vai-um ter que se propagar, em seqüência, através de um somador após
o outro. Para aumentar a velocidade dos somadores, aplica-se o princípio do vai-um
antecipado. Neste método, antecipa-se quando e onde um vai-um seria gerado e circuitos
adicionais são usados para gerar o vai-um mais diretamente do que através da propagação
do vai-um vindo de estágios anteriores.
2.3- Circuitos Conversores de Código
Freqüentemente, informação disponível em forma codificada deve ser traduzida
para um código diferente.
O circuito lógico que realiza esta tradução é chamado de conversor de código.
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
2.3.1- Apresentação de alguns códigos
De modo geral, os códigos podem ser classificados em:
Ponderados -> Peso
Ordenados
⇒ Códigos Ponderados:
a) Binário Natural ou código 8421
B3
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
B2
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
B1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
B0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
é a contagem natural em
binário
15
OBS: Existe a possibilidade de fazer a representação da um dígito decimal usando sempre
4 bits. Nesse caso, o código gerado é um caso específico do binário natural, já que com 4
bits não é possível representar os correspondentes decimais de 10 a 15, nem qualquer outro
acima destes. Este código é chamado BCD ou NBCD.
BCD – Decimal Codificado em Binário
1985
0001 1001 1000 0101
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
BCD em 8421 ou NBCD
8
0
0
0
0
0
0
0
0
1
1
0 0 0 1 0
4
0
0
0
0
1
1
1
1
0
0
0
2
0
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
0
1
0
0
Igual ao binário
natural
9
10
b) Outros códigos ponderados: 7421, 2421, 5211, etc...
-
o código 8421 é o único que não apresenta multiplicidade de solução para
um mesmo número.
Ex:
4
0
0
0
0
0
1
0
1
0
3
0
0
0
1
0
0
1
0
1
2
0
0
1
0
1
0
0
0
1
1
0
1
0
0
1
0
1
1
0
3
4
5
⇒ Códigos Ordenados:
c) Códigos Gray
-
a principal característica é que de um nº a outro (anterior ou posterior)
apenas varia um bit.
No código Gray, os 2 primeiros correspondentes decimais a zero e um são
representados normalmente. Os dois nos seguintes, são expressos do seguinte
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
modo: um “espelho” representado por uma linha tracejada é colocada debaixo
dos primeiros 2 bits, gerando uma reflexão destes. Depois o dígito 0 é
acrescentado acima do espelho e o dígito 1 é acrescentado abaixo do espelho e
assim sucessivamente.
Gray Natural
0 0 0 0
0 0 0 1
0 0 1 1
0 0 1 0
0 1 1 0
0 1 1 1
0 1 0 1
0 1 0 0
1 1 0 0
1 1 0 1
1 1 1 1
1 1 1 0
1 0 1 0
1 0 1 1
1 0 0 1
1 0 0 0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
0
0
0
0
0
0
0
1
1
Gray BCD
0
0
0
0
0
1
0
1
1
1
1
1
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
0
0
1
Mapa de Karnaugh para Gray Natural
O código Gray é o código utilizado para construção do Mapa de Karnaugh e é
por este motivo que quando a numeração dos quadrículos no Mapa, é feita
através do código binário, ela não segue uma seqüência correta. Já, se a
numeração fosse realizada utilizando o código Gray, os quadrículos seriam
numerados seqüencialmente, conforme pode ser observado abaixo:
00
01
11
10
00
0
1
2
3
01
7
6
5
4
11
8
9
10
11
10
15
14
13
12
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
d) Código excesso 3 – Ex-3 NBCD
-
é a transformação do nº decimal no binário correspondente, somando-se a
este três unidades.
N
0
0
0
0
0
0
0
0
1
1
B
0
0
0
0
1
1
1
1
0
0
C
0
0
1
1
0
0
1
1
0
0
D
0
1
0
1
0
1
0
1
0
1
0
1
2
3
4
5
6
7
8
9
Ex-3 NBCD
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
É interessante por 2 motivos:
- Porque não aparece 0000 e 1111, que podem ser confundidos com linha aberta,
ou curto-circuito.
- é auto-complementar a 9.
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
2.3.2- Exemplo de Conversores de código
Ex: 1) Projete um conversor de NBCD -> Gray BCD
B3
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
NBCD
B2 B1
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
B0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Gray BCD
G3 G2 G1 G0
0 0 0 0
0 0 0 1
0 0 1 1
0 0 1 0
0 1 1 0
0 1 1 1
0 1 0 1
0 1 0 0
1 1 0 0
1 1 0 1
irrelevantes
G3 = B3
G2 = B3 + B2
G1 = B2 ⊕ B1
G0 = B1 ⊕ B0
G3 00 01 11 10
00
X 1
01
X 1
11
X X
10
X X
G2 00 01 11 10
00
1 X 1
01
1 X 1
11
1 X X
10
1 X X
G1 00 01 11 10
00
1 X
01
1 X
11 1
X X
10 1
X X
G0 00 01 11 10
00
X
01 1 1 X 1
11
X X
10 1 1 X X
2) Projetar um conversor de Gray BCD para NBCD
Gray BCD
G3 G2 G1 G0
0 0 0 0
0 0 0 1
0 0 1 1
0 0 1 0
0 1 1 0
0 1 1 1
0 1 0 1
0 1 0 0
1 1 0 0
1 1 0 1
B3
0
0
0
0
0
0
0
0
1
1
NBCD
B2 B1
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
0 0
0 0
B3 = G3
B0
0
1
0
1
0
1
0
1
0
1
B2 = G3 ⊕ G2
ou
B2 = G3 G2 -> sem usar
o irrelevante
B2 00 01 11 10
00
1
X
01
1
X
11
1 X X
10
1 X X
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
B1 00 01 11 10
00
1
X
01
1
X
11 1
X X
10 1
X X
B1 = G2 G1 + G3 G2 G1
B1 = G3 G2 G1 + G3 G2 G1 = G3 (G2 ⊕ G1)
Sem usar o irrelevante
Os irrelevantes agora são a continuação da tabela GRAY
B0 00 01 11 10
00
1
X
01 1
1 X
11
1 X X
10 1
X X
B0 = G3 ⊕ G2 ⊕ G1 ⊕ G0
(todas as posições com nº ímpar de variáveis _______ )
3) Projetar um conversor GRAY ⇔ NBCD selecionável.
Arbitrar que
C = 0 -> converte de GRAY para BCD
C = 1 -> converte de BCD para GRAY
C
Y3
Y2
Y1
Y0
X3
X2
X1
X0
B3 = G3 ∴ X3 = Y3
B2 00 01 11 10
00
1
X
01
1
X
11
1 X X
10
1 X X
G2 00 01 11 10
00
1 X 1
01
1 X 1
11
1 X X
10
1 X X
B1 00 01 11 10
00
1
X
01
1
X
11 1
X X
10 1
X X
B0 00 01 11 10
00
1
X
01 1
1 X
11
1 X X
10 1
X X
G1 00 01 11 10
00
1 X
01
1 X
11 1
X X
10 1
X X
G0 00 01 11 10
00
X
01 1 1 X 1
11
X X
10 1 1 X X
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
X2 = Y3Y2 + Y3Y2
X1 = Y3Y2Y1 + Y3Y2Y1
X2 = Y2 ⊕ Y3
X1 = Y3 (Y1 ⊕ Y2)
B0 = G3 ⊕ G2 ⊕ G1 ⊕ G0
G0 = B1 ⊕ B0
X0 = (Y1 ⊕ Y0)C + (Y3 ⊕ Y2
⊕ Y1 ⊕ Y0)C
X0 = Y1 ⊕ Y0 ⊕ (Y3 ⊕ Y2)C
X3
Y3
X2
Y2
Y1
X1
Y0
X0
C
Outra solução mais simples para X0:
C Y3 Y2 Y1 Y0
X0
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
4) Conversor BCD para 7 segmentos
Utilização do Decoder/Driver – 9368 e do Display de 7 segmentos
FND 500
FND 560
A
Display de 7 segmentos:
F
E
-
G
D
B
C
Geralmente cada filamento é um LED.
Só conduz quando polarizado diretamente
Conversor BCD/7 segmentos
Cada segmento do display
O projeto do conversor BCD para 7 segmentos é objeto de exercício para o aluno.
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
2.4- Codificadores / Decodificadores
São circuitos que efetuam a passagem de um determinado código para outro assim como os
conversores de código, porém eles possuem características específicas.
2.4.1- Decodificadores
Os decodificadores constituem um tipo de conversor de código que apresentam a
característica de que para cada entrada, somente uma saída é ativada. Isto significa que uma
das saídas sempre será diferenciada das outras. (Ex.: uma saída estará em nível lógico 1 e as
outras estarão em 0, ou vice-versa).
O decodificador é composto apenas por portas AND, se cada saída for ativada através de
nível lógico 1.
Decodificador 1 alto de N (endereçados)
Este circuito possui N saídas, das quais uma (a selecionada) sempre em 1 (nível lógico alto)
e as demais em 0 (nível lógico baixo).
Ex.: 1 alto de 2
C
0
1
X1 X0
0 1
1 0
1
=C
0
=C
x
x
Ex.: 1 alto de 4
C1 C0 X3 X2 X1 X0
0 0 0 0 0 1
0 1 0 0 1 0
1 0 0 1 0 0
1 1 1 0 0 0
Para facilitar, o endereçamento é feito para a variável de número igual ao valor de controle.
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
Ex.: C1C0 à 10 (=2) — endereça a saída X2.
0
= c1.c
1
= c1.c0
2
= c1 .c0
3
= c1 . c0
x
x
x
x
0
0
1
10
Decoder 7442 — trabalha de forma análoga porém inversa. Trata-se de um
decodificador 1 baixo de 10, a saída é endereçada através de um zero.
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
2.4.2- Codificadores
Os codificadores executam a função inversa em relação aos decodificadores; isto é, operam
com códigos de entrada que têm a característica de, em qualquer momento, apresentar uma
entrada com nível lógico diferente de todas as demais.
Muitas vezes as entradas de um codificador são as saídas de um decodificador.
Ex.: (arbitrariamente)
I0 I1 I2 A3
1
1
1
0
1 1
A2
1
1
0
A1
0
0
1
A0
1
1
1
Considerando que o código de entrada acima, só tem cada variável verdadeira em uma
única situação e todas as demais combinações em que esta variável pudesse ser verdadeira
são irrelevantes (já que não existem), as funções de saída poderão ser constituídas apenas
por portas OU, como apresentado abaixo:
A3c = I0c + I2C
A2c = I0c + I1c
A1c = I2c
A0c = I0c + I1c + I2c
2.4.3- Conversor de Código a partir de Decodificador/Codificador
Uma outra maneira de se gerar um conversor de código, sem seguir os passos de um
circuito combinacional padrão, é fazendo uma associação de decodificador com
codificador.
Neste caso, em uma conversão de um código A para um outro código B, escolhe-se um
código intermediário C, onde apenas uma variável seja diferenciada das demais, a cada
instante, que fará o papel de decodificador, de A para C e de codificador de C para B.
Se o código C escolhido tiver apenas uma variável verdadeira, a cada instante, o circuito
será constituído de um conjunto de and’s (decodificador) associado a um conjunto de or’s
(codificador).
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
2.5- Multiplexadores / Demultiplexadores
2.5.1- Multiplexadores
Os multiplexadores são circuitos que podem ser aplicados de duas maneiras distintas:
• Como seletores de canal
• Como geradores de função
2.5.1.1- Mux como Seletor de Canal
O multiplexador, como seletor de canal, é utilizado para selecionar dentre várias
entradas uma para ser ligada à saída.
Uma chave de n posições controlável que permite a passagem de somente uma entrada
para a saída representa bem a função do multiplexador: (Ex.: seletor de canal de
televisões antigas).
I
.
.
.
I
8
SELEÇÃO
Estrutura lógica de um MUX de 2 canais por 1 linha:
0 è X=A0
Ch
1 è X=A1
A1 A0 Ch X
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
A1 A0
00
Ch
0
1
X
=
01
10
11
1 1
1 1
A0 .Ch + A1 . Ch
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
Estrutura lógica de um MUX 4 canais por 1 linha.
4 entradas
requerem 2
bits para
selecionar
Estrutura lógica de um MUX 4 canais por 2 linhas – MUX 4 x 2
(utilizado para um endereçamento de palavras com n bits — no caso a seguir,
n=2 —, palavra esta situada em um único endereço).
S1 S0
0 0
0 1
1 0
1 1
B0
B1
B2
B3
A0
A1
A2
A3
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
Estrutura lógica de um MUX 16 canais por 1 linha (a partir de MUX’s 4x1)
Canais
0a3
Servirão como entradas de seleção
mais significativas (S3 S2)
678
Canais
4a7
Canais
8 a 11
Y= A0 à S3S2S1S0 = 0000
Y= X2 à S3S2S1S0 = 1000 (canal 8)
Canais
12 a 15
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
MUX 4x1 (74153 do laboratório)
(efetivamente sua construção é de um MUX 4x2)
•
1G e 2G
•
•
terminais de controle —
ENABLE (habilita).
Ativas quando em baixa.
Permite saída tri-state.
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
2.5.1.2- Mux como Gerador de Função
O Multiplexador pode ser usado não só para selecionar uma linha dentre um número de
linhas, mas também para gerar uma função lógica arbitrária de “variáveis
selecionáveis”.
Ou seja, pode ser utilizado para montar qualquer circuito combinacional. Para isto,
basta gerar a tabela verdade do circuito que se deseja.
Voltando ao MUX original 4x1
G0
G1
G2
G3
Supondo que não existissem as linhas de entrada I0 – I3. neste caso as linhas de
entrada de seleção das portas AND seriam exatamente as necessárias para gerar
todos os mintermos das variáveis S1S0.
A porta G0 gera m0 ( S 1.S 0 ), a porta G1 gera m1 ( S 1. S 0 ), etc. Pensando agora nas
entradas I0,... , I3 como entradas habilitadoras.
Se I0=0 a saída de G0 será 0 independente de S0 e S1, no entanto se I0=1, a saída G0 será
igual a S 1.S 0 e assim sucessivamente.
Assim, as quatro portas AND habilitadas pelas entradas correspondentes I0, ..., I3 geram
os quatro mintermos das variáveis de seleção e a saída lógica é a soma lógica dos
mintermos selecionados.
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
Ex: Gerar com um MUX 8x1, a função
W = B.C. + A.B.C + A.B.C
W = B.C.( A + A) + A.B.C + A.B.C
W = AB.C. + ABC + A.B.C + A.B.C
{
{
{
{
m7
m3
m2
m4
Com um MUX 8x1 (formado a partir de 4x1’s)
W=
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
Pensando nas variáveis B e C como entradas de seleção e A como uma variável livre, é
possível gerar a mesma função W a partir de um MUX 4 x 1.
Centro Tecnológico
Escola de Engenharia
Departamento de Engenharia de Telecomunicações
Técnicas Digitais I / Circuitos Digitais
2.5.2- Demultiplexadores
O DEMUX proporciona o direcionamento de um dado de entrada para a entre n linhas
de saída.
Demux 1x4
Situação que serve como
exemplo:
5 linhas telefônicas; de
acordo com o endereço
selecionado a origem vai
se interligar com 1 dos 4
destinatários.
A estrutura é similar a de um decodificador com a modificação que cada porta tem uma
entrada adicional, que é a mesma para todas as portas.
Dependendo do endereço requerido pelos bits de endereço S1S0, o dado de entrada será
dirigido a um ou outro destino.
Filosoficamente, o decodificador e o DEMUX são bem diferentes, já que o primeiro
tem como objetivo principal distinguir uma saída das demais, enquanto que o último,
objetiva direcionar o dado de entrada para uma das saídas, permitindo inclusive, que
todas as saídas tenham o mesmo valor lógico.