You are on page 1of 19

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE

DEPARTAMENTO DE ENGENHARIA DE COMPUTAO E


AUTOMAO - DCA

LISTA DE EXERCCIOS
CIRCUITOS DIGITAIS

ELDER SANTOS SILVA


2015013591

NATAL-RN, 2017
Lista de questes feitas

Q1 Q10 Q19

Q2 Q11 Q23

Q3 Q12 Q24

Q4 Q13 Q25

Q5 Q14 Q26

Q6 Q15 Q36

Q7 Q16 Q37

Q8 Q17 Q38

Q9 Q18
Q1. No registrador de carga paralela, quando o load for 0, a sada mantm seu
valor anterior, j quando o load for 1, a sada receber o valor atual da entrada.
Alm disso, quando o clear for 1, a sada ser zero independentemente de
qualquer outro valor. Vale tambm salientar que os valores do load e do clear s
sero passados adiante para o registrador na subida do clock.

Q2. Criando registrador em 4 passos:


1. Determinar tamanho do MUX de acordo com o nmero de operaes:
problema define um MUX 4x1 que realiza 4 operaes;

2. Criar tabela de operao do MUX: codificar cada operao com um valor


de S0 e S1.
S1 S0 Operao
0 0 Manter valor presente
0 1 Carregar entradas
1 0 Apresentar 0000
1 1 Apresentar complemento do registro atual

3. Conectar entradas do MUX: consiste em conectar as entradas dos MUXs


adequadamente aos flip-flops do registrador, de modo que os seletores,
compartilhados entre os MUXs, determinem qual entrada passar para
sada.
4. Linhas de mapa de controle: consiste em mapear cada operao do
registrador, que equivale a uma combinao de S0 e S1, com uma
entrada externa ao MUX especfica para realizao de tal operao.

Entradas Sadas
CLR CMPLT LOAD S1 S0 Operao
0 0 0 0 0 Manter valor presente
0 0 1 0 1 Carregar entradas
1 X X 1 0 Apresentar 0000
0 1 X 1 1 Apresentar complemento do registro atual

Lgica combinacional dos seletores:


S0 = CLR*CMPLT*LOAD + CLR*CMPLT
S1 = CLR + CLR*CMPLT

Q3. Projetando o sistema:

1. Escolher tamanho do MUX que ficar na frente de cada flip-flop:


a. Como o sistema simples e realiza apenas as operaes de salvar
e manter valor presente, um MUX 2x1 o suficiente.
2. Criar tabela de operao do MUX:

Seja L0 o seletor do MUX, temos a seguinte tabela de operaes:

L0 Operao
0 Manter valor presente
1 Salvar
3. Conectando as entradas dos MUXs com os flip-flops e montando
circuito:
4. Criando linhas de mapa de controle:

Entradas Sadas
R S L0 Operao
1 X 0 Manter valor presente
0 1 1 Carregar entradas

Lgica do circuito combinacional:

L0 = R*S

Q4.

Breve explicao do funcionamento: o sistema possui uma entrada de 8 bits I


que ser carregada em trs registradores (Ra, Rb e Rc) quando as respectivas
entradas La, Lb e/ou Lc forem 1 e a entrada R for 0. Quando R for 1, o MUX
permitir a passagem da entrada I1 e os registradores carregaro a sada do seu
vizinho que se encontra esquerda do seguinte modo: Ra = Rb, Rb = Rc, Rc =
Ra. A entrada R possui prioridade sobre as entradas La, Lb e Lc, pois quando R
for 1, no importa o valor de L, o registrador sempre carregar a sada do vizinho.
Q5. Somando a = 111 com b = 011:

Num intervalo de 2ns, um somador completo (FA) realiza a operao de soma


dos bits (a, b e ci), propaga o resultado s quase que imediatamente e, com um
pouco de delay, propaga tambm o valor do carry on. Ento, como temos um
somador para cada bit do nmero (3, neste caso), precisa-se de 3 ciclos de soma
para que os carries se propaguem adequadamente, chegando at as entradas
ci, e o resultado seja correto.

Q6. AND = 2ns, OR = 1ns, XOR = 3ns

Para somar cada bit dos dois nmeros a e b de 8 bits


