85
Faculdade de Engenharia da Universidade do Porto Departamento de Engenharia Electrotécnica e de Computadores Licenciatura em Engenharia Electrotécnica e de Computadores Enunciados e correcções de exames de Sistemas Digitais 1999/2002 José Carlos Alves [email protected]

Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

  • Upload
    vohanh

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Faculdade de Engenharia da Universidade do Porto

Departamento de Engenharia Electrotécnica e de Computadores

Licenciatura em Engenharia Electrotécnica e de Computadores

Enunciados e correcções de exames de Sistemas Digitais 1999/2002

José Carlos Alves [email protected]

Page 2: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ! " # � $ % & � � � �

' ( ) * + , , , , , , , , , - . / 0 1 2 1 3 1 4 / 5 6 6 7 8 9 : 5 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ; < = ) > , , , , , , , , , , , , , , ,

LEEC - SD 1999/2000 ASG/JCA/AJA/JFS/JSC

Universidade do PortoFaculdade de Engenharia? @ A B C A @ D E F G D B H I C J B C K D G @ D I L B A E G M E N A C @ A D B O B P M H Q F E D O M G B R

Sistemas Digitais (1999/2000) 1ª chamada - 14/Junho/2000

Duração: 2h 30m, sem consulta.Antes de iniciar a prova, tenha em atenção as seguintes recomendações:• 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 necessário, utili ze o verso para continuar a sua resolução.• Assine todas as folhas que entregar, indicando em cada uma o número de páginas/folhas que entregou.

1 - Considere a sequência de dígitos 10101

a) Diga qual é o seu valor se essa sequência representar:

i) um número inteiro em base 2 com 6 bits e em complemento para dois

Se a sequência 10101 representa um número com 6 bits, então assume-se que existe um zero à esquerda:010101. Como neste caso o bit mais significativo é zero (bit de sinal), podemos concluir que o númerorepresentado é positivo, sendo o seu valor obtido pela conversão para decimal do valor dado:

24+22+20 = 21

ii ) um número inteiro em base 2 com 5 bits e complemento para dois

Como o bit mais significativo é 1, podemos concluir que o número é negativo e para obter o seu valor absoluto énecessário calcular o seu simétrico (complemento para dois). Trocando os bits todos obtemos 01010 e adicionando1 dá 01011 que vale:

23+21+20 = 11 Assim a sequência dada representa a quantidade -11

iii ) um número inteiro sem sinal em base 2

Se a sequência 10101 representar um número sem sinal em base 2, o seu valor é obtido calculando a suaconversão para decimal:

24+22+20 = 21

b) Determine o número com 6 bits representado em complemento para dois, que adicionado ao número 10101 representado emcomplemento para dois com 5 bits, dá o resultado -2. Efectue as operações aritméticas em binário que achar convenientes.

Pretende-se calcular um número X com 6 bits e em complemento para 2, tal que X+Y=-2 , sendo Y o número10101 representado em complemento para dois com 5 bits. Para simpli ficar a realização dos cálculos, é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 então calcular o valor pedido realizando a operação: X = -2-Y:

-2 111110 Y -110101

X 001001

Assim, o número pedido é X = 001001 que representa a quantidade +9.

Page 3: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ! " # � $ % & � � � � �

' ( ) * + , , , , , , , , , - . / 0 1 2 1 3 1 4 / 5 6 6 7 8 9 : 5 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ; < = ) > , , , , , , , , , , , , , , ,

LEEC - SD 1999/2000 ASG/JCA/AJA/JFS/JSC

2 - Considere a função booleana F(A,B,C;D):

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

a) Represente F(A,B,C,D) no mapa de Karnaugh junto e obtenha a representação de F na forma simpli ficada soma de produtos.Indique convenientemente os agrupamentos de uns ou zeros que considerou para construir a expressão simpli ficada.Sugestão: note que não é necessário construir a tabela de verdade para representar a função dada no mapa de Karnaugh!

Podemos representar a função 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 dezeros no mapa (assinalados a sombreado). Aexpressão mínima soma-de-produtos é obtidaagrupando os uns da forma que se apresenta nafigura, resultando a expressão minimizada:

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

b) Considere agora uma função G(A,B,C,D) que é idêntica a F, excepto no termo ABCD=1101 em que é indiferente. Construaum circuito minimizado utili zando apenas portas lógicas NOR de 2 ou 3 entradas que realize a função G(A,B,C,D) .

Para construir um circuito minimizado comportas lógicas NOR é conveniente determinar a nova expressãomínima produto-de-somas, considerando agora o termo ABCD=1101 indiferente. Reconstruindo o mapa deKarnaugh obtemos a nova expressão mínima:

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

O circuito OR-AND que realiza esta função é:

podendo ser transformado no circuito equivalente só com portas NOR por aplicação das leis de DeMorgan:

00 01 11 1000

01

11

10

AB A

B

D

C

CD0

0

0

0

0

00

1

1

1

1

1 1

1

1

1B' . D'

A . B . D

B' . C

A . C

B' + C + D

B' + A

B + C + D'

00 01 11 1000

01

11

10

AB A

B

D

C

CD0

0

0

0

0

00

1

1

1

1

1 1

1

d

1

B' + C

D' + C

B' + A

A

B'C

D'C

B'

F(A,B,C,D)

A

BC

D

< = >

F(A,B,C,D)

Page 4: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ! " # � $ % & � � � � S

' ( ) * + , , , , , , , , , - . / 0 1 2 1 3 1 4 / 5 6 6 7 8 9 : 5 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ; < = ) > , , , , , , , , , , , , , , ,

LEEC - SD 1999/2000 ASG/JCA/AJA/JFS/JSC

3 - Pretende-se construir uma máquina de estados de Moore com uma entrada X e duas saídas S1 e S0. A saída S1 toma o valor 1quando é detectada na entrada X a sequência 10111; a saída S0 toma o valor 1 quando é detectada na entrada X a sequência10110. As sequências a detectar podem ser parcialmente sobrepostas da forma que se exempli fica na figura:

XS1

S0FSM

X 0 1 0 1 0 1 1 1 0 1 0 1 1 0 0 1 0 1 1 0 1 1 1 0

S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0

S0 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 transição de estados incompleto para a máquina de Moore referida. Complete-oindicando claramente as transições de estado, condições de transição de estado ou valores para as saídas S1 e S0 que faltam.

E1 S1=0S0=0

E2 S1=0S0=0

E3

S1=0S0=0

E5

E4

S1=0S0=1

E6

initX=1

X=0 X=0

X=1

X=1X=1

X=0

X=0

X=0

X=1

S1=0S0=0

X=0

X=1

X=1

X=0

S1=0S0=0

S1=1S0=0

Espera que chegueo 1º um

Enquanto chegarem unsfica no estado E1

Se X=1 no estado E4, pode passarpara o estado E3 porque foi detectadauma sequência 101 (note que são admitidassequências sobrepostas)

Se X=0 no estado E3, pode passarpara o estado E2 porque foi detectadauma sequência 10 (note que tudo oque foi detectado antes de 10 é desprezado)

No estado E5 ainda não foi detectadanenhuma sequência válida

Foi detectada asequência 10111 (S1=1)

Page 5: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ! " # � $ % & � � � � �

' ( ) * + , , , , , , , , , - . / 0 1 2 1 3 1 4 / 5 6 6 7 8 9 : 5 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ; < = ) > , , , , , , , , , , , , , , ,

LEEC - SD 1999/2000 ASG/JCA/AJA/JFS/JSC

b) Mantendo o modelo de máquina de Moore, modifique o diagrama de transição de estados de forma a que sejam apenasdetectadas sequências não sobrepostas, i.e. sempre que é detectada uma sequência válida, só é iniciada a pesquisa de uma novasequência com o primeiro bit a seguir à última sequência detectada (ver figura)

X 0 1 0 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 1 1 1 0

S1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0

S0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0

sequências não detectadas porqueestão sobrepostas com a anterior

E1 S1=0S0=0

E2 S1=0S0=0

E3

S1=0S0=0

E5

E4

S1=0S0=1

E6

initX=1

X=0 X=0

X=1

X=1X=1

X=0

X=0

X=0

X=1

S1=0S0=0

X=0

X=1

X=1

X=0

S1=0S0=0

S1=1S0=0

Se X=1 no estado E4, pode passarpara o estado E1 porque foi detectado um 1a seguir a uma sequência válida

Se X=0 no estado E6, tem que passarpara o estado init porque 0 não inicianenhuma sequência válida

X=0Este ramo desaparece

Page 6: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ! " # � $ % & � � � � T

' ( ) * + , , , , , , , , , - . / 0 1 2 1 3 1 4 / 5 6 6 7 8 9 : 5 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ; < = ) > , , , , , , , , , , , , , , ,

LEEC - SD 1999/2000 ASG/JCA/AJA/JFS/JSC

c) Mostre que se a máquina de estados referida em b) for implementada como uma máquina de Mealy é possível reduzir o númerode estados.

O estado E5 é atingido quando for detectada a sequência 1011. Isto é válido tanto para o modelo da máquina deestados 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 próximo bit recebido em X (1 ou 0) será sempre detectada umadas duas sequências válidas. Nesse caso a máquina deve ser reiniciada já que não se pretende detectar sequênciassobrepostas. Assim, do estado E5 irão existir duas transições para o estado init, às quais serão associadascondições diferentes de transição de estado e saídas. Desta forma é possível eliminar os estados E4 e E6, tal comose mostra na figura:

X=0S1=0,S0=1

init

E5

X=1S1=1,S0=0

X=1S1=0,S0=0

O estado E5 é atingido quando for detectada a sequência 1011.Se neste estado X for 0, então é detectada a sequência 10110e é activada a saída S0; se X for 1, então é detectada asequência 10111 sendo activada a saída S1

4 - A figura seguinte representa a tabela de transição de estados de uma máquina de Mealy.

X=0 X=1

A B , 0 A , 1

B C , 1 B , 1

C A , 1 C , 0

Entrada XEstado S

próximo estado S*, saída Z

Estado S Q1,Q0

A 1 0B 0 1C 1 1

a) Codificando os estados da forma que se indica na figura, preencha a tabela da figura com as funções lógicas que produzem opróximo estado Q1*,Q0* e a saída Z do circuito. Considere que as variáveis de estado são realizadas com flip-flops do tipo D eque se pretende minimizar a complexidade do circuito lógico resultante.

A tabela com as funções lógicas pretendias é construída substituindo na tabela dada os nomes simbólicos dosestados (A, B e C) pela codificação dada em Q1,Q0. Para além disso, e como se pretende minimizar acomplexidade dos circuitos lógicos, é necessário especificar como don't cares os valores das funções Q1*, Q0* e Zquando as variáveis de estado assumem os valores Q1=1 e Q0=0:

Q1 Q0 X Q1* Q0* Z

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

0 0 1

0 1 1

1 1 0

0 1 1

d d d

d d d

1 1 1

0 0 0

Page 7: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ! " # � $ % & � � � � U

' ( ) * + , , , , , , , , , - . / 0 1 2 1 3 1 4 / 5 6 6 7 8 9 : 5 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ; < = ) > , , , , , , , , , , , , , , ,

LEEC - SD 1999/2000 ASG/JCA/AJA/JFS/JSC

b) Implemente a função Q0* utili zando um multiplexador 4 ÷1 (com 2 linhas de selecção) e inversores.

Re-arranjando a tabela de verdade da função Q0* na forma mais conveniente para realizar a função com ummultiplexer:

Q1 Q0 X Q1* Q0* Z

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

0

1

1

1

d

d

1

0

Q0* = X

Q0* = 1

Q0* = d (don't care)

Q0* = X

O circuito lógico com um multiplexer é obtido ligando as linhas de selecção às variáveis mais significativas e asentradas aos valores lógicos X, 1 ou X', consoante determinado na tabela acima:

Q0* (Q1,Q0,X)

Q 1 Q 0

00

01

10

11

X

1

1

X

Nota: como Q0* é don't carepara Q1,Q0=10, esta entrada domultiplexer pode assumirqualquer valor

Page 8: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ! " # � $ % & � � � � V

' ( ) * + , , , , , , , , , - . / 0 1 2 1 3 1 4 / 5 6 6 7 8 9 : 5 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ; < = ) > , , , , , , , , , , , , , , ,

LEEC - SD 1999/2000 ASG/JCA/AJA/JFS/JSC

5 - Pretende-se gerar, utili zando um universal shift-register 74x194 (ver tabela), a seguinte sequência:

0 0 0 00 0 0 10 0 1 10 1 1 11 1 1 11 1 1 01 1 0 01 0 0 00 0 0 0 . . .

QA QB QC QDC L K

C L RS 1S0L IN

R I N

DCBA

Q DQ CQ BQA

74 x1 94

função S1 S0 QA* QB* QC* QD*

holdshift rightshift leftload

0 00 11 01 1

QA QB QC QDRIN QA QB QCQB QC QD LINA B C D

a) Construa o circuito que gere a sequência pretendida nas saídas QA,QB,QC,QD do shift-register. Note que a sequênciaapresentada pode ser gerada por deslocamentos sucessivos de um bit.Sugestão: para além do 74194, basta utili zar um inversor...

Pela sequência dada podemos verificar que:i) o estado seguinte é obtido sempre deslocando os bits do estado anterior para a esquerda. Isto significa que oshift- register irá funcionar no modo shift left , a que corresponde S1,S0=1,0ii ) o novo bit que entra pelo lado direito (na entrada LIN) é a negação do bit mais significativo (QA) do estadoanterior

Assim (e seguindo a sugestão dada!) o circuito pretendido pode ser obtido ligando a saída QA negada à entradaLIN, necessitando para isso um inversor:

CL K

C L RS1S0L IN

R I N

DCBA

Q DQ CQ BQA

74 x1 94

Vcc

Gnd

Clock

b) Mostre que alterações teria de introduzir no circuito para que uma entrada X permita seleccionar entre a sequência anterior(quando X=0) e a sequência seguinte (para X=1):Sugestão: construa primeiro o circuito que implementa a nova sequência e só depois procure combinar os dois circuitosintroduzindo a entrada X.

A nova sequência é semelhante à anterior, excepto que os estados 0000 e 1111 nunca são atingidos(note que pela tabela dada é assumido que o estado inicial é 0000, mas não é atingido de novo). Deforma semelhante à sequência anterior, também neste caso é sempre efectuado um deslocamentopara a esquerda, mas agora o bit que entra pela esquerda é a negação do bit QB do estadoanterior. A sequência dada pode ser gerada por um circuito semelhante ao apresentado na alíneaanterior, com a diferença que a entrada do inversor é ligada à saída QB.

O circuito pedido, com uma entrada X que permita comutar entre as duas sequências pode serconstruído recorrendo a um multiplexer que, em função do valor de X ligue a entrada do inversorà saída QA ou QB, consoante se pretenda a primeira ou segunda sequências, respectivamente paraX=0 e X=1. O circuito completo é mostrado na figura seguinte.

0 0 0 00 0 0 10 0 1 10 1 1 11 1 1 01 1 0 01 0 0 00 0 0 10 0 1 1 . . .

QA QB QC QD

Page 9: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ! " # � $ % & � � � � W

' ( ) * + , , , , , , , , , - . / 0 1 2 1 3 1 4 / 5 6 6 7 8 9 : 5 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ; < = ) > , , , , , , , , , , , , , , ,

LEEC - SD 1999/2000 ASG/JCA/AJA/JFS/JSC

CL K

C L RS1S0

L IN

R I N

DCBA

Q DQ CQ BQA

74 x1 94

Vcc

Gnd

Clock

X

0

1

multiplexer 2-1

6 - O circuito da figura representa um inversor CMOS cuja saída está ligada à entrada de um circuito digital X. A ligação entre osdois circuitos apresenta uma resistência R e a entrada do circuito X pode ser representada pelo paralelo de uma resistência RL e umcondensador CL, como se mostra na figura.

RLCL

R

Gnd (0V)

Vdd=5V

circuito X

A

VA

Para responder às questões colocadas é conveniente desenhar os circuitos equivalentes ao circuito dado para osníveis lógicos High e Low:

+

-

R

CL RL

RPMOS

5V

A R

CL RL

RNMOSA

Nível lógico High Nível lógico Low

Explique justificando, de que forma o valor da resistência R afecta:

i) Os níveis lógicos na entrada do circuito X (ponto A)

No nível lógico Low, a tensão no ponto A é sempre zero, independentemente do valor da resistência R, já que nãoexiste nenhuma fonte de tensão no circuito. No nível lógico High, a tensão no ponto A decresce com o aumento deR (VA=5VxRL/(RPMOS+R+RL) ), o que significa que quando R cresce o nível lógico High é degradado (a margen deruído é diminuída).

Page 10: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ! " # � $ % & � � � � X

' ( ) * + , , , , , , , , , - . / 0 1 2 1 3 1 4 / 5 6 6 7 8 9 : 5 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ; < = ) > , , , , , , , , , , , , , , ,

LEEC - SD 1999/2000 ASG/JCA/AJA/JFS/JSC

ii ) A potência fornecida pela fonte de tensão Vdd.

A fonte de tensão Vdd (ideal) apenas fornece energia à associação das 3 resistências em série no nível lógico High.Como neste caso P=V2/R, podemos concluir que a potência eléctrica fornecida pela fonte Vdd decresce com oaumento de R.

iii ) Os tempos de subida e de descida da tensão VA na entrada do circuito X

