Você está na página 1de 85

Faculdade de Engenharia da Universidade do Porto

Departamento de Engenharia Electrotcnica e de Computadores


Licenciatura em Engenharia Electrotcnica e de Computadores

Enunciados e correces de exames de Sistemas Digitais


1999/2002

Jos Carlos Alves


jca@fe.up.pt

'

"

<

>

&

Universidade do Porto
Faculdade de Engenharia
?

Sistemas Digitais (1999/2000)

1 chamada - 14/Junho/2000

Durao: 2h 30m, sem consulta.


Antes de iniciar a prova, tenha em ateno as seguintes recomendaes:

Leia atentamente toda a prova antes de a iniciar.


Mostre e justifique adequadamente todos os passos das suas respostas.
A prova dever ser resolvida no enunciado. Se necessrio, utilize o verso para continuar a sua resoluo.
Assine todas as folhas que entregar, indicando em cada uma o nmero de pginas/folhas que entregou.

1-

Considere a sequncia de dgitos 10101

a)

Diga qual o seu valor se essa sequncia representar:

i) um nmero inteiro em base 2 com 6 bits e em complemento para dois


Se a sequncia 10101 representa um nmero com 6 bits, ento assume-se que existe um zero esquerda:
010101.Como neste caso o bit mais significativo zero (bit de sinal), podemos concluir que o nmero
representado positivo, sendo o seu valor obtido pela converso para decimal do valor dado:
24+22+20 = 21
ii) um nmero inteiro em base 2 com 5 bits e complemento para dois
Como o bit mais significativo 1, podemos concluir que o nmero negativo e para obter o seu valor absoluto
necessrio calcular o seu simtrico (complemento para dois). Trocando os bits todos obtemos 01010 e adicionando
1 d 01011 que vale:
23+21+20 = 11

Assim a sequncia dada representa a quantidade -11

iii) um nmero inteiro sem sinal em base 2


Se a sequncia 10101 representar um nmero sem sinal em base 2, o seu valor obtido calculando a sua
converso para decimal:
24+22+20 = 21
b)

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

Assim, o nmero pedido X = 001001 que representa a quantidade +9.


LEEC - SD 1999/2000

ASG/JCA/AJA/JFS/JSC

'

"

<

>

&

2 - Considere a funo booleana F(A,B,C;D):


F(A,B,C,D) =

( 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

Podemos representar a funo F(A,B,C,D)


directamente no mapa de Karnaugh, j que esta
apresentada na forma produtos-de-somas. Assim,
cada termo de soma corresponder um grupo de
zeros no mapa (assinalados a sombreado). A
expresso mnima soma-de-produtos obtida
agrupando os uns da forma que se apresenta na
figura, resultando a expresso minimizada:

B' . D'
B + C + D'

01

11

10

F(A,B,C,D) = B' . C + A . B . D + A . C + B' .D'


A.C

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

F(A,B,C,D) = (B' + C) . (D' + C) . (B' + A)

A
AB
CD 00 01 11 10
00 1 0 0 1

O circuito OR-AND que realiza esta funo :


B'
C

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

Espera que chegue


o 1 um

X=0

S1=0
S0=0

X=0

S1=0
S0=0

S1=0
S0=1 Se X=1 no estado E4, pode passar

Enquanto chegarem uns


fica no estado E1

X=0

X=0

E4

X=1

para o estado E3 porque foi detectada


uma sequncia 101 (note que so admitidas
sequncias sobrepostas)

X=0

X=1

E2 S1=0
S0=0

S1=0
S0=0
E5

X=1
S1=0
S0=0

X=0

No estado E5 ainda no foi detectada


nenhuma sequncia vlida

X=1
X=1

E3
E6
X=0

Se X=0 no estado E3, pode passar


para o estado E2 porque foi detectada
uma sequncia 10 (note que tudo o
que foi detectado antes de 10 desprezado)

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

para o estado E1 porque foi detectado um 1


a seguir a uma sequncia vlida

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

Se X=0 no estado E6, tem que passar


para o estado init porque 0 no inicia
nenhuma sequncia vlida

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

O estado E5 atingido quando for detectada a sequncia 1011.


Se neste estado X for 0, ento detectada a sequncia 10110
e activada a sada S0; se X for 1, ento detectada a
sequncia 10111 sendo activada a sada S1

4 - A figura seguinte representa a tabela de transio de estados de uma mquina de Mealy.


Entrada X
Estado S
A
B
C

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

prximo estado S*, sada Z


a) Codificando os estados da forma que se indica na figura, preencha a tabela da figura com as funes lgicas que produzem o
prximo estado Q1*,Q0* e a sada Z do circuito. Considere que as variveis de estado so realizadas com flip-flops do tipo D e
que se pretende minimizar a complexidade do circuito lgico resultante.
A tabela com as funes lgicas pretendias construda substituindo na tabela dada os nomes simblicos dos
estados (A, B e C) pela codificao dada em Q1,Q0. Para alm disso, e como se pretende minimizar a
complexidade dos circuitos lgicos, necessrio especificar como don't cares os valores das funes Q1*, Q0* e Z
quando as variveis de estado assumem os valores Q1=1 e Q0=0:

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)

"

<

>

&

Implemente a funo Q0* utilizando um multiplexador 4 1 (com 2 linhas de seleco) e inversores.


Re-arranjando a tabela de verdade da funo Q0* na forma mais conveniente para realizar a funo com um
multiplexer:

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

