Buscar

circuitos combinacionais

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Sistemas Digitais
Aula 07: Circuitos combinacionais dedicados
Apresentação
Estudaremos os codi�cadores e os decodi�cadores, que são circuitos combinacionais de média escala de integração de
uso geral. Além deles, veremos outros circuitos combinacionais, capazes de realizar operações aritméticas de adição e
subtração.
 
Veremos ainda um dos principais componentes de uma Unidade Central de Processamento (CPU, em inglês) de um
computador moderno, a Unidade Lógico e Aritmética (ULA), que é um circuito combinacional.
Objetivos
Descrever os codi�cadores e os decodi�cadores com exemplos;
Explicar a representação de números inteiros em binários;
Identi�car o somador e o subtrator completos.
O que são codi�cadores e decodi�cadores?
Os codi�cadores são circuitos combinacionais que recebem sinais brutos, um conjunto de sinais distintos com semântica
correlacionada, e transformam esses sinais em um código.
Exemplo
O exemplo clássico de codi�cador é o responsável por receber os sinais de dez teclas rotuladas de 0 até 9 e codi�car esse
sinal em BCD. Veremos esse codi�cador mais à frente.
Um decodi�cador é um circuito combinacional dedicado que recebe uma informação codi�cada e transforma essa
informação em um conjunto de sinais brutos com semântica correlacionada.
A melhor forma de entender a função de um decodi�cador é por meio de um exemplo. Mais à frente, estudaremos o
decodi�cador para display de sete segmentos. Acompanhe.
Codi�cadores
Já mencionamos o codi�cador decimal, que é aquele que
recebe os sinais de dez teclas rotuladas de 0 até 9 e os
codi�ca em BCD. Esquematicamente, é representado pela
�gura 1.
Figura 1 – Codificador decimal – BCD | Fonte: Elaborada pelo autor, 2020
Veja a seguir a tabela de funcionamento simpli�cada desse codi�cador (tabela 1). Observe que, como são dez entradas
distintas, se fossemos construir a tabela verdade completa, teríamos 1024 linhas = 2 .10
As dez linhas representadas na tabela indicam o
comportamento do codi�cador. Todas as outras 1014
linhas não são relavantes, uma vez que, apertar
simultâneamente duas ou mais teclas, é um
comportamento completamente anômalo.
Deixaremos de apresentar o circuito desse codi�cador
porque a manipulação de dez variáveis é complexa.
Comercialmente, ele é vendido na família de circuitos
integrados TTL, como 74147, cujo circuito interno é o da
�gura 2
Figura 2 – Codificador 74147 | Fonte: TEXAS INSTRUMENTS, 2004
Figura 2 – Codificador 74147 | Fonte: TEXAS INSTRUMENTS, 2004.
Uma família de codi�cadores é de particular interesse.
Trata-se da família dos transcodi�cadores. Um
transcodi�cador é um codi�cador que traduz um código
em outro. Por exemplo, pode ser útil transcodi�car um
código Gray de três bits em um binário de 3 bits. A
especi�cação do transcodi�cador é uma tabela com os
códigos de entrada e de saída. No caso do exemplo que
estamos tratando, a tabela 2 mostra a transcodi�cação.
O próximo passo é projetar os circuitos combinacionais equivalentes às funções F1, F2 e F3. A função F1 é trivial. A coluna
F1 é igual à coluna A, assim 𝐹=𝐴. F2 e F3 precisam ser analisadas, logo, vamos aos mapas. Mapa 1 e mapa 2 de F2 e F3
respectivamente:
Atenção
Devemos ter certo cuidado no preenchimento dos mapas 1 e 2. Observe que a tabela verdade do transcodi�cador não
está preenchida na ordem usual, assim, o preenchimento do mapa tem de ser feito pela interpretação cuidadosa de cada
linha. Por exemplo, na linha 5 (A=1, B=1, C=0), F2 tem valor 0 e F3 também. Esses valores devem ser colocados
convenientemente nos mapas. A ordem foi destacada colorindo-se as linhas.
Fazendo a leitura dos mapas, temos: . Pela metodologia que
vimos, o próximo passo seria a composição de portas para desenho do esquema elétrico. Mas vamos observar as
funções F2 e F3 um pouco melhor.
 