No nível lógico High e Low as constantes de tempo associadas às transições da tensão no ponto A (terminais docondensador) são obtidas como produto de CL pelo paralelo de RL com a série de RPMOS ou RNMOS com R. Comoestas constantes de tempo crescem com R, os tempos de transição também crescem.

Podemos assim concluir que quando a resistência R cresce, o nível lógico High piora, a potência consumidadiminui e os tempos de transição aumentam.

Page 11: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 2ª chamada - 5/Jul/2000 (Prova A - Correcção) Página 1

NOME:_______________ 2ª CHAMADA - CORRECÇÃO____________________________TURMA � � � � � � � � � � � � � � �

LEEC - SD 1999/2000 ASG/JCA/AJA/JFS/JSC

Universidade do PortoFaculdade de Engenharia

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

Sistemas Digitais (1999/2000) 2ª chamada - 5/Julho/2000

Duração: 2h 30m, sem consulta.Antes de iniciar a prova, tenha em atenção as seguintes recomendações:• 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 questão por folha. Se necessário, utili ze o verso de cada folha para continuar a sua

resolução.• Entregue todas as folhas do enunciado, não se esquecendo de preencher o seu nome.

1 -

a) Indique justificando o resultado da adição binária dos números A=011001 e B=110011, ambos representados em

Efectuando a adição binária dos dois números dados obtemos:

011001+1100111001100

Apesar do resultado obtido ser 1001100, o bit 1 da esquerda deve ser desprezado já que como ambos os operandosestão representados em complemento para dois com 6 bits, o resultado será também representado emcomplemento para dois, constituído apenas pelos 6 bits menos significativos: 001100. Para confirmar o resultadopodemos representar os operandos em base 10:

A = 011001 = 16+8+1 = +25B = 110011 = -(001100+1) = -(001101) = -13A+B = 25-13 = +12 = 001100

b) Adicionando os números X=0101 e Y=1111 obtém-se um resultado com 4 bits igual a 0100. Diga, justificando, se ocorreoverflow nessa operação se X e Y representarem números:

Antes de responder às questões seguintes é conveniente efectuar a operação de adição referida:

0101+111110100

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 operação referida porque égerado um carr y na soma dos bits mais significativos dos operandos. Por outras palavras, o resultado (positivo)da adição binária não 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 não ocorre overflow porque X eY têm sinais contrários. Confirmando: X=+5, Y=-1 e X+Y=+4

Page 12: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 2ª chamada - 5/Jul/2000 (Prova A - Correcção) Página 2

NOME:_______________ 2ª CHAMADA - CORRECÇÃO____________________________TURMA � � � � � � � � � � � � � � �

LEEC - SD 1999/2000 ASG/JCA/AJA/JFS/JSC

2 - O mapa de Karnaugh da figura representa uma função booleana F(A,B,C,D)

AB

CD

C

D

A

B

00 01 11 10

00

01

11

10

1 1 1 0

d d 1 0

1 1 1 0

1 0 0 0

a) Obtenha a expressão mais simples do tipo POS ou SOP, considerando que pretende uma realização com portas lógicas dotipo inversor, AND ou OR com duas entradas. Note que não se pretende que desenhe o circuito lógico.

Se o objectivo é obter a realização mais simples com inversores e portaslógicas com duas entradas, vamos escolher a expressão SOP ou POS queminimize o número de operadores lógicos dos tipos referidos. Agrupando oszeros obtemos a expressão do tipo POS:

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

que necessita de 3 inversores, 3 OR e um AND

Agrupando os uns obtemos a expressão do tipo SOP:

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

que utili za 3 inversores, 3 AND e dois OR.

Assim, a representação mais simples para F(A,B,C,D) é a expressão POSapresentada acima.

b) Considere agora uma função G(A,B,C,D) que é idêntica a F, excepto no termo ABCD=0010 em que é indiferente. Construaum circuito minimizado utili zando apenas portas lógicas NAND de 2 entradas que realize essa função .

O objectivo é minimizar o número de portas lógicas NAND de duas entradas. Paraconstruir um circuito lógico só com portas NAND é geralmente mais convenienteconstruir primeiro um circuito do tipo AND-OR, obtido por tradução directa daexpressão SOP minimizada. No entanto, se a função G(A,B,C,D) for consideradazero nesse termo, a expressão POS resulta mais simples do que a espressão 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 expressão é:

ABCD

C

D

A

B

00 01 11 10

00

01

11

10

1 1 1 0

d d 1 0

1 1 1 0

1 0 0 0

A' +B

B'+C'+D

B.D

B' .A '

B.C'

C'D

A'B

G(A,B,C,D)

ABCD

C

D

A

B

00 01 11 10

00

01

11

10

1 1 1 0

d d 1 0

1 1 1 0

0 0 0

A' +B

C'+D

d

Page 13: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 2ª chamada - 5/Jul/2000 (Prova A - Correcção) Página 3

NOME:_______________ 2ª CHAMADA - CORRECÇÃO____________________________TURMA � � � � � � � � � � � � � � �

LEEC - SD 1999/2000 ASG/JCA/AJA/JFS/JSC

podendo ser transformado no circuito equivalente usando apenas 6 portas NAND de duas entradas:

CD

A

B

G(A,B,C,D)

A expressão mais simples do tipo SOP seria igual à apresentada em a). Podemos concluir (sem desenhar ocircuito!) que só para realizar os 3 termos de produto dessa expressão SOP seriam necessárias 6 portas NAND deduas entradas: 3 NANDs para as negações e mais 3 NANDs para realizar os 3 termos de produto. Como paraalém disso é ainda necessário realizar a soma lógica dos termos de produto, o número total de NANDs de duasentradas será superior ao número utili zado no circuito apresentado.

3 - Pretende-se construir uma máquina de estados de Mealy com uma saída IMPAR que é 1 quando os 3 últimos bitsconsecutivos colocados na sua única entrada X incluírem um número ímpar de uns, e zero no caso contrário. Depois do início dofuncionamento da máquina de estados, a saída IMPAR só é considerada válida após o 3º ciclo de relógio. A figura mostra umexemplo de uma sequência de bits na entrada X e o valor correspondente para a saída IMPAR

0101101011110100

dd10000100110011IMPAR:

X:

saí da I MPAR é i ndi f er ent e

nos 2 pr i mei r os ci cl os

a) A figura representa um diagrama de transição de estados incompleto para a máquina de Mealy referida. Complete-oindicando claramente as transições de estado, condições de transição de estado e valores para a saída IMPAR que faltam.

init

E

F

A

B CD

X / IMPAR

1/d

1/d 0/d

0/d

0/d1/d

1/1

0/0

0/11/0

0/0

1/11/0

0/1

Foi recebido 11; enquantochegarem uns, a saídaIMPAR é 1

Chegou um zero após ter sidorecebido 11: IMPAR=0

Note que cada estado mantém a históriados dois últimos bits recebidos

Foi recebido 00; enquantochegarem zeros a saída IMPAR é 0

Chegou um 1 após ter sidorecebido 00: IMPAR=1

Chegou um 0 após ter sidorecebido 01: IMPAR=1

Chegou um 1 após ter sidorecebido 01: IMPAR=0

Page 14: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 2ª chamada - 5/Jul/2000 (Prova A - Correcção) Página 4

NOME:_______________ 2ª CHAMADA - CORRECÇÃO____________________________TURMA � � � � � � � � � � � � � � �

LEEC - SD 1999/2000 ASG/JCA/AJA/JFS/JSC

b) Sabendo que uma porta XOR de 3 entradas realiza a função detecção de paridade ímpar de uma palavra de 3 bits (ver tabela),construa um circuito utili zando um 74x194 (universal shift-register) que realize a funcionalidade da máquina de estados referida.

Se o shift- register for configurado em modo shift- r ight (S1=0, S0=1) sendo a entrada RIN a entrada X damáquina pretendida, as saída QA,QB e QC têm, em cada ciclo, os últimos 3 bits recebidos. Se essas saídas doshift- register forem ligadas às entradas do XOR de 3 entradas, a sua saída será 1 quando os últimos 3 bitsrecebidos apresentarem paridade ímpar. Assim, o circuito completo será:

CL K

C L RS1S0

L IN

R I N

DCBA

Q DQ CQ BQA

74 x1 94

Vcc

Gnd

Clock

X

IMPAR

0 0 0 00 0 1 10 1 0 10 1 1 01 0 0 11 0 1 01 1 0 01 1 1 1

A B C A ⊕⊕ B ⊕⊕ CC L K

C L RS1S0L I N

R I N

DCBA

Q DQ CQ BQA

74 x1 94

função S1 S0 QA* QB* QC* QD*

holdshift rightshift leftload

0 00 11 01 1

QA QB QC QDRIN QA QB QCQB QC QD LINA B C D

Page 15: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 2ª chamada - 5/Jul/2000 (Prova A - Correcção) Página 5

NOME:_______________ 2ª CHAMADA - CORRECÇÃO____________________________TURMA � � � � � � � � � � � � � � �

LEEC - SD 1999/2000 ASG/JCA/AJA/JFS/JSC

4 - A figura seguinte representa a tabela de transição de estados de uma máquina de Moore.

X=0 X=1

E1 E2 E1E2 E2 E3

E3 E3 E4

Entrada XEstado S

próximo estado S*

E4 E1 E5

E5 E5 E3

0 0

1 10 1

0 1

1 1

SaídasY Z

a) Apresente e justifique uma codificação de estados que permita minimizar a complexidade do circuito lógico que realiza assaídas Y e Z.

Como na máquina de Moore as saídas apenas dependem do estado presente, a codificação de estados queminimiza a complexidade do circuito lógico que realiza as saídas Y e Z pode ser obtida incluindo os valoreslógicos para as saídas Y e Z no código atribuído a cada estado. Nesse caso não é necessária qualquer funçãológica, sendo as saídas iguais a bits da variável de estado. Como temos 5 estados e necessitamos de (pelo menos) 3bits para os codificar, podemos codificar os estados em Q2,Q1 com os valores pretendidos para as saídas Y e Z,utili zando o 3º bit Q0 para diferenciar entre estados que apresentem saídas iguais:

Estado S

E1 0 0 0E2 1 1 0E3 0 1 0E4 0 1 1E5 1 1 1

Q2 Q1 Q0Y Z

Fazendo Q2,Q1 iguais a Y,Z

b) Considere a codificação de estados seguinte:Estado S Q2,Q1,Q0

E1 0 0 0E2 0 0 1E3 0 1 0E4 0 1 1E5 1 0 0

Obtenha uma expressão lógica minimizada para a saída Z=f(Q2,Q1,Q0,X). Admita que Z é indiferente para os estados nãoespecificados na tabela de transição de estados.

Utili zando a codificação de estados dada, vamos construir a tabela de verdade dafunção Z=f(Q2,Q1,Q0). Note que a saída Z não depende da entrada X, uma vez que setrata de uma máquina de Moore:

Construindo o mapa de Karnaughpara a função Z(Q2,Q1,Q0):

obtém-se a expressão simpli ficada (soma-de-produtos): Z=Q2+Q1+Q0

Q2 Q1 Q0 Y Z

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

0 0

1 1

0 1

0 1

1 1

x x

x x

x x

estadopresente saídas

Q2Q1

Q0

Q0

Q2

Q1

00 01 11 10

0

1

0 1 d 1

1 1 d d

Q 2

Q 0

Q 1

Page 16: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 2ª chamada - 5/Jul/2000 (Prova A - Correcção) Página 6

NOME:_______________ 2ª CHAMADA - CORRECÇÃO____________________________TURMA � � � � � � � � � � � � � � �

LEEC - SD 1999/2000 ASG/JCA/AJA/JFS/JSC

5 - Considere o circuito síncrono da figura, realizado em torno de um contador binário 74x163 e de um descodificador 74x138

C L K

C L R

E N P

DCBA

Q DQ CQ BQA

74 x1 63

L D

E N T

CBA

G1G2AG2B

Y 0Y 1Y 2Y 3Y 4Y 5Y 6Y 7

74 x1 38

Vcc

Gnd

Vcc

clock

R C O

/CLR /LD ENT ENP QD QC QB QA QD* QC* QB* QA*

0 x x x x x x x 0 0 0 0

1 0 x x x x x x D C B A

1 1 0 x x x x x QD QC QB QA

1 1 x 0 x x x x QD QC QB QA

1 1 1 1 N (se N<15) N + 1

1 1 1 1 1 1 1 1 0 0 0 0

74x163 estadopr esent e

pr óx i moes t ado

G1 /G2A /G2B C B A /Y7 /Y6 /Y5 /Y4 /Y3 /Y2 /Y1 /Y0

0 x x x x x 1 1 1 1 1 1 1 1

x 1 x x x x 1 1 1 1 1 1 1 1

x x 1 x x x 1 1 1 1 1 1 1 1

1 0 0 0 0 0 1 1 1 1 1 1 1 0

1 0 0 0 0 1 1 1 1 1 1 1 0 1

1 0 0 0 1 0 1 1 1 1 1 0 1 1

1 0 0 0 1 1 1 1 1 1 0 1 1 1

1 0 0 1 0 0 1 1 1 0 1 1 1 1

1 0 0 1 0 1 1 1 0 1 1 1 1 1

1 0 0 1 1 0 1 0 1 1 1 1 1 1

1 0 0 1 1 1 0 1 1 1 1 1 1 1

74x138

a) Admitindo um estado inicial igual a QD,QC,QB,QA=0000, determine a sequência de valores que ocorrem nas saídas docontador.

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 comoum contador binário, a entrada /CLR será activada logo que é atingido o estado 0110, sendo o estado seguinteigual a 0000. Assim, a sequência nas saídas do contador será:

0000, 0001, 0010, 0011, 0100, 0101, 0110, 0000, 0001, ... /CLR é activado aqui, ^^^^

próximo estado é 0000

(ou em decimal: 0, 1, 2, 3, 4, 5, 6, 0, 1, 2 ...)

b) Utili zando apenas o contador 74x163 e o descodificador 74x138, modifique o circuito anterior de forma a obter um contadorque 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 emdecimal), é necessário utili zar o descodificador 74x138para detectar o valor máximo da sequência pretendida (14ou 1110 em binário), de forma a activar a entrada /LD docontador para carregar de novo o estado inicial 0110.Ligando os bits mais significativos das saídas do contador(QD,QC,QB) às entradas C,B,A do 74x138, o sinal /LDpretendido será a saída /Y7 do descodificador. Para queseja carregado o valor 0110 quando é activada a entrada/LD, é ainda necessário ligar as entradas D,C,B,A àsconstantes lógicas 1 e 0 apropriadas:

C L K

C L R

E N P

DCBA

Q DQ CQ BQA

74 x1 63

L D

E N T

CBA

G 1G 2 AG2B

Y 0

Y 1Y 2

Y 3Y 4

Y 5Y 6

Y 7

74 x1 38clock

R C O

Vcc

Gnd

Vcc

GndY7 é activado (0) quando o contadoratingir o estado 1110

Quando é atingido o estado 1110 éactivada a entrada /LD do contador

Quando é activado /LD, o contadorcarrega de novo o estado inicial 0110

Page 17: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 2ª chamada - 5/Jul/2000 (Prova A - Correcção) Página 7

NOME:_______________ 2ª CHAMADA - CORRECÇÃO____________________________TURMA � � � � � � � � � � � � � � �

LEEC - SD 1999/2000 ASG/JCA/AJA/JFS/JSC

6 - O circuito da figura representa um inversor CMOS cuja saída 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 resistência RL e umcondensador CL.

R LCL

Gnd

Vdd=5V

circuito XA

VoR L

CL. . .

N vezes

Vi

a) Explique justificando, de que forma o número N de circuitos do tipo X afecta os níveis lógicos na saída do inversor (ponto A)

O circuito equivalente à associação de N circuitos do tipo X em paralelo é representado por uma resistência RL/Nem paralelo com um condensador N.CL. Assim, os circuitos equivalentes para os 2 níveis lógicos são:

+

-

N.CL RL/N

ARP

5V

Nível lógico High

RN

Nível lógico Low

N.CL RL/N

A

Os níveis lógicos (estáticos) na saída do inversor dependem apenas da carga resistiva vista da sua saída. O nívellógico low não será afectado com o número de circuitos do tipo X ligados à saída do inversor, já que a tensão noponto A será sempre zero qualquer que seja N.

No nível lógico high, a tensão no ponto A será definida pelo divisor de tensão formado pela resistência equivalentedo transistor PMOS no estado de condução (RP na figura) e a resistência equivalente da associação em paralelode N circuitos do tipo X (RL/N na figura). Quando N aumenta RL/N diminui e consequentemente a tensão noponto A diminui reduzindo com isso a margem de ruído estática para o nível lógico alto.

b) Escreva a expressão que relaciona a constante de tempo associada ao tempo de subida da tensão Vo (no ponto A) com N, CL,RL e a resistência de condução do transistor PMOS, RP

A análise do tempo de subida da tensão no ponto A é feita sobre o circuito equivalente para o nível lógico alto. Aconstante de tempo associada ao tempo de subida neste circuito será o produto da capacidade equivalente N.CLpela resistência 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 -

Page 18: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada – 8/Jan/2001 (Prova A) Página 1 NOME:_________________________________________________________________________TURMA _______________

LEEC - SD 2000/2001 ASG/JCA/ASL/JSC

Departamento de Engenharia Electrotécnica e de Computadores