Q0* = d (don't care)


Q0* = X

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:

Nota: como Q0* don't care


para Q1,Q0=10, esta entrada do
multiplexer pode assumir
qualquer valor

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

QA* QB* QC* QD*


QA
RIN
QB
A

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

Nvel lgico Low

CL

RNMOS
RL

CL

RL

Explique justificando, de que forma o valor da resistncia R afecta:


i)

Os nveis lgicos na entrada do circuito X (ponto A)


No nvel lgico Low, a tenso no ponto A sempre zero, independentemente do valor da resistncia R, j que no
existe nenhuma fonte de tenso no circuito. No nvel lgico High, a tenso no ponto A decresce com o aumento de
R (VA=5VxRL/(RPMOS+R+RL) ), o que significa que quando R cresce o nvel lgico High degradado (a margen de
rudo diminuda).

LEEC - SD 1999/2000

ASG/JCA/AJA/JFS/JSC

'

ii)

"

<

>

&

A potncia fornecida pela fonte de tenso Vdd.


A fonte de tenso Vdd (ideal) apenas fornece energia associao das 3 resistncias em srie no nvel lgico High.
Como neste caso P=V2/R, podemos concluir que a potncia elctrica fornecida pela fonte Vdd decresce com o
aumento de R.

iii)

Os tempos de subida e de descida da tenso VA na entrada do circuito X


No nvel lgico High e Low as constantes de tempo associadas s transies da tenso no ponto A (terminais do
condensador) so obtidas como produto de CL pelo paralelo de RL com a srie de RPMOS ou RNMOS com R. Como
estas constantes de tempo crescem com R, os tempos de transio tambm crescem.
Podemos assim concluir que quando a resistncia R cresce, o nvel lgico High piora, a potncia consumida
diminui e os tempos de transio aumentam.

LEEC - SD 1999/2000

ASG/JCA/AJA/JFS/JSC

(Prova A - Correco)

Sistemas Digitais, 2 chamada - 5/Jul/2000

Pgina 1

NOME:_______________ 2 CHAMADA - CORRECO____________________________TURMA

Universidade do Porto
Faculdade de Engenharia


Sistemas Digitais (1999/2000)

2 chamada - 5/Julho/2000

Durao: 2h 30m, sem consulta.


Antes de iniciar a prova, tenha em ateno as seguintes recomendaes:

Leia atentamente toda a prova antes de a iniciar.


Justifique adequadamente todos os passos das suas respostas.
A prova dever ser resolvida no enunciado, uma questo por folha. Se necessrio, utilize o verso de cada folha para continuar a sua
resoluo.
Entregue todas as folhas do enunciado, no se esquecendo de preencher o seu nome.

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)

Sistemas Digitais, 2 chamada - 5/Jul/2000

Pgina 2

NOME:_______________ 2 CHAMADA - CORRECO____________________________TURMA

2 - O mapa de Karnaugh da figura representa uma funo booleana F(A,B,C,D)


A

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

Se o objectivo obter a realizao mais simples com inversores e portas


lgicas com duas entradas, vamos escolher a expresso SOP ou POS que
minimize o nmero de operadores lgicos dos tipos referidos. Agrupando os
zeros obtemos a expresso do tipo POS:
F(A,B,C,D) = (B'+C'+D) . (A'+B)

01

11

10

que necessita de 3 inversores, 3 OR e um AND


Agrupando os uns obtemos a expresso do tipo SOP:

F(A,B,C,D) = B'.A' + B.D + B.C'


que utiliza 3 inversores, 3 AND e dois OR.

B'.A'

B'+C'+D

B.D

Assim, a representao mais simples para F(A,B,C,D) a expresso POS


apresentada acima.

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

O objectivo minimizar o nmero de portas lgicas NAND de duas entradas. Para


construir um circuito lgico s com portas NAND geralmente mais conveniente
construir primeiro um circuito do tipo AND-OR, obtido por traduo directa da
expresso SOP minimizada. No entanto, se a funo G(A,B,C,D) for considerada
zero nesse termo, a expresso POS resulta mais simples do que a espresso SOP j
que apenas requer dois termos de soma com dois literais cada um:

G(A,B,C,D) = (C'+D) . (A'+B)


O circuito OR-AND que realiza aquela expresso :

C'+D

C'
D
G(A,B,C,D)

A'
B
LEEC - SD 1999/2000

ASG/JCA/AJA/JFS/JSC

(Prova A - Correco)

Sistemas Digitais, 2 chamada - 5/Jul/2000

Pgina 3

NOME:_______________ 2 CHAMADA - CORRECO____________________________TURMA

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

Chegou um 0 aps ter sido


recebido 01: IMPAR=1

A
Foi recebido 11; enquanto
chegarem uns, a sada
IMPAR 1

1/1

Foi recebido 00; enquanto


chegarem zeros a sada IMPAR 0

0/d

1/d

0/d

1/d
0/1

C
0/0

Chegou um zero aps ter sido


recebido 11: IMPAR=0
Chegou um 1 aps ter sido
recebido 01: IMPAR=0

LEEC - SD 1999/2000

0/0

1/1

1/0

0/1

1/0

Chegou um 1 aps ter sido


recebido 00: IMPAR=1

X / IMPAR

ASG/JCA/AJA/JFS/JSC

(Prova A - Correco)

Sistemas Digitais, 2 chamada - 5/Jul/2000

Pgina 4

NOME:_______________ 2 CHAMADA - CORRECO____________________________TURMA

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

QA* QB* QC* QD*


QA
RIN
QB
A

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)