necessrio um somador como esse da figura. Neste caso,
considerando os atrasos descritos acima, temos a seguinte
situao: todos os bits das entradas a e b chegam no
somador imediatamente, ento, passam pelas portas lgicas e chegam s
sadas co e s com 3ns de atraso. No entanto, a entrada ci vem da sada co
do somador do bit anterior, portanto demora 3ns para poder chegar, gerando um
atraso adicional em cada somador, exceto no primeiro cuja entrada ci zero.
Seguindo esse raciocnio, temos:
3ns * 8 somadores = 24ns para realizar a soma corretamente.

Q7.

Basta cascatear 3 somadores de 4 bits, ligando a sada co de um na entrada


ci do prximo. Lembrando que, internamente, cada somador de 4 bits
formado por 4 somadores completos de 1 bit cada, por isso, como precisa-se
somar apenas 10 bits, os somadores de ndices 10 e 11 no sero utilizados,
fazendo com que a sada co seja deslocada para uma posio aps a ltima
sada de soma s, neste caso, s10. Basta lembrar do funcionamento individual
de cada somador interno que forma os somadores de 4 bits.

Q8.
A temperatura T de 8
bits, que sai do sensor,
entra no somador e
compensada (somada)
de acordo com o valor
desejado, atravs do
acionamento das chaves
a, b e c.
Q9.

O primeiro comparador vai comparar os dois primeiros nmeros de 4 bits. Se


eles forem iguais, as sadas AgtB, AeqB e AltB sero, respectivamente, 0 1
0 e entraram nas entradas Igt, Ieq e Ilt do segundo comparador, forando,
assim, a comparao entre o primeiro (ou segundo, so iguais) nmero e o
terceiro nmero. Se as sadas do segundo comparador tambm forem 0 1 0,
significa que os trs nmeros so iguais.

Q10.

*OBS: sada gte = 1 e lte = 1 indica que os nmeros so iguais.


Equaes dos comparadores de 1 bit:
out_gte = (in_gte * in_lte) + ((in_gte * in_lte) * ((a * b) + (a XNOR b)))
out_lte = (in_gte * in_lte) + ((in_gte * in_lte) * ((a * b) + (a XNOR b)))

Raciocnio:
Cada comparador individual (estgio) deve, primeiramente, levar em
considerao a comparao do estgio anterior. Se a sada da comparao do
estgio anterior for out_gte = 1 e out_lte = 1, indicando que o par de bits igual,
ento deve-se comparar os valores de a e b atuais. Caso contrrio, se o estgio
anterior indicar que existe um valor maior que o outro (out_gte = 1 e out_lte = 0,
por exemplo), esta sada da comparao deve se propagar at o final do
comparador, independentemente dos demais bits que estavam esperando para
serem comparados.
Q11.

Raciocnio: inicialmente, no comparador superior, compara-se os dois primeiros


nmeros de 8 bits, a e b. Se a < b, ento a sada AltB ser 1 e,
consequentemente, o seletor do MUX 2x1, S0, tambm ser 1, permitindo a
passagem da entrada I1, que recebe o valor de a. Caso contrrio, o MUX
propagar o valor da entrada I0. No comparador inferior, compara-se o outro
nmero de 8 bits, c, com o menor valor do comparador superior, O, propagado
pelo MUX. Se c < O, o seletor S0 ser 1, e propagar o valor de c,
indicando que ele o menor dentre os trs nmeros de 8 bits iniciais. Caso
contrrio, O ser o menor.
Q12.

Raciocnio: basta comparar um nmero qualquer a de 8 bits com os limites do


intervalo, 75 e 100, respectivamente. No primeiro comparador, a sada AgtB
ser 1 quando a > 01001011 (75 em binrio). J no segundo comparador, a
sada AltB ser 1 quando a < 01100100 (100 em binrio). Unindo essas duas
sadas dos comparadores por uma porta AND, S ser 1 quando ambas as
condies forem satisfeitas.
Q13.

Raciocnio: seja o nmero de 8 bits T a temperatura corporal, basta fazer as