Sistemas Digitais (2000/2001) Correcção 1ª chamada – 8/Janeiro/2001 Duração: 2horas , sem consulta. Antes de iniciar a prova, tenha em atenção as seguintes recomendações: • 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 necessário, utilize o verso para continuar a sua resolução. • Assine todas as folhas que entregar, indicando em cada uma o número de páginas/folhas que entregou. 1 - Considere a sequência de dígitos 101 a) Diga qual é o seu valor se essa sequência representar: i) um número inteiro em base 8.

Se 101 representar um número inteiro em base 8, então o seu valor é 1x82+0x81+1x80 = 65 ii) um número inteiro em base 16 com 9 bits e complemento para dois.

Se 101 representar um número em base 16, então podemos escrever a sua representação em binário substituindo cada dígito hexadecimal pela representação binária correspondente:

10116 = 0001000000012

Se é dito que o número dado tem 9 bits, então deveremos desprezar os 3 bits (zeros) da esquerda ficando apenas:

10116 = 1000000012

Como é também dito que 10116 representa um número em complemento para dois, então podemos concluir que o número é negativo (o bit mais significativo é 1) e o seu valor absoluto é obtido calculando o seu simétrico (que é complemento para dois do número dado):

-1000000012 = 011111110 + 1 = 01111111 = 255

Assim, se 10116 representar um número com 9 bits em complemento para dois , o seu valor é -255

b) Determine o número com 6 bits representado em complemento para dois, que adicionado ao número 01001 representado

em complemento para dois com 5 bits, dá o resultado -2. Efectue as operações aritméticas em binário que achar convenientes (utilize o verso da folha).

Page 19: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada – 8/Jan/2001 (Prova A) Página 2 NOME:_________________________________________________________________________TURMA _______________

LEEC - SD 2000/2001 ASG/JCA/ASL/JSC

Pretendemos calcular um valor X tal que X+Y=-2, onde Y é o número binário 01001. Se é dito que X deve ser um número com 6 bits em complemento para dois, deveremos transformar os operandos Y e –2 para esse formato: Y = 01001 = 001001 (é positivo, a extensão de sinal acrescenta um zero) -2 = -000010 = 111101 + 1 = 111110 Assim, o número 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 função booleana F(A,B,C,D) que assume ‘1’ quando ABCD representa valores múltiplos de 2, e a função

G(A,B,C,D) que assume ‘1’ quando ABCD representa valores múltiplos de 3 (A é o bit mais significativo e D o bit menos significativo). Apresente uma expressão simplificada na forma produto-de-somas para a função Z=F+G (soma lógica das funções F e G) (se necessário utilize o verso da folha).

A função pedida Z(A,B,C,D) pode ser representada directamente no mapa de Karnaugh, preenchendo uns nas posições correspondentes aos minterms cujo número é múltiplo de 2 ou de 3. Tenha em atenção a ordenação dos minterms no mapa, de acordo com a disposição das variáveis representada. Como se pretende obter uma expressão minimizada na forma produto-de-somas, agrupam-se os zeros da forma representada no mapa:

CDAB A

B

C

D

1

0

1

3

2

4

5

7

6

12

13

15

14

8

9

11

10

1

1

1

1

1

1

1

1

1

0

0 0 0

00

(A+B+C)

(B'+D'+C)

(A+B'+D')

(A'+B+C'+D')

A expressão mínima produto-de-somas será então:

Z(A,B,C,D) = (A+B+C).(A+B’+D’).(B’+D’+C).(A’+B+C’+D’) b) Considere agora uma função H idêntica a Z, excepto no termo ABCD=1111 em que é indiferente (don’t care). Construa

um circuito minimizado utilizando apenas portas lógicas NOR de 2 ou 3 entradas que realize a função H(A,B,C,D) (utilize o verso da folha)

Page 20: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada – 8/Jan/2001 (Prova A) Página 3 NOME:_________________________________________________________________________TURMA _______________

LEEC - SD 2000/2001 ASG/JCA/ASL/JSC

Para construir um circuito que contenha apenas portas lógicas NOR (com 2 ou 3 entradas), é conveniente começar por desenhar o circuito minimizado do tipo OR-AND, obtido da expressão mínima do tipo produto-de-somas. Se o termo 15 (ABCD=1111) for indiferente podemos agrupar os zeros no mapa de Karnaugh da forma seguinte:

CDAB A

B

C

D

1

0

1

3

2

4

5

7

6

12

13

15

14

8

9

11

10

1

1

1

1

1

1

1

d

1

0

0 0 0

00

(A+B+C)

(B'+D')

(A'+C'+D')

A nova expressão 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 função é:

A'C'D'

ABC

B'

D'

Z(A,B,C,D)

e o circuito equivalente só com portas NOR de duas ou 3 entradas é:

ACD

ABC

Z(A,B,C,D)

Page 21: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada – 8/Jan/2001 (Prova A) Página 4 NOME:_________________________________________________________________________TURMA _______________

LEEC - SD 2000/2001 ASG/JCA/ASL/JSC

3 – Pretende-se projectar o sistema de controlo do nível de água de um tanque para abastecimento público. O sistema tem uma saída AGUA que quando é activada (nível lógico alto) abre uma válvula de entrada de água. Para controlar o nível de água dispõe-se de duas entradas NMAX e NMIN provenientes de sensores de nível de água, que são activadas (nível lógico alto) quando o nível no tanque se torna, respectivamente, maior do que o nível máximo N2 ou menor do que o nível mínimo N1. O sistema dispõe ainda de duas entradas ligadas a um botão de arranque (START) para iniciar o funcionamento do sistema e a um botão de paragem (STOP) para o desligar. Estas entradas tomam o valor lógico alto quando os botões respectivos são pressionados. Para controlar o nível de água no tanque, mantendo-o entre N1 e N2, deve-se abrir a válvula de entrada de água sempre que o nível de água no tanque for inferior a N1, e fechar quando for ultrapassado o nível N2. Complete o diagrama de transição de estados do sistema descrito, utilizando apenas os estados já representados e os nomes simbólicos referidos no texto para as entradas e saída.

init

AB

START=1

START=0

AGUA=0

STOP=1

STOP=1AGUA=0

NMAX=0

NMAX=1

NMIN=0

NMIN=1 AGUA=1

NMAX

NMIN

AGUA

FSM

START

STOP

CLOCK

sensor do nível máximo (N2)

sensor do nível mínimo (N1)

válvula abre quando AGUA é '1'

tanque de água

entrada de água

nível de água

Page 22: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada – 8/Jan/2001 (Prova A) Página 5 NOME:_________________________________________________________________________TURMA _______________

LEEC - SD 2000/2001 ASG/JCA/ASL/JSC

4 – O diagrama de transição de estados da figura representa uma máquina de Moore com uma entrada X e uma saída S. A saída S toma o valor 1 quando, em 3 estados consecutivos, é detectada na entrada X a sequência 010. A sequência 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

Saída S: 0 0 0 1 0 1 0 0 0 0 1 0

init A B

X=0

C

X=0

X=0

X=0X=1

X=1

X=1

X=1S=0 S=0

S=0 S=1

a) Construa a tabela de transição de estados, atribuindo uma codificação apropriada aos estados.

Utilizando primeiro os nomes simbólicos atribuídos aos estados, a tabela de transição pedida é:

próximo estadoestado actual X=0 X=1 saída S init A init 0 A A B 0 B C init 0 C A B 1

Codificando agora os estados como: init=00, A=01, B=10 e C=11, serão necessários 2 flip-flops do tipo D e a tabela de transição de estados fica:

próximo estado

estado actual Q1* Q0* Q1 Q0 X=0 X=1 saída 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

Page 23: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada – 8/Jan/2001 (Prova A) Página 6 NOME:_________________________________________________________________________TURMA _______________

LEEC - SD 2000/2001 ASG/JCA/ASL/JSC

b) Desenhe o esquema do circuito lógico que implementa a máquina de estados, utilizando flip-flops do tipo D. (utilize o verso da folha)

Partindo da tabela de transição de estados construída na alínea anterior, vamos obter expressões minimizadas para as funções Q1* e Q0* na forma soma-de-produtos. Note que pela tabela de transição de estados pode ver-se facilmente que a saída S é apenas a função lógica AND das variáveis de estado Q1 e Q0:

XQ1Q0 Q1

X

0

1

2

3

6

7

4

51

1

1

Q0.XQ0

Q1.Q0'.X'

XQ1Q0 Q1

X

0

1

2

3

6

7

4

5

1

Q0

X'1 1 1

Q1*(Q1,Q0,X)

Q0*(Q1,Q0,X)

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

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

um circuito lógico que realiza esta máquina de estados é:

D Q

D QQ1* Q1

Q0* Q0

X

S

clock

Page 24: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada – 8/Jan/2001 (Prova A) Página 7 NOME:_________________________________________________________________________TURMA _______________

LEEC - SD 2000/2001 ASG/JCA/ASL/JSC

5 – a) Construa um circuito síncrono baseado num contador do tipo up/down (74x169) e em circuitos lógicos adicionais capaz de

gerar, nas saídas QD,QC,QB,QA do contador, a seguinte sequência 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, ....

UP/DWN /LD /ENT /ENP QD QC QB QA QD* QC* QB* QA*

x 0 x x x x x x D C B A

x 1 1 x x x x x QD QC QB QA

x 1 x 1 x x x x QD QC QB QA

1 1 0 0 N (se N<15) N + 1

0 1 0 0 N (se N>0) N - 1

1 1 0 0 1 1 1 1 0 0 0 0

0 1 0 0 0 0 0 0 1 1 1 1

74x169 estadopresente

próximoestado

CLKUP/DWN

ENP

DCBA

QDQCQBQA

74x169

LD

ENT

RCO

Page 25: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada – 8/Jan/2001 (Prova A) Página 8 NOME:_________________________________________________________________________TURMA _______________

LEEC - SD 2000/2001 ASG/JCA/ASL/JSC

Analisando a sequência pretendida, representada em binário:

0 0 0 0 01 0 0 0 12 0 0 1 03 0 0 1 14 0 1 0 05 0 1 0 110 1 0 1 09 1 0 0 18 1 0 0 03 0 0 1 14 0 1 0 05 0 1 0 110 1 0 1 09 1 0 0 1 . . .

conta para baixo

conta para cima

load 1010 quando saída é 0101

load 0011 quando saída é 1000

conta para cima

load 1010 quando saída é 0101

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 – são efectuadas duas operações load: quando a saída é 0101 é carregado o valor 1010 e quando é 1000 é carregado 0011. Analisando a relação 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:

CLK

UP/DWN

ENP

DCBA

QDQCQBQA

74x169

LD

ENT

RCO

Gnd(0V)

Vcc (5V)

Load

QD'

QA'

Page 26: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada – 8/Jan/2001 (Prova A) Página 9 NOME:_________________________________________________________________________TURMA _______________

LEEC - SD 2000/2001 ASG/JCA/ASL/JSC

b) Modifique o circuito que construiu por forma a que as saídas do contador sejam reiniciadas com o valor 3 sempre que for

atingido um estado não pertencente à sequência especificada em a) (utilize o verso da folha).

Os estados não pertencentes à sequência de contagem são: 6, 7, 11, 12, 13, 14, 15. Quando aparecer na saída do contador um desses estados, deve ser feito um load com o valor 3, caso contrário deve ser seguida a operação descrita acima.

Vamos começar por construir um circuito que detecte um dos estados fora da sequência normal (função LOAD3):

QB QA

QD QC QD

QC

QB

QA

0

1

3

2

4

5

7

6

12

13

15

14

8

9

11

10

1

1

1

1

1

1

10

0

00 0

00

0

0

QD.QC

QC.QB

QA.QB.QD

LOAD3 = QD.QC + QA.QB.QD + QC.QB

Como a operação normal do circuito também utiliza a operação de load, é necessário utilizar um mulitplexer para escolher o valor a carregar no contador: quando é um load “normal”, é carregado o valor definido pelo circuito construído na alínea anterior; quando acontece o load devido a estado inválido deve ser escolhido o valor 3. Um circuito que realiza esta funcionalidade é (apenas se mostram as alterações ao circuito apresentado na alínea anterior).

CLK

UP/DWN

ENP

DCBA

QDQCQBQA

74x169

LD

ENT

RCO

Load3

QCQD

QCQB

QAQBQD

(load do circuito anterior)

S

QD'

QA'

0011

01

S=0

S=1

4 multiplexers 2-1

Page 27: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada – 8/Jan/2001 (Prova A) Página 10 NOME:_________________________________________________________________________TURMA _______________

LEEC - SD 2000/2001 ASG/JCA/ASL/JSC

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

a) Admitindo o estado inicial QA,QB,QC,QD=0000, determine a sequência (em binário) produzida nas saídas QA,QB,QC,QD.

Pela configuração 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 equação:

LIN = QD’ . (QA ⊕ QB)’

A sequência produzida nas saídas é:

QA QB QC QD LIN 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1

0125

10680

(decimal)

CLK

CLRS1S0LIN

RIN

DCBA

QDQCQBQA

74x194

Gnd (0V)

Vcc (5V)

clock

função S1 S0 QA* QB* QC* QD*

holdshift rightshift leftload

0 00 11 01 1

QA QB QC QDRIN QA QB QCQB QC QD LINA B C D

Universal Shift-register 74x194

Page 28: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada – 8/Jan/2001 (Prova A) Página 11 NOME:_________________________________________________________________________TURMA _______________

LEEC - SD 2000/2001 ASG/JCA/ASL/JSC

b) Modifique o circuito apresentado de forma a acrescentar-lhe uma entrada X, activa no nível lógico alto, que permita

reinicializar as saídas com o valor QA,QB,QC,QD=1111.

Para iniciar as saídas com 1111, basta colocar as entradas QA,QB,QC,QD com 1111 e ligar a entrada X à entrada S0 (note que a operação Load é seleccionada quando S1=1 e S0=1). O circuito resultante é:

CLK

CLRS1S0LIN

RIN

DCBA

QDQCQBQA

74x194

Gnd (0V)

Vcc (5V)

clock

X

- FIM -

Page 29: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 2ª chamada – 25/Jan/2001 (ProvaB) Página 1 NOME:_________________________________________________________________________TURMA _______________

LEEC - SD 2000/2001 ASG/JCA/ASL/JSC

Departamento de Engenharia Electrotécnica e de Computadores

Sistemas Digitais (2000/2001) Correcção 2ª chamada – 25/Janeiro/2001 Duração: 2horas , sem consulta. Antes de iniciar a prova, tenha em atenção as seguintes recomendações: • 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 necessário, utilize o verso para continuar a sua resolução. • Assine todas as folhas que entregar, indicando em cada uma o número de páginas/folhas que entregou. 1 - Considere X=110100112 e Y=E716 que representam números inteiros com sinal em complemento para dois com 8 bits. a) Diga, justificando, se pode ocorrer overflow na adição de X com Y.

Na adição de dois números representados em complemento para dois, só pode ocorrer overflow se os dois números tiverem o mesmo sinal. Como o número X=11010011 é negativo e o número Y=E716=111001112 também é negativo, então pode ocorrer overflow na soma desses números.

b) Efectue a adição de X com Y em binário, e indique se ocorre ou não overflow.

11010011 +11100111 110111010

O resultado da adição de X com Y é o número 10111010. Como ambos os operandos são negativos e o resultado também é negativo, pode-se concluir que não ocorreu overflow e o resultado (correcto!) da adição de X com Y é 10111010.

c) Qual é o maior número negativo representado em complemento para 2 com 8 bits que adicionado ao número X provoca

overflow? Justifique.

Como o número X é negativo, só pode ocorrer overflow quando X é adicionado com outro número negativo, dando um resultado que é menor (mais negativo) do que o mais negativo que pode ser representado. Como o número mais negativo que pode ser representado em complemento para dois com 8 bits é -2(8-1)=-128=100000002, então o maior número negativo M que adicionado com X ainda não provoca overflow será dado por X+M =(-128) ou M = -128-X:

10000000 (-128) -11010011 ( -45) 1 10101101 ( -83)

Logo, o número pedido será obtido subtraindo uma unidade a M:

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

Page 30: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 2ª chamada – 25/Jan/2001 (ProvaB) Página 2 NOME:_________________________________________________________________________TURMA _______________

LEEC - SD 2000/2001 ASG/JCA/ASL/JSC

2 Considere a função booleana F(A,B,C,D) representada no seguinte mapa de Karnaugh, onde os termos indiferentes (don’t care) estão representados por d.

CDAB A

B

C

D

1 1 0 0

1

1

11

d

0 0 0

d d

1d

CDAB A

B

C

D

1 1 0 0

1

1

11

d

0 0 0

d d

1d

a) Escreva as expressões simplificadas na forma de soma-de-produtos e produto-de-somas para a função F(A,B,C,D) (utilize um mapa de Karnaugh para obter cada expressão).

CDAB A

B

C

D

1 1 0 0

1

1

11

d

0 0 0

d d

1d

A'.D'

C

A'.B

CDAB A

B

C

D

1 1 0 0

1

1

11

d

0 0 0

d d

1d

A'+C

D'+B

Expressão mínima soma-de-produtos: F(A,B,C,D) = A’.D’ + A’.B + C Expressão mínima produto-de-somas: F(A,B,C,D) = (A’+C).(D’+B)

b) Desenhe um circuito lógico que realize a função F(A,B,C,D) utilizando um número mínimo de portas lógicas do tipo

