Professional Documents
Culture Documents
'
"
<
>
&
Universidade do Porto
Faculdade de Engenharia
?
1 chamada - 14/Junho/2000
1-
a)
Determine o nmero com 6 bits representado em complemento para dois, que adicionado ao nmero 10101 representado em
complemento para dois com 5 bits, d o resultado -2. Efectue as operaes aritmticas em binrio que achar convenientes.
Pretende-se calcular um nmero X com 6 bits e em complemento para 2, tal que X+Y=-2, sendo Y o nmero
10101 representado em complemento para dois com 5 bits. Para simplificar a realizao dos clculos,
conveniente representar todos os operandos no mesmo formato: 6 bits em complemento para dois:
Y = 10101 representado com 6 bits (estendendo o bit de sinal) fica 110101
-2 = complemento para 2 de +2: 000010 complementado os bits: 111101 e somando 1 d 111110
Podemos ento calcular o valor pedido realizando a operao: X = -2-Y:
-2
Y
X
111110
-110101
001001
ASG/JCA/AJA/JFS/JSC
'
"
<
>
&
( B + A).( B + C + D).( B + C + D)
a) Represente F(A,B,C,D) no mapa de Karnaugh junto e obtenha a representao de F na forma simplificada soma de produtos.
Indique convenientemente os agrupamentos de uns ou zeros que considerou para construir a expresso simplificada.
Sugesto: note que no necessrio construir a tabela de verdade para representar a funo dada no mapa de Karnaugh!
B' + C + D
A
AB
CD 00 01 11 10
00 1 0 0 1
B' . C
B' . D'
B + C + D'
01
11
10
B
A.B.D
B' + A
b) Considere agora uma funo G(A,B,C,D) que idntica a F, excepto no termo ABCD=1101 em que indiferente. Construa
um circuito minimizado utilizando apenas portas lgicas NOR de 2 ou 3 entradas que realize a funo G(A,B,C,D) .
Para construir um circuito minimizado comportas lgicas NOR conveniente determinar a nova expresso
mnima produto-de-somas, considerando agora o termo ABCD=1101 indiferente. Reconstruindo o mapa de
Karnaugh obtemos a nova expresso mnima:
B' + C
A
AB
CD 00 01 11 10
00 1 0 0 1
D' + C
01
11
10
D'
C
F(A,B,C,D)
B'
A
B' + A
podendo ser transformado no circuito equivalente s com portas NOR por aplicao das leis de DeMorgan:
B
C
D
< =>
F(A,B,C,D)
A
LEEC - SD 1999/2000
ASG/JCA/AJA/JFS/JSC
'
"
<
>
&
3 - Pretende-se construir uma mquina de estados de Moore com uma entrada X e duas sadas S1 e S0. A sada S1 toma o valor 1
quando detectada na entrada X a sequncia 10111; a sada S0 toma o valor 1 quando detectada na entrada X a sequncia
10110. As sequncias a detectar podem ser parcialmente sobrepostas da forma que se exemplifica na figura:
X
S1
S0
S1
X
FSM
S0
0 1 0 1 0 1 1 1 0 1 0 1 1 0 0 1 0 1 1 0 1 1 1 0
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
a) A figura representa um diagrama de transio de estados incompleto para a mquina de Moore referida. Complete-o
indicando claramente as transies de estado, condies de transio de estado ou valores para as sadas S1 e S0 que faltam.
init
X=1
X=1
E1
X=0
S1=0
S0=0
X=0
S1=0
S0=0
S1=0
S0=1 Se X=1 no estado E4, pode passar
X=0
X=0
E4
X=1
X=0
X=1
E2 S1=0
S0=0
S1=0
S0=0
E5
X=1
S1=0
S0=0
X=0
X=1
X=1
E3
E6
X=0
LEEC - SD 1999/2000
S1=1
S0=0
Foi detectada a
sequncia 10111 (S1=1)
ASG/JCA/AJA/JFS/JSC
'
"
<
>
&
b) Mantendo o modelo de mquina de Moore, modifique o diagrama de transio de estados de forma a que sejam apenas
detectadas sequncias no sobrepostas, i.e. sempre que detectada uma sequncia vlida, s iniciada a pesquisa de uma nova
sequncia com o primeiro bit a seguir ltima sequncia detectada (ver figura)
sequncias no detectadas porque
esto sobrepostas com a anterior
X
S1
S0
0 1 0 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 1 1 1 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
X=0
S1=0
S0=0
init
X=1
X=1
E1
X=0
S1=0
S0=0
S1=0
S0=1 Se X=1 no estado E4, pode passar
X=0
X=0
E4
X=1
X=1
X=0
S1=0
E2 S0=0
E5
X=1
S1=0
S0=0
X=0
X=0
S1=0
S0=0
Este ramo desaparece
X=1
X=1
E3
E6
X=0
S1=1
S0=0
LEEC - SD 1999/2000
ASG/JCA/AJA/JFS/JSC
'
"
<
>
&
c) Mostre que se a mquina de estados referida em b) for implementada como uma mquina de Mealy possvel reduzir o nmero
de estados.
O estado E5 atingido quando for detectada a sequncia 1011. Isto vlido tanto para o modelo da mquina de
estados de Moore (modelo apresentado em b)), tanto para o modelo de Mealy. O estado seguinte ao estado E5 ser
sempre o estado init porque qualquer que seja o prximo bit recebido em X (1 ou 0) ser sempre detectada uma
das duas sequncias vlidas. Nesse caso a mquina deve ser reiniciada j que no se pretende detectar sequncias
sobrepostas. Assim, do estado E5 iro existir duas transies para o estado init, s quais sero associadas
condies diferentes de transio de estado e sadas. Desta forma possvel eliminar os estados E4 e E6, tal como
se mostra na figura:
init
X=1
S1=1,S0=0
X=0
S1=0,S0=1
E5
X=1
S1=0,S0=0
X=0
X=1
B , 0
C , 1
A , 1
A , 1
B , 1
C , 0
Estado S
A
B
C
Q1,Q0
1
0
1
0
1
1
LEEC - SD 1999/2000
Q1
Q0
Q1*
Q0*
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
1
0
d
d
1
0
0
1
1
1
d
d
1
0
1
1
0
1
d
d
1
0
ASG/JCA/AJA/JFS/JSC
'
b)
"
<
>
&
Q1
Q0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
Q1*
0
1
0
1
0
1
0
1
Q0*
0
1
1
1
d
d
1
0
Q0* = X
Q0* = 1
O circuito lgico com um multiplexer obtido ligando as linhas de seleco s variveis mais significativas e as
entradas aos valores lgicos X, 1 ou X', consoante determinado na tabela acima:
00
01
Q0*(Q1,Q0,X)
1
10
11
Q1 Q0
LEEC - SD 1999/2000
ASG/JCA/AJA/JFS/JSC
'
"
<
>
&
5 - Pretende-se gerar, utilizando um universal shift-register 74x194 (ver tabela), a seguinte sequncia:
QA
0
0
0
0
1
1
1
1
0
QB
0
0
0
1
1
1
1
0
0
.
QC QD
0 0
0 1
1 1
1 1
1 1
1 0
0 0
0 0
0 0
. .
7 4 x1 94
CLK
CLR
S1
S0
L IN
D
C
B
A
R IN
QD
QC
QB
QA
funo
S1
hold
shift right
shift left
load
0
0
1
1
S0
0
1
0
1
QB
QA
QC
B
QC
QB
QD
C
QD
QC
LIN
D
a)
Construa o circuito que gere a sequncia pretendida nas sadas QA,QB,QC,QD do shift-register. Note que a sequncia
apresentada pode ser gerada por deslocamentos sucessivos de um bit.
Sugesto: para alm do 74194, basta utilizar um inversor...
Pela sequncia dada podemos verificar que:
i) o estado seguinte obtido sempre deslocando os bits do estado anterior para a esquerda. Isto significa que o
shift-register ir funcionar no modo shift left, a que corresponde S1,S0=1,0
ii) o novo bit que entra pelo lado direito (na entrada LIN) a negao do bit mais significativo (QA) do estado
anterior
Assim (e seguindo a sugesto dada!) o circuito pretendido pode ser obtido ligando a sada QA negada entrada
LIN, necessitando para isso um inversor:
Vcc
74 x1 94
Clock
CL K
CLR
S1
S0
L IN
D
C
B
A
R IN
QD
QC
QB
QA
Gnd
b)
Mostre que alteraes teria de introduzir no circuito para que uma entrada X permita seleccionar entre a sequncia anterior
(quando X=0) e a sequncia seguinte (para X=1):
Sugesto: construa primeiro o circuito que implementa a nova sequncia e s depois procure combinar os dois circuitos
introduzindo a entrada X.
QA QB QC QD
0 0 0 0
0 0 0 1
0 0 1 1
0 1 1 1
1 1 1 0
1 1 0 0
1 0 0 0
0 0 0 1
0 0 1 1
. . .
LEEC - SD 1999/2000
A nova sequncia semelhante anterior, excepto que os estados 0000 e 1111 nunca so atingidos
(note que pela tabela dada assumido que o estado inicial 0000, mas no atingido de novo). De
forma semelhante sequncia anterior, tambm neste caso sempre efectuado um deslocamento
para a esquerda, mas agora o bit que entra pela esquerda a negao do bit QB do estado
anterior. A sequncia dada pode ser gerada por um circuito semelhante ao apresentado na alnea
anterior, com a diferena que a entrada do inversor ligada sada QB.
O circuito pedido, com uma entrada X que permita comutar entre as duas sequncias pode ser
construdo recorrendo a um multiplexer que, em funo do valor de X ligue a entrada do inversor
sada QA ou QB, consoante se pretenda a primeira ou segunda sequncias, respectivamente para
X=0 e X=1. O circuito completo mostrado na figura seguinte.
ASG/JCA/AJA/JFS/JSC
'
"
<
>
&
Vcc
74 x1 94
Clock
CL K
CLR
S1
S0
L IN
multiplexer 2-1
QD
QC
QB
QA
D
C
B
A
R IN
Gnd
X
6 - O circuito da figura representa um inversor CMOS cuja sada est ligada entrada de um circuito digital X. A ligao entre os
dois circuitos apresenta uma resistncia R e a entrada do circuito X pode ser representada pelo paralelo de uma resistncia RL e um
condensador CL, como se mostra na figura.
Vdd=5V
R
A
VA
Gnd (0V)
CL
RL
circuito X
Para responder s questes colocadas conveniente desenhar os circuitos equivalentes ao circuito dado para os
nveis lgicos High e Low:
Nvel lgico High
R
RPMOS
+
5V
CL
RNMOS
RL
CL
RL
LEEC - SD 1999/2000
ASG/JCA/AJA/JFS/JSC
'
ii)
"
<
>
&
iii)
LEEC - SD 1999/2000
ASG/JCA/AJA/JFS/JSC
(Prova A - Correco)
Pgina 1
Universidade do Porto
Faculdade de Engenharia
2 chamada - 5/Julho/2000
1a)
Indique justificando o resultado da adio binria dos nmeros A=011001 e B=110011, ambos representados em
Efectuando a adio binria dos dois nmeros dados obtemos:
011001
+110011
1001100
Apesar do resultado obtido ser 1001100, o bit 1 da esquerda deve ser desprezado j que como ambos os operandos
esto representados em complemento para dois com 6 bits, o resultado ser tambm representado em
complemento para dois, constitudo apenas pelos 6 bits menos significativos: 001100. Para confirmar o resultado
podemos representar os operandos em base 10:
A = 011001 = 16+8+1 = +25
B = 110011 = -(001100+1) = -(001101) = -13
A+B = 25-13 = +12 = 001100
b)
Adicionando os nmeros X=0101 e Y=1111 obtm-se um resultado com 4 bits igual a 0100. Diga, justificando, se ocorre
overflow nessa operao se X e Y representarem nmeros:
Antes de responder s questes seguintes conveniente efectuar a operao de adio referida:
0101
+1111
10100
obtendo, como dito no enunciado, um resultado em 4 bits igual a 0100
i) inteiros em base 2 com 4 bits e sem sinal
Se os dois operandos representarem inteiros em base 2 com 4 bits ocorre overflow na operao referida porque
gerado um carry na soma dos bits mais significativos dos operandos. Por outras palavras, o resultado (positivo)
da adio binria no pode ser representado por 4 bits.
ii) inteiros em complemento para dois com 4 bits
Se os dois operandos representarem inteiros em complemento para dois com 4 bits no ocorre overflow porque X e
Y tm sinais contrrios. Confirmando: X=+5, Y=-1 e X+Y=+4
LEEC - SD 1999/2000
ASG/JCA/AJA/JFS/JSC
(Prova A - Correco)
Pgina 2
AB
00
01
11
00
01
11
10
CD
10
B
a) Obtenha a expresso mais simples do tipo POS ou SOP, considerando que pretende uma realizao com portas lgicas do
tipo inversor, AND ou OR com duas entradas. Note que no se pretende que desenhe o circuito lgico.
B.C'
AB
00
CD
1
00
01
11
10
A'+B
01
11
10
B'.A'
B'+C'+D
B.D
b) Considere agora uma funo G(A,B,C,D) que idntica a F, excepto no termo ABCD=0010 em que indiferente. Construa
um circuito minimizado utilizando apenas portas lgicas NAND de 2 entradas que realize essa funo .
AB
00
CD
1
00
A
01
11
10
01
11
10
A'+B
C'+D
C'
D
G(A,B,C,D)
A'
B
LEEC - SD 1999/2000
ASG/JCA/AJA/JFS/JSC
(Prova A - Correco)
Pgina 3
podendo ser transformado no circuito equivalente usando apenas 6 portas NAND de duas entradas:
C
D
G(A,B,C,D)
A
B
A expresso mais simples do tipo SOP seria igual apresentada em a). Podemos concluir (sem desenhar o
circuito!) que s para realizar os 3 termos de produto dessa expresso SOP seriam necessrias 6 portas NAND de
duas entradas: 3 NANDs para as negaes e mais 3 NANDs para realizar os 3 termos de produto. Como para
alm disso ainda necessrio realizar a soma lgica dos termos de produto, o nmero total de NANDs de duas
entradas ser superior ao nmero utilizado no circuito apresentado.
3 -
Pretende-se construir uma mquina de estados de Mealy com uma sada IMPAR que 1 quando os 3 ltimos bits
consecutivos colocados na sua nica entrada X inclurem um nmero mpar de uns, e zero no caso contrrio. Depois do incio do
funcionamento da mquina de estados, a sada IMPAR s considerada vlida aps o 3 ciclo de relgio. A figura mostra um
exemplo de uma sequncia de bits na entrada X e o valor correspondente para a sada IMPAR
X: 0101101011110100
IMPAR: dd10000100110011
sada IMPAR indiferente
nos 2 primeiros ciclos
a) A figura representa um diagrama de transio de estados incompleto para a mquina de Mealy referida. Complete-o
indicando claramente as transies de estado, condies de transio de estado e valores para a sada IMPAR que faltam.
Note que cada estado mantm a histria
dos dois ltimos bits recebidos
init
0/d
1/d
A
Foi recebido 11; enquanto
chegarem uns, a sada
IMPAR 1
1/1
0/d
1/d
0/d
1/d
0/1
C
0/0
LEEC - SD 1999/2000
0/0
1/1
1/0
0/1
1/0
X / IMPAR
ASG/JCA/AJA/JFS/JSC
(Prova A - Correco)
Pgina 4
b) Sabendo que uma porta XOR de 3 entradas realiza a funo deteco de paridade mpar de uma palavra de 3 bits (ver tabela),
construa um circuito utilizando um 74x194 (universal shift-register) que realize a funcionalidade da mquina de estados referida.
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
7 4 x1 94
A B C
0
1
1
0
1
0
0
1
CLK
CLR
S1
S0
LIN
D
C
B
A
R IN
QD
QC
QB
QA
funo
S1
hold
shift right
shift left
load
0
0
1
1
S0
0
1
0
1
QB
QA
QC
B
QC
QB
QD
C
QD
QC
LIN
D
Se o shift-register for configurado em modo shift-right (S1=0, S0=1) sendo a entrada RIN a entrada X da
mquina pretendida, as sada QA,QB e QC tm, em cada ciclo, os ltimos 3 bits recebidos. Se essas sadas do
shift-register forem ligadas s entradas do XOR de 3 entradas, a sua sada ser 1 quando os ltimos 3 bits
recebidos apresentarem paridade mpar. Assim, o circuito completo ser:
Vcc
74 x1 94
Clock
CL K
CLR
S1
S0
L IN
D
C
B
A
R IN
QD
QC
QB
QA
IMPAR
Gnd
LEEC - SD 1999/2000
ASG/JCA/AJA/JFS/JSC
(Prova A - Correco)
Pgina 5
Estado S
E1
E2
E3
E4
E5
Entrada X
X=0
X=1
Sadas
Y
Z
E2
E2
E3
E1
E5
0
1
0
0
0
1
1
1
E1
E3
E4
E5
E3
prximo estado S*
a) Apresente e justifique uma codificao de estados que permita minimizar a complexidade do circuito lgico que realiza as
sadas Y e Z.
Como na mquina de Moore as sadas apenas dependem do estado presente, a codificao de estados que
minimiza a complexidade do circuito lgico que realiza as sadas Y e Z pode ser obtida incluindo os valores
lgicos para as sadas Y e Z no cdigo atribudo a cada estado. Nesse caso no necessria qualquer funo
lgica, sendo as sadas iguais a bits da varivel de estado. Como temos 5 estados e necessitamos de (pelo menos) 3
bits para os codificar, podemos codificar os estados em Q2,Q1 com os valores pretendidos para as sadas Y e Z,
utilizando o 3 bit Q0 para diferenciar entre estados que apresentem sadas iguais:
Fazendo Q2,Q1 iguais a Y,Z
Y Z
Q2 Q1 Q0
Estado S
E1
E2
E3
E4
E5
b)
0
1
0
0
1
0
1
1
1
1
0
0
0
1
1
Q2,Q1,Q0
E1
E2
E3
E4
E5
0
0
0
0
1
0
0
1
1
0
0
1
0
1
0
Obtenha uma expresso lgica minimizada para a sada Z=f(Q2,Q1,Q0,X). Admita que Z indiferente para os estados no
especificados na tabela de transio de estados.
Utilizando a codificao de estados dada, vamos construir a tabela de verdade da
funo Z=f(Q2,Q1,Q0). Note que a sada Z no depende da entrada X, uma vez que se
trata de uma mquina de Moore:
Q1
Q2Q1
00
Q0
Q0
Q0
Q2
01
11
10
Q2
Q1
estado
presente
sadas
Q2
Q1
Q0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
0
1
x
x
x
0
1
1
1
1
x
x
x
ASG/JCA/AJA/JFS/JSC
(Prova A - Correco)
Pgina 6
5 - Considere o circuito sncrono da figura, realizado em torno de um contador binrio 74x163 e de um descodificador 74x138
Vcc
clock
7 4 x1 63
Vcc
CL K
74 x1 38
CLR
LD
EN P
ENT
D
C
B
A
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
G1
G2A
G2B
QD
QC
QB
QA
RCO
Gnd
C
B
A
74x138
74x163
/CLR /LD ENT ENP
0
x
x
x
1
0
x
x
1
1
0
x
1
1
x
0
1
1
1
1
1
1
1
1
estado
prximo
presente
estado
QD QC QB QA
QD* QC* QB* QA*
x x x x
0
0
0
0
x x x x
D
C
B
A
x x x x
QD QC QB QA
x x x x
QD QC QB QA
N (se N<15)
N + 1
1 1 1 1
0
0
0
0
G1 /G2A /G2B C
0
x
x x
x
1
x x
x
x
1 x
1
0
0 0
1
0
0 0
1
0
0 0
1
0
0 0
1
0
0 1
1
0
0 1
1
0
0 1
1
0
0 1
B
x
x
x
0
0
1
1
0
0
1
1
A
x
x
x
0
1
0
1
0
1
0
1
a) Admitindo um estado inicial igual a QD,QC,QB,QA=0000, determine a sequncia de valores que ocorrem nas sadas do
contador.
No circuito apresentado, a entrada /CLR do contador activada quando o estado presente QD,QC,QB,QA=x110
(ver tabela do descodificador 74x138). Admitindo o estado inicial igual a 0000 e como o 74x163 funciona como
um contador binrio, a entrada /CLR ser activada logo que atingido o estado 0110, sendo o estado seguinte
igual a 0000. Assim, a sequncia nas sadas do contador ser:
0000, 0001, 0010, 0011, 0100, 0101, 0110, 0000, 0001, ...
/CLR activado aqui, ^^^^
prximo estado 0000
(ou em decimal: 0, 1, 2, 3, 4, 5, 6, 0, 1, 2 ...)
b) Utilizando apenas o contador 74x163 e o descodificador 74x138, modifique o circuito anterior de forma a obter um contador
que conte ciclicamente de 6 a 14, admitindo que o estado inicial QD,QC,QB,QA=0110.
Admitindo que o estado inicial QD,QC,QB,QA=0110 (6 em
decimal), necessrio utilizar o descodificador 74x138
para detectar o valor mximo da sequncia pretendida (14
ou 1110 em binrio), de forma a activar a entrada /LD do
contador para carregar de novo o estado inicial 0110.
Ligando os bits mais significativos das sadas do contador
(QD,QC,QB) s entradas C,B,A do 74x138, o sinal /LD
pretendido ser a sada /Y7 do descodificador. Para que
seja carregado o valor 0110 quando activada a entrada
/LD, ainda necessrio ligar as entradas D,C,B,A s
constantes lgicas 1 e 0 apropriadas:
LEEC - SD 1999/2000
Vcc
7 4 x1 63
clock
Vcc
CL K
74 x1 38
C LR
LD
EN P
ENT
D
C
B
A
Gnd
Gnd
QD
QC
QB
QA
RCO
Y0
G1
G2A Y 1
G2B Y 2
Y3
Y4
C
B
A
Y5
Y6
Y7
ASG/JCA/AJA/JFS/JSC
(Prova A - Correco)
Pgina 7
6 - O circuito da figura representa um inversor CMOS cuja sada est ligada s entradas de N circuitos digitais do tipo X,
conforme se mostra na figura. Cada entrada do circuito X pode ser representada pelo paralelo de uma resistncia RL e um
condensador CL.
Vdd=5V
circuito X
A
Vo
Vi
CL
RL
Gnd
...
CL
RL
N vezes
a) Explique justificando, de que forma o nmero N de circuitos do tipo X afecta os nveis lgicos na sada do inversor (ponto A)
O circuito equivalente associao de N circuitos do tipo X em paralelo representado por uma resistncia RL/N
em paralelo com um condensador N.CL. Assim, os circuitos equivalentes para os 2 nveis lgicos so:
Nvel lgico High
RP
+
5V
N.CL
RN
RL/N
N.CL
RL/N
Os nveis lgicos (estticos) na sada do inversor dependem apenas da carga resistiva vista da sua sada. O nvel
lgico low no ser afectado com o nmero de circuitos do tipo X ligados sada do inversor, j que a tenso no
ponto A ser sempre zero qualquer que seja N.
No nvel lgico high, a tenso no ponto A ser definida pelo divisor de tenso formado pela resistncia equivalente
do transistor PMOS no estado de conduo (RP na figura) e a resistncia equivalente da associao em paralelo
de N circuitos do tipo X (RL/N na figura). Quando N aumenta RL/N diminui e consequentemente a tenso no
ponto A diminui reduzindo com isso a margem de rudo esttica para o nvel lgico alto.
b) Escreva a expresso que relaciona a constante de tempo associada ao tempo de subida da tenso Vo (no ponto A) com N, CL,
RL e a resistncia de conduo do transistor PMOS, RP
A anlise do tempo de subida da tenso no ponto A feita sobre o circuito equivalente para o nvel lgico alto. A
constante de tempo associada ao tempo de subida neste circuito ser o produto da capacidade equivalente N.CL
pela resistncia vista dos terminais do condensador (RL/N em paralelo com RP):
-FIM -
LEEC - SD 1999/2000
ASG/JCA/AJA/JFS/JSC
(Prova A)
Pgina 1
NOME:_________________________________________________________________________TURMA _______________
Correco
1 chamada 8/Janeiro/2001
1-
a)
b)
Determine o nmero com 6 bits representado em complemento para dois, que adicionado ao nmero 01001 representado
em complemento para dois com 5 bits, d o resultado -2. Efectue as operaes aritmticas em binrio que achar
convenientes (utilize o verso da folha).
LEEC - SD 2000/2001
ASG/JCA/ASL/JSC
(Prova A)
Pgina 2
NOME:_________________________________________________________________________TURMA _______________
Pretendemos calcular um valor X tal que X+Y=-2, onde Y o nmero binrio 01001. Se dito que X
deve ser um nmero com 6 bits em complemento para dois, deveremos transformar os operandos Y e 2
para esse formato:
Y = 01001 = 001001 ( positivo, a extenso de sinal acrescenta um zero)
-2 = -000010 = 111101 + 1 = 111110
Assim, o nmero pedido X pode ser obtido como:
X = -2 Y = 111110 001001
111110
-001001
110101
O valor pedido X 110101 (representa a quantidade 11)
2
a)
Considere a funo booleana F(A,B,C,D) que assume 1 quando ABCD representa valores mltiplos de 2, e a funo
G(A,B,C,D) que assume 1 quando ABCD representa valores mltiplos de 3 (A o bit mais significativo e D o bit menos
significativo). Apresente uma expresso simplificada na forma produto-de-somas para a funo Z=F+G (soma lgica das
funes F e G) (se necessrio utilize o verso da folha).
A funo pedida Z(A,B,C,D) pode ser representada directamente no mapa de Karnaugh, preenchendo
uns nas posies correspondentes aos minterms cujo nmero mltiplo de 2 ou de 3. Tenha em ateno
a ordenao dos minterms no mapa, de acordo com a disposio das variveis representada. Como se
pretende obter uma expresso minimizada na forma produto-de-somas, agrupam-se os zeros da forma
representada no mapa:
(A+B+C)
AB
CD
0
0
D
1
0
13 0
(A+B'+D')
12
1 12 1 8
0 13 1
1 15 0
11
1 14 1
10
16
(B'+D'+C)
(A'+B+C'+D')
B
A expresso mnima produto-de-somas ser ento:
Z(A,B,C,D) = (A+B+C).(A+B+D).(B+D+C).(A+B+C+D)
b)
Considere agora uma funo H idntica a Z, excepto no termo ABCD=1111 em que indiferente (dont care). Construa
um circuito minimizado utilizando apenas portas lgicas NOR de 2 ou 3 entradas que realize a funo H(A,B,C,D)
(utilize o verso da folha)
LEEC - SD 2000/2001
ASG/JCA/ASL/JSC
(Prova A)
Pgina 3
NOME:_________________________________________________________________________TURMA _______________
Para construir um circuito que contenha apenas portas lgicas NOR (com 2 ou 3 entradas),
conveniente comear por desenhar o circuito minimizado do tipo OR-AND, obtido da expresso mnima
do tipo produto-de-somas. Se o termo 15 (ABCD=1111) for indiferente podemos agrupar os zeros no
mapa de Karnaugh da forma seguinte:
(A+B+C)
AB
A
CD
1 12 1
0 13 1
13 0
d 15 0
11
12
1 14 1
10
0
D
1
0
(B'+D')
(A'+C'+D')
B
A nova expresso do tipo POS :
Z(A,B,C,D) = (A+B+C).(A+C+D).(B+D)
O circuito do tipo OR-AND que realiza esta funo :
A'
C'
D'
A
B
C
Z(A,B,C,D)
B'
D'
e o circuito equivalente s com portas NOR de duas ou 3 entradas :
A
C
D
A
B
C
LEEC - SD 2000/2001
Z(A,B,C,D)
ASG/JCA/ASL/JSC
(Prova A)
Pgina 4
NOME:_________________________________________________________________________TURMA _______________
3 Pretende-se projectar o sistema de controlo do nvel de gua de um tanque para abastecimento pblico. O sistema tem uma
sada AGUA que quando activada (nvel lgico alto) abre uma vlvula de entrada de gua. Para controlar o nvel de gua
dispe-se de duas entradas NMAX e NMIN
provenientes de sensores de nvel de gua, que so
vlvula abre quando AGUA '1'
entrada de gua
activadas (nvel lgico alto) quando o nvel no tanque
se torna, respectivamente, maior do que o nvel
mximo N2 ou menor do que o nvel mnimo N1. O
AGUA
sistema dispe ainda de duas entradas ligadas a um
sensor do nvel mximo (N2)
boto de arranque (START) para iniciar o START
funcionamento do sistema e a um boto de paragem
NMAX
tanque de gua
(STOP) para o desligar. Estas entradas tomam o valor
FSM
lgico alto quando os botes respectivos so
pressionados.
STOP
NMIN
nvel de gua
sensor do nvel mnimo (N1)
CLOCK
Complete o diagrama de transio de estados do sistema descrito, utilizando apenas os estados j representados e os nomes
simblicos referidos no texto para as entradas e sada.
START=0
STOP=1
init
START=1
STOP=1
AGUA=0
NMAX=0
NMIN=0
NMIN=1
LEEC - SD 2000/2001
AG
UA
=0
NMAX=1
AG
UA
=
ASG/JCA/ASL/JSC
(Prova A)
Pgina 5
NOME:_________________________________________________________________________TURMA _______________
O diagrama de transio de estados da figura representa uma mquina de Moore com uma entrada X e uma sada S. A
sada S toma o valor 1 quando, em 3 estados consecutivos, detectada na entrada X a sequncia 010. A sequncia a detectar
pode ser parcialmente sobreposta da forma que se exemplifica na figura:
Entarda X: 0 0 1 0 1 0 1 1 0 1 0 0
Sada S: 0 0 0 1 0 1 0 0 0 0 1 0
X=0
X=1
X=0
X=1
A
init
S=1
X=0
S=0
S=0
X=1
a)
S=0
X=1
X=0
Construa a tabela de transio de estados, atribuindo uma codificao apropriada aos estados.
Utilizando primeiro os nomes simblicos atribudos aos estados, a tabela de transio pedida :
estado actual
init
A
B
C
prximo estado
X=0 X=1
A
init
A
B
C
init
A
B
sada S
0
0
0
1
Codificando agora os estados como: init=00, A=01, B=10 e C=11, sero necessrios 2 flip-flops do tipo D
e a tabela de transio de estados fica:
prximo estado
estado actual
Q1* Q0*
Q1 Q0
X=0 X=1
sada S
0 0
0 1 0 0
0
0 1
0 1 1 0
0
1 0
1 1 0 0
0
1 1
0 1 1 0
1
LEEC - SD 2000/2001
ASG/JCA/ASL/JSC
(Prova A)
Pgina 6
NOME:_________________________________________________________________________TURMA _______________
b) Desenhe o esquema do circuito lgico que implementa a mquina de estados, utilizando flip-flops do tipo D. (utilize o
verso da folha)
Partindo da tabela de transio de estados construda na alnea anterior, vamos obter expresses
minimizadas para as funes Q1* e Q0* na forma soma-de-produtos. Note que pela tabela de transio de
estados pode ver-se facilmente que a sada S apenas a funo lgica AND das variveis de estado Q1 e
Q0:
Q1*(Q1,Q0,X)
Q1Q0
Q1
X
1
13 1
Q1.Q0'.X'
4
Q0.X
Q0
Q0*(Q1,Q0,X)
Q1Q0
Q1
X'
4
X
1
Q0*(Q1,Q0,X) = X'
Q0
X
Q0*
Q1*
D Q
D Q
Q0
Q1
S
clock
LEEC - SD 2000/2001
ASG/JCA/ASL/JSC
(Prova A)
Pgina 7
NOME:_________________________________________________________________________TURMA _______________
5
a)
Construa um circuito sncrono baseado num contador do tipo up/down (74x169) e em circuitos lgicos adicionais capaz de
gerar, nas sadas QD,QC,QB,QA do contador, a seguinte sequncia de valores (admitindo que o estado inicial igual a
QD,QC,QB,QA=0000):
LEEC - SD 2000/2001
QD
QC
QB
QA
RCO
74x169
UP/DWN /LD /ENT /ENP
x
0
x
x
x
1
1
x
x
1
x
1
1
1
0
0
0
1
0
0
1
1
0
0
0
1
0
0
estado
presente
QD QC QB QA
x x x x
x x x x
x x x x
N (se N<15)
N (se N>0)
1 1 1 1
0 0 0 0
QD*
D
QD
QD
0
1
prximo
estado
QC* QB*
C
B
QC QB
QC QB
N + 1
N - 1
0
0
1
1
QA*
A
QA
QA
0
1
ASG/JCA/ASL/JSC
(Prova A)
Pgina 8
NOME:_________________________________________________________________________TURMA _______________
0
1
2
3
4
5
10
9
8
3
4
5
10
9
0000
0001
0010
conta para cima
0011
0100
0101
load 1010 quando sada 0101
1010
1 0 0 1 conta para baixo
1000
load 0011 quando sada 1000
0011
0 1 0 0 conta para cima
0101
load 1010 quando sada 0101
1010
1001
. . .
QD'
Vcc (5V)
74x169
CLK
UP/DWN
LD
ENP
ENT
D
C
B
A
QD
QC
QB
QA
RCO
Gnd
(0V)
QA'
Load
LEEC - SD 2000/2001
ASG/JCA/ASL/JSC
(Prova A)
Pgina 9
NOME:_________________________________________________________________________TURMA _______________
b)
Modifique o circuito que construiu por forma a que as sadas do contador sejam reiniciadas com o valor 3 sempre que for
atingido um estado no pertencente sequncia especificada em a) (utilize o verso da folha).
Os estados no pertencentes sequncia de contagem so: 6, 7, 11, 12, 13, 14, 15. Quando aparecer na
sada do contador um desses estados, deve ser feito um load com o valor 3, caso contrrio deve ser
seguida a operao descrita acima.
Vamos comear por construir um circuito que detecte um dos estados fora da sequncia normal (funo
LOAD3):
QD QC
QD
QD.QC
QB QA
0
0
QA
0
0
1 12 0
1 13 0
1 15 1 11
1 14 0
QA.QB.QD
QB
10
QC
QC.QB
Como a operao normal do circuito tambm utiliza a operao de load, necessrio utilizar um
mulitplexer para escolher o valor a carregar no contador: quando um load normal, carregado o
valor definido pelo circuito construdo na alnea anterior; quando acontece o load devido a estado
invlido deve ser escolhido o valor 3. Um circuito que realiza esta funcionalidade (apenas se mostram
as alteraes ao circuito apresentado na alnea anterior).
74x169
CLK
QD'
0
1
QA'
S=1
0
0
1
1
S=0
UP/DWN
LD
ENP
ENT
D
C
B
A
Load3
4 multiplexers 2-1
LEEC - SD 2000/2001
QD
QC
QB
QA
RCO
QC
QD
QC
QB
QA
QB
QD
ASG/JCA/ASL/JSC
(Prova A)
Pgina 10
NOME:_________________________________________________________________________TURMA _______________
CLK
CLR
S1
S0
LIN
D
C
B
A
RIN
funo
S1
hold
shift right
shift left
load
0
0
1
1
S0
0
1
0
1
QB
QA
QC
B
QC
QB
QD
C
QD
QC
LIN
D
Gnd (0V)
a)
Admitindo o estado inicial QA,QB,QC,QD=0000, determine a sequncia (em binrio) produzida nas sadas QA,QB,QC,QD.
Pela configurao das entradas S1 e S0 do shift-register podemos concluir que sempre efectuado um
deslocamento para a esquerda (shift-left), sendo os bits que entram na entrada LIN definidos pela
equao:
LIN = QD . (QA QB)
A sequncia produzida nas sadas :
(decimal) QA QB QC QD
0
0
0
0
0
1
0
0
0
1
2
0
0
1
0
5
0
1
0
1
10
1
0
1
0
6
0
1
0
0
8
1
0
0
0
0
0
0
0
0
LEEC - SD 2000/2001
LIN
1
0
1
0
0
0
0
1
ASG/JCA/ASL/JSC
(Prova A)
Pgina 11
NOME:_________________________________________________________________________TURMA _______________
b)
Modifique o circuito apresentado de forma a acrescentar-lhe uma entrada X, activa no nvel lgico alto, que permita
reinicializar as sadas com o valor QA,QB,QC,QD=1111.
Para iniciar as sadas com 1111, basta colocar as entradas QA,QB,QC,QD com 1111 e ligar a entrada X
entrada S0 (note que a operao Load seleccionada quando S1=1 e S0=1). O circuito resultante :
Vcc (5V)
74x194
clock
CLK
CLR
S1
S0
LIN
D
C
B
A
RIN
QD
QC
QB
QA
Gnd (0V)
- FIM -
LEEC - SD 2000/2001
ASG/JCA/ASL/JSC
(ProvaB)
Pgina 1
NOME:_________________________________________________________________________TURMA _______________
Correco
2 chamada 25/Janeiro/2001
1-
Considere X=110100112 e Y=E716 que representam nmeros inteiros com sinal em complemento para dois com 8 bits.
a)
b)
11010011
+11100111
110111010
O resultado da adio de X com Y o nmero 10111010. Como ambos os operandos so negativos e o
resultado tambm negativo, pode-se concluir que no ocorreu overflow e o resultado (correcto!) da
adio de X com Y 10111010.
c)
Qual o maior nmero negativo representado em complemento para 2 com 8 bits que adicionado ao nmero X provoca
overflow? Justifique.
Como o nmero X negativo, s pode ocorrer overflow quando X adicionado com outro nmero
negativo, dando um resultado que menor (mais negativo) do que o mais negativo que pode ser
representado. Como o nmero mais negativo que pode ser representado em complemento para dois com
8 bits -2(8-1)=-128=100000002, ento o maior nmero negativo M que adicionado com X ainda no
provoca overflow ser dado por X+M =(-128) ou M = -128-X:
10000000
-11010011
1 10101101
(-128)
( -45)
( -83)
LEEC - SD 2000/2001
ASG/JCA/ASL/JSC
(ProvaB)
Pgina 2
NOME:_________________________________________________________________________TURMA _______________
Considere a funo booleana F(A,B,C,D) representada no seguinte mapa de Karnaugh, onde os termos indiferentes (dont
care) esto representados por d.
AB
AB
CD
CD
d
C
a)
Escreva as expresses simplificadas na forma de soma-de-produtos e produto-de-somas para a funo F(A,B,C,D) (utilize
um mapa de Karnaugh para obter cada expresso).
A'+C
A'.D'
AB
AB
CD
CD
1
0
D'+B
A'.B
d
B
1
C
Desenhe um circuito lgico que realize a funo F(A,B,C,D) utilizando um nmero mnimo de portas lgicas do tipo
NAND de duas entradas, ou de portas lgicas do tipo NOR de duas entradas.
Pelas expresses mnimas obtidas na alnea anterior, pode-se concluir que o circuito mais simples com
portas NAND ou NOR resultar da expresso mnima produto-de-somas. O circuito OR-AND
correspondente a essa expresso :
A'
C
F(A,B,C,D)
B
D'
Transformando-o de forma a conter apenas portas lgicas do tipo NOR com duas entradas:
A
C
F(A,B,C,D)
D
B
LEEC - SD 2000/2001
ASG/JCA/ASL/JSC
(ProvaB)
Pgina 3
NOME:_________________________________________________________________________TURMA _______________
Pretende-se projectar o sistema de controlo de um monta-cargas que se desloca entre dois andares (ver figura). Para
controlar o monta-cargas dispe-se das seguintes entradas para o sistema de controlo:
- um boto no interior do monta-cargas (MOVER) que
activado para deslocar o monta-cargas para o outro andar.
- dois botes exteriores de chamada, um em cada andar
(CHAMA_DESCER e CHAMA_SUBIR), que so activados
quando se pretende deslocar o monta-cargas para o andar
respectivo.
MOTOR_SUBIR
MOTOR_DESCER
NO_ANDAR2
CHAMA_DESCER
MOVER
Admita que o sistema de controlo s aceita comandos provenientes dos botes quando o monta-cargas est parado num dos
andares.
Complete o diagrama de transio de estados do sistema descrito, utilizando apenas os estados j representados e os nomes
simblicos referidos no texto para as entradas e sadas.
NOTA: O diagrama de estados incompleto apresentado no enunciado original tinha um erro: as duas
transies de estado apresentadas tinham associada a condio CHAMA_SUBIR=0 e
CHAMA_SUBIR=1, quando deveria ser CHAMA_DESCER=0 e CHAMA_DESCER=1 como se
mostra na figura abaixo.
MOTOR_SUBIR=0
MOTOR_DESCER=1
NO_ANDAR1=0
DESCER
MOTOR_SUBIR=1
MOTOR_DESCER=0
NO_ANDAR2=0
SUBIR
MOVER=1 ou
CHAMA_DESCER=1
NO_ANDAR1=1
NO_ANDAR2=1
MOVER=1 ou
CHAMA_SUBIR=1
PARADO1
MOVER=0 e
CHAMA_DESCER=0
LEEC - SD 2000/2001
MOTOR_SUBIR=0
MOTOR_DESCER=0
PARADO2
MOVER=0 ou
CHAMA_SUBIR=0
MOTOR_SUBIR=0
MOTOR_DESCER=0
ASG/JCA/ASL/JSC
(ProvaB)
Pgina 4
NOME:_________________________________________________________________________TURMA _______________
4 O diagrama de transio de estados da figura representa uma mquina de Moore com uma entrada X e uma sada S.
X=0
init
X=1
X=1
S=0
X=0
X=0
S=0
S=0
B
X=1
X=1
S=1
C
a)
X=0
Construa a tabela de transio de estados, atribuindo uma codificao apropriada aos estados.
Utilizando primeiro os nomes simblicos atribudos aos estados, a tabela de transio pedida :
estado actual
init
A
B
C
prximo estado
X=0 X=1
init
A
B
A
init
C
B
A
sada S
0
0
0
1
Codificando agora os estados como: init=00, A=01, B=10 e C=11, sero necessrios 2 flip-flops do tipo D
e a tabela de transio de estados fica:
estado actual
Q1 Q0
0 0
0 1
1 0
1 1
LEEC - SD 2000/2001
prximo estado
Q1* Q0*
X=0 X=1
sada S
0 0 0 1
0
1 0 0 1
0
0 0 1 1
0
1 0 0 1
1
ASG/JCA/ASL/JSC
(ProvaB)
Pgina 5
NOME:_________________________________________________________________________TURMA _______________
b)
Desenhe o esquema do circuito lgico que implementa a mquina de estados, utilizando flip-flops do tipo D.
Partindo da tabela de transio de estados construda na alnea anterior, vamos obter as equaes de
excitao dos dois flip-flops, como expresses do tipo soma-de-produtos:
Q1*(Q1,Q0,X)
Q1Q0
Q1
Q0.X'
1
0
Q1.Q0'.X
Q0
Q0*(Q1,Q0,X)
Q1Q0
Q1
Q0*(Q1,Q0,X) = X
Q0
S(Q1,Q0)
Q1
Q0
2
Q0
1
Q1.Q0
S(Q1,Q0) = Q1.Q0
Q1
um circuito lgico que realiza esta mquina de estados :
X
Q0*
Q1*
D Q
D Q
Q0
Q1
S
clock
LEEC - SD 2000/2001
ASG/JCA/ASL/JSC
(ProvaB)
Pgina 6
NOME:_________________________________________________________________________TURMA _______________
5
a)
Construa um circuito sncrono baseado num contador binrio (74x163) e em circuitos lgicos adicionais capaz de gerar,
nas sadas QD,QC,QB,QA do contador, a seguinte sequncia de valores (admitindo que o estado inicial igual a
QD,QC,QB,QA=0000):
74x163
estado
prximo
presente
estado
QD QC QB QA
QD* QC* QB* QA*
x x x x
0
0
0
0
x x x x
D
C
B
A
x x x x
QD QC QB QA
x x x x
QD QC QB QA
N (se N<15)
N + 1
1 1 1 1
0
0
0
0
CLK
CLR
LD
ENP
ENT
A
B
C
D
QD
QC
QB
QA
RCO
0000
0001
0010
0011
0100
0101
0110
0111
1010
1011
1100
0000
0001
0010
. . .
CLK
CLR
LD
ENP
ENT
A
B
C
D
QD
QC
QB
QA
RCO
Gnd
(0V)
load
reset
LEEC - SD 2000/2001
ASG/JCA/ASL/JSC
(ProvaB)
Pgina 7
NOME:_________________________________________________________________________TURMA _______________
b)
Modifique o circuito que construiu, acrescentando-lhe uma entrada X por forma a que quando X=0 mantida a sequncia
de contagem anterior, e quando X=1 passa a ser gerada a sequncia:
QD
QC
QB
QA
RCO
Gnd
(0V)
load
reset
LEEC - SD 2000/2001
ASG/JCA/ASL/JSC
(ProvaB)
Pgina 8
NOME:_________________________________________________________________________TURMA _______________
6 Pretende-se construir uma mquina de estados com uma sada Z que 1 quando os 4 ltimos bits consecutivos colocados
na sua entrada X so 1011 (ver exemplo). Aps o incio do funcionamento da mquina de estados a sada Z s considerada
vlida aps o 4 ciclo de relgio.
Entrada X: 00011011011001011000
Sada Z: xxxx0001001000001000
a)
Desenhe um circuito baseado num shift-register 74x194 e em circuitos lgicos adicionais capaz de realizar a
funcionalidade pretendida para a mquina de estados.
Universal Shift-register 74x194
funo
S1
hold
shift right
shift left
load
0
0
1
1
S0
0
1
0
1
QA
RIN
QB
A
QB
QA
QC
B
QC
QB
QD
C
QD
QC
LIN
D
O circuito pretendido pode ser construdo ligando o shift-register em configurao shift-left (S1=1,
S0=0) e um comparador com a constante 1011 nas sadas do shift-register (uma porta AND com uma
entrada negada), ligando a entrada X entrada LIN do shift-register. Em cada transio de relgio os
valores lgicos presentes na entrada X so deslocados para as sadas QD~QA, e a sada Z activada com
1 sempre que nas sadas aparecer 1011:
Vcc (5V)
74x194
clock
CLK
CLR
S1
S0
LIN
D
C
B
A
RIN
QD
QC
QB
QA
Gnd
(0V)
LEEC - SD 2000/2001
ASG/JCA/ASL/JSC
(ProvaB)
Pgina 9
NOME:_________________________________________________________________________TURMA _______________
b)
Admita agora que a mquina de estados s deve detectar sequncias no sobrepostas (ver exemplo). Modifique o circuito
anterior por forma a satisfazer este novo requisito (sugesto: possvel realizar este circuito sem introduo de novos
circuitos lgicos ao circuito pedido na alnea anterior).
Entrada X: 00011011011001011000
Sada Z: xxxx0001000000001000
Para que apenas sejam detectadas sequncias1011 no sobrepostas, deve ser apagada a histria dos
bits anteriores sempre que for detectada uma sequncia vlida (1011). Uma forma de conseguir este
comportamento consiste em limpar (carregar zero) nas sadas do shift-register, o que pode ser
conseguido activando a entrada CLR sempre que Z=1. No entanto, como CLR activo no nvel lgico
baixo, isso obriga a utilizar um inversor para negar Z. Para no gastar mais circuitos lgicos do que os
usados na soluo anterior, podemos realizar um load com 0000 (em vez de actuar a entrada CLR),
ligando a sada Z entrada S0: quando Z=0 feito o shift-left ( S1=1 e S0=0); quando detectada a
sequncia 1011 a sada Z fica com 1 e realizado o load(S1=1, S0=1) com 0000. O circuito resultante
fica:
Vcc (5V)
74x194
clock
CLK
CLR
S1
S0
LIN
D
C
B
A
RIN
QD
QC
QB
QA
Gnd
(0V)
- FIM -
LEEC - SD 2000/2001
ASG/JCA/ASL/JSC
(Prova A)
Pgina 1
NOME:________CORRECO________________________________________________________TURMA ___________
1 chamada 26/Junho/2001
sensor
de
presso
Pa
subtractor
sistema
de
memria
Vp
P6h
a) Sabendo que a presso atmosfrica Pa medida pelo sensor de presso (em mBar) positiva e nunca ultrapassa o valor
110010, diga, justificando, qual o nmero mnimo de bits necessrios para representar essa grandeza.
Como o valor de presso que se pretende representar apenas assume valores positivos, bastar utilizar a representao
binria de nmeros positivos. Como com N bits possvel representar nmeros inteiros positivos entre 0 e 2N-1,
deveremos determinar um nmero (inteiro) N que satisfaa a inequao:
donde se tira:
Note que no necessita de calcular log2(1101)! Basta saber de cor a tabuada das potncias inteiras de dois: log2(2048)
= 11, ou 211=2048.
b) Sabendo que a variao de presso Vp (positiva ou negativa) nunca excede 40 mBar em valor absoluto, indique,
justificando, qual o nmero mnimo de bits necessrio para representar, em complemento para dois, essa variao de
presso.
A variao de presso Vp pode assumir valores no intervalo [-40, +40] e dever ser representada em complemento para
dois. Como com N bits podemos representar nmeros com sinal em complemento para dois entre [-2N-1,+2N-1-1], o menor
nmero de bits que permite representar o intervalo pretendido 7: -27-1=-64 e +27-1 -1=+63
c) Sabendo que o valor actual de presso 923 mBar e h 6 horas atrs era de 957 mBar, obtenha o valor da variao de
presso (presso actual Pa menos a presso h 6 horas atrs P6h) efectuando a operao de subtraco em binrio e
tendo em conta as respostas dadas nas alneas anteriores.
Nota: 92310 = 11100110112 e 95710 = 11101111012 .
Realizando a operao de subtraco em binrio em 10 bits (note que basta realizar a operao de subtraco em 10 bits
porque os dois valores so inferiores a 1024) obtemos:
1110011011
-1110111101
1111011110
Como o resultado dever ser representado em 7 bits (ver b)), ento o valor da variao de presso pretendido so os 7
bits menos significativos do resultado da subtraco realizada acima: 1011110 (-34)
LEEC - SD 2000/2001
ASG/JCA/AJA
(Prova A)
Pgina 2
NOME:________CORRECO________________________________________________________TURMA ___________
2-
Considere um circuito que realiza a operao de multiplicao por 3 de um nmero positivo de 4 bits representado por
D3D2D1D0 compreendido entre 0 e 9, como se mostra na figura:
D3
D2
D1
D0
P4
P3
P2
P1
P0
X3
D3 D2 D1 D0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
P 4 P3 P 2 P 1 P 0
0
0
0
0
0
0
1
1
1
1
x
x
x
x
x
x
0
0
0
1
1
1
0
0
1
1
x
x
x
x
x
x
0
0
1
0
1
1
0
1
0
0
x
x
x
x
x
x
0
1
1
0
0
1
1
0
0
1
x
x
x
x
x
x
0
1
0
1
0
1
0
1
0
1
x
x
x
x
x
x
D1
D2.D1
LEEC - SD 2000/2001
00
P2:
D3
D 3D 2
D 1D 0
01
11
10
00
01
11
10
D3
D3
D3 D2
D 1D 0
01
11
10
00
01
11
D0
D1
00
10
(D2+D1)
D0
(D2+D0')
D2
D2
P4 = D2.D1 + D3
(D1'+D2'+D0)
ASG/JCA/AJA
(Prova A)
Pgina 3
NOME:________CORRECO________________________________________________________TURMA ___________
S1=1
Acabou de cortar
S2=1
S1=1
S2=0
S1=1
S2=1
Complete o diagrama de estados apresentado na figura da prxima pgina que descreve o funcionamento do sistema de controlo.
LEEC - SD 2000/2001
ASG/JCA/AJA
(Prova A)
Pgina 4
NOME:________CORRECO________________________________________________________TURMA ___________
3 - (continuao)
S1=0
ou
S2=0
INIT
MOTOR=1
S1=1
e
S2=1
PRENSA=1
Activando o sinal PRENSA, e' cortada uma
rodela da chapa
CORTA
SUBIDA
PRENSA_SUBIDA=0
PRENSA_SUBIDA=1
S2=1
MOTOR
S2=1
MOTOR=1
S1=0
S2=0
PARA
MOTOR=1
Quando S2=0 foi detectado o buraco na chapa;
o motor deve permanecer ligado ate' que
S2 seja novamente 1 (chapa posicionada)
MOTOR2
S1=0
S2=0
LEEC - SD 2000/2001
ASG/JCA/AJA
(Prova A)
Pgina 5
NOME:________CORRECO________________________________________________________TURMA ___________
4 A tabela de transio de estados da figura descreve uma mquina de estados de Moore com uma entrada X e uma sada Z:
estado
presente
A
B
C
D
E
a)
X=0
X=1
sada
Z
A
C
A
C
C
B
B
D
E
B
0
0
0
0
1
prximo estado
codificao de
estados
A=001
B=101
C=111
D=011
E=100
Supondo a codificao de estados representada na figura, desenhe o esquema do circuito lgico que implementa a mquina
de estados, utilizando flip-flops do tipo D, e garantindo que para os estados no especificados o estado seguinte o estado A
e a sada Z indiferente. (utilize o verso da folha)
Como temos 5 estados, necessitamos de 3 flip-flops para representar a varivel de estado: Q2,Q1 ,Q0. Vamos construir a
tabela de transio de estados utilizando a codificao dada, e assumindo, para os estados no especificados (cdigos
000, 010 e 110), que o prximo estado o estado A (001):
estado
presente
Q2 Q 1 Q 0
A
B
C
D
E
0
1
1
0
1
0
0
1
0
0
1
1
0
0
1
1
1
1
1
1
0
0
0
0
prximo estado
Q2* Q1* Q0* sada
Z
X=0
X=1
0
0 0 1 1 0 1
0
1 1 1 1 0 1
0
0 0 1 0 1 1
0
1 1 1 1 0 0
1
1 1 1 1 0 1
0
0 0 1 0 0 1
0
0 0 1 0 0 1
0
0 0 1 0 0 1
codificao de
estados
A=001
B=101
C=111
D=011
E=100
LEEC - SD 2000/2001
ASG/JCA/AJA
(Prova A)
Pgina 6
NOME:________CORRECO________________________________________________________TURMA ___________
Q2*:
Q0 X
Q2'.Q0.X
Q0
00
Q1*:
Q2
Q 2Q 1
01
11
Q0 X
10
00
01
11
10
Q2.Q1'
00
01
11
00
01
11
10
X
Q0
10
Q2.Q1'.X'
Q1
Q2'.Q1.Q0.X'
Q1
Q2'.Q1.Q0
Q2
Q2 Q 1
Q2.Q1.Q0.X
Q2* = Q2'.Q1.Q0 + Q2'.Q0.X + Q2.Q1'
Q0*:
Q0
Q2
Q 2 Q1
Q 0X
00
01
11
00
10
01
Z:
Q0
X
00
01
11
11
10
Q2+Q1'+Q0'+X'
Q2
Q2 Q 1
10
Q2.Q1'.Q0'
Q0
Q1
Q1
Z = Q2.Q1'.Q0'
Q0* = Q2+Q1'+Q0'+X'
Q2*
Q1*
Q0*
D Q
D Q
D Q
Q2
Q1
Q0
clock
LEEC - SD 2000/2001
ASG/JCA/AJA
(Prova A)
Pgina 7
NOME:________CORRECO________________________________________________________TURMA ___________
b)
Indique as alteraes a efectuar no circuito anterior se, para os estados no especificados, o estado seguinte pudesse ser
apenas o estado A ou o estado B.
Como o estado A codificado como 001 e o estado B como 101, apenas seria alterada a funo lgica que realiza a
funo Q2 *, j que para os 3 estados no especificados (000, 010 e 110) esta funo passaria a ser indiferente. O novo
mapa de Karnaugh para a funo Q2* seria ento:
Q2*:
Q2
Q2 Q1
00
01
11
10
00
01
11
10
Q0 X
Q2'.X
Q0
Q2'.Q1
Q2.Q1'
Q1
Q2'
Q1
Q2'
X
Q2*
Q2
Q1'
LEEC - SD 2000/2001
ASG/JCA/AJA
(Prova A)
Pgina 8
NOME:________CORRECO________________________________________________________TURMA ___________
5
a) Usando um shift-register 74x194 (ver tabela abaixo) e circuitos lgicos adicionais, construa um circuito sncrono com
uma entrada X e uma sada Z que coloca na sada o valor lgico 1 sempre que detectar na entrada X a sequncia de
valores 1011 em 4 transies de relgio consecutivas, como se mostra no exemplo seguinte:
Entrada X: 0 1 0 1 1 0 1 1 0 0 1 0 1 1
Sada Z: 0 0 0 0 1 0 0 1 0 0 0 0 0 1
Para construir o circuito pedido, vamos configurar o 74x194 em modo shift-left (S1=1, S0=0) e ligar a entrada LIN
entrada X do circuito pedido. Desta forma, teremos sempre presente nas sadas QA~QD o estado ocorrido na entrada X
em 4 transies consecutivas do sinal de relgio. Para detectar a sequncia pedida, basta ligar s sadas QA~QD um
circuito combinacional que produza uma sada 1 sempre que as sadas tenham o estado 1011 (uma porta AND com uma
entrada negada):
funo
S1
hold
shift right
shift left
load
0
0
1
1
S0
0
1
0
1
QB
QA
QC
B
QC
QB
QD
C
QD
QC
LIN
D
Vcc (5V)
74x194
Clock
CLK
CLR
S1
S0
LIN
D
C
B
A
QD
QC
QB
QA
RIN
Gnd
(0V)
b)
Modifique o circuito anterior por forma a que apenas sejam detectadas sequncias no sobrepostas, como se exemplifica na
figura seguinte:
Entrada X: 0 1 0 1 1 0 1 1 0 0 1 0 1 1
Sada Z: 0 0 0 0 1 0 0 1 0 0 0 0 0 1
Para detectar apenas sequncias no sobrepostas necessrio que, no prximo estado a seguir deteco de uma
sequncia vlida:
i) seja carregado para o primeiro bit (QD ou o mais direita se considerarmos o sentido do deslocamento para a
esquerda) o valor presente na entrada X.
ii) os restantes bits (QC,QB e QA) sejam colocados com zero para estragar o resto da sequncia j detectada
LEEC - SD 2000/2001
ASG/JCA/AJA
(Prova A)
Pgina 9
NOME:________CORRECO________________________________________________________TURMA ___________
Como a funo Load activada com S1=1 e S0=0, basta ligar a sada Z entrada S0 (quando detectar a sequncia, Z=1
e faz Load, quando no detecta sequncia, Z=0 e faz shift-left), ligar a entrada D entrada X e as entradas C, B e A a
zero (quando faz Load carrega para QD~QA o valor X000, onde X representa o valor lgico presente na entrada X):
Vcc (5V)
74x194
Clock
CLK
CLR
S1
S0
LIN
D
C
B
A
QD
QC
QB
QA
RIN
Gnd
(0V)
6 Considere o circuito da figura, baseado num contador up-down 74x169, cuja funcionalidade descrita pela tabela abaixo.
a)
Admitindo o estado inicial QD,QC,QB,QA=0000, determine a sequncia (em binrio) produzida nas sadas QD,QC,QB,QA.
74x169
UP/DWN /LD /ENT /ENP
x
0
x
x
x
1
1
x
x
1
x
1
1
1
0
0
0
1
0
0
1
1
0
0
0
1
0
0
estado
presente
QD QC QB QA
x x x x
x x x x
x x x x
N (se N<15)
N (se N>0)
1 1 1 1
0 0 0 0
prximo
estado
QD* QC* QB*
D
C
B
QD QC QB
QD QC QB
N + 1
N - 1
0
0
0
1
1
1
QA*
A
QA
QA
Vcc (5V)
0
1
74x169
CLK
UP/DWN
LD
ENP
ENT
D
C
B
A
QD
QC
QB
QA
RCO
Gnd
(0V)
faz Load quando QD~QA=1000 (8), carrega 0011 (3)
LEEC - SD 2000/2001
ASG/JCA/AJA
(Prova A)
Pgina 10
NOME:________CORRECO________________________________________________________TURMA ___________
b)
0
1
2
3
4
5
Load de 1011 (11)
11
10
9
Load de 0011 (3)
8
3
...
Modifique o circuito apresentado de forma a acrescentar-lhe uma entrada X, activa no nvel lgico alto, que permita
reinicializar as sadas com o valor QD,QC,QB,QA=0011.
Para reinicializar as sadas com 0011, pode-se ligar a entrada X negada a uma terceira entrada da porta AND que
controla o sinal Load do contador. Para que esse Load provoque o carregamento com 0011, teremos de modificar o
circuito que alimenta a entrada D do contador de forma a que nesse caso seja imposto um 1 na entrada D (note que C,
B e A esto j ligadas aos valores lgicos pretendidos). Um circuito que realiza essa funo o seguinte:
Vcc (5V)
74x169
CLK
UP/DWN
LD
ENP
ENT
D
C
B
A
QD
QC
QB
QA
RCO
Gnd
(0V)
- FIM -
LEEC - SD 2000/2001
ASG/JCA/AJA
(Prova A)
Pgina 1
NOME:___________________CORRECO_____________________________TURMA _______________
2 chamada 11/Julho/2001
1a)
ii)
Se 1A016 representar agora um nmero inteiro em complemento para dois com 10 bits (os 10 bits da
direita), ento podemos concluir que o seu valor uma quantidade positiva porque o bit de sinal (MSB)
0, sendo o seu valor igual a:
01101000002 = 28+ 27+25 = 256 + 128 + 32 = 41610
b) Obtenha o resultado da adio, efectuada em complemento para dois com 9 bits, entre o nmero dado em a) e 2710.
Primeiro vamos representar 27 em complemento para dois com 9 bits. Para isso comecemos por
calcular a representao de 27 em binrio:
LSB
27 2
1 13 2
16 2
0 3 2
1 1
MSB
Assim, 2710 = 110112 = 0000110112 . A representao de 27 em complemento para dois com 9 bits
obtm-se calculando o complemento para dois de +27:
LEEC - SD 2000/2001
ASG/JCA/AJA
(Prova A)
Pgina 2
NOME:___________________CORRECO_____________________________TURMA _______________
-27 = -(000011011) =111100100 + 1 = 1111001012
Efectuando agora a adio binria entre o nmero dado em a) e 27:
110100000
+111100101
1110000101
Como no ocorre overflow (porque os bits de sinal dos operandos so iguais), podemos concluir que o
resultado da adio pode ser representado em 9 bits por 110000101 (representa a quantidade 123 = (27) + (- 96) ).
c) Determine qual a constante inteira positiva de 6 bits que necessrio adicionar a valores representados em
complemento para dois com 6 bits, para que passem a representar nmeros inteiros positivos (sem sinal) com 6 bits no
intervalo [0,+63].
Com uma representao binria em complemento para dois com 6 bits podem-se representar nmeros
inteiros com sinal no intervalo [ -2(6-1), +2(6-1)-1 ] = [-32,+31]. Somando a constante inteira +32 a
nmeros representados neste intervalo passamos a ter valores que pertencem a [0,+63]. A representao
binria de +32 em 6 bits 100000 (note que, em complemento para dois com 6 bits o nmero 1000002
representa o valor -32).
Considere um circuito combinacional com 4 entradas D3D2D1 D0, e uma sada S que 1 sempre que no conjunto das
entradas o nmero de zeros seja maior ou igual ao nmero de uns.
D3
D2
D1
D0
a)
DMZDQU
Projecte o circuito utilizando apenas portas NOR de 3 entradas (utilize o verso da folha).
Como pretendemos construir um circuito que apenas contenha portas NOR, conveniente obter uma
funo minimizada na forma produto-de-somas:
Tabela de verdade:
D 3 D2 D1 D0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
LEEC - SD 2000/2001
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
1
1
1
1
1
1
0
1
1
1
0
1
0
0
0
S:
D3
D3D2
D1D0
00
01
11
10
(D3'+D0'+D1')
00
(D3'+D0'+D2')
01
D1
11
10
(D2'+D0'+D1')
0
0
D0
(D3'+D2'+D1')
D2
S = (D3'+D0'+D2').(D2'+D0'+D1').(D3'+D2'+D1').(D3'+D0'+D1')
ASG/JCA/AJA
(Prova A)
Pgina 3
NOME:___________________CORRECO_____________________________TURMA _______________
Circuito OR-AND (traduo directa da expresso minimizada produto-de-somas):
D3 D2 D1 D0
LEEC - SD 2000/2001
ASG/JCA/AJA
(Prova A)
Pgina 4
NOME:___________________CORRECO_____________________________TURMA _______________
b) Projecte o mesmo circuito utilizando um multiplexer 81 (3 linhas de seleco).
Vamos ligar s linhas de seleco do multiplexer as variveis D3~D1. Desta forma, as entradas D0~D7
do multiplexer sero ligadas a 0, 1, D0 ou D0, de acordo com a tabela de verdade da funo a
implementar:
Vcc (5V)
D3 D2 D1 D0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
LEEC - SD 2000/2001
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
1
1
1
1
1
1
0
1
1
1
0
1
0
0
0
1
D0
D1
D2
D3
D4
D0'
D5
D0
D6
D7
D0'
D0'
0
Gnd
D3
D2
D1
S0
S2 S1
ASG/JCA/AJA
(Prova A)
Pgina 5
NOME:___________________CORRECO_____________________________TURMA _______________
Considere uma mquina de estados com duas entradas X,Y e uma sada Z. A sada Z deve tomar o valor lgico 1 sempre
que, em duas transies de relgio consecutivas, as entradas X e Y mantenham o mesmo valor e sejam iguais entre si (ver
figura).
Entrada X: 0 1 0 1 1 0 0 0 0 0 1 1 0 1
Entrada Y: 0 0 0 1 1 1 1 0 0 0 1 1 1 1
Sada Z: 0 0 0 0 1 0 0 0 1 1 0 1 0 0
Complete o diagrama de estados apresentado na figura que descreve o funcionamento desta mquina de estados. As condies
de transies de estado apresentadas representam os valores das entradas X e Y, nesta ordem.
10
ou
01
Z=0
E0
XY=00
10
ou
01
10
ou
01
11
00
E1
E3
Z=0
10
ou
01
Z=0
11
00
11
10
ou
01
00
11
E2
00
E4
Z=1
Z=1
11
LEEC - SD 2000/2001
ASG/JCA/AJA
(Prova A)
Pgina 6
NOME:___________________CORRECO_____________________________TURMA _______________
4 Pretende-se projectar um circuito sequencial sncrono que produza nas sadas Q3Q2Q1Q0 a seguinte sequncia:
0, 1, 3, 6, 10, 15, 0, 1, ...
a)
Construa a tabela de transio de estados, admitindo um critrio de custo mnimo para os estados no especificados, e
fazendo coincidir as sadas Q3Q2Q1 Q0 com as variveis de estado.
Vamos comear por construir a tabela de transio de estados do circuito pretendido. Note que esta
mquina de estados no tem entradas e repete ciclicamente uma sequncia de estados determinada.
Como pedido no enunciado, vamos fazer coincidir as sadas da mquina de estados com as variveis
Q3Q2Q1Q0 que representam o estado presente (na realidade seriam suficientes 3 flip-flops para
representar o estado presente, j que s temos 6 estados; no entanto isso obrigaria a construir circuitos
que produzissem as sadas pretendias Q3Q2Q1Q0 em funo do estado presente codificado em 3 bits).
Estado presente
Q3 Q2 Q1 Q0
0
1
3
6
10
15
LEEC - SD 2000/2001
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Prximo estado
Q 3 * Q2 * Q 1 * Q0 *
0
0
d
0
d
d
1
d
d
d
1
d
d
d
d
0
0
0
d
1
d
d
0
d
d
d
1
d
d
d
d
0
0
1
d
1
d
d
1
d
d
d
1
d
d
d
d
0
1
1
d
0
d
d
0
d
d
d
1
d
d
d
d
0
1
3
6
10
15
ASG/JCA/AJA
(Prova A)
Pgina 7
NOME:___________________CORRECO_____________________________TURMA _______________
b)
Projecte o circuito utilizando flip-flops D e circuitos lgicos adicionais (se necessrio utilize o verso da folha).
Vamos obter funes minimizadas para as funes que produzem o prximo estado: Q3*, Q2*, Q1* e
Q0*
Q3*:
00
01
11
00
01
Q1Q0
Q1
Q2*:
Q3
Q 3Q 2
10
11
10
Q3
Q 3Q 2
00
01
11
00
01
11
10
Q 1Q 0
Q0
Q1
10
Q0
Q1.Q0'
Q2
Q2
Q3* = Q1.Q0'
Q1*:
Q1
Q0*:
00
01
11
00
01
Q 1Q 0
Q0.Q3'
Q2* = Q1.Q2'
Q3
Q3Q2
Q1.Q2'
10
11
10
Q3
Q 3Q 2
00
01
11
00
01
11
10
Q 1Q 0
Q1'
Q0
Q1
10
Q0
Q1.Q0'
Q2
Q1* = Q0.Q3' + Q1.Q0'
LEEC - SD 2000/2001
Q2
Q3.Q2'
Q0* = Q1'+.Q3.Q2'
ASG/JCA/AJA
(Prova A)
Pgina 8
NOME:___________________CORRECO_____________________________TURMA _______________
O circuito que realiza a mquina de estados pretendida :
Q3 Q3' Q2 Q2' Q1 Q1' Q0 Q0'
Q3*
D Q
Q2*
D Q
Q1*
D Q
Q0*
D Q
Q3
Q3
Q2
Q2
Q1
Q1
Q0
Q0
clock
Considere o seguinte circuito sncrono baseado num shift-register 74x194 (ver tabela):
Vcc (5V)
74x194
Clock
CL K
CLR
S1
S0
LIN
D
C
B
A
RIN
funo
S1
hold
shift right
shift left
load
0
0
1
1
S0
0
1
0
1
QB
QA
QC
B
QC
QB
QD
C
QD
QC
LIN
D
QD
QC
QB
QA
Gnd
(0V)
a) Admitindo que o estado inicial QAQBQCQD=0000, determine a sequncia de valores nas sadas do circuito.
LEEC - SD 2000/2001
ASG/JCA/AJA
(Prova A)
Pgina 9
NOME:___________________CORRECO_____________________________TURMA _______________
Q A QB QC QD S1 S0 LIN
0
1
0
1
0
0
0
0
0
0
0
0
...
0
0
1
0
0
1
0
1
1
0
1
0
1
1
0
1
RIN
shift-right
shift-left
shift-right
shift-left
1
1
1
1
S1 = QA
S0 = QA' + QD
LIN = (QD+QC+QB)'
RIN = 1
b)
Acrescente uma entrada CARREGA que, quando activada com 1, inicialize o shift-register com QAQBQCQD=1100.
Quando CARREGA=0 deve manter-se o comportamento do circuito inicial (utilize o verso da folha).
Para forar o carregamento do shift-register temos de colocar com 1 as entradas S1 e S0 quando a
entrada CARREGA tiver o nvel lgico 1, e manter o funcionamento do circuito anterior quando
CARREGA=0. Alm disso necessrio ligar as entradas A e B ao nvel lgico 1 para que o valor
carregado seja 1100:
Vcc (5V)
74x194
Clock
CLK
CLR
S1
S0
LIN
D
C
B
A
CARREGA
QD
QC
QB
QA
RIN
Gnd
(0V)
6 Pretende-se construir um circuito sncrono baseado em dois contadores 74x163, que apresente, nas duas sadas de 4 bits,
respectivamente o dgito das unidades e o dgito das dezenas da sequncia de valores 00, 01, 02... 58, 59, 00... .
a)
Utilizando um contador 74x163, construa o circuito sncrono que produz o dgito das unidades (conta ciclicamente de 0 a
9).
Para construir um contador decimal (conta de 0 a 9) basta ligar entrada CLR do contador uma sada
que apresente o valor lgico 0 sempre que as sadas do contador estejam no estado 1001 (valor 9):
LEEC - SD 2000/2001
ASG/JCA/AJA
(Prova A)
Pgina 10
NOME:___________________CORRECO_____________________________TURMA _______________
Vcc (5V)
74x163
clock
74x163
CLK
CLR
LD
E NP
E NT
D
C
B
A
QD
QC
QB
QA
estado
prximo
presente
estado
QD QC QB QA
QD* QC* QB* QA*
x x x x
0
0
0
0
x x x x
D
C
B
A
x x x x
QD QC QB QA
x x x x
QD QC QB QA
N (se N<15)
N + 1
1 1 1 1
0
0
0
0
RCO
Gnd
(0V)
b)
Acrescentando o segundo 74x163, complete o circuito anterior por forma a realizar o contador pretendido (contador
decimal de 00 a 59).
O circuito pretendido pode ser construdo ligando o contador anterior que produz o dgito das unidades a
outro contador com uma configurao semelhante que conte de 0 a 5 (dgito das dezenas). Este segundo
contador apenas deve contar quando as unidades atingem o valor 9. Para isso podemos ligar o sinal que
activa o CLR do primeiro contador entrada ENP (enable) do segundo contador (note que este sinal tem
que ser negado j que ENP activo com o nvel lgico 1 e CLR activo com o nvel lgico 0).
Vcc (5V)
74x163
clock
74x163
CLK
CLK
CLR
LD
ENP
ENT
D
C
B
A
CLR
LD
EN P
EN T
D
C
B
A
RCO
Gnd
(0V)
Gnd
(0V)
- FIM -
LEEC - SD 2000/2001
ASG/JCA/AJA
(Prova A)
Pgina 1
NOME:_________________CORRECO____________________________________________TURMA _______________
1 chamada 7/Janeiro/2002
1 -
Pretende-se codificar as coordenadas de latitude e longitude de determinados locais usando o sistema binrio em
complemento para 2. As latitudes variam entre 90 (90 Sul) e +90 (90 Norte). As longitudes variam entre 180 (180 Oeste) e
+180 (180 Este).
a)
b)
Tendo-se optado por codificar a latitude e longitude com 8 e 10 bits respectivamente, indique as coordenadas da cidade de
Melbourne: 38 Sul (-38), 145 Este (+145).
Para representar o valor 38 em complemento para dois com 8 bits, vamos inicialmente obter a representao
de +38 em base 2 e depois calcular o seu complemento (-38):
LSB
38 2
08 19 2
0 1 9 2
1 4 2
0 2 2
0 1
MSB
Como +3810=001001102 , ento 38 pode obter-se calculando o complemento para 2 de +38 complementando
os bits da representao binria de +38 (complemento para 1) e adicionando 1:
-38 = -(001001102) = 11011001+1=110110102
LEEC - SD 2001/2002
ASG/JCA/ASL/HSM
(Prova A)
Pgina 2
NOME:_________________CORRECO____________________________________________TURMA _______________
A representao do valor +145 em complemento para dois com 10 bits coincide com a representao de 145
em base 2:10010001
LSB
c)
145 2
05 72 2
1 12 36 2
0 16 18 2
0 0 9 2
1 4 2
0 2 2
0 1
MSB
Admitindo a representao referida em b), calcule em binrio a diferena de latitudes das ilhas de Spitzbergen (78 Norte =
4E16) e Falkland (52 Sul = CC16). Comente o resultado.
Efectuando em binrio a operao de subtraco entre os nmeros binrios dados obtm-se:
diminuendo positivo
diminuidor negativo
01001110
-11001100
10000010
resultado negativo
Como os operandos tm sinais opostos (note que foi efectuada uma subtraco e no uma adio!) e o sinal
do resultado diferente do sinal do diminuendo (o operando de cima), ento podemos concluir que ocorre
overflow e que o resultado obtido no representvel em 8 bits.
Outra forma de realizar esta operao consiste em obter primeiro o complemento do diminuidor (-52) e
efectuar em seguida uma operao de adio:
-5210 = - (110011002) = 00110011+1 = 001101002
positivo
positivo
01001110
+00110100
10000010
resultado negativo
Como o sinal dos operandos igual e o resultado tem sinal oposto, ento pode-se concluir que ocorre
overflow e que o resultado (130) no representvel em complemento para dois com 8 bits.
LEEC - SD 2001/2002
ASG/JCA/ASL/HSM
(Prova A)
Pgina 3
NOME:_________________CORRECO____________________________________________TURMA _______________
2-
O circuito da figura um multiplexador de 2 entradas. Na sada Y surge o valor lgico da entrada I0 caso a entrada de
seleco S seja 0, ou surge o valor lgico da entrada I1 se S=1. Note que este funcionamento s ocorre se a entrada de enable
estiver activa (EN = 1) caso contrrio a sada ser 0.
EN
I
I
a)
0
1
Y
S
S I1 I0
LEEC - SD 2001/2002
ASG/JCA/ASL/HSM
(Prova A)
Pgina 4
NOME:_________________CORRECO____________________________________________TURMA _______________
Negando as sadas das portas OR e as entradas da porta AND obtemos um circuito s com portas NOR, mas
que ainda usa uma porta NOR de trs entradas. Note que necessrio acrescentar um inversor na entrada
En para que se possa negar a entrada correspondente da porta AND:
En
S I1 I0
Finalmente vamos traduzir a porta NOR de 3 entradas em portas NOR de 2 entradas e inversores:
S I1 I0
En
c)
um XOR de 2 entradas: A B
Vcc (1)
S
=
0
0
1
1
0
1
0
1
Y=A B
0 Z=B
1
1 Z=B'
0
I0
En
Y
Y=A B
I1
S
I0
En
Y
Y=A.B.C
I1
S
A
Gnd (zero)
LEEC - SD 2001/2002
ASG/JCA/ASL/HSM
(Prova A)
Pgina 5
NOME:_________________CORRECO____________________________________________TURMA _______________
sensor
resistncia
Pretende-se projectar o sistema de
de
de
controlo de temperatura de um cilindro de
Cilindro
temperatura
aquecimento
aquecimento de gua. O sistema tem uma
sada LIGA que quando activada (nvel
alto) liga a resistncia elctrica de
Vlvula de escape
TCRI (T>Tcritica)
aquecimento e uma sada ESCAPE que
TMAX (T>Tmax)
quando activada (nvel lgico alto) abre
uma vlvula de escape de gua, sempre
TMIN (T<Tmin)
que a temperatura da gua ultrapassar um
limite crtico. Para controlar a temperatura
rel
da gua no interior do cilindro dispe-se de
START
3 entradas TMAX, TMIN e TCRI, que
LIGA
so activadas (nvel lgico alto) quando a
controlador
STOP
ESCAPE
temperatura da gua no interior do cilindro
se torna, respectivamente, maior do que o clock
limite mximo Tmax, menor do que o
limite mnimo Tmin ou maior do que a temperatura mxima admissvel no interior do cilindro, Tcritica. O sistema dispe ainda
de duas entradas ligadas a um boto de arranque (START) para iniciar a operao e a um boto de paragem (STOP) para
desligar. Estas entradas tomam o valor lgico alto quando os botes respectivos so pressionados.
Para controlar a temperatura da gua no interior do cilindro, a resistncia elctrica deve ser ligada sempre que T for menor do que
o valor mnimo Tmin, e deve ser desligada quando for ultrapassado o valor mximo Tmax. Se, por motivo de avaria, a
temperatura ultrapassar o limite crtico (activando a sada TCRI do sensor de temperatura), deve ser parado o sistema, aberta a
vlvula de escape e desligada a resistncia.
Desenhe o diagrama de transio de estados do sistema descrito, utilizando nomes simblicos para os estados.
Nota:
Nas condies de transio de estado,
as entradas no especificadas so
consideradas indiferentes
START=0
INIT
STOP=1
START=1
STOP=1
TCRI=0
TMAX=0
STOP=0
TCRI=0
STOP=1
TCRI=0
TMIN=1
STOP=0
TCRI=0
DESLIGA
LIGA
TMAX=1
STOP=0
TCRI=0
ESCAPE=0
LIGA=1
TCRI=1
TMIN=0
STOP=0
TCRI=0
ESCAPE=0
LIGA=0
TCRI=1
CRITICA
LEEC - SD 2001/2002
ESCAPE=1
LIGA=0
ASG/JCA/ASL/HSM
(Prova A)
Pgina 6
NOME:_________________CORRECO____________________________________________TURMA _______________
Considere a mquina sequencial cuja tabela de transies de estados se mostra. Os estados A, B e C so codificados
respectivamente na forma Q1Q0 = 00, 01 e 10.
X
S
A
B
C
0
B
C
A
1
C
A
B
Z
0
0
1
S*
a)
Identifique as entrada e sadas da mquina e diga, justificando, se se trata de uma mquina de Moore ou Mealy.
A mquina de estados cujo funcionamento descrito pela tabela tem apenas uma entrada (X) e uma
mquina de Moore porque a nica sada Z apenas depende do estado presente.
b) Obtenha o circuito respectivo utilizando flip-flops JK e um critrio de custo mnimo (utilize o verso da folha)
Com base na equao caracterstica do flip-flopJK, vamos construir a tabela de transio de estados com a
codificao de estados dada. Para o cdigo no utilizado (Q1Q0=11) vamos considerar indiferente o prximo
estado, j que dito para utilizar o critrio de custo mnimo.
Flip-flop JK
J
Equao caracterstica
Q = J . Q' + K' . Q
CLK
K
Q -> Q*
0 0
0 1
1 0
1 1
J
0
1
X
X
K
X
X
1
0
Tabela de excitao:
A
B
C
Estado
no usado
Q1 Q0 X Q1* Q0*
0 0 0 0 1
0 0 1 1 0
0 1 0 1 0
0 1 1 0 0
1 0 0 0 0
1 0 1 0 1
1 1 0 x x
1 1 1 x x
J1 K1
0 x
1 x
1 x
0 x
x 1
x 1
x x
x x
J0 K0
1 x
0 x
x 1
x 1
0 x
1 x
x x
x x
Z
0
0
0
0
1
1
x
x
Por inspeco da tabela de verdade, podemos concluir que as funes K1(Q1,Q0,X) e K0(Q1,Q0,X) podem ser
iguais a 1, e que a sada Z pode ser igual a Q1. Para obter funes mnimizadas para as funes J1(Q1,Q0,X) e
J0(Q1,Q0,X) vamos recorrer a mapas de Karnaugh:
LEEC - SD 2001/2002
ASG/JCA/ASL/HSM
(Prova A)
Pgina 7
NOME:_________________CORRECO____________________________________________TURMA _______________
O circuito com flip-flops JK que implementa a mquina de estados pretendida (as diferentes cores nas
ligaes servem apenas para ajudar sua identificao):
X
Vdd (1)
J0
Q0
CLK
J1
Q0'
Q1
CLK
CLK
c)
Q1'
Supondo que a mquina arranca no estado no definido (em que Q1Q0 = 11), indique qual o estado seguinte se a entrada
X for igual a 0, tendo por base a soluo encontrada.
O prximo estado com X=0 a partir do estado Q1Q0=11 (estado no definido) pode ser obtido a partir das
equaes de excitao dos flip-flops JK para as entradas J1 e J0 (note que K1 = K0 = 1):
J1= Q0 . X + Q0 . X = 1
J0 = Q1 . X + Q1 . X = 0
Como temos J1K1=11 e J0K0=01, pela equao caracterstica do flip-flop JK ento Q1*=Q1 e Q0*=0. Assim o
estado seguinte a Q1Q0=11 ser Q1Q0=00 (estado A).
LEEC - SD 2001/2002
ASG/JCA/ASL/HSM
(Prova A)
Pgina 8
NOME:_________________CORRECO____________________________________________TURMA _______________
Considere o circuito da figura construdo com base em contadores 74x163, onde o bloco comparador detecta a igualdade
entre as sadas dos dois contadores. Supondo que o estado inicial dos dois contadores QDQCQBQA=0000, diga justificando
qual a sequncia de valores obtida nas sadas S3S2S1S0.
Vcc (5V)
74x163
CLK
74x163
/CLR /LD ENT ENP
0
x
x
x
1
0
x
x
1
1
0
x
1
1
x
0
1
1
1
1
1
1
1
1
CLR
LD
ENP
ENT
estado
prximo
presente
estado
QD QC QB QA
QD* QC* QB* QA*
x x x x
0
0
0
0
x x x x
D
C
B
A
x x x x
QD QC QB QA
x x x x
QD QC QB QA
N (se N<15)
N + 1
1 1 1 1
0
0
0
0
A
B
C
D
QD
QC
QB
QA
RCO
S3
S2
S1
S0
comparador
74x163
CLK
CLK
CLR
LD
ENP
ENT
A
B
C
D
QD
QC
QB
QA
RCO
Gnd (0V)
O circuito da figura constitudo por dois contadores binrios que vamos identificar como o de cima e o de
baixo. Pretende-se identificar a sequncia de valores que ocorrem na sada do contador de cima, partindo de
um estado inicial em que as sadas de ambos so zero. Analisemos em primeiro lugar o bloco comparador.
Este circuito produz uma sada 1 quando o valor na sada dos dois contadores igual ( um comparador de
igualdade). Esta sada est ligada entrada enbale (ENP) do contador de baixo, de forma que este apenas
conta quando as sadas dos dois contadores so iguais. Alm disso, a sada do comparador est tambm
ligada atravs de um inversor entrada CLR do contador de cima, o que faz com que quando a sada do
comparador for 1, o prximo estado do contador de cima ser QDQCQBQA=0000. Note que a entrada LD de
ambos est permanentemente no activa (nvel lgico 1) de forma que nunca ocorre um carregamento do
contador (Load).
A sequncia de valores produzida na sada do contador CIMA ser (ver tabela abaixo):
0, 0, 1, 0, 1, 2, 0, 1, 2, 3, 0, 1, 2, 3, 4, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 6, 0, 1, 2, 3, 4, 5, 6, 7, ... 13, 14, 15, 0, 0, 1, ...
LEEC - SD 2001/2002
ASG/JCA/ASL/HSM
(Prova A)
Pgina 9
NOME:_________________CORRECO____________________________________________TURMA _______________
estado
presente
prximo
estado
BAIXO* CIMA*
1
0
1
1
2
0
2
1
2
2
3
0
3
1
3
2
3
3
4
0
4
1
...
15
1
15
2
...
0
0
1
0
6 O circuito seguinte baseado no registo de deslocamento 74x194 um detector de uma dada sequncia binria na entrada X.
Vcc (5V)
74x194
clock
CLK
CLR
S1
S0
LIN
a)
D
C
B
A
RIN
funo
S1 S0
Q A * Q B* Q C * Q D *
hold
shiftright
shiftleft
load
0
0
1
1
QA QB QC QD
RIN Q A Q B Q C
Q B Q C Q D LIN
A B C D
QD
QC
QB
QA
0
1
0
1
b) Considerando S=0, QDQCQBQA=1111 e a sequncia na entrada X indicada, complete a tabela seguinte com os valores
apresentados na sada Z e diga qual a sequncia detectada pelo circuito.
O circuito detecta na entrada X sequncias sobrepostas de 3 zeros consecutivos, assinalando com Z=1:
X
Z
c)
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
1
0
1
0
0
0
1
0
1
0
1
0
0
0
0
0
0
1
1
0
Considerando agora S=1, QDQCQBQA=1111 e a sequncia na entrada X indicada (que a mesma da alnea anterior),
complete a tabela seguinte com os valores apresentados na sada Z e explique quais as alteraes verificadas em relao
ao circuito anterior.
Quando S=1, provocado um Load (S1=1 e S0=1) sempre que detectada uma sequncia de 3 zeros em
QDQCQB (Z=1). Como carregado para QD o valor de X, e carregado 1 para QCQBQA, ento apagada a
sequncia de zeros j recebidos no permitindo detectar sequncias sobrepostas:
X
Z
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
1
0
1
0
1
0
0
0
0
0
0
1
1
0
ASG/JCA/ASL/HSM
(Prova B)
NOME:_____________CORRECO_______________________________________TURMA _______________
2 chamada 24/Janeiro/2002
1a)
(ii)
representar um nmero inteiro com sinal em complemento para dois com 8 bits.
Se 100000002 representar um nmero com sinal em complemento para dois ento o seu valor
-1x27+0x26+...+0x20=-12810 (o bit mais significativo tem peso 27). Outra forma de obter o valor representado
pelo nmero dado consiste em: (i) concluir que o valor negativo porque o bit mais significativo 1, (ii) obter
o seu valor absoluto trocando o sinal (complementando todos os bits e somando 1 obtemos o simtrico de
10000000 que tambm 10000000) e (iii) calculando o valor sem sinal representado por 100000002=12810
b)
(ii)
Comente o resultado obtido admitindo que A, B e o resultado so nmeros inteiros sem sinal.
Se A e B representarem nmeros inteiros sem sinal, ento h overflow (ou o resultado no pode ser
representado) porque gerado um bit de borrow para alm do nmero de bits dos operandos A e B. Note que
como B maior do que A o resultado correcto ser negativo, o que no pode ser representado como um
nmero sem sinal.
(iii)
Comente o resultado obtido admitindo que A, B e o resultado so nmeros inteiros com sinal representados em
complemento para dois com 8 bits.
Se A e B representarem nmeros inteiros com sinal em complemento para dois, podemos concluir que no
ocorre overflow j que so subtrados dois operandos de sinal igual (ou, o que equivalente, so adicionados
dois operandos com sinais opostos). Como tal, e apesar de ter ocorrido um borrow-out, o nmero 111010002
representa correctamente o resultado da diferena A-B.
LEEC - SD 2001/2002
ASG/JCA/ASL/HSM
(Prova B)
NOME:_____________CORRECO_______________________________________TURMA _______________
O circuito da figura resultou de uma tentativa para construir um circuito que realize a funo NOR de 4 entradas
F=(A+B+C+D)
A
B
Z
C
D
a)
Construa a tabela de verdade do circuito da figura e mostre que no realiza a funo pretendida.
Para provar que o circuito dado no realiza a funo pretendida basta mostrar que existe pelo menos uma
combinao das entradas para a qual as duas funes produzem resultados diferentes. A tabela de verdade do
circuito dado :
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
Z
1
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
Como a funo F=(A+B+C+D) (NOR de 4 entradas) s 1 quando todas as entradas so 0, pode-se concluir
que o circuito dado no realiza esta funo (por exemplo, para ABCD=1110, Z=1 e F=0).
b) Utilizando Mapas de Karnaugh obtenha uma expresso simplificada do tipo produto-de-somas para a funo realizada
pelo circuito.
LEEC - SD 2001/2002
ASG/JCA/ASL/HSM
(Prova B)
NOME:_____________CORRECO_______________________________________TURMA _______________
c)
Mostre como se realizaria o circuito pretendido (funo NOR de 4 entradas) utilizando o menor nmero possvel de
portas NOR de duas entradas (utilize o verso da folha)
separar a negao da porta OU:
NOR de 4 entradas:
A
B
C
D
A
B
C
D
A
B
A
B
C
D
C
D
3 Pretende-se projectar uma mquina de estados (controlador) para controlar a contabilizao de moedas entradas e a
seleco da bebida, numa mquina de distribuio de ch e caf (ver figura). O detector de moedas detecta a entrada de moedas
de 0.10 e 0.20 e assinala, para a mquina de estados, o tipo de moeda atravs da entrada MOEDA (2 bits).. A mquina de
estados apenas aceita moedas de 0.20 e 0.10 e no d troco. O custo de qualquer uma das bebidas 0.40, sendo ignoradas as
moedas que sejam introduzidas depois de atingida esta importncia. Quando for atingido o valor de 0.40, a seleco da bebida
feita pressionando um de dois botes que activam as entradas B_CHA e B_CAFE com o nvel lgico 1. Para proceder
confeco da bebida o controlador deve activar (com o valor lgico 1) a sada FAZ_CHA ou FAZ_CAFE e esperar que a
entrada PRONTO seja activada, indicando que foi concluda a confeco. Este sistema interactua com as restantes unidades
desta mquina (detector de moedas e a mquina de confeccionar as bebidas) atravs das seguintes entradas e sadas (ver figura):
detector de moedas
MOEDA
(2 bits)
0.20
0.10
controlador
mquina de ch e caf
FAZ_CHA
FAZ_CAFE
B_CHA
PRONTO
B_CAFE
Entradas:
MOEDA (2 bits): identifica a moeda introduzida na mquina de acordo com a tabela seguinte:
MOEDA ( 2 bits ) Significado
0x
No detectou moeda
10
Detectou moeda de 0.10
11
Detectou moeda de 0.20
B_CHA: boto que quando premido (valor lgico 1) escolhe a bebida ch, se j tiver sido atingido o valor de 0.40.
B_CAFE: boto que quando premido (valor lgico 1) escolhe a bebida caf, se j tiver sido atingido o valor de 0.40.
PRONTO: indica que o processo de confeco (de ch ou caf) foi terminado.
Sadas:
FAZ_CHA: quando activa (valor lgico 1) d ordem para se iniciar a confeco do ch.
FAZ_CAFE: quando activa (valor lgico 1) d ordem para se iniciar a confeco do caf.
Complete o diagrama de estados da figura (prxima pgina), indicando claramente as condies de transio de estado e os
valores das sadas em cada estado.
LEEC - SD 2001/2002
ASG/JCA/ASL/HSM
(Prova B)
NOME:_____________CORRECO_______________________________________TURMA _______________
MOEDA=0x
J entraram 0.20
(uma moeda de 0.20 ou duas de 0.10)
INIT
MOEDA=0x
MOEDA=11
MOEDA=10
M20
M10
MOEDA=10
PRONTO=1
MOEDA=0x
J entraram 0.30
(3 x 0.10, 0.20+0.10 ou 0.10+0.20)
MOEDA=11
MOEDA=10
MOEDA=11
PRONTO=1
M40
MOEDA=1x
B_CHA=0
B_CAFE=0
B_CHA=0
B_CAFE=1
M30
MOEDA=0x
B_CHA=1
B_CAFE=0
FAZ_CHA=1
CHA
PRONTO=0
CAFE
J entraram 0.40
espera que seja pressionado
o boto de seleco da bebida
FAZ_CAFE=1
PRONTO=0
Nota:
As entradas no especificadas nas condies de transio de estado so consideradas indiferentes
Nos estados em que no se representa o valor das sadas FAZ_CHA e FAZ_CAFE considerado 0
LEEC - SD 2001/2002
ASG/JCA/ASL/HSM
(Prova B)
NOME:_____________CORRECO_______________________________________TURMA _______________
4 Considere a mquina sequencial (modelo de Moore) com duas entradas E1 e E0 e uma sada Z, cujo diagrama de transio
de estados se mostra. Os estados S1, S2 e S3 so codificados respectivamente na forma Q1Q0 = 11, 01 e 10.
E1 E0 = 0X
S1
Z=1
10
11
11
0X
Z=1
Z=0
S2
S3
1X
0X
10
a)
Construa a tabela de transio de estados admitindo a utilizao do critrio de custo mnimo para os estados no
especificados.
Q1*
S
S4
S2
S3
S1
Q1
0
0
1
1
Q0
0
1
0
1
Q0*
E1 E0
E1 E0
E1 E0
E1 E0
0
x
1
1
1
0
x
1
1
1
1
x
0
0
0
1
x
1
0
1
0
x
0
0
1
1
x
0
0
1
0
x
1
1
1
1
x
1
1
0
Z
x
1
0
1
b) Obtenha um circuito que realize esta mquina de estados utilizando flip-flops D (utilize o verso da folha)
Ver resoluo na pgina seguinte.
c)
Supondo que a mquina arranca no estado no definido (em que Q1Q0 = 00), diga, justificando, se possvel ocorrer
uma transio para S1, S2 ou S3 e, caso afirmativo, em que condies das entradas E1 e E0.
Por anlise das funes que definemQ1* e Q0*, podemos concluir o seguinte:
Q1* = E1 + Q0.E0
Q0* = E1.Q1' + E1.E0' + Q0'.E1 + Q1.Q0.E1'
Se Q1Q0=00 e E1=0, ento o prximo estado ser Q1*=1 e Q0*=0 (estado S3)
Se Q1Q0=00 e E1=1, ento o prximo estado ser Q1*=0 e Q0*=1 (estado S2)
LEEC - SD 2001/2002
ASG/JCA/ASL/HSM
(Prova B)
NOME:_____________CORRECO_______________________________________TURMA _______________
Circuito lgico:
E0
E1
Q0*
Q0
CLK
Q
Q1*
Q0'
Q1
CLK
Q
Q1'
CLK
LEEC - SD 2001/2002
ASG/JCA/ASL/HSM
(Prova B)
NOME:_____________CORRECO_______________________________________TURMA _______________
Considere o circuito da figura construdo com base em contadores 74x163. Supondo que o estado inicial dos dois
contadores QDQCQBQA=0000, diga justificando qual a sequncia de valores obtida nas sadas S3S2S1S0.
74x163
/CLR /LD ENT ENP
0
x
x
x
1
0
x
x
1
1
0
x
1
1
x
0
1
1
1
1
1
1
1
1
estado
prximo
presente
estado
QD QC QB QA
QD* QC* QB* QA*
x x x x
0
0
0
0
x x x x
D
C
B
A
x x x x
QD QC QB QA
x x x x
QD QC QB QA
N (se N<15)
N + 1
1 1 1 1
0
0
0
0
Vcc (5V)
Vcc (5V)
74x163
74x163
clock
CLK
CLK
CLR
LD
ENP
ENT
CLR
LD
ENP
ENT
D
C
B
A
D
C
B
A
QD
QC
QB
QA
RCO
QD
QC
QB
QA
RCO
S3
S2
S1
S0
Como os dois contadores tm o mesmo sinal de relgio, vo contar ao mesmo tempo. O contador da
esquerda tem a sada QC ligada (invertida) entrada CLR: quando o estado presente for QDQCQBQA=x1xx, o
prximo estado ser 0000. O segundo contador tem a entrada LD activa quando as suas sadas forem
QDQCQBQA=x11x: nessa situao, o prximo estado ser igual ao estado presente do contador da esquerda.
Analisando a sequncia de valores que ocorrem nas sadas dos dois contadores, partindo do estado inicial
0000:
CLR=0
CLR=0
CLR=0
contador
esquerda
contador
direita
QD QC QB QA
QD QC QB QA
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 0
0 0
0 1
0 1
1 0
0 0
0 0
0 1
0 1
1 0
0 0
0 0
0 1
0 1
1 0
0 0
0 0
0 1
0 1
...
0
1
0
1
0
0
1
0
1
0
0
1
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 0
0 0
0 1
0 1
1 0
1 0
1 1
0 0
0 1
0 1
1 0
1 0
1 1
0 1
0 1
1 0
1 0
1 1
0 1
...
0
1
0
1
0
1
0
1
0
1
0
1
0
0
1
0
1
0
0
ASG/JCA/ASL/HSM
(Prova B)
NOME:_____________CORRECO_______________________________________TURMA _______________
Pretende-se construir um circuito sncrono baseado no shift register 74x194 (ver tabela) que detecte, na sua entrada X, a
sequncia de 4 bits 0101. A sada Z dever ser activada (nvel lgico 1) quando for detectada a sequncia 0101, e so
consideradas sequncias parcialmente sobrepostas (ver exemplo).
Exemplo:
X:
Z:
a)
0101011011010110
0001010000000100
funo
S1
hold
shift right
shift left
load
0
0
1
1
S0
0
1
0
1
QA
RIN
QB
A
QB
QA
QC
B
QC
QB
QD
C
QD
QC
LIN
D
Projecte o circuito que realiza a funcionalidade pretendida, utilizando o 74x194 e circuitos lgicos adicionais.
Vamos ligar o shift-register em modo shift-left (entrada por LIN e deslocamento de QD para QA), com X
ligado entrada LIN. Para produzir a sada Z pretendida basta ligar na sada um comparador com 0101
(porta AND com duas entradas negadas ligadas a QA e QD, como mostra a figura):
Vcc (5V)
74x194
clock
CLK
CLR
S1
S0
LIN
D
C
B
A
QD
QC
QB
QA
RIN
Gnd (0V)
b) Modifique o circuito anterior por forma a que permita detectar duas sequncias diferentes, dependendo do valor lgico
de uma entrada adicional S: se S=0 a sequncia a detectar a anterior (0101); se S=1 a sequncia a detectar deve ser 0011.
Tal como no caso anterior, considere que as sequncias podem ser parcialmente sobrepostas.
Para realizar o circuito pedido podemos construir dois comparadores para as sequncias pretendidas e
utilizar um multiplexer controlado pela entrada S para escolher a sada pretendida:
Vcc (5V)
74x194
clock
CLK
CLR
S1
S0
LIN
D
C
B
A
QD
QC
QB
QA
multiplexer 2-1
0
Z
RIN
1
S
Gnd (0V)
ASG/JCA/ASL/HSM
Pgina 1
(100101110)
NOME:_______________CORRECO_____________________________________TURMA _______________
1 chamada 26/Junho/2002
1-
O sistema electrnico de navegao de um barco vela composto, entre outros equipamentos, por uma bssola e um
catavento electrnicos (ver figura). A bssola indica a direco do norte (Db, entre -180 e +180 graus) e o catavento indica a
direco do vento (Dv, entre -180 e +180 graus), ambas em relao ao eixo longitudinal do barco.
catavento
Dv
9
N
W
Db
sistema
electrnico
de
navegao
S
bssola
a) Mostre que so necessrios 9 bits para representar em complemento para dois cada um dos valores referidos com uma
resoluo de 1 grau. Utilizando toda a gama permitida por esse nmero de bits, qual seria a resoluo mnima (em graus)
com que se poderiam representar essas grandezas?
Ambas as grandezas so representadas por nmeros inteiros no intervalo [-180,+180]. Como o sistema
complemento para dois com N bits permite representar nmeros com sinal no intervalo [-2(N-1), +2(N-1)-1],
para incluir o intervalo referido necessrio usar, no mnimo, 9 bits (com 9 bits podem-se representar valores
inteiros no intervalo [-256,+255]):
N max( log2(180)+1, log2(180+1) +1 ), N inteiro N 9
Com 9 bits podem-se representar 511 intervalos (255-(-256)=511); o intervalo referido contm 360 graus
(180-(-180)=360) . Assim, a resoluo mnima que 9 bits permitem representar ser dado por:
360/511 = 0.70
b) Quando o barco est a navegar para Este (Db=-90), qual o valor binrio produzido pela bssola electrnica,
considerando que a unidade mnima representada 1 ? E qual esse valor se for utilizada toda a gama (9 bits) para
representar os valores compreendidos entre -180 e +180?
Se a unidade mnima representada for 1, ento cada unidade do sistema de representao equivale a
1 e -90 representado pelo nmero inteiro -90. Como em complemento para dois com 9 bits:
+90 = 0010110102
a representao de -90 pode ser obtida trocando os bits todos e adicionando 1:
-90 = - ( 0010110102 ) = 1101001012 + 1 = 1101001102
LEEC - SD 2001/2002
ASG/JCA/HSM
Pgina 2
(100101110)
NOME:_______________CORRECO_____________________________________TURMA _______________
Se for usada toda a gama de representao permitida por nmeros de 9 bits em complemento para dois, ento
o valor mais negativo da grandeza a representar (-180) corresponder ao extremo mais negativo da gama
representvel por 9 bits (-256). Como -90 = -180 / 2, ento a quantidade -90 seria representada por -256/2 = 128. A grandeza -128 representa-se em complemento para dois com 9 bits como:
-128 = - (0100000002) = 1011111112 + 1 = 1100000002
c) A direco real do vento (em relao ao norte) pode ser obtida calculando a diferena entre os valores da direco do
barco (Db) e da direco do vento em relao ao barco (Dv). Determine a direco real do vento quando o barco navega
para Sul (Db=-180) e o catavento indica uma direco do vento igual a Dv=+170, efectuando a operao aritmtica em
binrio com 9 bits. Comente o resultado obtido (utilize o verso da folha).
Pretende-se realizar a operao aritmtica Db-Dv, com Db=-180 e Dv=+170. Como Db-Dv se pode escrever
Db+(-Dv), vamos obter primeiro a representao de Db=-180 e de -Dv=-170 em complemento para dois com 9
bits, e depois realizar a operao de adio em vez da subtraco:
Db = -180 = - ( 0101101002) = 1010010112 + 1 = 1010011002
-Dv = -170 = - ( 0101010102) = 1010101012 + 1 = 1010101102
Realizando agora a operao de adio em binrio:
101001100
+ 101010110
1010100010
Podemos concluir que o resultado com 9 bits (010100010) no correcto porque ocorre overflow porque
excedida a gama de representao de nmeros inteiros com sinal, usando 9 bits em complemento para dois.
F(A,B,C,D)
a) Obtenha uma expresso booleana da funo F(A,B,C,D) e construa a sua tabela de verdade.
Traduzindo o circuito dado podemos escrever directamente a expresso booleana:
F(A,B,C,D) = (A+B+C)' + C.D'.A + C'.A
Aplicando as leis de DeMorgan podemos transformar esta expresso numa forma soma-de-produtos, que
mais conveniente para construir a tabela de verdade pedida:
F(A,B,C,D) = A'.B'.C' + C.D'.A + C'.A
LEEC - SD 2001/2002
ASG/JCA/HSM
Pgina 3
(100101110)
NOME:_______________CORRECO_____________________________________TURMA _______________
Com a funo representada na forma soma-de-produtos, pode-se construir a tabela de verdade sabendo que a
funo vale 1 quando C=B=A=0 (1 termo de produto) ou quando C=A=1 e D=0 (2 termo) ou quando C=0 e
A=1 (ltimo termo):
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
F(A,B,C,D)
1
1
0
0
0
0
0
0
1
1
1
0
1
1
1
0
b) Utilizando mapas de Karnaugh, obtenha a forma simplificada produto de somas (POS) da funo F(A,B,C,D).
Para obter a funo mnima produto-de-somas vamos representar a funo F(A,B,C,D) no mapa de
Karnaugh e agrupar os zeros:
c)
Realize a funo F(A,B,C,D) utilizando apenas portas lgicas do tipo NAND de duas entradas (utilize o verso da folha).
Para construir um circuito lgico apenas com portas lgicas do tipo NAND conveniente partir de um
circuito AND-OR e para isso devemos obter a expresso (mnima) do tipo soma-de-produtos:
LEEC - SD 2001/2002
ASG/JCA/HSM
Pgina 4
(100101110)
NOME:_______________CORRECO_____________________________________TURMA _______________
O circuito AND-OR que realiza a expresso obtida :
A
F(A,B,C,D)
Transformando este circuito de forma a utilizar apenas portas NAND com duas entradas:
A
F(A,B,C,D)
LEEC - SD 2001/2002
ASG/JCA/HSM
Pgina 5
(100101110)
NOME:_______________CORRECO_____________________________________TURMA _______________
3 Considere uma mquina para fazer gelados constitudos por 3 doses (uma dose uma bola de gelado) que podem ser de
nata, caf ou baunilha. Quando recebe a ordem para fazer um gelado, o sistema de controlo desta mquina coloca um cone sob a
unidade de doseamento, inicia o processo de sada dos diversos sabores de gelado, e finalmente coloca o gelado pronto na sada
da mquina (ver figura).
NATA
CAF
doseador
o cone posicionado
no estado POS_CONE
BAUNILHA
d1d0
controlo
do
doseador
b2b1b0
A unidade de controlo do doseador que se pretende projectar uma mquina de estados cuja entrada um cdigo de 3 bits
(b2b1b0) que especifica o tipo de gelado pretendido. O perodo do sinal de relgio que comanda esta mquina de estados (2
segundos) corresponde ao tempo necessrio para depositar no cone uma das doses de gelado. De acordo com o cdigo b2b1b0
recebido, a mquina deve dosear cada um dos sabores segundo as regras seguintes:
o custo dos sabores , por ordem crescente, nata (o mais barato), caf e baunilha (o mais caro).
a ordem do doseamento dos sabores seleccionados dever ser, quando existam, primeiro nata, depois caf e no fim baunilha.
o bit b2=1 selecciona o sabor nata, b1=1 selecciona o sabor caf e b0=1 selecciona o sabor baunilha.
se o cdigo tiver um nico bit igual a 1, o gelado composto por 3 bolas desse sabor.
se o cdigo tiver 2 bits iguais a 1, repetido o sabor mais barato.
se o cdigo tiver 3 bits iguais a 1 o gelado ter os 3 sabores.
o cdigo 000 ilegal (nunca ocorre).
Por exemplo, se o cdigo for 011 dever ser feito um gelado com duas bolas de caf e uma bola de baunilha; se for 100 dever ter
3 bolas de nata.
As sadas d1d0 da mquina de estados comandam o doseador para controlar a sada de cada tipo de gelado, de acordo com a tabela
seguinte:
d1d0
tipo de gelado
00
nenhum
01
nata
10
caf
11
baunilha
A figura (ver prxima folha) representa um diagrama de estados incompleto do sistema de controlo, relativo unidade de
doseamento de gelado. No estado POS_CONE posicionado um cone sob a sada da unidade de doseamento e no estado
SAI_CONE o gelado pronto colocado na sada da mquina. Complete a parte do diagrama entre estes dois estados
(POS_CONE e SAI_CONE), que gera a sequncia de sinais de controlo apropriada (d1d0) para fabricar o gelado seleccionado
pelo cdigo b2b1b0.
LEEC - SD 2001/2002
ASG/JCA/HSM
Pgina 6
(100101110)
NOME:_______________CORRECO_____________________________________TURMA _______________
Como a durao de cada estado corresponde colocao de uma dose de gelado de cada sabor, o diagrama
de estados ter um total de 9 estados ( para alm de POS_CONE e SAI_CONE), um para uma dose de cada
sabor. Os valores indicados junto de cada transio representam as condies de transio de estado para
b2b1b0; as transies de estado que no apresentam condio associada so transies incondicionais.
d1d0=00
POS_CONE
b2b1b0=1XX
BAU1 d1d0=11
CAFE1 d1d0=10
X01
ou
XX0
X11
2 bola de baunilha:
se a 1 foi de baunilha
2 bola de caf:
se a 1 tambm foi de caf
2 bola de caf:
se tem baunilha e tem caf
3 bola de baunilha:
se tem baunilha
d1d0=01 NATA2
CAFE2
d1d0=10
XX1
3 bola de nata:
se no tem caf nem baunilha
XX0
X00
3 bola de caf:
se tem caf e no tem baunilha
BAU2 d1d0=11
XX1
3 bola de baunilha:
se tem baunilha
X10
d1d0=01 NATA3
CAFE3 d1d0=10
BAU3 d1d0=11
3 bola de caf:
se no tem baunilha
repete caf
SAI_CONE
LEEC - SD 2001/2002
1 bola de baunilha:
se no tem nata nem caf
(note que 000 nunca ocorre)
b2b1b0=01X
d1d0=01 NATA1
2 bola de nata:
se tem baunilha e no tem caf
ou se no tem baunilha
00X
d1d0=00
ASG/JCA/HSM
Pgina 7
(100101110)
NOME:_______________CORRECO_____________________________________TURMA _______________
4 Considere a mquina sequencial cuja tabela de transies de estados se mostra. Os estados S0, S1 e S2 so codificados
respectivamente na forma Q1Q0 = 00, 01 e 10.
X
0
1
S0,0
S1,1
S2,0
S1,0
S0,0
S1,1
S*,Z
S
S0
S1
S2
a) Identifique as entrada e sadas da mquina e diga, justificando, se se trata de uma mquina de Moore ou Mealy.
A entrada X e a sada Z. A mquina de estados representada corresponde a uma mquina de Mealy
porque a sada Z funo do estado actual S e da entrada X.
b) Obtenha o circuito respectivo utilizando flip-flops tipo D e um critrio de custo mnimo (utilize o verso da folha).
Primeiro vamos representar a tabela de transio de estados com a codificao dada para os estados,
considerando dois flip-.flops do tipo D para representar o estado actual. Para minimizar o custo
(complexidade) do circuito, vamos considerar que, quando o estado actual 11 (no pertence mquina de
estados) o prximo estado e a sada Z so indiferentes:
Q1Q0
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
X
0
1
0
1
0
1
0
1
Q1* Q0* Z
0
0 0
0
1 1
1
0 0
0
1 0
0
0 0
0
1 1
x
x x
x
x x
Vamos agora, com recurso a mapas de Karnaugh, obter expresses mnimizadas para Z(Q1,Q0,X),
Q1*(Q1,Q0,X) e Q0*(Q1,Q0,X):
Z(Q1,Q0,X)
Q1Q0
00
X
Q1*(Q1,Q0,X)
Q1
01
11
Q0
Q1Q0
00
X
10
LEEC - SD 2001/2002
10
Q0
Q0.X'
Q1Q0
00
Q1
01
11
10
11
Q0'.X
Q0*(Q1,Q0,X)
Q1
01
Q0
ASG/JCA/HSM
Pgina 8
(100101110)
NOME:_______________CORRECO_____________________________________TURMA _______________
As equaes minimizadas na forma soma-de-produtos so:
Q1*(Q1,Q0,Z) = Q0.X'
Q0*(Q1,Q0,X) = X
Z(Q1,Q0,X) = Q0'.X
Note-se que, como nestas equaes nunca aparece Q1, ento o circuito pode ser simplificado removendo o
flip-flop Q1 e todo o circuito lgico que produz Q1* (desenhado a cinzento na figura):
D Q
D Q
Q1
Q0
clock
c) Supondo que a mquina arranca no estado no definido (em que Q1Q0 = 11), e tendo por base a soluo encontrada,
indique, justificando, quais os estados seguintes se a entrada X for igual a 0 ou igual a 1.
Substituindo os valores para Q1 e Q0 nas equaes obtidas na alnea anterior obtemos:
Se X=0 ento Q1* = 1.1 = 1 e Q0*=0, logo S* = 10 (estado S2)
Se X=1 ento Q1* = 1.0 = 0 e Q0*=1, logo S* = 01 (estado S1)
Outra forma de obter este resultado: como a mquina de estados no depende de Q1, ento o "estado"
Q1Q0=11 equivalente ao estado Q1Q0=01 (estado S1); pela tabela dada podemos ver que de S1 passa para
S2 se X=0 e passa para S1 se X=1.
LEEC - SD 2001/2002
ASG/JCA/HSM
Pgina 9
(100101110)
NOME:_______________CORRECO_____________________________________TURMA _______________
5 Pretende-se projectar um circuito sequencial que conte ciclicamente de 59 at zero, em formato BCD (dois dgitos decimais
codificados em binrio), afixando o resultado em dois mostradores de 7 segmentos (por exemplo, como se mostra na figura,
quando o contador das dezenas tem as sadas QDQCQBQA=0011 e o contador das unidades tem as sadas QDQCQBQA=0110,
o valor afixado nos mostradores 36).
a) Projecte o circuito referido utilizando apenas 2 contadores UP/DOWN do tipo 74x169.
74x169
UPDWN LD
x
0
x
1
x
1
1
1
1
1
0
1
0
1
ENT ENP
x
x
1
x
x
1
0
0
0
0
0
0
0
0
estado
presente
QD QC QB QA RCO
x x x x
a)
x x x x
1
x x x x
a)
N (se N<15) 1
1 1 1 1
0
N (se N>0)
1
0 0 0 0
0
prximo
estado
QD* QC* QB* QA*
D
C
B
A
QD QC QB QA
QD QC QB QA
N + 1
0
0
0
0
N - 1
1
1
1
1
Vcc (5V)
74x169
clock
CLK
UP/DWN
LD
ENP
ENT
D
C
B
A
dezenas
QD
QC
QB
QA
RCO
74x169
CLK
UP/DWN
LD
ENP
ENT
D
C
B
A
unidades
QD
QC
QB
QA
RCO
Gnd (0V)
LEEC - SD 2001/2002
ASG/JCA/HSM
Pgina 10
(100101110)
NOME:_______________CORRECO_____________________________________TURMA _______________
b)
Modifique o circuito anterior por forma a acrescentar uma entrada (activa no nvel lgico zero) que permita iniciar o
contador no valor 59 (identifique apenas as alteraes a efectuar no circuito anterior e se necessrio utilize o verso da
folha).
Para iniciar os contadores em 59 necessrio activar as entradas LD (Load) de ambos os contadores. Para
isso basta acrescentar uma porta AND nas entradas LD de cada contador, com uma das suas entradas ligada
ao sinal X que provoca a iniciao em 59:
Vcc (5V)
74x169
clock
X
CLK
UP/DWN
LD
ENP
ENT
D
C
B
A
dezenas
QD
QC
QB
QA
RCO
74x169
CLK
UP/DWN
LD
ENP
ENT
D
C
B
A
unidades
QD
QC
QB
QA
RCO
Gnd (0V)
LEEC - SD 2001/2002
ASG/JCA/HSM
Pgina 11
(100101110)
NOME:_______________CORRECO_____________________________________TURMA _______________
S1
hold
shift right
shift left
load
0
0
1
1
S0
0
1
0
1
QB
QA
QC
B
QC
QB
QD
C
QD
QC
LIN
D
Vcc (5V)
74x194
clock
CLK
CLR
S1
S0
LIN
D
C
B
A
QD
QC
QB
QA
QD
QC
QB
QA
RIN
Gnd (0V)
a) Determine a sequncia nas sadas QAQBQCQD, supondo que o estado inicial QAQBQCQD = 0000.
Partindo do estado inicial QAQBQCQD=0000, vamos analisar o modo de funcionamento do shift-register para
determinar o prximo estado (note que RIN e LIN esto permanentemente ligados a 1, e as entradas ABCD
esto tambm sempre ligadas a 0011):
QA QB
0
0
1
0
1
1
1
1
0
0
0
1
1
1
1
1
...
QC
0
0
0
1
1
1
1
1
QD
0
0
0
0
1
1
1
1
S1 S0
0 1
0 1
0 1
1 1
1 0
1 0
1 0
1 0
...
Modo
shift right (de QA para QD, RIN=1)
shift right (de QA para QD, RIN=1)
shift right (de QA para QD, RIN=1)
load de ABCD=0011
shift left (de QD para QA, LIN=1)
shift left (de QD para QA, LIN=1)
shift left (de QD para QA, LIN=1)
shift left (de QD para QA, LIN=1)
...