devidas comparaes. O primeiro comparador define A = 1 se T menor ou igual
que 95 (01011111 em binrio), por meio de uma porta OR conectada nas sadas
AeqB (A = B) e AltB (A < B). O segundo comparador, em conjunto com o primeiro,
seta B = 1 se T est no intervalo entre 96 e 204 (11001100 em binrio), por meio
de uma porta AND conectada na sada AgtB (A > B) do primeiro comparador e
AltB (A < B) do segundo comparador. J o terceiro comparador, define C = 1 se
T maior ou igual que 105 (01101001 em binrio), de maneira anloga ao
primeiro caso, porm, agora, usando a sada AgtB (A > B) invs de AltB.
Q14.

Raciocnio: o multiplicador do tipo array-style imita a maneira de multiplicar


mo. Dois nmeros de 8 bits so multiplicados da seguinte forma: cada bit do
multiplicador (b), multiplica todos os bits do multiplicando (a), por meio de uma
porta AND, cuja lgica idntica da multiplicao. Ento, a cada multiplicao,
gerado um produto parcial (neste caso, 8 bits, 8 multiplicaes, 8 produtos
parciais) com um bit zero mais adicionado na sua extremidade direita,
correspondente ao deslocamento feio mo, este produto parcial se soma ao
produto parcial da prxima multiplicao e assim sucessivamente, at que todos
os bits do multiplicador tenham multiplicado os bits do multiplicando.
Q15.

Raciocnio: o primeiro multiplicador (mais da esquerda) realiza a operao A*B


e sua sada entra no outro multiplicador para que seja feita a operao (A*B)*C.
No multiplicador inferior, realizada a operao D*3 (11 em binrio). As duas
sadas dos multiplicadores do meio so somadas e o resultado somado
novamente com 12 (1100), dando origem a sada F.

Q16. Decimal:
a) 011111111
Primeiro bit 0 => positivo. Basta converter normalmente:
011111111 = 255.
b) 111111111
Primeiro bit 1 => negativo. Inverte todos os bits e soma 1, depois converte o valor
obtido e acrescenta o sinal negativo:
111111111 => 000000000 + 1 = 000000001 = -1
c) 100000000
100000000 => 011111111 + 1 = 100000000 = -256
d) 110000000
110000000 => 001111111 + 1 = 010000000 = -128
e) 111111110
111111110 => 000000001 + 1 = 000000010 = -2
Q17. Complemento de 2 de 8 bits:
a) 6
Nmero positivo: basta converter normalmente por divises sucessivas por 2
(agrupando os restos do ltimo para o primeiro) e adicionar um bit 0 na frente
representando o sinal positivo. Neste caso, completa-se com zeros at que se
tenha 8 bits.
6/2 = 3, R = 0 1/2 = 0, R = 1
3/2 = 1, R = 1 6 = 00000110

b) 26
26/2 = 13, R = 0 3/2 = 1, R = 1
13/2 = 6, R = 1 1/2 = 0, R = 1
6/2 = 3, R = 0 26 = 00011010
c) -8
Nmero negativo: converte normalmente utilizando o mesmo procedimento
descrito anteriormente, depois completa-se os bits com 0 at completar os 8 bits
e encontra-se seu complemento de 2, invertendo os bits e somando 1.
8/2 = 4, R = 0 8 = 00001000
4/2 = 2, R = 0 Comp. de 2: 11110111 + 1 = 11111000
2/2 = 1, R = 0 -8 = 11111000
1/2 = 0, R = 1

d) -30
30/2 = 15, R = 0 1/2 = 0, R = 1
15/2 = 7, R = 1 30 = 00011110
7/2 = 3, R = 1 Comp. de 2: 11100001 + 1 = 11100010
3/2 = 1, R = 1 -30 = 11100010
e) -60
60/2 = 30, R = 0 1/2 = 0, R = 1
30/2 = 15, R = 0 60 = 00111100
15/2 = 7, R = 1 Comp. de 2: 11000011 + 1 = 11000100
7/2 = 3, R = 1 -60 = 11000100
3/2 = 1, R = 1
f) -90
90/2 = 45, R = 0 1/2 = 0, R = 1
45/2 = 22, R = 1 90 = 01011010
22/2 = 11, R = 0 Comp. de 2: 10100101 + 1 =
11/2 = 5, R = 1 10100110
5/2 = 2, R = 1 -90 = 10100110
2/2 = 1, R = 0