Sistemas Digitais, 2 chamada - 5/Jul/2000

Pgina 5

NOME:_______________ 2 CHAMADA - CORRECO____________________________TURMA

4 - A figura seguinte representa a tabela de transio de estados de uma mquina de Moore.

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

Considere a codificao de estados seguinte:


Estado S

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

Construindo o mapa de Karnaugh


para a funo Z(Q2,Q1,Q0):

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

obtm-se a expresso simplificada (soma-de-produtos): Z=Q2+Q1+Q0


LEEC - SD 1999/2000

ASG/JCA/AJA/JFS/JSC

Sistemas Digitais, 2 chamada - 5/Jul/2000

(Prova A - Correco)

Pgina 6

NOME:_______________ 2 CHAMADA - CORRECO____________________________TURMA

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

/Y7 /Y6 /Y5 /Y4 /Y3 /Y2 /Y1 /Y0


1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
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

Quando atingido o estado 1110


activada a entrada /LD do contador

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

Quando activado /LD, o contador


carrega de novo o estado inicial 0110

Y0
G1
G2A Y 1
G2B Y 2
Y3
Y4
C
B
A

Y5
Y6
Y7

Y7 activado (0) quando o contador


atingir o estado 1110

ASG/JCA/AJA/JFS/JSC

(Prova A - Correco)

Sistemas Digitais, 2 chamada - 5/Jul/2000

Pgina 7

NOME:_______________ 2 CHAMADA - CORRECO____________________________TURMA

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

Nvel lgico Low

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):

= N.CL x ( RL/N // RP ) = N.CL x RL/N x RP / ( RL/N + RP)

-FIM -

LEEC - SD 1999/2000

ASG/JCA/AJA/JFS/JSC

Sistemas Digitais, 1 chamada 8/Jan/2001

(Prova A)

Pgina 1

NOME:_________________________________________________________________________TURMA _______________

Departamento de Engenharia Electrotcnica


e de Computadores
Sistemas Digitais (2000/2001)

Correco

1 chamada 8/Janeiro/2001

Durao: 2horas , sem consulta.


Antes de iniciar a prova, tenha em ateno as seguintes recomendaes:

Leia atentamente toda a prova antes de a iniciar.


Mostre e justifique adequadamente todos os passos das suas respostas.
A prova dever ser resolvida no enunciado. Se necessrio, utilize o verso para continuar a sua resoluo.
Assine todas as folhas que entregar, indicando em cada uma o nmero de pginas/folhas que entregou.

1-

Considere a sequncia de dgitos 101

a)

Diga qual o seu valor se essa sequncia representar:


i) um nmero inteiro em base 8.
Se 101 representar um nmero inteiro em base 8, ento o seu valor 1x82+0x81+1x80 = 65
ii) um nmero inteiro em base 16 com 9 bits e complemento para dois.
Se 101 representar um nmero em base 16, ento podemos escrever a sua representao em binrio
substituindo cada dgito hexadecimal pela representao binria correspondente:
10116 = 0001000000012
Se dito que o nmero dado tem 9 bits, ento deveremos desprezar os 3 bits (zeros) da esquerda ficando
apenas:
10116 = 1000000012
Como tambm dito que 10116 representa um nmero em complemento para dois, ento podemos
concluir que o nmero negativo (o bit mais significativo 1) e o seu valor absoluto obtido calculando
o seu simtrico (que complemento para dois do nmero dado):
-1000000012 = 011111110 + 1 = 01111111 = 255
Assim, se 10116 representar um nmero com 9 bits em complemento para dois , o seu valor -255

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)

Sistemas Digitais, 1 chamada 8/Jan/2001

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

Sistemas Digitais, 1 chamada 8/Jan/2001