NAND de duas entradas, ou de portas lógicas do tipo NOR de duas entradas. Pelas expressões mínimas obtidas na alínea anterior, pode-se concluir que o circuito mais simples com portas NAND ou NOR resultará da expressão mínima produto-de-somas. O circuito OR-AND correspondente a essa expressão é:

A'

C

B

D'

F(A,B,C,D)

Transformando-o de forma a conter apenas portas lógicas do tipo NOR com duas entradas:

A

C

DB

F(A,B,C,D)

Page 31: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 2ª chamada – 25/Jan/2001 (ProvaB) Página 3 NOME:_________________________________________________________________________TURMA _______________

LEEC - SD 2000/2001 ASG/JCA/ASL/JSC

3 – Pretende-se projectar o sistema de controlo de um monta-cargas que se desloca entre dois andares (ver figura). Para controlar o monta-cargas dispõe-se das seguintes entradas para o sistema de controlo:

- um botão no interior do monta-cargas (MOVER) que é activado para deslocar o monta-cargas para o outro andar.

- dois botões exteriores de chamada, um em cada andar

(CHAMA_DESCER e CHAMA_SUBIR), que são activados quando se pretende deslocar o monta-cargas para o andar respectivo.

- dois sensores (NO_ANDAR1 e NO_ANDAR2) que são

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

e das saídas do sistema de controlo:

- 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 botões quando o monta-cargas está parado num dos andares. Complete o diagrama de transição de estados do sistema descrito, utilizando apenas os estados já representados e os nomes simbólicos referidos no texto para as entradas e saídas.

NOTA: O diagrama de estados incompleto apresentado no enunciado original tinha um erro: as duas transições de estado apresentadas tinham associada a condição CHAMA_SUBIR=0 e CHAMA_SUBIR=1, quando deveria ser CHAMA_DESCER=0 e CHAMA_DESCER=1 como se mostra na figura abaixo.

PARADO1 PARADO2

DESCER SUBIR

MOVER=1 ouCHAMA_DESCER=1

MOVER=0 eCHAMA_DESCER=0

MOVER=1 ouCHAMA_SUBIR=1

MOVER=0 ouCHAMA_SUBIR=0

NO_ANDAR2=0

NO_ANDAR2=1NO_ANDAR1=1

NO_ANDAR1=0

MOTOR_SUBIR=1MOTOR_DESCER=0

MOTOR_SUBIR=0MOTOR_DESCER=1

MOTOR_SUBIR=0MOTOR_DESCER=0

MOTOR_SUBIR=0MOTOR_DESCER=0

NO_ANDAR2

NO_ANDAR1

CHAMA_SUBIR

CHAMA_DESCER MOVER

MOTOR_SUBIRMOTOR_DESCER

Page 32: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 2ª chamada – 25/Jan/2001 (ProvaB) Página 4 NOME:_________________________________________________________________________TURMA _______________

LEEC - SD 2000/2001 ASG/JCA/ASL/JSC

4 – O diagrama de transição de estados da figura representa uma máquina de Moore com uma entrada X e uma saída S.

init

A

B

X=0C

X=1

X=1

X=0

S=0

S=0 S=0

S=1X=1

X=0X=0

X=1

a) Construa a tabela de transição de estados, atribuindo uma codificação apropriada aos estados.

Utilizando primeiro os nomes simbólicos atribuídos aos estados, a tabela de transição pedida é:

próximo estadoestado actual X=0 X=1 saída S init init A 0 A B A 0 B init C 0 C B A 1

Codificando agora os estados como: init=00, A=01, B=10 e C=11, serão necessários 2 flip-flops do tipo D e a tabela de transição de estados fica:

próximo estado

estado actual Q1* Q0* Q1 Q0 X=0 X=1 saída S 0 0 0 0 0 1 0 0 1 1 0 0 1 0 1 0 0 0 1 1 0 1 1 1 0 0 1 1

Page 33: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 2ª chamada – 25/Jan/2001 (ProvaB) Página 5 NOME:_________________________________________________________________________TURMA _______________

LEEC - SD 2000/2001 ASG/JCA/ASL/JSC

b) Desenhe o esquema do circuito lógico que implementa a máquina de estados, utilizando flip-flops do tipo D.

Partindo da tabela de transição de estados construída na alínea anterior, vamos obter as equações de excitação dos dois flip-flops, como expressões do tipo soma-de-produtos:

XQ1Q0 Q1

X

0

1

2

3

6

7

4

5

1

1

1

Q0.X'

Q0

Q1.Q0'.X

XQ1Q0 Q1

X

0

1

2

3

6

7

4

51

Q0

X1 1 1

Q1*(Q1,Q0,X)

Q0*(Q1,Q0,X)

Q0*(Q1,Q0,X) = X

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

Q0Q1

Q0

0

1

2

3

Q1

Q1.Q0

1

S(Q1,Q0)

S(Q1,Q0) = Q1.Q0

um circuito lógico que realiza esta máquina de estados é:

D Q

D QQ1* Q1

Q0* Q0

X

S

clock

Page 34: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 2ª chamada – 25/Jan/2001 (ProvaB) Página 6 NOME:_________________________________________________________________________TURMA _______________

LEEC - SD 2000/2001 ASG/JCA/ASL/JSC

5 – a) Construa um circuito síncrono baseado num contador binário (74x163) e em circuitos lógicos adicionais capaz de gerar,

nas saídas QD,QC,QB,QA do contador, a seguinte sequência 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, ...

/CLR /LD ENT ENP QD QC QB QA QD* QC* QB* QA*

0 x x x x x x x 0 0 0 0

1 0 x x x x x x D C B A

1 1 0 x x x x x QD QC QB QA

1 1 x 0 x x x x QD QC QB QA

1 1 1 1 N (se N<15) N + 1

1 1 1 1 1 1 1 1 0 0 0 0

74x163 estadopresente

próximoestado

CLK

CLR

ENP

ABCD

QDQCQBQA

74x163

LD

ENT

RCO

Analisando a sequência pretendida, representada em binário:

0 0 0 0 01 0 0 0 12 0 0 1 03 0 0 1 14 0 1 0 05 0 1 0 16 0 1 1 07 0 1 1 110 1 0 1 011 1 0 1 112 1 1 0 00 0 0 0 01 0 0 0 12 0 0 1 0 . . .

carrega 1010 quando saída é 0111

carrega 0000 (reset) quando saída é 1100

podemos concluir o seguinte:

1 – quando as saídas apresentam o estado 0111 deve ser activada a entrada LD, mantendo as entradas DCBA ligadas permanentemente a 1010.

2 – quando as saídas apresentam o estado 1100 deve ser activada a entrada CLR para iniciar as

saídas com 0000

O circuito pretendido é o seguinte:

CLK

CLR

ENP

ABCD

QDQCQBQA

74x163

LD

ENT

RCO

Gnd(0V)

Vcc (5V)

load

reset

Page 35: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 2ª chamada – 25/Jan/2001 (ProvaB) Página 7 NOME:_________________________________________________________________________TURMA _______________

LEEC - SD 2000/2001 ASG/JCA/ASL/JSC

b) Modifique o circuito que construiu, acrescentando-lhe uma entrada X por forma a que quando X=0 é mantida a sequência

de contagem anterior, e quando X=1 passa a ser gerada a sequência:

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

Para obter a nova sequência de contagem, basta desactivar o sinal de carregamento do contador quando X=1, e manter a mesma função do circuito anterior quando X=0. Uma solução 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 função 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 é:

CLK

CLR

ENP

ABCD

QDQCQBQA

74x163

LD

ENT

RCO

Gnd(0V)

Vcc (5V)

load

reset

X

Page 36: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 2ª chamada – 25/Jan/2001 (ProvaB) Página 8 NOME:_________________________________________________________________________TURMA _______________

LEEC - SD 2000/2001 ASG/JCA/ASL/JSC

6 – Pretende-se construir uma máquina de estados com uma saída Z que é ‘1’ quando os 4 últimos bits consecutivos colocados na sua entrada X são 1011 (ver exemplo). Após o início do funcionamento da máquina de estados a saída Z só é considerada válida após o 4º ciclo de relógio.

Entrada X: 00011011011001011000 Saída Z: xxxx0001001000001000

a) Desenhe um circuito baseado num shift-register 74x194 e em circuitos lógicos adicionais capaz de realizar a

funcionalidade pretendida para a máquina de estados.

função S1 S0 QA* QB* QC* QD*

holdshift rightshift leftload

0 00 11 01 1

QA QB QC QDRIN QA QB QCQB QC QD LINA B C D

Universal Shift-register 74x194

O circuito pretendido pode ser construído ligando o shift-register em configuração shift-left (S1=1, S0=0) e um comparador com a constante 1011 nas saídas do shift-register (uma porta AND com uma entrada negada), ligando a entrada X à entrada LIN do shift-register. Em cada transição de relógio os valores lógicos presentes na entrada X são deslocados para as saídas QD~QA, e a saída Z é activada com 1 sempre que nas saídas aparecer 1011:

X

clock

Gnd(0V)

Vcc (5V)

CLK

CLRS1S0LIN

RIN

DCBA

QDQCQBQA

74x194

Z

Page 37: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 2ª chamada – 25/Jan/2001 (ProvaB) Página 9 NOME:_________________________________________________________________________TURMA _______________

LEEC - SD 2000/2001 ASG/JCA/ASL/JSC

b) Admita agora que a máquina de estados só deve detectar sequências não sobrepostas (ver exemplo). Modifique o circuito

anterior por forma a satisfazer este novo requisito (sugestão: é possível realizar este circuito sem introdução de novos circuitos lógicos ao circuito pedido na alínea anterior).

Entrada X: 00011011011001011000 Saída Z: xxxx0001000000001000

Para que apenas sejam detectadas sequências1011 não sobrepostas, deve ser “apagada” a história dos bits anteriores sempre que for detectada uma sequência válida (1011). Uma forma de conseguir este comportamento consiste em limpar (carregar zero) nas saídas do shift-register, o que pode ser conseguido activando a entrada CLR sempre que Z=1. No entanto, como CLR é activo no nível lógico baixo, isso obriga a utilizar um inversor para negar Z. Para não gastar mais circuitos lógicos do que os usados na solução anterior, podemos realizar um load com 0000 (em vez de actuar a entrada CLR), ligando a saída Z à entrada S0: quando Z=0 é feito o shift-left ( S1=1 e S0=0); quando é detectada a sequência 1011 a saída Z fica com 1 e é realizado o load(S1=1, S0=1) com 0000. O circuito resultante fica:

X

clock

Gnd(0V)

Vcc (5V)

CLK

CLRS1S0LIN

RIN

DCBA

QDQCQBQA

74x194

Z

- FIM -

Page 38: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada – 26/Junho/2001 (Prova A) Página 1 NOME:________CORRECÇÃO________________________________________________________TURMA ___________

LEEC - SD 2000/2001 ASG/JCA/AJA

Departamento de Engenharia Electrotécnica e de Computadores

Sistemas Digitais (2000/2001) 1ª chamada – 26/Junho/2001 Duração: 2horas , sem consulta. Antes de iniciar a prova, tenha em atenção as seguintes recomendações: • 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 necessário, utilize o verso para continuar a sua resolução. • Assine todas as folhas que entregar, indicando em cada uma o número de páginas/folhas que entregou. 1 - Pretende-se construir um sistema electrónico para prever o estado do tempo com base na medida da variação de pressão atmosférica verificada nas últimas 6 horas. O sistema é formado por um sensor de pressão atmosférica com saída digital Pa, um sistema de memória que armazena o historial da pressão e fornece, em cada instante, o valor da pressão atmosférica P6h existente há 6 horas, e um circuito subtractor para calcular a variação de pressão Vp.

a) Sabendo que a pressão atmosférica Pa medida pelo sensor de pressão (em mBar) é positiva e nunca ultrapassa o valor 110010, diga, justificando, qual é o número mínimo de bits necessários para representar essa grandeza.

Como o valor de pressão que se pretende representar apenas assume valores positivos, bastará utilizar a representação binária de números positivos. Como com N bits é possível representar números inteiros positivos entre 0 e 2N-1, deveremos determinar um número (inteiro) N que satisfaça a inequação:

1100 <= 2N-1 donde se tira: N >= log2(1100+1), N inteiro

N = 11 (ou 211-1=2047) Note que não necessita de calcular log2(1101)! Basta saber de cor a “tabuada” das potências inteiras de dois: log2(2048) = 11, ou 211=2048. b) Sabendo que a variação de pressão Vp (positiva ou negativa) nunca excede 40 mBar em valor absoluto, indique,

justificando, qual o número mínimo de bits necessário para representar, em complemento para dois, essa variação de pressão.

A variação de pressão Vp pode assumir valores no intervalo [-40, +40] e deverá ser representada em complemento para dois. Como com N bits podemos representar números com sinal em complemento para dois entre [-2N-1,+2N-1-1], o menor número de bits que permite representar o intervalo pretendido é 7: -27-1=-64 e +27-1-1=+63

c) Sabendo que o valor actual de pressão é 923 mBar e há 6 horas atrás era de 957 mBar, obtenha o valor da variação de

pressão (pressão actual Pa menos a pressão há 6 horas atrás P6h) efectuando a operação de subtracção em binário e tendo em conta as respostas dadas nas alíneas anteriores. Nota: 92310 = 11100110112 e 95710 = 11101111012.

Realizando a operação de subtracção em binário em 10 bits (note que basta realizar a operação de subtracção em 10 bits porque os dois valores são inferiores a 1024) obtemos:

1110011011 -1110111101 1111011110

Como o resultado deverá ser representado em 7 bits (ver b)), então o valor da variação de pressão pretendido são os 7 bits menos significativos do resultado da subtracção realizada acima: 1011110 (-34)

sensorde

pressão

sistemade

memória

subtractorVpPa

P6h

Page 39: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada – 26/Junho/2001 (Prova A) Página 2 NOME:________CORRECÇÃO________________________________________________________TURMA ___________

LEEC - SD 2000/2001 ASG/JCA/AJA

2 - Considere um circuito que realiza a operação de multiplicação por 3 de um número positivo de 4 bits representado por D3D2D1D0 compreendido entre 0 e 9, como se mostra na figura:

X3

D3D2D1D0

P3P2P1P0

P4

a) Construa a tabela de verdade que traduz a funcionalidade prevista para o circuito. Como se pretende que o circuito produza o resultado da multiplicação por 3 de números de 4 bits entre 0 e 9, então podemos considerar que as saídas P4~P0 são indiferentes (x na tabela) quando as entradas D3~D0 representam números superiores a 9:

P3 P2 P1 P0P4D3 D2 D1 D0

0 0 0 0 0 0 0 0 00 0 0 1 0 0 0 1 10 0 1 0 0 0 1 1 00 0 1 1 0 1 0 0 10 1 0 0 0 1 1 0 00 1 0 1 0 1 1 1 10 1 1 0 1 0 0 1 00 1 1 1 1 0 1 0 11 0 0 0 1 1 0 0 01 0 0 1 1 1 0 1 11 0 1 0 x x x x x1 0 1 1 x x x x x1 1 0 0 x x x x x1 1 0 1 x x x x x1 1 1 0 x x x x x1 1 1 1 x x x x x

b) Obtenha as expressão simplificadas na forma de soma-de-produtos para a função P4(D3,D2,D1,D0), e na forma de

produto-de-somas para a função P2(D3,D2,D1,D0).

D3D2

D1D0

D3

D2

00 01 11 10

00

01

11

10

D1

D0

D3D2

D1D0

D3

D2

00 01 11 10

00

01

11

10

D1

D01

1

1

1

x

x

x

x

x

x

D3

D2.D1

P4:

x

x

x

x

x

x

0

0

0

0

0

0

(D2+D1)