A função F2 é 𝐹2=𝐴⨁𝐵. Manipulando algebricamente F3, temos: 𝐹3=𝐶(  +𝐴𝐵)+ . Vamos relembrar
que: 𝐴⨁𝐵= +  e que 𝐴⨀𝐵= +𝐴𝐵 e que . Por essa razão, 𝐹3=𝐶(𝐴⨀𝐵)+ (𝐴⨁𝐵)=𝐶(
)+ (𝐴⨁𝐵)=𝐴⨁𝐵⨁𝐶. Simpli�cando muito o hardware do transcodi�cador (�gura 3), temos:
F2 = B +  AB e F3 = C +  ABC + A   Ā̄̄ AB¯ ¯¯̄¯ BC¯ ¯¯̄¯
AB¯ ¯¯̄¯  ( B  +  A )C̄̄̄ Ā̄̄ B̄̄̄
BĀ̄̄ AB̄̄̄ AB¯ ¯¯̄¯ = A ⊙ BA ⊕ B¯ ¯¯̄ ¯̄ ¯̄¯ C̄̄̄ A ⊕ B¯ ¯¯̄ ¯̄ ¯̄¯
C
 Figura 3 – Hardware do transcodificador | Fonte: Elaborada pelo autor, 2020
Atenção
Observe que o cálculo de 𝐴⨁𝐵 foi reaproveitado para o cálculo de F3. Isso é desejável sempre que possível, uma vez que
diminui a quantidade de portas lógicas envolvidas no circuito.
Decodi�cadores
 Figura 4 – Display de sete segmentos | Fonte: KINGBRIGHT, 2019
Voltemos ao decodi�cador para display de sete segmentos. Ele é um arranjo de Diodos Emissores de Luz (LEDs, Light
Emitting Diodes, em inglês). Por meio do acendimento de um subconjunto desses LEDs, podemos visualizar um dígito
numérico. A �gura 4 ilustra um display de sete segmentos.
A ideia do decodi�cador é simples, receber o dígito
codi�cado em BCD e acender os segmentos do display
para formar a imagem do dígito. Por exemplo, ao receber
0000, zero em BCD, deverão ser acionados (vão acender)
os segmentos a, b, c, d, e, f. A tabela 3 ilustra o
funcionamento do arranjo.
Transformando as sete saídas em mapas de Karnaugh e resolvendo-os, temos o circuito a seguir (�gura 5):
 Figura 5 – Decodificador de sete segmentos (7448) | Fonte: MOTOROLA, s. d.
Circuitos aritméticos
Para entendermos bem o funcionamento dos circuitos aritméticos, precisamos entender como realizar as operações
aritméticas sem usar sinais (+ ou –). Lembre-se de que só é possível representar em um circuito combinacional os sinais
elétricos alto e baixo, 0 ou 1, por convenção.
Como primeiro passo, veremos a soma em base 10, aquela que
aprendemos na nossa alfabetização. Vejamos um exemplo:
Aprendemos que a soma é feita do dígito menos
signi�cativo para o mais signi�cativo, aplicando a
tabuada da soma. Quando a soma de dois dígitos excede
dez, aplicamos o artifício de vai um para o próximo dígito.
Na �gura 6, a soma dos dois primeiros dígitos é 2 + 9 =
11; assim, o resultado, para o primeiro dígito, é 1 vai 1. Os
próximos dígitos somados são 1 + 7 + 2 = 10, ou seja 0
vai 1.
 
Se tivéssemos uma máquina de somar dígito a dígito, a
máquina teria como entrada o vem 1, o dígito da primeira
parcela e o dígito da segunda parcela, isto é, três
entradas; e, como saída, o dígito do resultado da soma e o
vai 1.
 
Em base 2, aplicamos o mesmo algoritmo, o que muda é
a tabuada. A tabela 4 é a tabuada da soma em base 2.
Chamamos de carry in (vem 1) e carry out (vai 1).
Para projetar um circuito capaz de realizar a soma de dois bits, precisamos projetar dois circuitos combinacionais. O
primeiro calcula a soma e o segundo o carry out. Os mapas 3 e 4 minimizam as expressões lógicas.
A leitura do mapa 3 é . Manipulando algebricamente: 
 
A leitura do mapa 4 é 𝐶𝑜=𝐵𝐶+𝐴𝐵+𝐴𝐶. Manipulando algebricamente, temos:
S = C + B + ABC + BA
−
B
−
A
−
C
−
A
−
C
−
 S = C( + AB) + ( + A  ) = A ⊕ B ⊕ C.AB¯ ¯¯̄¯ C̄̄̄ AB¯ ¯¯̄¯ B̄̄̄