(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

Sistemas Digitais, 1 chamada 8/Jan/2001

(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

Para controlar o nvel de gua no tanque, mantendo-o


entre N1 e N2, deve-se abrir a vlvula de entrada de
gua sempre que o nvel de gua no tanque for inferior
a N1, e fechar quando for ultrapassado o nvel N2.

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

Sistemas Digitais, 1 chamada 8/Jan/2001

(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

Sistemas Digitais, 1 chamada 8/Jan/2001

(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)

Q1*(Q1,Q0,X) = Q0.X + Q1.Q0'.X'

Q1Q0

Q1

X'
4

X
1

Q0*(Q1,Q0,X) = X'

Q0

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

Sistemas Digitais, 1 chamada 8/Jan/2001

(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):

0, 1, 2, 3, 4, 5, 10, 9, 8, 3, 4, 5, 10, 9, ....


74x169
CLK
UP/DWN
LD
EN P
ENT
D
C
B
A

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

Sistemas Digitais, 1 chamada 8/Jan/2001

(Prova A)

Pgina 8

NOME:_________________________________________________________________________TURMA _______________

Analisando a sequncia pretendida, representada em binrio:

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
. . .

podemos concluir o seguinte:


1 o bit mais significativo (QD) define o sentido da contagem: quando QD=0 conta para cima e quando
QD=1 conta para baixo. Podemos por isso controlar a entrada UP/DWN com o sinal QD negado.
2 so efectuadas duas operaes load: quando a sada 0101 carregado o valor 1010 e quando
1000 carregado 0011. Analisando a relao entre os valores que provocam o load e os valores
carregados para o contador podemos concluir que em ambos os casos QD*=QD, QA*=QA, QC=0 e
QB=1.
O circuito pretendido o seguinte:

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)

Sistemas Digitais, 1 chamada 8/Jan/2001

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

LOAD3 = QD.QC + QA.QB.QD + 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

(load do circuito anterior)

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

Sistemas Digitais, 1 chamada 8/Jan/2001

(Prova A)

Pgina 10

NOME:_________________________________________________________________________TURMA _______________

6 Considere o circuito da figura, baseado num shift-register 74x194.


Vcc (5V)
74x194
clock

CLK
CLR
S1
S0
LIN
D
C
B
A
RIN

Universal Shift-register 74x194


QD
QC
QB
QA

funo

S1

hold
shift right
shift left
load

0
0
1
1

S0
0
1
0
1

QA* QB* QC* QD*


QA
RIN
QB
A

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

Sistemas Digitais, 1 chamada 8/Jan/2001

(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)

Sistemas Digitais, 2 chamada 25/Jan/2001

Pgina 1

NOME:_________________________________________________________________________TURMA _______________

Departamento de Engenharia Electrotcnica


e de Computadores
Sistemas Digitais (2000/2001)

Correco

2 chamada 25/Janeiro/2001

Durao: 2horas , sem consulta.


Antes de iniciar a prova, tenha em ateno as seguintes recomendaes:

Leia atentamente toda a prova antes de a iniciar.


Mostre e justifique adequadamente todos os passos das suas respostas.
A prova dever ser resolvida no enunciado. Se necessrio, utilize o verso para continuar a sua resoluo.
Assine todas as folhas que entregar, indicando em cada uma o nmero de pginas/folhas que entregou.

1-

Considere X=110100112 e Y=E716 que representam nmeros inteiros com sinal em complemento para dois com 8 bits.

a)

Diga, justificando, se pode ocorrer overflow na adio de X com Y.


Na adio de dois nmeros representados em complemento para dois, s pode ocorrer overflow se os dois
nmeros tiverem o mesmo sinal. Como o nmero X=11010011 negativo e o nmero
Y=E716=111001112 tambm negativo, ento pode ocorrer overflow na soma desses nmeros.

b)

Efectue a adio de X com Y em binrio, e indique se ocorre ou no overflow.

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)

Logo, o nmero pedido ser obtido subtraindo uma unidade a M:


M-1=-83-1=-84 = 10101100

LEEC - SD 2000/2001

ASG/JCA/ASL/JSC

(ProvaB)

Sistemas Digitais, 2 chamada 25/Jan/2001

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

Expresso mnima soma-de-produtos: F(A,B,C,D) = A.D + A.B + C


Expresso mnima produto-de-somas: F(A,B,C,D) = (A+C).(D+B)
b)

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

Sistemas Digitais, 2 chamada 25/Jan/2001

(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

- dois sensores (NO_ANDAR1 e NO_ANDAR2) que so


activados sempre que o monta-cargas est correctamente
posicionado no andar respectivo.
NO_ANDAR1

e das sadas do sistema de controlo:


CHAMA_SUBIR

- MOTOR_SUBIR e MOTOR_DESCER que quando activadas


provocam o movimento do monta-cargas no sentido
respectivo

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)

Sistemas Digitais, 2 chamada 25/Jan/2001

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)

Sistemas Digitais, 2 chamada 25/Jan/2001

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

Q1*(Q1,Q0,X) = Q0.X' + 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

Sistemas Digitais, 2 chamada 25/Jan/2001

(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):

0, 1, 2, 3, 4, 5, 6, 7, 10, 11, 12, 0, 1, 2, ...


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

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

Analisando a sequncia pretendida, representada em binrio:


0
1
2
3
4
5
6
7
10
11
12
0
1
2

0000
0001
0010
0011
0100
0101
0110
0111
1010
1011
1100
0000
0001
0010
. . .

carrega 1010 quando sada 0111

carrega 0000 (reset) quando sada 1100

podemos concluir o seguinte:


1 quando as sadas apresentam o estado 0111 deve ser activada a entrada LD, mantendo as
entradas DCBA ligadas permanentemente a 1010.
2 quando as sadas apresentam o estado 1100 deve ser activada a entrada CLR para iniciar as
sadas com 0000
Vcc (5V)
74x163

O circuito pretendido o seguinte:

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)

Sistemas Digitais, 2 chamada 25/Jan/2001

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:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 1, 2, ...


Para obter a nova sequncia de contagem, basta desactivar o sinal de carregamento do contador quando
X=1, e manter a mesma funo do circuito anterior quando X=0. Uma soluo consiste em acrescentar,
na porta NAND que produz o sinal de load, uma entrada ligada a X: quando X=0, X=1 e esse NAND
produz a mesma funo realizada no circuito anterior; quando X=1 (X=0), o sinal load fica
permanentemente igual a 1 (desactivado) e nunca efectuado o carregamento do contador. O circuito
resultante :
Vcc (5V)
74x163
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)

Sistemas Digitais, 2 chamada 25/Jan/2001

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

QA* QB* QC* QD*

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)

Sistemas Digitais, 2 chamada 25/Jan/2001

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

Sistemas Digitais, 1 chamada 26/Junho/2001

(Prova A)

Pgina 1

NOME:________CORRECO________________________________________________________TURMA ___________

Departamento de Engenharia Electrotcnica


e de Computadores
Sistemas Digitais (2000/2001)

1 chamada 26/Junho/2001

Durao: 2horas , sem consulta.


Antes de iniciar a prova, tenha em ateno as seguintes recomendaes:

Leia atentamente toda a prova antes de a iniciar.