(D2+D0')

(D1'+D2'+D0)

P2:

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

Page 40: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada – 26/Junho/2001 (Prova A) Página 3 NOME:________CORRECÇÃO________________________________________________________TURMA ___________

LEEC - SD 2000/2001 ASG/JCA/AJA

3 – A firma Caricas&caricas Lda. pretende projectar o sistema de controlo para uma máquina de fabrico de cápsulas para garrafas de cerveja (caricas), cortando rodelas de uma tira de metal por acção de uma prensa cortante. A tira de metal desloca-se sob a prensa por acção de um par de rolos accionados por um motor, que é ligado colocando o sinal de controlo MOTOR com o nível lógico 1. Para localizar a tira metálica sob a prensa existem dois sensores fotoeléctricos (S1 e S2) colocados como se indica na figura, que são activados (valor lógico 1) sempre que é interrompido o feixe luminoso emitido pelos LEDs L1 e L2 (estes LEDs podem estar sempre ligados e não é necessário que sejam comandados pelo sistema de controlo). O sensor S1 detecta a presença da tira metálica imediatamente antes da prensa e S2 detecta o metal imediatamente após a prensa. A prensa é actuada por um sinal de controlo (PRENSA) sempre que se detecte que existe tira de metal ainda não cortada debaixo da prensa. Quando PRENSA é actuado (valor lógico 1), a prensa desce cortando uma rodela de metal, subindo automaticamente por acção de um sistema pneumático. Para verificar o estado da prensa, existe um sensor PRENSA_SUBIDA que apresenta o valor lógico 1 quando a prensa está na posição superior, pronta para realizar novo corte. O sistema de controlo deve posicionar a tira metálica sob a prensa, accionar a prensa para cortar uma rodela de metal, esperar que a prensa volte à posição 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 metálica chegue ao fim, altura em que o sistema de controlo deve parar. Admite-se que quando o sistema é ligado não existe chapa de metal sob a prensa (S1=0 e S2=0).

S1=1 S2=1S1=1S1=1 S2=1S2=0

Acabou de cortar Desloca para o próximo corte Corta nova rodela Complete o diagrama de estados apresentado na figura da próxima página que descreve o funcionamento do sistema de controlo.

PRENSAPRENSA_SUBIDA

PRENSA

MOTOR

S2S1

LEDs

sensoresfotoeléctricos buracos

na chapa

sentido de deslocamento da chapa

Page 41: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada – 26/Junho/2001 (Prova A) Página 4 NOME:________CORRECÇÃO________________________________________________________TURMA ___________

LEEC - SD 2000/2001 ASG/JCA/AJA

3 - (continuação)

INIT

PARA

S1=0ouS2=0

S1=1eS2=1

CORTA SUBIDAPRENSA_SUBIDA=0

MOTOR

PRENSA_SUBIDA=1S2=1

MOTOR2

S2=0

S2=0

S2=1

MOTOR=1

PRENSA=1

MOTOR=1

MOTOR=1

S1=0

S1=0

No inicio liga o motor atea chapa metalica estarcorrectamente colocada sob a prensa

Activando o sinal PRENSA, e' cortada umarodela da chapa

Espera que a prensa chegue 'a posiçao superior

Quando a prensa chega 'a posiçao superiorliga o motor espera ate' S2=0; se entretanto S1=0significa que a chapa acabou e para o sistema.

Quando S2=0 foi detectado o buraco na chapa;o motor deve permanecer ligado ate' queS2 seja novamente 1 (chapa posicionada)

Acabou a chapa, para o sistema

Depois de cortar passa incondicionalmente parao estado SUBIDA

Page 42: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada – 26/Junho/2001 (Prova A) Página 5 NOME:________CORRECÇÃO________________________________________________________TURMA ___________

LEEC - SD 2000/2001 ASG/JCA/AJA

4 – A tabela de transição de estados da figura descreve uma máquina de estados de Moore com uma entrada X e uma saída Z:

estado

presentepróximo estado saídaX=0 Z

ABCDE

00001

X=1 codificação deestadosA=001B=101C=111D=011E=100

ACACC

BBDEB

a) Supondo a codificação de estados representada na figura, desenhe o esquema do circuito lógico que implementa a máquina de estados, utilizando flip-flops do tipo D, e garantindo que para os estados não especificados o estado seguinte é o estado A e a saída Z é indiferente. (utilize o verso da folha)

Como temos 5 estados, necessitamos de 3 flip-flops para representar a variável de estado: Q2,Q1,Q0. Vamos construir a tabela de transição de estados utilizando a codificação dada, e assumindo, para os estados não especificados (códigos 000, 010 e 110), que o próximo estado é o estado A (001):

estadopresente

próximo estadosaída

X=0 ZQ2Q1Q0

0 0 11 0 11 1 10 1 11 0 00 0 00 1 01 1 0

00001000

X=1codificação de

estadosA=001B=101C=111D=011E=100

0 0 11 1 10 0 11 1 11 1 10 0 10 0 10 0 1

1 0 11 0 10 1 11 0 01 0 10 0 10 0 10 0 1

Q2* Q1* Q0*

estados não definidos: próximo estado = estado A (001)

ABCDE

Partindo da tabela acima, vamos agora construir os mapas de Karnaugh para obter expressões minimizadas para as funções Q2*, Q1*, Q0* e Z, e desenhar o circuito lógico completo para o circuito:

Page 43: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada – 26/Junho/2001 (Prova A) Página 6 NOME:________CORRECÇÃO________________________________________________________TURMA ___________

LEEC - SD 2000/2001 ASG/JCA/AJA

Q2Q1

Q0X

Q2

Q1

00 0 1 1 1 10

0 0

0 1

11

10

Q0

X1

1

1

1

Q2.Q1'

Q2'.Q1.Q0

Q2*:

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

1 1

1

0 0 0

0 0 0

0

00

Q2'.Q0.X

Q2Q1

Q0X

Q2

Q1

00 0 1 1 1 1 0

00

0 1

11

10

Q0

X0

1

1

0

Q2.Q1'.X'

Q2'.Q1.Q0.X'

Q1*:

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

0 0

1

0 0 0

0 0 0

1

00

Q2.Q1.Q0.X

Q2Q1

Q0X

Q2

Q1

0 0 0 1 11 10

0 0

0 1

1 1

1 0

Q0

X0

1

1

1

Q2+Q1'+Q0'+X'

Q0*:

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

1 1

1

1 1 1

1 1 1

1

11

Q2Q1

Q0

Q2

Q1

00 0 1 1 1 10

0

1

1

0

Q2.Q1'.Q0'

Z:

0 0 0

0 0 0 Q0

Z = Q2.Q1'.Q0'

Um circuito lógico que realiza a máquina de estados é o seguinte:

D Q

D Q

Q0Q1Q2 Q2' Q1' Q0'

Q2*

Q0

clock

D Q

X

Q1

Q2

Q0*

Q1*

Z

Page 44: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada – 26/Junho/2001 (Prova A) Página 7 NOME:________CORRECÇÃO________________________________________________________TURMA ___________

LEEC - SD 2000/2001 ASG/JCA/AJA

b) Indique as alterações a efectuar no circuito anterior se, para os estados não 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 função lógica que realiza a função Q2*, já que para os 3 estados não especificados (000, 010 e 110) esta função passaria a ser indiferente. O novo mapa de Karnaugh para a função Q2* seria então:

Q2Q1

Q0X

Q2

Q1

00 01 11 10

00

01

11

10

Q0

X1

1

1

1

Q2.Q1'

Q2'.Q1

Q2*:

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

1 1

1

X X X

X X X

0

00

Q2'.X

O circuito lógico seria modificado (simplificado) apenas na parte que produz a função Q2*, necessitando agora de 3 portas AND de duas entradas e uma porta OR de 3 entradas:

Q1

Q2

Q2'

Q1'

Q2*Q2'X

Page 45: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada – 26/Junho/2001 (Prova A) Página 8 NOME:________CORRECÇÃO________________________________________________________TURMA ___________

LEEC - SD 2000/2001 ASG/JCA/AJA

5 – a) Usando um shift-register 74x194 (ver tabela abaixo) e circuitos lógicos adicionais, construa um circuito síncrono com

uma entrada X e uma saída Z que coloca na saída o valor lógico 1 sempre que detectar na entrada X a sequência de valores 1011 em 4 transições de relógio consecutivas, como se mostra no exemplo seguinte:

Entrada X: 0 1 0 1 1 0 1 1 0 0 1 0 1 1

Saída 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 saídas QA~QD o estado ocorrido na entrada X em 4 transições consecutivas do sinal de relógio. Para detectar a sequência pedida, basta ligar às saídas QA~QD um circuito combinacional que produza uma saída 1 sempre que as saídas tenham o estado 1011 (uma porta AND com uma entrada negada):

função S1 S0 QA* QB* QC* QD*

holdshift rightshift leftload

0 00 11 01 1

QA QB QC QDRIN QA QB QCQB QC QD LINA B C D

CLK

CLRS1S0LIN

RIN

DCBA

QDQCQBQA

74x194Clock

X

Z

Vcc (5V)

Gnd(0V)

b) Modifique o circuito anterior por forma a que apenas sejam detectadas sequências não sobrepostas, como se exemplifica na

figura seguinte:

Entrada X: 0 1 0 1 1 0 1 1 0 0 1 0 1 1

Saída Z: 0 0 0 0 1 0 0 1 0 0 0 0 0 1

Para detectar apenas sequências não sobrepostas é necessário que, no próximo estado a seguir à detecção de uma sequência válida: 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 sequência já detectada

Page 46: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada – 26/Junho/2001 (Prova A) Página 9 NOME:________CORRECÇÃO________________________________________________________TURMA ___________

LEEC - SD 2000/2001 ASG/JCA/AJA

Como a função Load é activada com S1=1 e S0=0, basta ligar a saída Z à entrada S0 (quando detectar a sequência, Z=1 e faz Load, quando não detecta sequência, 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 lógico presente na entrada X):

CLK

CLRS1S0LIN

RIN

DCBA

QDQCQBQA

74x194Clock

X

Z

Vcc (5V)

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 sequência (em binário) produzida nas saídas QD,QC,QB,QA.

UP/DWN /LD /ENT /ENP QD QC QB QA QD* QC* QB* QA*

x 0 x x x x x x D C B A

x 1 1 x x x x x QD QC QB QA

x 1 x 1 x x x x QD QC QB QA

1 1 0 0 N (se N<15) N + 1

0 1 0 0 N (se N>0) N - 1

1 1 0 0 1 1 1 1 0 0 0 0

0 1 0 0 0 0 0 0 1 1 1 1

74x169 estadopresente

próximoestado

CLK

UP/DWN

ENP

DCBA

QDQCQBQA

74x169

LD

ENT

RCO

Gnd(0V)

Vcc (5V)

faz Load quando QD~QA=1000 (8), carrega 0011 (3)

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

Page 47: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada – 26/Junho/2001 (Prova A) Página 10 NOME:________CORRECÇÃO________________________________________________________TURMA ___________

LEEC - SD 2000/2001 ASG/JCA/AJA

Analisando o circuito podemos concluir que:

i) o sentido de contagem é definido pelo estado da saída 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 sequência de valores ocorridos nas saídas do contador será:

QDQCQBQA UP/DWN LD D C B A0 0 0 0 1 1 1 0 1 10 0 0 1 1 1 1 0 1 10 0 1 0 1 1 1 0 1 10 0 1 1 1 1 1 0 1 10 1 0 0 1 1 1 0 1 10 1 0 1 1 0 1 0 1 11 0 1 1 0 1 0 0 1 11 0 1 0 0 1 0 0 1 11 0 0 1 0 1 0 0 1 11 0 0 0 0 0 0 0 1 10 0 1 1 1 1 1 0 1 1

012345

1110983

...

Load de 1011 (11)

Load de 0011 (3)

b) Modifique o circuito apresentado de forma a acrescentar-lhe uma entrada X, activa no nível lógico alto, que permita

reinicializar as saídas com o valor QD,QC,QB,QA=0011.

Para reinicializar as saídas 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 estão já ligadas aos valores lógicos pretendidos). Um circuito que realiza essa função é o seguinte:

CLK

UP/DWN

ENP

DCBA

QDQCQBQA

74x169

LD

ENT

RCO

Gnd(0V)

Vcc (5V)

X

quando X=0 D=QD';quando X=1 impoe D=0

- FIM -

Page 48: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 2ª chamada – 11/Julho/2001 (Prova A) Página 1 NOME:___________________CORRECÇÃO_____________________________TURMA _______________

LEEC - SD 2000/2001 ASG/JCA/AJA

Departamento de Engenharia Electrotécnica e de Computadores

Sistemas Digitais (2000/2001) 2ª chamada – 11/Julho/2001 Duração: 2horas , sem consulta. Antes de iniciar a prova, tenha em atenção as seguintes recomendações: • 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 necessário, utilize o verso para continuar a sua resolução. • Assine todas as folhas que entregar, indicando em cada uma o número de páginas/folhas que entregou. 1 -

a) Dado o número hexadecimal 1A016, diga qual é o seu valor se representar:

i) um número inteiro em complemento para dois com 9 bits.

O número dado tem a seguinte representação binária em 12 bits (3 dígitos hexadecimais):

1A016 = 0001101000002

Como é dito que 1A016 representa um número inteiro em complemento para dois com 9 bits (os 9 bits da direita), então podemos concluir que representa um número negativo porque o bit de sinal (MSB) é 1. Para obter o seu valor absoluto temos de calcular o seu simétrico, i.e. o complemento para dois desse número:

-(110100000) = 001011111 + 1 = 0011000002 = 26+25 = 64 + 32 = 9610.

Assim, o valor do número 1A016 representando um número inteiro em complemento para dois com 9 bits é –96.

ii) um número inteiro em complemento para dois com 10 bits

Se 1A016 representar agora um número inteiro em complemento para dois com 10 bits (os 10 bits da direita), então 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 adição, efectuada em complemento para dois com 9 bits, entre o número dado em a) e –2710.

Primeiro vamos representar –27 em complemento para dois com 9 bits. Para isso comecemos por calcular a representação de 27 em binário:

27 2131 2

61 230 2

11

LSB

MSB

Assim, 2710 = 110112 = 0000110112 . A representação de –27 em complemento para dois com 9 bits obtém-se calculando o complemento para dois de +27:

Page 49: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 2ª chamada – 11/Julho/2001 (Prova A) Página 2 NOME:___________________CORRECÇÃO_____________________________TURMA _______________

LEEC - SD 2000/2001 ASG/JCA/AJA

-27 = -(000011011) =111100100 + 1 = 1111001012

Efectuando agora a adição binária entre o número dado em a) e –27:

110100000 +111100101 1110000101

Como não ocorre overflow (porque os bits de sinal dos operandos são iguais), podemos concluir que o resultado da adição 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 é necessário adicionar a valores representados em

complemento para dois com 6 bits, para que passem a representar números inteiros positivos (sem sinal) com 6 bits no intervalo [0,+63].

Com uma representação binária em complemento para dois com 6 bits podem-se representar números inteiros com sinal no intervalo [ -2(6-1), +2(6-1)-1 ] = [-32,+31]. Somando a constante inteira +32 a números representados neste intervalo passamos a ter valores que pertencem a [0,+63]. A representação binária de +32 em 6 bits é 100000 (note que, em complemento para dois com 6 bits o número 1000002 representa o valor -32).

2 – Considere um circuito combinacional com 4 entradas D3D2D1D0, e uma saída S que é 1 sempre que no conjunto das entradas o número de zeros seja maior ou igual ao número de uns.

D3D2D1D0

SDMZDQU

a) 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 função minimizada na forma produto-de-somas:

0 0 0 0 10 0 0 1 10 0 1 0 10 0 1 1 10 1 0 0 10 1 0 1 10 1 1 0 10 1 1 1 01 0 0 0 11 0 0 1 11 0 1 0 11 0 1 1 01 1 0 0 11 1 0 1 01 1 1 0 01 1 1 1 0

SD3 D2 D1 D0D3D2

D1D0

D3

D2

00 01 11 10

00

01

11

10

D1

D00

0

0

0

0

(D3'+D0'+D1')

S:

S = (D3'+D0'+D2').(D2'+D0'+D1').(D3'+D2'+D1').(D3'+D0'+D1')

(D3'+D2'+D1')

(D2'+D0'+D1')

(D3'+D0'+D2')

Tabela de verdade:

Page 50: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 2ª chamada – 11/Julho/2001 (Prova A) Página 3 NOME:___________________CORRECÇÃO_____________________________TURMA _______________

LEEC - SD 2000/2001 ASG/JCA/AJA

Circuito OR-AND (tradução directa da expressão minimizada produto-de-somas):

S

D3' D2' D1' D0'

E utilizando apenas portas NOR com 3 entradas:

S

D3 D2 D1 D0

Page 51: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 2ª chamada – 11/Julho/2001 (Prova A) Página 4 NOME:___________________CORRECÇÃO_____________________________TURMA _______________

LEEC - SD 2000/2001 ASG/JCA/AJA

b) Projecte o mesmo circuito utilizando um multiplexer 8÷1 (3 linhas de selecção).

Vamos ligar às linhas de selecção do multiplexer as variáveis D3~D1. Desta forma, as entradas D0~D7 do multiplexer serão ligadas a 0, 1, D0 ou D0’, de acordo com a tabela de verdade da função a implementar:

0 0 0 0 10 0 0 1 10 0 1 0 10 0 1 1 10 1 0 0 10 1 0 1 10 1 1 0 10 1 1 1 01 0 0 0 11 0 0 1 11 0 1 0 11 0 1 1 01 1 0 0 11 1 0 1 01 1 1 0 01 1 1 1 0

SD3 D2 D1 D0

1

1

1

D0'

1

D0'

D0'

0

Y

D0

D1

D2

D3

D4

D5

D6

D7

S2 S1 S0

D3D2D1

D0

S

Gnd

Vcc (5V)

Page 52: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 2ª chamada – 11/Julho/2001 (Prova A) Página 5 NOME:___________________CORRECÇÃO_____________________________TURMA _______________

LEEC - SD 2000/2001 ASG/JCA/AJA

3 – Considere uma máquina de estados com duas entradas X,Y e uma saída Z. A saída Z deve tomar o valor lógico 1 sempre que, em duas transições de relógio 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

Saída 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 máquina de estados. As condições de transições de estado apresentadas representam os valores das entradas X e Y, nesta ordem.

E1

E2

E0

E3

E4

XY=00

00Z=1 Z=1

00

11

00

11 10ou01

10ou01

10ou01

00

10ou01

11

11

11

Z=0 Z=0

Z=0

10ou01

Page 53: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 2ª chamada – 11/Julho/2001 (Prova A) Página 6 NOME:___________________CORRECÇÃO_____________________________TURMA _______________

LEEC - SD 2000/2001 ASG/JCA/AJA

4 – Pretende-se projectar um circuito sequencial síncrono que produza nas saídas Q3Q2Q1Q0 a seguinte sequência:

0, 1, 3, 6, 10, 15, 0, 1, ...

a) Construa a tabela de transição de estados, admitindo um critério de custo mínimo para os estados não especificados, e fazendo coincidir as saídas Q3Q2Q1Q0 com as variáveis de estado.

Vamos começar por construir a tabela de transição de estados do circuito pretendido. Note que esta máquina de estados não tem entradas e repete ciclicamente uma sequência de estados determinada. Como é pedido no enunciado, vamos fazer coincidir as saídas da máquina de estados com as variáveis 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 saídas pretendias Q3Q2Q1Q0 em função do estado presente codificado em 3 bits).

Q3 Q2 Q1 Q0 Q3* Q2* Q1* Q0*

0 0 0 0 0 0 0 10 0 0 1 0 0 1 10 0 1 0 d d d d0 0 1 1 0 1 1 00 1 0 0 d d d d0 1 0 1 d d d d0 1 1 0 1 0 1 00 1 1 1 d d d d1 0 0 0 d d d d1 0 0 1 d d d d1 0 1 0 1 1 1 11 0 1 1 d d d d1 1 0 0 d d d d1 1 0 1 d d d d1 1 1 0 d d d d1 1 1 1 0 0 0 0

01

3

6

10

15

13

6

10

15

0

Estado presente Próximo estado

Page 54: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 2ª chamada – 11/Julho/2001 (Prova A) Página 7 NOME:___________________CORRECÇÃO_____________________________TURMA _______________

LEEC - SD 2000/2001 ASG/JCA/AJA

b) Projecte o circuito utilizando flip-flops D e circuitos lógicos adicionais (se necessário utilize o verso da folha).