𝐶𝑜=𝐴𝐵+𝐶(𝐴+𝐵)
𝐶𝑜=𝐴𝐵+𝐶(𝐴+ B)
𝐶𝑜=𝐴𝐵+𝐶𝐴+𝐶 B
𝐶𝑜=𝐴(𝐵+𝐶)+𝐶 B
𝐶𝑜=𝐴(𝐵+ C)+𝐶 B
𝐶𝑜=𝐴𝐵+𝐴 C+ B𝐶
𝐶𝑜=𝐴𝐵+𝐶(𝐴 + B)
Ā̄̄
Ā̄̄
Ā̄̄
B̄̄̄ Ā̄̄
B̄̄̄ Ā̄̄
B̄̄̄ Ā̄̄
𝐶𝑜=𝐴𝐵+𝐶(𝐴⨁𝐵)
A manipulação algébrica resulta em um circuito mais
simples. A �gura 7 é o esquema elétrico desse circuito
chamado de Somador completo bit slice. Figura 7 – Somador completo bit slice | Fonte: Elaborada pelo autor, 2020
Usamos o somador completo bit slice para somar uma quantidade arbitrária de bits. Por exemplo, para somar dois
números de quatro bits, empregamos quatro somadores bit slice conforme a �gura 8. A unidade da direita soma os bits
menos signi�cativos.
 Figura 8 – Somador de 4 bits empregando somadores bit slice | Fonte: Elaborada pelo autor, 2020
Subtração
O processo do cálculo da subtração é semelhante ao da soma. O algoritmo é executado do dígito menos signi�cativo para
o mais signi�cativo,subtraindo, dígito a dígito, conforme a tabuada da subtração. Vejamos um exemplo na �gura 9.
O exemplo da �gura 9 ilustra o principal problema do algoritmo de
subtração, o pedir emprestado. Observe que, logo no primeiro dígito, não
é possível efetuar a subtração 0 – 2, assim, é necessário pedir
emprestado ao próximo dígito da subtração, e este efeito é cascateável,
isto é, propaga-se ao longo do número. O pedir emprestado propagável é
um complicador no projeto do subtrator. A questão é: Existe forma de
realizar a subtração sem o pedir emprestado? Resposta: Sim, veremos
como.
Analisemos a subtração da �gura 10. O resultado desta
operação é o mesmo da operação realizada na �gura 9,
exceto 10000, isto é, 10058 em vez de 58. Figura 10 – Subtração | Fonte: Elaborada pelo autor, 2020.
Figura 11 – Subtração | Fonte: Elaborada pelo autor, 2020.
Se escrevermos 10000 como 9999 + 1, a operação é
reescrita como na �gura 11.
Observe que, se realizarmos a subtração de 9999-942,
não precisaremos pedir emprestado. Assim, o circuito que
realizará essa operação torna-se muito mais simples e a
subtração transforma-se na soma da �gura 12.
Figura 12 – Subtração transformada em soma | Fonte: Elaborada pelo autor, 2020.
Figura 13 – Subtração de 26 – 19 = 7 | Fonte: Elaborada pelo autor, 2020.
Desprezando-se os 10000 em excesso, temos o resultado
desejado, 58, sem necessitar do pedir emprestado.
Veremos como isso funciona em base 2. Veremos a
subtração dos binários da �gura 13.
Aplicando-se o raciocínio análogo, temos a subtração da
�gura 14.
Figura 14 – Transformação da subtração | Fonte: Elaborada pelo autor, 2020.
Figura 15 – Subtração transformada em soma | Fonte: Elaborada pelo autor, 2020
Vejamos agora a subtração 11111 – 10011 = 01100.
Observe que ela é equivalente a negar os dígitos de
10011. Assim, a execução é simples, pois basta passar os
dígitos em um inversor. Agora, a subtração transformou-
se na soma da �gura 15.
Assim, o resultado da subtração é 00111 com excesso 100000, conforme ocorreu em base 10. Esse resultado mostra que
o circuito do subtrator é o mesmo do somador, acrescentando somente um inversor em uma das entradas. A �gura 16
mostra um subtrator de 4 bits. A unidade somadora da direita subtrai o bit menos signi�cativo. Observe que usamos o
carry in do bit menos signi�cativo para incluir a parcela extra do 1. Por isso, o carry in do bit menos signi�cativo é
conectado em Vcc.
 Figura 16 – Subtrator de 4 bits, calcula B-A | Fonte: Elaborada pelo autor, 2020