Mostre e justifique adequadamente todos os passos das suas respostas.
A prova dever ser resolvida no enunciado. Se necessrio, utilize o verso para continuar a sua resoluo.
Assine todas as folhas que entregar, indicando em cada uma o nmero de pginas/folhas que entregou.

1 - Pretende-se construir um sistema electrnico para prever o


estado do tempo com base na medida da variao de presso
atmosfrica verificada nas ltimas 6 horas. O sistema formado
por um sensor de presso atmosfrica com sada digital Pa, um
sistema de memria que armazena o historial da presso e
fornece, em cada instante, o valor da presso atmosfrica P6h
existente h 6 horas, e um circuito subtractor para calcular a
variao de presso Vp.

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:

1100 <= 2N-1


N >= log2(1100+1), N inteiro
N = 11 (ou 211-1=2047)

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)

Sistemas Digitais, 1 chamada 26/Junho/2001

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

a) Construa a tabela de verdade que traduz a funcionalidade prevista para o circuito.


Como se pretende que o circuito produza o resultado da multiplicao por 3 de nmeros de 4 bits entre 0 e 9, ento
podemos considerar que as sadas P4~P0 so indiferentes (x na tabela) quando as entradas D3~D0 representam
nmeros superiores a 9:

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

b) Obtenha as expresso simplificadas na forma de soma-de-produtos para a funo P4(D3,D2,D1,D0), e na forma de


produto-de-somas para a funo P2(D3,D2,D1,D0).
P4:

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

P2 = (D2+D1) . (D2+D0') . (D1'+D2'+D0)

(D1'+D2'+D0)

ASG/JCA/AJA

(Prova A)

Sistemas Digitais, 1 chamada 26/Junho/2001

Pgina 3

NOME:________CORRECO________________________________________________________TURMA ___________

3 A firma Caricas&caricas Lda.


pretende projectar o sistema de controlo
para uma mquina de fabrico de cpsulas
para garrafas de cerveja (caricas), cortando
PRENSA_SUBIDA
rodelas de uma tira de metal por aco de
PRENSA
uma prensa cortante. A tira de metal
PRENSA
desloca-se sob a prensa por aco de um
par de rolos accionados por um motor, que
S1
ligado colocando o sinal de controlo
S2
MOTOR com o nvel lgico 1. Para
localizar a tira metlica sob a prensa
sentido de deslocamento da chapa
existem dois sensores fotoelctricos (S1 e
S2) colocados como se indica na figura,
que so activados (valor lgico 1) sempre
que interrompido o feixe luminoso
emitido pelos LEDs L1 e L2 (estes LEDs
sensores
fotoelctricos
podem estar sempre ligados e no
buracos
na chapa
necessrio que sejam comandados pelo
LEDs
MOTOR
sistema de controlo). O sensor S1 detecta a
presena da tira metlica imediatamente antes da prensa e S2 detecta o metal imediatamente aps a prensa. A prensa actuada
por um sinal de controlo (PRENSA) sempre que se detecte que existe tira de metal ainda no cortada debaixo da prensa. Quando
PRENSA actuado (valor lgico 1), a prensa desce cortando uma rodela de metal, subindo automaticamente por aco de um
sistema pneumtico. Para verificar o estado da prensa, existe um sensor PRENSA_SUBIDA que apresenta o valor lgico 1
quando a prensa est na posio superior, pronta para realizar novo corte.
O sistema de controlo deve posicionar a tira metlica sob a prensa, accionar a prensa para cortar uma rodela de metal, esperar
que a prensa volte posio superior e voltar a colocar correctamente a tira de metal por forma a cortar nova rodela. O processo
repetido da maneira que se ilustra na figura seguinte, at que a tira metlica chegue ao fim, altura em que o sistema de controlo
deve parar. Admite-se que quando o sistema ligado no existe chapa de metal sob a prensa (S1=0 e S2=0).

S1=1

Acabou de cortar

S2=1

S1=1

S2=0

Desloca para o prximo corte

S1=1

S2=1

Corta nova rodela

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)

Sistemas Digitais, 1 chamada 26/Junho/2001

Pgina 4

NOME:________CORRECO________________________________________________________TURMA ___________

3 - (continuao)

No inicio liga o motor ate


a chapa metalica estar
correctamente colocada sob a prensa

S1=0
ou
S2=0

INIT
MOTOR=1

S1=1
e
S2=1

Depois de cortar passa incondicionalmente para


o estado SUBIDA

Espera que a prensa chegue 'a posiao superior

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

Quando a prensa chega 'a posiao superior


liga o motor espera ate' S2=0; se entretanto S1=0
significa que a chapa acabou e para o sistema.

S1=0
S2=0
PARA

Acabou a chapa, para o sistema

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)

Sistemas Digitais, 1 chamada 26/Junho/2001

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

estados no definidos: prximo estado = estado A (001)


Partindo da tabela acima, vamos agora construir os mapas de Karnaugh para obter expresses minimizadas para as
funes Q2*, Q1*, Q0* e Z, e desenhar o circuito lgico completo para o circuito:

LEEC - SD 2000/2001

ASG/JCA/AJA

(Prova A)

Sistemas Digitais, 1 chamada 26/Junho/2001

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

Q1* = Q2.Q1'.X' + Q2.Q1.Q0.X + Q2'.Q1.Q0.X'

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'

Um circuito lgico que realiza a mquina de estados o seguinte:


X

Q2 Q2' Q1 Q1' Q0 Q0'

Q2*

Q1*

Q0*

D Q