Vamos obter funções minimizadas para as funções que produzem o próximo estado: Q3*, Q2*, Q1* e Q0*

Q3Q2

Q1Q0

Q3

Q2

00 01 11 10

00

01

11

10

Q1

Q0d

0

Q0.Q3'

Q3*:

Q3* = Q1.Q0'

0

0

d

d

d

1

0

d

d

d

d

d

d

1

Q3Q2

Q1Q0

Q3

Q2

00 01 11 10

00

01

11

10

Q1

Q0d

0

Q2*:

0

1

d

d

d

0

0

d

d

d

d

d

d

1

Q3Q2

Q1Q0

Q3

Q2

00 01 11 10

00

01

11

10

Q1

Q0d

0

Q1*:

1

1

d

d

d

1

0

d

d

d

d

d

d

1

Q3Q2

Q1Q0

Q3

Q2

00 01 11 10

00

01

11

10

Q1

Q0d

1

Q0*:

1

0

d

d

d

0

0

d

d

d

d

d

d

1

Q1.Q0'

Q3.Q2'

Q1'

Q1.Q2'

Q1.Q0'

Q2* = Q1.Q2'

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

Page 55: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 2ª chamada – 11/Julho/2001 (Prova A) Página 8 NOME:___________________CORRECÇÃO_____________________________TURMA _______________

LEEC - SD 2000/2001 ASG/JCA/AJA

O circuito que realiza a máquina de estados pretendida é:

D Q

D Q

Q0Q1Q2 Q2' Q1' Q0'

Q3*

Q1

clock

D Q

Q2

Q3

Q0*

Q2*

Q3 Q3'

Q0D Q

Q1

Q2

Q3

Q0

Q1*

5 – Considere o seguinte circuito síncrono baseado num shift-register 74x194 (ver tabela):

CLK

CLRS1S0LIN

RIN

DCBA

QDQCQBQA

74x194Clock

Vcc (5V)

Gnd(0V)

função S1 S0 QA* QB* QC* QD*

holdshift rightshift leftload

0 00 11 01 1

QA QB QC QDRIN QA QB QCQB QC QD LINA B C D

a) Admitindo que o estado inicial é QAQBQCQD=0000, determine a sequência de valores nas saídas do circuito.

Page 56: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 2ª chamada – 11/Julho/2001 (Prova A) Página 9 NOME:___________________CORRECÇÃO_____________________________TURMA _______________

LEEC - SD 2000/2001 ASG/JCA/AJA

S0 LIN RINS1QA QB QC QD

0 0 0 0 0 1 1 11 0 0 0 1 0 1 10 0 0 1 0 1 0 11 0 0 0 1 0 1 1 ...

shift-rightshift-leftshift-right

shift-left

S1 = QAS0 = QA' + QDLIN = (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 forçar o carregamento do shift-register temos de colocar com 1 as entradas S1 e S0 quando a entrada CARREGA tiver o nível lógico 1, e manter o funcionamento do circuito anterior quando CARREGA=0. Além disso é necessário ligar as entradas A e B ao nível lógico 1 para que o valor carregado seja 1100:

CLK

CLRS1S0LIN

RIN

DCBA

QDQCQBQA

74x194Clock

Vcc (5V)

Gnd(0V)

CARREGA

6 – Pretende-se construir um circuito síncrono baseado em dois contadores 74x163, que apresente, nas duas saídas de 4 bits, respectivamente o dígito das unidades e o dígito das dezenas da sequência de valores 00, 01, 02... 58, 59, 00... . a) Utilizando um contador 74x163, construa o circuito síncrono que produz o dígito 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 saída que apresente o valor lógico 0 sempre que as saídas do contador estejam no estado 1001 (valor 9):

Page 57: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 2ª chamada – 11/Julho/2001 (Prova A) Página 10 NOME:___________________CORRECÇÃO_____________________________TURMA _______________

LEEC - SD 2000/2001 ASG/JCA/AJA

/CLR /LD ENT ENP QD QC QB QA QD* QC* QB* QA*

0 x x x x x x x 0 0 0 0

1 0 x x x x x x D C B A

1 1 0 x x x x x QD QC QB QA

1 1 x 0 x x x x QD QC QB QA

1 1 1 1 N (se N<15) N + 1

1 1 1 1 1 1 1 1 0 0 0 0

74x163 estadopresente

próximoestado

CLK

CLR

E NP

ABCD Q D

QCQBQ A

74x163

L D

ENT

RCO

clock

Vcc (5V)

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 construído ligando o contador anterior que produz o dígito das unidades a outro contador com uma configuração semelhante que conte de 0 a 5 (dígito 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 nível lógico 1 e CLR é activo com o nível lógico 0).

CLK

CLR

E N P

ABCD Q D

QCQBQ A

74x163

L D

ENT

RCO

clock

Vcc (5V)

Gnd(0V)

CLK

CLR

EN P

ABCD Q D

QCQBQ A

74x163

L D

EN T

RCO

Gnd(0V)

dígito das unidades(de 0 a 9) dígito das dezenas

(de 0 a 5)

- FIM -

Page 58: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada – 7/Jan/2002 (Prova A) Página 1 NOME:_________________CORRECÇÃO____________________________________________TURMA _______________

LEEC - SD 2001/2002 ASG/JCA/ASL/HSM

Departamento de Engenharia Electrotécnica e de Computadores

Sistemas Digitais (2001/2002) 1ª chamada – 7/Janeiro/2002 Duração: 2horas , sem consulta. Antes de iniciar a prova, tenha em atenção as seguintes recomendações: • 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 necessário, utilize o verso para continuar a sua resolução. • Assine todas as folhas que entregar, indicando em cada uma o número de páginas/folhas que entregou. 1 - Pretende-se codificar as coordenadas de latitude e longitude de determinados locais usando o sistema binário 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 número mínimo de bits necessários à codificação da latitude e longitude.

A latitude é representada por números inteiros no intervalo [-90,+90]. Como o sistema complemento para dois com N bits permite representar números com sinal no intervalo [-2(N-1), +2(N-1)-1], para incluir o intervalo referido é necessário usar, no mínimo, 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]) é necessário utilizar 9 bits (com 9 bits podem-se representar números 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 representação de +38 em base 2 e depois calcular o seu complemento (-38):

38 208 19 20 1 9 2

1 4 20 2 20 1

LSB

MSB

Como +3810=001001102 , então –38 pode obter-se calculando o complemento para 2 de +38 complementando os bits da representação binária de +38 (complemento para 1) e adicionando 1:

-38 = -(001001102) = 11011001+1=110110102

Page 59: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada – 7/Jan/2002 (Prova A) Página 2 NOME:_________________CORRECÇÃO____________________________________________TURMA _______________

A representação do valor +145 em complemento para dois com 10 bits coincide com a representação de 145 em base 2:10010001

145 205 72 21 12 36 2

0 16 18 20 0 9 2

1 4 20 2 20 1

LSB

MSB

c) Admitindo a representação referida em b), calcule em binário a diferença de latitudes das ilhas de Spitzbergen (78º Norte =

4E16) e Falkland (52º Sul = CC16). Comente o resultado.

Efectuando em binário a operação de subtracção entre os números binários dados obtém-se:

01001110-1100110010000010

diminuendo positivo

diminuidor negativo

resultado negativo

Como os operandos têm sinais opostos (note que foi efectuada uma subtracção e não uma adição!) e o sinal do resultado é diferente do sinal do diminuendo (o operando de “cima”), então podemos concluir que ocorre overflow e que o resultado obtido não é representável em 8 bits. Outra forma de realizar esta operação consiste em obter primeiro o complemento do diminuidor (-52) e efectuar em seguida uma operação de adição:

-5210 = - (110011002) = 00110011+1 = 001101002

01001110+0011010010000010

positivo

resultado negativo

positivo

Como o sinal dos operandos é igual e o resultado tem sinal oposto, então pode-se concluir que ocorre overflow e que o resultado (130) não é representável em complemento para dois com 8 bits.

LEEC - SD 2001/2002 ASG/JCA/ASL/HSM

Page 60: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada – 7/Jan/2002 (Prova A) Página 3 NOME:_________________CORRECÇÃO____________________________________________TURMA _______________

2 - O circuito da figura é um multiplexador de 2 entradas. Na saída Y surge o valor lógico da entrada I0 caso a entrada de selecção S seja 0, ou surge o valor lógico da entrada I1 se S=1. Note que este funcionamento só ocorre se a entrada de enable estiver activa (EN = 1) caso contrário a saída será 0.

Y

ENI0I1S

a) Obtenha a expressão simplificada da saída Y na forma de produto de somas.

Vamos construir a tabela de verdade da função Y(En, S, I1, I0), o mapa de Karnaugh e construir a função mínima soma-de-produtos agrupando os zeros do mapa de Karnaugh:

b) Implemente a função obtida em a) usando apenas NORs de duas entradas e inversores.

Vamos começar por construir o circuito lógico OR-AND que resulta da expressão minimizada obtida em a):

En I1 I0S

Y

LEEC - SD 2001/2002 ASG/JCA/ASL/HSM

Page 61: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada – 7/Jan/2002 (Prova A) Página 4 NOME:_________________CORRECÇÃO____________________________________________TURMA _______________

Negando as saídas das portas OR e as entradas da porta AND obtemos um circuito só com portas NOR, mas que ainda usa uma porta NOR de três entradas. Note que é necessário acrescentar um inversor na entrada En para que se possa negar a entrada correspondente da porta AND:

En I1 I0S

Y

Finalmente vamos traduzir a porta NOR de 3 entradas em portas NOR de 2 entradas e inversores:

En I1 I0S

Y

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

i) um XOR de 2 entradas: A ⊕ B

0 0 00 1 11 0 11 1 0

A B

Z=B

Z=B'

EnY

I0I1 S

A

B

Vcc (1)

Y=A B

Y=A B

S=

ii) um AND de três entradas: A · B · C

Pretende-se um circuito cuja saída só é 1 quando as 3 entradas são 1 ao mesmo tempo (função AND). Um circuito que usa o multiplexer dado e que realiza essa função é:

EnY

I0I1 S

A

BY=A.B.C

C

Gnd (zero)

LEEC - SD 2001/2002 ASG/JCA/ASL/HSM

Page 62: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada – 7/Jan/2002 (Prova A) Página 5 NOME:_________________CORRECÇÃO____________________________________________TURMA _______________

3 – Pretende-se projectar o sistema de controlo de temperatura de um cilindro de aquecimento de água. O sistema tem uma saída LIGA que quando é activada (nível alto) liga a resistência eléctrica de aquecimento e uma saída ESCAPE que quando activada (nível lógico alto) abre uma válvula de escape de água, sempre que a temperatura da água ultrapassar um limite crítico. Para controlar a temperatura da água no interior do cilindro dispõe-se de 3 entradas TMAX, TMIN e TCRI, que são activadas (nível lógico alto) quando a temperatura da água no interior do cilindro se torna, respectivamente, maior do que o limite máximo Tmax, menor do que o limite mínimo Tmin ou maior do que a temperatura máxima admissível no interior do cilindro, Tcritica. O sistema dispõe ainda de duas entradas ligadas a um botão de arranque (START) para iniciar a operação e a um botão de paragem (STOP) para desligar. Estas entradas tomam o valor lógico alto quando os botões respectivos são pressionados.

relé

controladorLIGA

TMAX (T>Tmax)

TMIN (T<Tmin)

sensorde

temperatura

START

STOP

resistênciade

aquecimentoCilindro

clock

TCRI (T>Tcritica) Válvula de escape

ESCAPE

Para controlar a temperatura da água no interior do cilindro, a resistência eléctrica deve ser ligada sempre que T for menor do que o valor mínimo Tmin, e deve ser desligada quando for ultrapassado o valor máximo Tmax. Se, por motivo de avaria, a temperatura ultrapassar o limite crítico (activando a saída TCRI do sensor de temperatura), deve ser parado o sistema, aberta a válvula de escape e desligada a resistência. Desenhe o diagrama de transição de estados do sistema descrito, utilizando nomes simbólicos para os estados.

INIT

LIGA DESLIGA

CRITICA

START=0

START=1

STOP=1TCRI=0

STOP=1TCRI=0

STOP=1

ESCAPE=1LIGA=0

ESCAPE=0LIGA=1

ESCAPE=0LIGA=0

TMAX=0STOP=0TCRI=0

TMAX=1STOP=0TCRI=0

TMIN=0STOP=0TCRI=0

TMIN=1STOP=0TCRI=0

ESCAPE=0LIGA=0

TCRI=1 TCRI=1

Estado iniciaL: mantém enquanto não se pressiona START

Nota:Nas condições de transição de estado,as entradas não especificadas sãoconsideradas indiferentes

Após pressionar START, liga a resistênciae mantém ligada até que:(i) seja ultrapassada Tmax(ii) seja pressionado o botão STOP(iii) seja atingida Tcrítica

Quando se atinge Tmax, desliga a resistênciae mantém esse estado até que:(i) a temperatura desca abaixo de Tmin(ii) seja pressionado o botão STOP(iii) seja atingida Tcrítica (devido a avaria!)

Se for atingida Tcrítica, liga-se aválcula de escape, desliga-se a resistênciae reinicia-se o funcionamento pressionandonovamente STOP (note que o funcionamentodo sistema após ser atingida Tcrítica não estavaespecificado).

LEEC - SD 2001/2002 ASG/JCA/ASL/HSM

Page 63: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada – 7/Jan/2002 (Prova A) Página 6 NOME:_________________CORRECÇÃO____________________________________________TURMA _______________

4 – Considere a máquina sequencial cuja tabela de transições de estados se mostra. Os estados A, B e C são codificados respectivamente na forma Q1Q0 = 00, 01 e 10.

X S 0 1 Z A B C 0 B C A 0 C A B 1 S*

a) Identifique as entrada e saídas da máquina e diga, justificando, se se trata de uma máquina de Moore ou Mealy.

A máquina de estados cujo funcionamento é descrito pela tabela tem apenas uma entrada (X) e é uma máquina de Moore porque a única saída Z apenas depende do estado presente.

b) Obtenha o circuito respectivo utilizando flip-flops JK e um critério de custo mínimo (utilize o verso da folha)

Com base na equação característica do flip-flopJK, vamos construir a tabela de transição de estados com a codificação de estados dada. Para o código não utilizado (Q1Q0=11) vamos considerar indiferente o próximo estado, já que é dito para utilizar o critério de custo mínimo.

Q1 Q0 X Q1* Q0* J1 K1 J0 K0 Z0 0 0 0 1 0 x 1 x 00 0 1 1 0 1 x 0 x 00 1 0 1 0 1 x x 1 00 1 1 0 0 0 x x 1 01 0 0 0 0 x 1 0 x 11 0 1 0 1 x 1 1 x 11 1 0 x x x x x x x1 1 1 x x x x x x x

Tabela de excitação:

A

B

CEstado

não usado

Q -> Q* J K0 0 0 X0 1 1 X1 0 X 11 1 X 0

CLK

J

K

Q

Q

Flip-flop JK Equação característica

Q = J . Q' + K' . Q

Por inspecção da tabela de verdade, podemos concluir que as funções K1(Q1,Q0,X) e K0(Q1,Q0,X) podem ser iguais a 1, e que a saída Z pode ser igual a Q1. Para obter funções mínimizadas para as funções J1(Q1,Q0,X) e J0(Q1,Q0,X) vamos recorrer a mapas de Karnaugh:

LEEC - SD 2001/2002 ASG/JCA/ASL/HSM

Page 64: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada – 7/Jan/2002 (Prova A) Página 7 NOME:_________________CORRECÇÃO____________________________________________TURMA _______________

O circuito com flip-flops JK que implementa a máquina de estados pretendida é (as diferentes cores nas ligações servem apenas para ajudar à sua identificação):

CLK

J

K

Q

Q

CLK

J

K

Q