O uso do somador como subtrator é muito e�ciente. Temos um único hardware capaz de executar as operações de soma
e subtração. Por isso, utilizamos o método descrito como forma de representar números inteiros negativos. Essa forma de
representação chama-se complemento a dois e consiste do que �zemos com o subtraendo para realizar a subtração. Isto
é, para representar um número em complemento a dois, negamos seus bits e somamos uma unidade.
Atenção
Uma observação importante é que essa forma de representação só é válida para uma quantidade de bits �xa, de�nida
previamente. Por exemplo: com 8 bits, o número 53 é representado 00110101. O número –53 é presentado 11001010 + 1
= 11001011.
Atenção
Outra observação importante é que o bit mais signi�cativo na representação em complemento a dois indica o sinal do
número. Assim, todo número com o MSB igual a um é negativo. Por exemplo: 11100101 é um número negativo. Para
determinar o valor dele em módulo, fazemos o processo de complementação a dois, isto é, negamos seus bits e
somamos um. Para o exemplo, Not (11100101) = 00011010 + 1 = 00011011 = 51. Assim 11100101 representa o número
–51.
O coroamento do estudo dos circuitos combinacionais é o projeto de uma Unidade Lógica e Aritmética Bit Slice (ULA).
Esta unidade é capaz de realizar as operações: AND, OR, NOT e soma. A �gura 17 ilustra o circuito.
 Figura 17 – Unidade Lógica Aritmética bit slice | Fonte: TANENBAUM, 2007
Na �gura 17, vemos os principais módulos de uma ULA. Temos o
decodi�cador de função, que recebe dois bits F e F , que determinam a
operação que será realizada: 00 – AND, 01 – OR, 10 – NOT e 11 – Soma.
As entradas são A e B. Existe um sinal de controle INVA responsável por
inverter o bit de entrada A e, assim, implementar o subtrator bit slice, o
vai um e vem um, assim como os sinais de controle para habilitar a
entrada dos bits A e B.
0 1
Atividades
1- Usando um decodi�cador de 4-16, encontre as três funções lógicas NrANrB, em função das saídas do decodi�cador,
que compare dois números de 2 bits, representados pelos bits NrA = A,B e NrB = C,D de entrada do decodi�cador. Lembre-
se de que A é o bit mais signi�cativo de entrada.
2- A soma de dois números positivos não pode dar como resultado um número negativo, assim como a soma de dois
números negativos não pode resultar em um positivo. Esta situação, quando ocorre, caracteriza um over�ow, isto é, um
resultado anormal que o hardware não consegue manipular. Considerando o arranjo somador de 4 bits, composto pelo
cascateamento de quatro somadores bit slice, encontre a expressão canônica mínima da funcionalidade que veri�ca o
over�ow, isto é, quando a soma de dois números positivou ou de dois números negativos apresentam resultado anômalo
descrito.
Notas
CNE 1
Conselho Nacional de Educação.
Título modal 1
Lorem Ipsum é simplesmente uma simulação de texto da indústria tipográ�ca e de impressos. Lorem Ipsum é simplesmente
uma simulação de texto da indústria tipográ�ca e de impressos. Lorem Ipsum é simplesmente uma simulação de texto da
indústria tipográ�ca e de impressos.
Referências
MALVINO, A.; BATES, D. Eletrônica. 8. ed. Porto Alegre: AMGH, 2016. v. 1.
MOTOROLA. BCD to 7-segment decoder: logic diagram. [s. d.]. Disponível em:
https://docs.google.com/document/d/15myZNZBeITp4YB6AKQUNHGyRM6d28ipzLxxl9n-LJGM/edit.
<https://docs.google.com/document/d/15myZNZBeITp4YB6AKQUNHGyRM6d28ipzLxxl9n-LJGM/edit. > . Acesso em: 21 jul.
2020.
TANENBAUM, A. S. Organização estruturada de computadores. 5. ed. São Paulo: Pearson Prentice Hall, 2007.
TEXAS INSTRUMENTS. Encoder: 54147 Datasheet. 2004. Disponível em: https://datasheetspdf.com/datasheet/54147.html.
<https://datasheetspdf.com/datasheet/54147.html.> Acesso em: 21 jul. 2020.
TOKHEIM, R. Fundamentos de eletrônica digital: sistemas combinacionais. 7. ed. Porto Alegre: AMGH, 2013. v. 1. (Série Tekne)
Próxima aula
Estudo de circuitos sequenciais
Explore mais
Leia o livro O básico sobre eletrônica digital
O básico sobre eletrônica digital 
 https://www.newtoncbraga.com.br/livros/livro5_ncb_mouser.pdf
https://docs.google.com/document/d/15myZNZBeITp4YB6AKQUNHGyRM6d28ipzLxxl9n-LJGM/edit.
https://datasheetspdf.com/datasheet/54147.html.
javascript:void(0);

Continue navegando