D Q

D Q

Q2

Q1

Q0

clock

LEEC - SD 2000/2001

ASG/JCA/AJA

(Prova A)

Sistemas Digitais, 1 chamada 26/Junho/2001

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* = Q2'.Q1 + Q2'.X + Q2.Q1'


O circuito lgico seria modificado (simplificado) apenas na parte que produz a funo Q2*, necessitando agora de 3
portas AND de duas entradas e uma porta OR de 3 entradas:

Q2'
Q1
Q2'
X

Q2*

Q2
Q1'

LEEC - SD 2000/2001

ASG/JCA/AJA

(Prova A)

Sistemas Digitais, 1 chamada 26/Junho/2001

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

QA* QB* QC* QD*


QA
RIN
QB
A

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)

Sistemas Digitais, 1 chamada 26/Junho/2001

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)

faz Load quando QD~QA=0101 (5) e carrega 1011 (11)

LEEC - SD 2000/2001

ASG/JCA/AJA

(Prova A)

Sistemas Digitais, 1 chamada 26/Junho/2001

Pgina 10

NOME:________CORRECO________________________________________________________TURMA ___________

Analisando o circuito podemos concluir que:


i) o sentido de contagem definido pelo estado da sada QD: QD=0 conta para cima, QD=1 conta para baixo
ii) quando QD~QA=0101 feito um Load de 1011
iii) quando QD~QA=1000 feito um Load de 0011
A sequncia de valores ocorridos nas sadas do contador ser:
QDQCQBQA UP/DWN LD D C B A
0 0 0 0
1
1
1011
0 0 0 1
1
1
1011
0 0 1 0
1
1
1011
0 0 1 1
1
1
1011
0 1 0 0
1
1
1011
0 1 0 1
1
0
1011
1 0 1 1
0
1
0011
1 0 1 0
0
1
0011
1 0 0 1
0
1
0011
1 0 0 0
0
0
0011
0 0 1 1
1
1
1011

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)

quando X=0 D=QD';


quando X=1 impoe D=0

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)

Sistemas Digitais, 2 chamada 11/Julho/2001

Pgina 1

NOME:___________________CORRECO_____________________________TURMA _______________

Departamento de Engenharia Electrotcnica


e de Computadores
Sistemas Digitais (2000/2001)

2 chamada 11/Julho/2001

Durao: 2horas , sem consulta.


Antes de iniciar a prova, tenha em ateno as seguintes recomendaes:

Leia atentamente toda a prova antes de a iniciar.


Mostre e justifique adequadamente todos os passos das suas respostas.
A prova dever ser resolvida no enunciado. Se necessrio, utilize o verso para continuar a sua resoluo.
Assine todas as folhas que entregar, indicando em cada uma o nmero de pginas/folhas que entregou.

1a)

Dado o nmero hexadecimal 1A016, diga qual o seu valor se representar:


i)

um nmero inteiro em complemento para dois com 9 bits.


O nmero dado tem a seguinte representao binria em 12 bits (3 dgitos hexadecimais):
1A016 = 0001101000002
Como dito que 1A016 representa um nmero inteiro em complemento para dois com 9 bits (os 9 bits da
direita), ento podemos concluir que representa um nmero negativo porque o bit de sinal (MSB) 1.
Para obter o seu valor absoluto temos de calcular o seu simtrico, i.e. o complemento para dois desse
nmero:
-(110100000) = 001011111 + 1 = 0011000002 = 26+25 = 64 + 32 = 9610.
Assim, o valor do nmero 1A016 representando um nmero inteiro em complemento para dois com 9 bits
96.

ii)

um nmero inteiro em complemento para dois com 10 bits

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)

Sistemas Digitais, 2 chamada 11/Julho/2001

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

Sistemas Digitais, 2 chamada 11/Julho/2001

(Prova A)

Pgina 3

NOME:___________________CORRECO_____________________________TURMA _______________
Circuito OR-AND (traduo directa da expresso minimizada produto-de-somas):

D3' D2' D1' D0'

E utilizando apenas portas NOR com 3 entradas:

D3 D2 D1 D0

LEEC - SD 2000/2001

ASG/JCA/AJA

Sistemas Digitais, 2 chamada 11/Julho/2001

(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)

Sistemas Digitais, 2 chamada 11/Julho/2001

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)

Sistemas Digitais, 2 chamada 11/Julho/2001

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)

Sistemas Digitais, 2 chamada 11/Julho/2001

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

Sistemas Digitais, 2 chamada 11/Julho/2001

(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

QA* QB* QC* QD*


QA
RIN
QB
A

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)

Sistemas Digitais, 2 chamada 11/Julho/2001

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)

Sistemas Digitais, 2 chamada 11/Julho/2001

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

/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

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

dgito das unidades


(de 0 a 9)
QD
QC
QB
QA

D
C
B
A

RCO

dgito das dezenas


(de 0 a 5)
QD
QC
QB
QA
RCO

Gnd
(0V)

Gnd
(0V)

- FIM -

LEEC - SD 2000/2001

ASG/JCA/AJA

Sistemas Digitais, 1 chamada 7/Jan/2002

(Prova A)

Pgina 1

NOME:_________________CORRECO____________________________________________TURMA _______________

Departamento de Engenharia Electrotcnica


e de Computadores
Sistemas Digitais (2001/2002)

1 chamada 7/Janeiro/2002

Durao: 2horas , sem consulta.


Antes de iniciar a prova, tenha em ateno as seguintes recomendaes:

Leia atentamente toda a prova antes de a iniciar.


Mostre e justifique adequadamente todos os passos das suas respostas.
A prova dever ser resolvida no enunciado. Se necessrio, utilize o verso para continuar a sua resoluo.
Assine todas as folhas que entregar, indicando em cada uma o nmero de pginas/folhas que entregou.

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)

Indique o nmero mnimo de bits necessrios codificao da latitude e longitude.


A latitude representada por nmeros inteiros no intervalo [-90,+90]. 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, 8 bits (com 8 bits podem-se representar valores inteiros no intervalo
[-128,+127]):
N max( log2(90)+1, log2(90+1)+1 ), N inteiro N 8
Para representar a longitude (intervalo [-180,+180]) necessrio utilizar 9 bits (com 9 bits podem-se
representar nmeros inteiros no intervalo [-256,+255]):
N max( log2(180)+1, log2(180+1)+1 ), N inteiro N 9

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)

Sistemas Digitais, 1 chamada 7/Jan/2002

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

Sistemas Digitais, 1 chamada 7/Jan/2002

(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

Obtenha a expresso simplificada da sada Y na forma de produto de somas.


Vamos construir a tabela de verdade da funo Y(En, S, I1, I0), o mapa de Karnaugh e construir a funo
mnima soma-de-produtos agrupando os zeros do mapa de Karnaugh:

b) Implemente a funo obtida em a) usando apenas NORs de duas entradas e inversores.


Vamos comear por construir o circuito lgico OR-AND que resulta da expresso minimizada obtida em a):
En

S I1 I0

LEEC - SD 2001/2002

ASG/JCA/ASL/HSM

(Prova A)

Sistemas Digitais, 1 chamada 7/Jan/2002

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)

Recorrendo a um destes multiplexadores e eventuais inversores implemente (utilize o verso da folha):


i)

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

ii) um AND de trs entradas: A B C


Pretende-se um circuito cuja sada s 1 quando as 3 entradas so 1 ao mesmo tempo (funo AND). Um
circuito que usa o multiplexer dado e que realiza essa funo :
C

I0

En
Y

Y=A.B.C

I1
S

A
Gnd (zero)

LEEC - SD 2001/2002

ASG/JCA/ASL/HSM

Sistemas Digitais, 1 chamada 7/Jan/2002

(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

Aps pressionar START, liga a resistncia


e mantm ligada at que:
(i) seja ultrapassada Tmax
ESCAPE=0
(ii) seja pressionado o boto STOP
LIGA=0
(iii) seja atingida Tcrtica

Estado iniciaL: mantm enquanto no se pressiona START

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

Se for atingida Tcrtica, liga-se a


vlcula de escape, desliga-se a resistncia
e reinicia-se o funcionamento pressionando
novamente STOP (note que o funcionamento
do sistema aps ser atingida Tcrtica no estava
especificado).

LEEC - SD 2001/2002

ESCAPE=1
LIGA=0

Quando se atinge Tmax, desliga a resistncia


e mantm esse estado at que:
(i) a temperatura desca abaixo de Tmin
(ii) seja pressionado o boto STOP
(iii) seja atingida Tcrtica (devido a avaria!)

ASG/JCA/ASL/HSM

(Prova A)

Sistemas Digitais, 1 chamada 7/Jan/2002

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

Sistemas Digitais, 1 chamada 7/Jan/2002

(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

Sistemas Digitais, 1 chamada 7/Jan/2002

(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)

Sistemas Digitais, 1 chamada 7/Jan/2002

Pgina 9

NOME:_________________CORRECO____________________________________________TURMA _______________
estado
presente

prximo
estado

BAIXO CIMA CLR ENP


0
0
0
1
1
0
1
0
1
1
0
1
2
0
1
0
2
1
1
0
2
2
0
1
3
0
1
0
3
1
1
0
3
2
1
0
3
3
0
1
4
0
1
0
...
15
0
1
0
15
1
1
0
...
15
15
0
1
0
0
0
1

Nota: os valores apresentados para


as sadas dos dois contadores esto
representados em base 10

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

sadas iguais dos dois contadores:


incrementa o contador BAIXO
e carrega com zero o contador CIMA

6 O circuito seguinte baseado no registo de deslocamento 74x194 um detector de uma dada sequncia binria na entrada X.
Vcc (5V)

Universal Shift-register 74x194

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

Determine o modo de funcionamento do registo de deslocamento quando S=0.


Se S=0 a entrada S0 vale 0 e como S1=1 o shift-register trabalha em modo shift-left, com a entrada srie
LIN ligada a X.

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

-FIM LEEC - SD 2001/2002

ASG/JCA/ASL/HSM

(Prova B)

Sistemas Digitais, 2 chamada 24/Jan/2002

NOME:_____________CORRECO_______________________________________TURMA _______________

Departamento de Engenharia Electrotcnica


e de Computadores
Sistemas Digitais (2001/2002)

2 chamada 24/Janeiro/2002

Durao: 2horas , sem consulta.


Antes de iniciar a prova, tenha em ateno as seguintes recomendaes:

Leia atentamente toda a prova antes de a iniciar.


Mostre e justifique adequadamente todos os passos das suas respostas.
A prova dever ser resolvida no enunciado. Se necessrio, utilize o verso para continuar a sua resoluo.
Assine todas as folhas que entregar, indicando em cada uma o nmero de pginas/folhas que entregou.

1a)

Considere o nmero binrio 100000002. Diga qual o seu valor se:


(i)

representar um nmero inteiro sem sinal.


Se 100000002 representar um nmero binrio sem sinal ento o seu valor 1x27+0x26+...+0x20=12810

(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)

Considere os nmeros A=000101112 e B=001011112


(i)

Efectue a subtraco A-B em binrio.


00010111
-00101111
11101000

(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)

Sistemas Digitais, 2 chamada 24/Jan/2002

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)