Q

Q1

Q0

X

Q0'

J1

J0

Q1'

Z

CLK

Vdd (1)

c) Supondo que a máquina arranca no estado não definido (em que Q1Q0 = 11), indique qual o estado seguinte se a entrada

X for igual a 0, tendo por base a solução encontrada.

O próximo estado com X=0 a partir do estado Q1Q0=11 (estado não definido) pode ser obtido a partir das equações de excitação 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 equação característica do flip-flop JK então 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

Page 65: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada – 7/Jan/2002 (Prova A) Página 8 NOME:_________________CORRECÇÃO____________________________________________TURMA _______________ 5 – Considere o circuito da figura construído com base em contadores 74x163, onde o bloco comparador detecta a igualdade

entre as saídas dos dois contadores. Supondo que o estado inicial dos dois contadores é QDQCQBQA=0000, diga justificando qual a sequência de valores obtida nas saídas S3S2S1S0.

/CLR /LD ENT ENP QD QC QB QA QD* QC* QB* QA*0 x x x x x x x 0 0 0 01 0 x x x x x x D C B A1 1 0 x x x x x QD QC QB QA1 1 x 0 x x x x QD QC QB QA1 1 1 1 N (se N<15) N + 11 1 1 1 1 1 1 1 0 0 0 0

74x163 estadopresente

próximoestado

CLK

CLR

ENP

ABCD

QDQCQBQA

74x163

LD

ENT

RCO

Gnd (0V)

Vcc (5V)

CLK

CLR

ENP

ABCD

QDQCQBQA

74x163

LD

ENT

RCO

S3S2S1S0

comparador

CLK

O circuito da figura é constituído por dois contadores binários que vamos identificar como o de cima e o de baixo. Pretende-se identificar a sequência de valores que ocorrem na saída do contador de cima, partindo de um estado inicial em que as saídas de ambos são zero. Analisemos em primeiro lugar o bloco comparador. Este circuito produz uma saída 1 quando o valor na saída dos dois contadores é igual (é um comparador de igualdade). Esta saída está ligada à entrada enbale (ENP) do contador de baixo, de forma que este apenas conta quando as saídas dos dois contadores são iguais. Além disso, a saída do comparador está também ligada através de um inversor à entrada CLR do contador de cima, o que faz com que quando a saída do comparador for 1, o próximo estado do contador de cima será QDQCQBQA=0000. Note que a entrada LD de ambos está permanentemente não activa (nível lógico 1) de forma que nunca ocorre um carregamento do contador (Load). A sequência de valores produzida na saída 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

Page 66: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada – 7/Jan/2002 (Prova A) Página 9 NOME:_________________CORRECÇÃO____________________________________________TURMA _______________

BAIXO CIMA CLR ENP BAIXO* CIMA*

estadopresente

próximoestado

0 0 0 1 1 01 0 1 0 1 11 1 0 1 2 02 0 1 0 2 12 1 1 0 2 22 2 0 1 3 03 0 1 0 3 13 1 1 0 3 23 2 1 0 3 33 3 0 1 4 04 0 1 0 4 1

... ...15 0 1 0 15 115 1 1 0 15 2... ...15 15 0 1 0 00 0 0 1 1 0

saídas iguais dos dois contadores:incrementa o contador BAIXOe carrega com zero o contador CIMA

Nota: os valores apresentados paraas saídas dos dois contadores estãorepresentados em base 10

6 – O circuito seguinte baseado no registo de deslocamento 74x194 é um detector de uma dada sequência binária na entrada X.

CLKCLRS1S0LIN

RIN

DCBA

QDQCQBQA

74x194

Vcc (5V)

clock

S

XZ

função S1 S0 Q A*Q B*Q C*Q D*

holdshiftrightshiftleftload

0 00 11 01 1

QA QB QC QDRIN QA QB QCQB QC QD LINA B C D

Universal Shift-register 74x194

a) 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 série LIN ligada a X.

b) Considerando S=0, QDQCQBQA=1111 e a sequência na entrada X indicada, complete a tabela seguinte com os valores

apresentados na saída Z e diga qual é a sequência detectada pelo circuito.

O circuito detecta na entrada X sequências sobrepostas de 3 zeros consecutivos, assinalando com Z=1:

X 1 0 0 1 0 0 0 0 1 1 0 1 1 1 0 0 0 1 Z 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0

c) Considerando agora S=1, QDQCQBQA=1111 e a sequência na entrada X indicada (que é a mesma da alínea anterior),

complete a tabela seguinte com os valores apresentados na saída Z e explique quais as alterações verificadas em relação ao circuito anterior.

Quando S=1, é provocado um Load (S1=1 e S0=1) sempre que é detectada uma sequência de 3 zeros em QDQCQB (Z=1). Como é carregado para QD o valor de X, e é carregado 1 para QCQBQA, então é “apagada” a sequência de zeros já recebidos não permitindo detectar sequências sobrepostas:

X 1 0 0 1 0 0 0 0 1 1 0 1 1 1 0 0 0 1 Z 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0

-FIM -

LEEC - SD 2001/2002 ASG/JCA/ASL/HSM

Page 67: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 2ª chamada – 24/Jan/2002 (Prova B) Pá NOME:_____________CORRECÇÃO_______________________________________TURMA _______________

Departamento de Engenharia Electrotécnica e de Computadores

Sistemas Digitais (2001/2002) 2ª chamada – 24/Janeiro/2002 Duração: 2horas , sem consulta. Antes de iniciar a prova, tenha em atenção as seguintes recomendações: • 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 necessário, utilize o verso para continuar a sua resolução. • Assine todas as folhas que entregar, indicando em cada uma o número de páginas/folhas que entregou. 1 - a) Considere o número binário 100000002. Diga qual é o seu valor se:

(i) representar um número inteiro sem sinal.

Se 100000002 representar um número binário sem sinal então o seu valor é 1x27+0x26+...+0x20=12810 (ii) representar um número inteiro com sinal em complemento para dois com 8 bits.

Se 100000002 representar um número com sinal em complemento para dois então o seu valor é

-1x27+0x26+...+0x20=-12810 (o bit mais significativo tem peso –27). Outra forma de obter o valor representado pelo número 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 simétrico de 10000000 que também é 10000000) e (iii) calculando o valor sem sinal representado por 100000002=12810

b) Considere os números A=000101112 e B=001011112

(i) Efectue a subtracção A-B em binário.

00010111 -00101111 11101000

(ii) Comente o resultado obtido admitindo que A, B e o resultado são números inteiros sem sinal.

Se A e B representarem números inteiros sem sinal, então há overflow (ou o resultado não pode ser representado) porque é gerado um bit de borrow para além do número de bits dos operandos A e B. Note que como B é maior do que A o resultado correcto será negativo, o que não pode ser representado como um número sem sinal.

(iii) Comente o resultado obtido admitindo que A, B e o resultado são números inteiros com sinal representados em

complemento para dois com 8 bits.

Se A e B representarem números inteiros com sinal em complemento para dois, podemos concluir que não ocorre overflow já que são subtraídos dois operandos de sinal igual (ou, o que é equivalente, são adicionados dois operandos com sinais opostos). Como tal, e apesar de ter ocorrido um borrow-out, o número 111010002 representa correctamente o resultado da diferença A-B.

LEEC - SD 2001/2002 ASG/JCA/ASL/HSM

Page 68: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 2ª chamada – 24/Jan/2002 (Prova B) Pá NOME:_____________CORRECÇÃO_______________________________________TURMA _______________ 2 – O circuito da figura resultou de uma tentativa para construir um circuito que realize a função NOR de 4 entradas F=(A+B+C+D)’

Z

A

B

C

D

a) Construa a tabela de verdade do circuito da figura e mostre que não realiza a função pretendida.

Para provar que o circuito dado não realiza a função pretendida basta mostrar que existe pelo menos uma combinação das entradas para a qual as duas funções produzem resultados diferentes. A tabela de verdade do circuito dado é:

A B C D Z 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 0 1 1 0 1 0 1 1 1 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0

Como a função F=(A+B+C+D)’ (NOR de 4 entradas) só é 1 quando todas as entradas são 0, pode-se concluir que o circuito dado não realiza esta função (por exemplo, para ABCD=1110, Z=1 e F=0).

b) Utilizando Mapas de Karnaugh obtenha uma expressão simplificada do tipo produto-de-somas para a função realizada

pelo circuito.

LEEC - SD 2001/2002 ASG/JCA/ASL/HSM

Page 69: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 2ª chamada – 24/Jan/2002 (Prova B) Pá NOME:_____________CORRECÇÃO_______________________________________TURMA _______________

c) Mostre como se realizaria o circuito pretendido (função NOR de 4 entradas) utilizando o menor número possível de

portas NOR de duas entradas (utilize o verso da folha)

ABCD

ABCD

AB

CD

AB

CD

NOR de 4 entradas: separar a negação da porta OU:

propriedade associativa da função OR trocar portas OR para NOR e acrescentar inversores

3 – Pretende-se projectar uma máquina de estados (controlador) para controlar a contabilização de moedas entradas e a selecção da bebida, numa máquina de distribuição 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 máquina de estados, o tipo de moeda através da entrada MOEDA (2 bits).. A máquina de estados apenas aceita moedas de 0.20€ e 0.10€ e não dá troco. O custo de qualquer uma das bebidas é 0.40€, sendo ignoradas as moedas que sejam introduzidas depois de atingida esta importância. Quando for atingido o valor de 0.40€, a selecção da bebida é feita pressionando um de dois botões que activam as entradas B_CHA e B_CAFE com o nível lógico 1. Para proceder à confecção da bebida o controlador deve activar (com o valor lógico 1) a saída FAZ_CHA ou FAZ_CAFE e esperar que a entrada PRONTO seja activada, indicando que foi concluída a confecção. Este sistema interactua com as restantes unidades desta máquina (detector de moedas e a máquina de confeccionar as bebidas) através das seguintes entradas e saídas (ver figura):

controlador

FAZ_CHA

FAZ_CAFE

PRONTO

detector de moedas

0.20€0.10€

MOEDA(2 bits)

B_CHA

B_CAFE

máquina de chá e café

Entradas: MOEDA (2 bits): identifica a moeda introduzida na máquina de acordo com a tabela seguinte:

MOEDA ( 2 bits ) Significado 0x Não detectou moeda 10 Detectou moeda de 0.10€ 11 Detectou moeda de 0.20€

B_CHA: botão que quando premido (valor lógico 1) escolhe a bebida chá, se já tiver sido atingido o valor de 0.40€. B_CAFE: botão que quando premido (valor lógico 1) escolhe a bebida café, se já tiver sido atingido o valor de 0.40€. PRONTO: indica que o processo de confecção (de chá ou café) foi terminado.

Saídas:

FAZ_CHA: quando activa (valor lógico 1) dá ordem para se iniciar a confecção do chá. FAZ_CAFE: quando activa (valor lógico 1) dá ordem para se iniciar a confecção do café.

LEEC - SD 2001/2002 ASG/JCA/ASL/HSM

Complete o diagrama de estados da figura (próxima página), indicando claramente as condições de transição de estado e os valores das saídas em cada estado.

Page 70: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 2ª chamada – 24/Jan/2002 (Prova B) Pá NOME:_____________CORRECÇÃO_______________________________________TURMA _______________

INIT

MOEDA=0x

M20 M10

MOEDA=10MOEDA=11

CAFECHA

PRONTO=0PRONTO=0

PRONTO=1MOEDA=10

PRONTO=1

M40 M30

MOEDA=11

MOEDA=0x

MOEDA=0x

MOEDA=10

MOEDA=0x

MOEDA=11

MOEDA=1x

B_CAFE=1

B_CHA=1B_CAFE=0

B_CHA=0

B_CHA=0B_CAFE=0

Já entraram 0.10€ (uma moeda de 0.10€)

Já entraram 0.30€(3 x 0.10€, 0.20€+0.10€ ou 0.10€+0.20€)

Já entraram 0.40€espera que seja pressionadoo botão de selecção da bebida

FAZ_CAFE=1FAZ_CHA=1

Já entraram 0.20€(uma moeda de 0.20€ ou duas de 0.10€)

As entradas não especificadas nas condições de transição de estado são consideradas indiferentesNos estados em que não se representa o valor das saídas FAZ_CHA e FAZ_CAFE é considerado 0

Nota:

LEEC - SD 2001/2002 ASG/JCA/ASL/HSM

Page 71: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 2ª chamada – 24/Jan/2002 (Prova B) Pá NOME:_____________CORRECÇÃO_______________________________________TURMA _______________

4 – Considere a máquina sequencial (modelo de Moore) com duas entradas E1 e E0 e uma saída Z, cujo diagrama de transição de estados se mostra. Os estados S1, S2 e S3 são codificados respectivamente na forma Q1Q0 = 11, 01 e 10.

S1

S2 S3

10

Z=1

11

10

11

1X

0X

0X

Z=1 Z=0

E1 E0 = 0X

a) Construa a tabela de transição de estados admitindo a utilização do critério de custo mínimo para os estados não especificados.

S Q1 Q0 0 0 0 1 1 0 1 1 ZS4 0 0 x x x x x x x x xS2 0 1 1 0 1 0 0 1 1 1 1S3 1 0 1 0 1 0 0 1 0 1 0S1 1 1 1 1 1 1 0 1 1 0 1

Q1* Q0*E1 E0 E1 E0 E1 E0 E1 E0

b) Obtenha um circuito que realize esta máquina de estados utilizando flip-flops D (utilize o verso da folha)

Ver resolução na página seguinte. c) Supondo que a máquina arranca no estado não definido (em que Q1Q0 = 00), diga, justificando, se é possível ocorrer

uma transição para S1, S2 ou S3 e, caso afirmativo, em que condições das entradas E1 e E0.

Por análise das funções 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, então o próximo estado será Q1*=1 e Q0*=0 (estado S3) Se Q1Q0=00 e E1=1, então o próximo estado será Q1*=0 e Q0*=1 (estado S2)

LEEC - SD 2001/2002 ASG/JCA/ASL/HSM

Page 72: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 2ª chamada – 24/Jan/2002 (Prova B) Pá NOME:_____________CORRECÇÃO_______________________________________TURMA _______________

Circuito lógico:

CLK

D Q

Q

CLK

D Q

Q

Q1

Q0

E0

Q0'

Q1*

Q0*

Q1'

Z

CLK

E1

LEEC - SD 2001/2002 ASG/JCA/ASL/HSM

Page 73: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 2ª chamada – 24/Jan/2002 (Prova B) Pá NOME:_____________CORRECÇÃO_______________________________________TURMA _______________

5 – Considere o circuito da figura construído com base em contadores 74x163. Supondo que o estado inicial dos dois

contadores é QDQCQBQA=0000, diga justificando qual a sequência de valores obtida nas saídas S3S2S1S0.

CLK

CLR

ENP

QDQCQBQA

74x163

LD

ENT

RCO

Vcc (5V)

CLK

CLR

ENP

DCBA

QDQCQBQA

74x163

LD

ENT

RCO

S3S2S1S0

clock

DCBA

Vcc (5V)

/CLR /LD ENT ENP QD QC QB QA QD* QC* QB* QA*0 x x x x x x x 0 0 0 01 0 x x x x x x D C B A1 1 0 x x x x x QD QC QB QA1 1 x 0 x x x x QD QC QB QA1 1 1 1 N (se N<15) N + 11 1 1 1 1 1 1 1 0 0 0 0

74x163 estadopresente

próximoestado

Como os dois contadores têm o mesmo sinal de relógio, vão “contar” ao mesmo tempo. O contador da esquerda tem a saída QC ligada (invertida) à entrada CLR: quando o estado presente for QDQCQBQA=x1xx, o próximo estado será 0000. O segundo contador tem a entrada LD activa quando as suas saídas forem QDQCQBQA=x11x: nessa situação, o próximo estado será igual ao estado presente do contador da esquerda. Analisando a sequência de valores que ocorrem nas saídas dos dois contadores, partindo do estado inicial 0000:

0 0 0 0 0 0 0 00 0 0 1 0 0 0 10 0 1 0 0 0 1 00 0 1 1 0 0 1 10 1 0 0 0 1 0 00 0 0 0 0 1 0 10 0 0 1 0 1 1 00 0 1 0 0 0 0 10 0 1 1 0 0 1 00 1 0 0 0 0 1 10 0 0 0 0 1 0 00 0 0 1 0 1 0 10 0 1 0 0 1 1 00 0 1 1 0 0 1 00 1 0 0 0 0 1 10 0 0 0 0 1 0 00 0 0 1 0 1 0 10 0 1 0 0 1 1 00 0 1 1 0 0 1 0

... ...

contadoresquerda

contadordireita

CLR=0

QD QC QB QA QD QC QB QA

CLR=0

CLR=0

LD=0, Load de 0001

LD=0, Load de 0010

LD=0, Load de 0010

A sequência de valores nas saídas 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

Page 74: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 2ª chamada – 24/Jan/2002 (Prova B) Pá NOME:_____________CORRECÇÃO_______________________________________TURMA _______________

6 – Pretende-se construir um circuito síncrono baseado no shift register 74x194 (ver tabela) que detecte, na sua entrada X, a sequência de 4 bits 0101. A saída Z deverá ser activada (nível lógico 1) quando for detectada a sequência 0101, e são consideradas sequências parcialmente sobrepostas (ver exemplo).

função S1 S0 QA* QB* QC* QD*