Q18.
Dividindo o projeto em etapas para facilitar no desenvolvimento:
1. Definir quais entradas e sadas so necessrias ao subtrator completo:
Entradas: a e b os nmeros a serem subtrados (a - b), e wi o valor
emprestado para coluna direita.
Sadas: s o resultado da subtrao e wo o valor que foi emprestado pela
coluna esquerda.
2. Criar tabela verdade afim de descrever o comportamento esperado do
subtrator:
a b wi s wo
0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 0 1
1 0 0 1 0
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1

3. Extrair as equaes das sadas partir da tabela verdade:


s = a*b*wi + a*b*wi + a*b*wi + a*b*wi
s = a*(b*wi + b*wi) + a*(bwi + b*wi)
s = a*(b XOR wi) + a*(b XNOR wi)
wo = a*b*wi + a*b*wi + a*b*wi + a*b*wi
wo = a*(b*wi + b*wi) + b*wi*(a + a)
wo = a*(b XOR wi) + b*wi
4. Construir o projeto com portas lgicas:

Q19.
Dividindo o projeto em etapas para facilitar o desenvolvimento:
1. Definir entradas e sadas do sistema:
Entradas: A que representa um nmero binrio com sinal de 8 bits.
Sadas: Q que representa o valor absoluto de A, um nmero binrio sem sinal
de 8 bits.
2. Capturar comportamento do sistema e criar equaes para as sadas:
Quando o bit mais significativo de A for 0, A ser positivo e, portanto, Q = A.
Mas quando o bit mais significativo de A for 1, A ser negativo e, portanto, Q
= complemento de 2 de A.
3. Projetar circuito:
Q23.

Raciocnio: a entrada I, de 8 bits, tem cada um de seus bits ligado a um


deslocador que, quando shr = 0, permite a passagem dos bits da entrada I para
sada O, tambm de 8 bits, sem deslocamento. No entanto, quando shr = 1, cada
bit da entrada I colocado na entrada que est duas posies sua direita e so
preenchidas com zero as duas primeiras entradas, fazendo com que a sada O
fique deslocada duas posies para direita.

Q24.

Raciocnio: basta somar todas as entradas (duas a duas) e depois deslocar o


resultado final da soma dois bits para direita, que equivalente a dividir o nmero
por 4.
a) A figura da esquerda ignora os problemas de overflow, mantendo a
mesma quantidade de fios. Informaes sero perdidas.
b) A figura da direita leva em considerao o overflow e adiciona os fios
necessrios para evitar a perda de informaes na sada dos somadores,
alm de remover os fios desnecessrios na sada do deslocador.
Q25.

Raciocnio: basta pegar a entrada A,


deslocar seus bits 4 posies para
esquerda (equivalente multiplica-la
por 8) depois som-la com ela mesmo
sem deslocamento, resultando em D =
9*A.

Q26.
Raciocnio: basta coloca DEMUX 1x6 e,
a partir dos seletores a, b e c escolher
para qual das sadas se deseja mandar
a entrada I. A sada escolhida ter o
deslocador apropriado para realizar a
devida multiplicao.
OBS: cada deslocamento de 1 posio
para esquerda, equivale a uma
multiplicao por 2.

Q36.
Em circuitos digitais, dois critrios importantes so considerados como
avaliadores de qualidade do circuito: atraso (delay) e tamanho (size).
Otimizao: quando se consegue projetar um circuito que realiza a mesma
tarefa de outro, mas que seja melhor em ambos os critrios citados acima ou
pelo menos melhor em um e igual no outro. Por exemplo, um circuito com menos
atrasos de portas lgicas e menos entradas de portas.
Tradeoff: quando se consegue projetar um circuito que realiza a mesma tarefa
de outro, mas que melhore em um dos critrios e piore no outro. Por exemplo,
um circuito com menos entradas de portas, porm, com mais atrasos de portas
lgicas.
Q37.
F(a; b; c) = abc + abc + abc + abc
a) Mtodos algbricos:
F = abc + abc + abc + abc
F = abc + abc + abc + abc + abc + abc
F = ac(b + b) + bc(a + a) + ab(c + c)
F = ab + ac + bc
OBS: repetir um termo na equao booleana no altera a expresso.
b) Mapa K:

F = ab + ac + bc

Q38.
F(a; b; c; d) = abc + abcd + abd

F = abd + bc
OBS: quando o literal estiver faltando no produto, coloca-se 1 no mapa para
todos os valores do literal faltante.

You might also like