Sistemas Digitais, 2 chamada 24/Jan/2002

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

propriedade associativa da funo OR

trocar portas OR para NOR e acrescentar inversores

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)

Sistemas Digitais, 2 chamada 24/Jan/2002

NOME:_____________CORRECO_______________________________________TURMA _______________

MOEDA=0x

J entraram 0.20
(uma moeda de 0.20 ou duas de 0.10)
INIT

MOEDA=0x

J entraram 0.10 (uma moeda de 0.10)

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)

Sistemas Digitais, 2 chamada 24/Jan/2002

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)

Sistemas Digitais, 2 chamada 24/Jan/2002

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)

Sistemas Digitais, 2 chamada 24/Jan/2002

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

LD=0, Load de 0001

LD=0, Load de 0010

LD=0, Load de 0010

A sequncia de valores nas sadas S3S2S1S0 ser (em decimal):


0, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 2, 3, 4, 5, 6, 2, 3, 4, 5, 6, 2, 3,
LEEC - SD 2001/2002

ASG/JCA/ASL/HSM

(Prova B)

Sistemas Digitais, 2 chamada 24/Jan/2002

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)

Universal Shift-register 74x194

0101011011010110
0001010000000100

funo

S1

hold
shift right
shift left
load

0
0
1
1

S0

QA* QB* QC* QD*

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)

- FIM LEEC - SD 2001/2002

ASG/JCA/ASL/HSM

Sistemas Digitais, 1 chamada 26/Jun/2002

Pgina 1

(100101110)

NOME:_______________CORRECO_____________________________________TURMA _______________

Departamento de Engenharia Electrotcnica


e de Computadores
Sistemas Digitais (2001/2002)

1 chamada 26/Junho/2002

Durao: 2horas , sem consulta.


Antes de iniciar a prova, tenha em ateno as seguintes recomendaes:

Leia atentamente toda a prova antes de a iniciar.


Mostre e justifique adequadamente todos os passos das suas respostas.
A prova dever ser resolvida no enunciado. Se necessrio, utilize o verso para continuar a sua resoluo.
Assine todas as folhas que entregar, indicando em cada uma o nmero de pginas/folhas que entregou.

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

Sistemas Digitais, 1 chamada 26/Jun/2002

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.

2 - Considere o seguinte circuito lgico que realiza a funo F(A,B,C,D):


A B C D

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

Sistemas Digitais, 1 chamada 26/Jun/2002

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

Sistemas Digitais, 1 chamada 26/Jun/2002

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

Sistemas Digitais, 1 chamada 26/Jun/2002

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

o gelado pronto entregue


no estado SAI_CONE

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

Sistemas Digitais, 1 chamada 26/Jun/2002

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

aps o gelado pronto vai


para SAI_CONE

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

Sistemas Digitais, 1 chamada 26/Jun/2002

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

Sistemas Digitais, 1 chamada 26/Jun/2002

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

Sistemas Digitais, 1 chamada 26/Jun/2002

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

a) RCO=0 se ENT=0 e ( (N=15 e UPDWN=1) ou (N=0 e UPDWN=0) )

Vcc (5V)

74x169

clock

quando as dezenas chegam a zero


activado o RCO (conta para baixo)
mas s faz o load de 5
quando as unidades chegam a zero
e activam o RCO das unidades

CLK
UP/DWN
LD
ENP
ENT
D
C
B
A

ambos os contadores contam para baixo


(UP/DWN=0)

dezenas

QD
QC
QB
QA
RCO

74x169
CLK

quando as unidades chegam a zero


activado o RCO
o contador das unidades faz load de 9

UP/DWN
LD
ENP
ENT
D
C
B
A

unidades

QD
QC
QB
QA
RCO

Gnd (0V)

LEEC - SD 2001/2002

ASG/JCA/HSM

Sistemas Digitais, 1 chamada 26/Jun/2002

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

Sistemas Digitais, 1 chamada 26/Jun/2002

Pgina 11

(100101110)

NOME:_______________CORRECO_____________________________________TURMA _______________

6 Considere o circuito seguinte baseado no registo de deslocamento 74x194:


Universal Shift-register 74x194
funo

S1

hold
shift right
shift left
load

0
0
1
1

S0

QA* QB* QC* QD*


QA
RIN
QB
A

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)
...

Aps ser atingido o estado QAQBQCQD=1111, o shift-register mantm-se no estado QAQBQCQD=1111.


b) Indique o estado seguinte a QAQBQCQD = 1111 e altere o circuito por forma a que esse estado seguinte passe a ser
QAQBQCQD = 0000 (mostre as alteraes na figura).
Pelos resultados obtidos na alnea anterior, o estado a seguir a QAQBQCQD=1111 QAQBQCQD=1111. Para
que o estado seguinte a QAQBQCQD=1111 seja QAQBQCQD=0000, basta ligar entrada CLR (clear) do shiftregister a sada (activa com o nvel lgico zero) de um comparador com 1111, que pode ser feito com uma
porta NAND de 4 entradas. A alterao est indicada a azul no desenho.
- FIM LEEC - SD 2001/2002
ASG/JCA/HSM