holdshift rightshift leftload

0 00 11 01 1

QA QB QC QDRIN QA QB QCQB QC QD LINA B C D

Universal Shift-register 74x194Exemplo: X: 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 0 Z: 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0

a) Projecte o circuito que realiza a funcionalidade pretendida, utilizando o 74x194 e circuitos lógicos 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 saída Z pretendida basta ligar na saída um comparador com 0101 (porta AND com duas entradas negadas ligadas a QA e QD, como mostra a figura):

CLKCLRS1S0LIN

RIN

DCBA

QDQCQBQA

74x194clock

X

Gnd (0V)

Vcc (5V)

Z

b) Modifique o circuito anterior por forma a que permita detectar duas sequências diferentes, dependendo do valor lógico de uma entrada adicional S: se S=0 a sequência a detectar é a anterior (0101); se S=1 a sequência a detectar deve ser 0011. Tal como no caso anterior, considere que as sequências podem ser parcialmente sobrepostas.

Para realizar o circuito pedido podemos construir dois comparadores para as sequências pretendidas e utilizar um multiplexer controlado pela entrada S para escolher a saída pretendida:

CLKCLRS1S0LIN

RIN

DCBA

QDQCQBQA

74x194clock

X

Gnd (0V)

Vcc (5V)

Z

S

1

0

multiplexer 2-1

- FIM -

LEEC - SD 2001/2002 ASG/JCA/ASL/HSM

Page 75: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada –26/Jun/2002 (100101110) Página 1 NOME:_______________CORRECÇÃO_____________________________________TURMA _______________

Departamento de Engenharia Electrotécnica e de Computadores

Sistemas Digitais (2001/2002) 1ª chamada – 26/Junho/2002 Duração: 2horas , sem consulta. Antes de iniciar a prova, tenha em atenção as seguintes recomendações: • 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 necessário, utilize o verso para continuar a sua resolução. • Assine todas as folhas que entregar, indicando em cada uma o número de páginas/folhas que entregou. 1 - O sistema electrónico de navegação de um barco à vela é composto, entre outros equipamentos, por uma bússola e um catavento electrónicos (ver figura). A bússola indica a direcção do norte (Db, entre -180 e +180 graus) e o catavento indica a direcção do vento (Dv, entre -180 e +180 graus), ambas em relação ao eixo longitudinal do barco.

N

S

EW

Dv

Db

9

9

catavento

bússola

sistemaelectrónico

denavegação

a) Mostre que são necessários 9 bits para representar em complemento para dois cada um dos valores referidos com uma resolução de 1 grau. Utilizando toda a gama permitida por esse número de bits, qual seria a resolução mínima (em graus) com que se poderiam representar essas grandezas?

Ambas as grandezas são representadas por números inteiros no intervalo [-180,+180]. Como o sistema complemento para dois com N bits permite representar números com sinal no intervalo [-2(N-1), +2(N-1)-1], para incluir o intervalo referido é necessário usar, no mínimo, 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 contém 360 graus (180-(-180)=360) . Assim, a resolução mínima 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 binário produzido pela bússola electrónica, considerando que a unidade mínima 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 mínima representada for 1º, então cada unidade do sistema de representação equivale a 1º e -90º é representado pelo número inteiro -90. Como em complemento para dois com 9 bits:

+90 = 0010110102

a representação de -90 pode ser obtida trocando os bits todos e adicionando 1:

LEEC - SD 2001/2002 ASG/JCA/HSM -90 = - ( 0010110102 ) = 1101001012 + 1 = 1101001102

Page 76: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada –26/Jun/2002 (100101110) Página 2 NOME:_______________CORRECÇÃO_____________________________________TURMA _______________

Se for usada toda a gama de representação permitida por números de 9 bits em complemento para dois, então o valor mais negativo da grandeza a representar (-180) corresponderá ao extremo mais negativo da gama representável por 9 bits (-256). Como -90 = -180 / 2, então 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 direcção real do vento (em relação ao norte) pode ser obtida calculando a diferença entre os valores da direcção do

barco (Db) e da direcção do vento em relação ao barco (Dv). Determine a direcção real do vento quando o barco navega para Sul (Db=-180º) e o catavento indica uma direcção do vento igual a Dv=+170º, efectuando a operação aritmética em binário com 9 bits. Comente o resultado obtido (utilize o verso da folha).

Pretende-se realizar a operação aritmética Db-Dv, com Db=-180 e Dv=+170. Como Db-Dv se pode escrever Db+(-Dv), vamos obter primeiro a representação de Db=-180 e de -Dv=-170 em complemento para dois com 9 bits, e depois realizar a operação de adição em vez da subtracção: Db = -180 = - ( 0101101002) = 1010010112 + 1 = 1010011002

-Dv = -170 = - ( 0101010102) = 1010101012 + 1 = 1010101102 Realizando agora a operação de adição em binário:

101001100 + 101010110 1010100010

Podemos concluir que o resultado com 9 bits (010100010) não é correcto porque ocorre overflow porque é excedida a gama de representação de números inteiros com sinal, usando 9 bits em complemento para dois.

2 - Considere o seguinte circuito lógico que realiza a função F(A,B,C,D):

A C DB

F(A,B,C,D)

a) Obtenha uma expressão booleana da função F(A,B,C,D) e construa a sua tabela de verdade.

Traduzindo o circuito dado podemos escrever directamente a expressão booleana:

F(A,B,C,D) = (A+B+C)' + C.D'.A + C'.A Aplicando as leis de DeMorgan podemos transformar esta expressão 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

Page 77: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada –26/Jun/2002 (100101110) Página 3 NOME:_______________CORRECÇÃO_____________________________________TURMA _______________

Com a função representada na forma soma-de-produtos, pode-se construir a tabela de verdade sabendo que a função 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 B C D F(A,B,C,D) 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 0 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 1 1 0 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0

b) Utilizando mapas de Karnaugh, obtenha a forma simplificada produto de somas (POS) da função F(A,B,C,D).

Para obter a função mínima produto-de-somas vamos representar a função F(A,B,C,D) no mapa de Karnaugh e agrupar os zeros:

c) Realize a função F(A,B,C,D) utilizando apenas portas lógicas do tipo NAND de duas entradas (utilize o verso da folha).

Para construir um circuito lógico apenas com portas lógicas do tipo NAND é conveniente partir de um circuito AND-OR e para isso devemos obter a expressão (mínima) do tipo soma-de-produtos:

LEEC - SD 2001/2002 ASG/JCA/HSM

Page 78: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada –26/Jun/2002 (100101110) Página 4 NOME:_______________CORRECÇÃO_____________________________________TURMA _______________

O circuito AND-OR que realiza a expressão obtida é:

A

F(A,B,C,D)

B C D

Transformando este circuito de forma a utilizar apenas portas NAND com duas entradas:

A

F(A,B,C,D)

B C D

LEEC - SD 2001/2002 ASG/JCA/HSM

Page 79: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada –26/Jun/2002 (100101110) Página 5 NOME:_______________CORRECÇÃO_____________________________________TURMA _______________

3 – Considere uma máquina para fazer gelados constituídos 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 máquina coloca um cone sob a unidade de doseamento, inicia o processo de saída dos diversos sabores de gelado, e finalmente coloca o gelado pronto na saída da máquina (ver figura).

NATA BAUNILHACAFÉ

d1d0doseador b2b1b0controlo

dodoseador

o cone é posicionadono estado POS_CONE

o gelado pronto é entregueno estado SAI_CONE

A unidade de controlo do doseador que se pretende projectar é uma máquina de estados cuja entrada é um código de 3 bits (b2b1b0) que especifica o tipo de gelado pretendido. O período do sinal de relógio que comanda esta máquina de estados (2 segundos) corresponde ao tempo necessário para depositar no cone uma das doses de gelado. De acordo com o código b2b1b0 recebido, a máquina 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 código tiver um único bit igual a 1, o gelado é composto por 3 bolas desse sabor. • se o código tiver 2 bits iguais a 1, é repetido o sabor mais barato. • se o código tiver 3 bits iguais a 1 o gelado terá os 3 sabores. • o código 000 é ilegal (nunca ocorre).

Por exemplo, se o código 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 saídas d1d0 da máquina de estados comandam o doseador para controlar a saída 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 próxima 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 saída da unidade de doseamento e no estado SAI_CONE o gelado pronto é colocado na saída da máquina. Complete a parte do diagrama entre estes dois estados (POS_CONE e SAI_CONE), que gera a sequência de sinais de controlo apropriada (d1d0) para fabricar o gelado seleccionado pelo código b2b1b0.

LEEC - SD 2001/2002 ASG/JCA/HSM

Page 80: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada –26/Jun/2002 (100101110) Página 6 NOME:_______________CORRECÇÃO_____________________________________TURMA _______________

Como a duração de cada estado corresponde à colocação de uma dose de gelado de cada sabor, o diagrama de estados terá um total de 9 estados ( para além de POS_CONE e SAI_CONE), um para uma dose de cada sabor. Os valores indicados junto de cada transição representam as condições de transição de estado para b2b1b0; as transições de estado que não apresentam condição associada são transições incondicionais.

POS_CONE d1d0=00

d1d0=10d1d0=01

b2b1b0=1XX b2b1b0=01X

CAFE1NATA1

SAI_CONE d1d0=00

NATA2

NATA3

CAFE2

CAFE3

BAU1

BAU2

BAU3

00X

X00

X01ouXX0

X11

XX1XX0

XX1

d1d0=11

d1d0=11

d1d0=11

d1d0=10

d1d0=10

d1d0=01

d1d0=01

X10

2ª bola de nata:se tem baunilha e não tem caféou se não tem baunilha

2ª bola de café:se tem baunilha e tem café

2ª bola de baunilha:se a 1ª foi de baunilha

3ª bola de nata:se não tem café nem baunilha

3ª bola de café:se tem café e não tem baunilha

3ª bola de baunilha:se tem baunilha

3ª bola de café:se não tem baunilharepete café

3ª bola de baunilha:se tem baunilha

2ª bola de café:se a 1ª também foi de café

1ª bola de baunilha:se não tem nata nem café(note que 000 nunca ocorre)

após o gelado pronto vaipara SAI_CONE

LEEC - SD 2001/2002 ASG/JCA/HSM

Page 81: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada –26/Jun/2002 (100101110) Página 7 NOME:_______________CORRECÇÃO_____________________________________TURMA _______________

4 – Considere a máquina sequencial cuja tabela de transições de estados se mostra. Os estados S0, S1 e S2 são codificados respectivamente na forma Q1Q0 = 00, 01 e 10.

X S 0 1

S0 S0,0 S1,1 S1 S2,0 S1,0 S2 S0,0 S1,1

S*,Z

a) Identifique as entrada e saídas da máquina e diga, justificando, se se trata de uma máquina de Moore ou Mealy.

A entrada é X e a saída é Z. A máquina de estados representada corresponde a uma máquina de Mealy porque a saída Z é função do estado actual S e da entrada X.

b) Obtenha o circuito respectivo utilizando flip-flops tipo D e um critério de custo mínimo (utilize o verso da folha).

Primeiro vamos representar a tabela de transição de estados com a codificação 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 (não pertence à máquina de estados) o próximo estado e a saída Z são indiferentes:

Q1Q0 X Q1* Q0* Z 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 1 0 0 0 1 1 0 1 0 1 0 0 0 0 0 1 0 1 0 1 1 1 1 0 x x x 1 1 1 x x x

Vamos agora, com recurso a mapas de Karnaugh, obter expressões mínimizadas para Z(Q1,Q0,X), Q1*(Q1,Q0,X) e Q0*(Q1,Q0,X):

Q1Q0

X

X

Q1

Q0

00 01 11 10

0

1

0 0 x 0

1 0 x 1

Q0'.X

Q1Q0

X

X

Q1

Q0

00 01 11 10

0

1

0 1 x 0

0 0 x 0

Z(Q1,Q0,X) Q1*(Q1,Q0,X)

Q0.X'

Q1Q0

X

X

Q1

Q0

00 01 11 10

0

1

0 0 x 0

1 1 x 1

Q0*(Q1,Q0,X)

X

LEEC - SD 2001/2002 ASG/JCA/HSM

Page 82: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada –26/Jun/2002 (100101110) Página 8 NOME:_______________CORRECÇÃO_____________________________________TURMA _______________

As equações minimizadas na forma soma-de-produtos são:

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

Note-se que, como nestas equações nunca aparece Q1, então o circuito pode ser simplificado removendo o flip-flop Q1 e todo o circuito lógico que produz Q1* (desenhado a cinzento na figura):

D Q

D QX

Q 1

Q 0

clock

Z

c) Supondo que a máquina arranca no estado não definido (em que Q1Q0 = 11), e tendo por base a solução 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 equações obtidas na alínea anterior obtemos:

Se X=0 então Q1* = 1.1 = 1 e Q0*=0, logo S* = 10 (estado S2)

Se X=1 então Q1* = 1.0 = 0 e Q0*=1, logo S* = 01 (estado S1) Outra forma de obter este resultado: como a máquina de estados não depende de Q1, então 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

Page 83: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada –26/Jun/2002 (100101110) Página 9 NOME:_______________CORRECÇÃO_____________________________________TURMA _______________

5 – Pretende-se projectar um circuito sequencial que conte ciclicamente de 59 até zero, em formato BCD (dois dígitos decimais

codificados em binário), afixando o resultado em dois mostradores de 7 segmentos (por exemplo, como se mostra na figura, quando o contador das dezenas tem as saídas QDQCQBQA=0011 e o contador das unidades tem as saídas QDQCQBQA=0110, o valor afixado nos mostradores é 36).

a) Projecte o circuito referido utilizando apenas 2 contadores UP/DOWN do tipo 74x169.

UPDWN LD ENT ENP QD QC QB QA RCO QD* QC* QB* QA*x 0 x x x x x x a) D C B Ax 1 1 x x x x x 1 QD QC QB QAx 1 x 1 x x x x a) QD QC QB QA1 1 0 0 N (se N<15) 1 N + 11 1 0 0 1 1 1 1 0 0 0 0 00 1 0 0 N (se N>0) 1 N - 10 1 0 0 0 0 0 0 0 1 1 1 1

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

74x169 estadopresente

próximoestado

clock

CLK

UP/DWN

ENP

DCBA

QDQCQBQA

74x169

LD

ENT

RCO

CLK

UP/DWN

ENP

DCBA

QDQCQBQA

74x169

LD

ENT

RCO

dezenas

unidades

Gnd (0V)

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

quando as unidades chegam a zeroé activado o RCOo contador das unidades faz load de 9

ambos os contadores contam para baixo(UP/DWN=0)

Vcc (5V)

LEEC - SD 2001/2002 ASG/JCA/HSM

Page 84: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada –26/Jun/2002 (100101110) Página 10 NOME:_______________CORRECÇÃO_____________________________________TURMA _______________

b) Modifique o circuito anterior por forma a acrescentar uma entrada (activa no nível lógico zero) que permita iniciar o contador no valor 59 (identifique apenas as alterações a efectuar no circuito anterior e se necessário utilize o verso da folha).

Para iniciar os contadores em 59 é necessário 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 iniciação em 59:

clock

CLK

UP/DWN

ENP

DCBA

QDQCQBQA

74x169

LD

ENT

RCO

CLK

UP/DWN

ENP

DCBA

QDQCQBQA

74x169

LD

ENT

RCO

dezenas

unidades

Gnd (0V)

X

Vcc (5V)

LEEC - SD 2001/2002 ASG/JCA/HSM

Page 85: Faculdade de Engenharia da Universidade do Portoaja/SD2004_05/docs/correccoes-exames_SD.pdf · S1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ... Mantendo o modelo de máquina

Sistemas Digitais, 1ª chamada –26/Jun/2002 (100101110) Página 11 NOME:_______________CORRECÇÃO_____________________________________TURMA _______________

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

CLKCLRS1S0LIN

RIN

DCBA

QDQCQBQA

74x194clock

Gnd (0V)

Vcc (5V)

função S1 S0 QA* QB* QC* QD*

holdshift rightshift leftload

0 00 11 01 1

QA QB QC QDRIN QA QB QCQB QC QD LINA B C D

Universal Shift-register 74x194

QDQCQBQA

a) Determine a sequência nas saídas 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 próximo estado (note que RIN e LIN estão permanentemente ligados a 1, e as entradas ABCD estão também sempre ligadas a 0011):

QA QB QC QD S1 S0 Modo 0 0 0 0 0 1 shift right (de QA para QD, RIN=1) 1 0 0 0 0 1 shift right (de QA para QD, RIN=1) 1 1 0 0 0 1 shift right (de QA para QD, RIN=1) 1 1 1 0 1 1 load de ABCD=0011 0 0 1 1 1 0 shift left (de QD para QA, LIN=1) 0 1 1 1 1 0 shift left (de QD para QA, LIN=1) 1 1 1 1 1 0 shift left (de QD para QA, LIN=1) 1 1 1 1 1 0 shift left (de QD para QA, LIN=1) . . . . . . . . .

Após ser atingido o estado QAQBQCQD=1111, o shift-register mantém-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 alterações na figura).

Pelos resultados obtidos na alínea 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 shift-register a saída (activa com o nível lógico zero) de um comparador com 1111, que pode ser feito com uma porta NAND de 4 entradas. A alteração está indicada a azul no desenho.

LEEC - SD 2001/2002 ASG/JCA/HSM- FIM -