Sei sulla pagina 1di 9

SISTEMAS DIGITAIS

RELATRIO N5/6

Identificao dos Alunos:

Nome: Miguel Vasques

Nmero: 82454

Nome: Gonalo Chambel

Nmero: 83900

Turno de Laboratrio: SD4517L14

Grupo: 122

Sala do Laboratrio: LSD3

Hora: 13:00

Nome do Docente: Francisco Miguel Prazeres da Silva Garcia

SISTEMAS DIGITAIS
2015-2016
MEEC

1.Introduo
Na execuo este trabalho pretende se a compreenso e aplicao da metodologia
usada na sntese e concretizao de sistemas controlados por mquinas de estados.
Para isso foram propostos aos alunos dois problemas:
No problema inicial temos a simulao da passagem de embarcaes que navegam por
canais interiores, e devem vencer os desnveis da gua atravs de um sistema de
eclusas. Na segunda semana de laboratrio apenas foram alterados alguns aspetos da
problemtica inicial.
Neste problema o sistema de inclusas teria de permitir a passagem de embarcaes
nas duas direes e a mquina de estados era controlada por um temporizador que
contava apenas ate T=5 instantes de tempo.
Foram tambm executados todos os passos do problema da primeira semana.
Nesta ltima semana de laboratrio foi tambm feito um teste pratico com todas as
indicaes descritas no enunciado do laboratrio.

2. Projeto do Circuito
Perguntas referentes seco 2:
Pergunta 1:

X01
X00

1XX
S0

S1
00

X01

S0 No h barco;

X00
S3

10

S1 Encher;
10

S2 Erro ao encher;
S3 Vazar;

0XX

X1X

X0X

S2

X0X

X1X

S4
01

X1X

S4 Erro ao vazar.

01

X1X

Figura 1: Diagrama de estados.

2|P g i n a

SISTEMAS DIGITAIS
2015-2016
MEEC

Pergunta 2:
Estados
S0
S1
S2
S3
S4

Q4 Q3 Q2 Q1 Q0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0

Para este problema decidimos utilizar a codificao onehot dado que no tnhamos qualquer restrio em termos
de economizao. Com esta codificao para alm de ser
mais fcil de interpretar tambm anula a possibilidade de
haver lockouts.

Tabela 1: Codificao dos estados.


Estado Atual (n)
Q4 Q3 Q2 Q1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

Q0 EA
0
0
0
1
0
X
0
X
0
X
0
X
0
X
0
X
0
X
0
X
0
X
0
X

Entradas
Estado Seguinte (n+1)
Sadas
Alarm Cnt_end Q4 Q3 Q2 Q1 Q0 T_start Led_alarm
X
X
0
0
0
0
0
0
0
X
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
X
0
0
0
0
0
1
0
1
X
0
0
0
0
0
0
1
0
X
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
X
0
0
0
0
0
0
0
1
X
0
0
0
0
0
0
1
0
X
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0

Tabela 2:
Tabela de
transio de
estados.

Pergunta 3:

Figura 2:
Logigrama da
mquina de
estados.

3|P g i n a

SISTEMAS DIGITAIS
2015-2016
MEEC

Pergunta 4:

Figura 3:
Logigrama do
sistema global.

Perguntas referentes seco 3:

Pergunta 1:
Estados:
0.
1.
2.
3.
4.
5.
6.
7.

C1 aberta / C2 fechada;
Estado intermdio;
Encher com barco;
Encher sem barco;
Vazar com barco;
C2 aberta / C1 fechada;
Estado intermdio;
Vazar sem barco.

Figura 4: Fluxograma da operao a implementar.

4|P g i n a

SISTEMAS DIGITAIS
2015-2016
MEEC

Pergunta 2:
Estado Q2
0
0
1
0
2
0
3
0
4
1
5
1
6
1
7
1

Q1
0
0
1
1
0
0
1
1

Q0
0
1
0
1
0
1
0
1

Para esta nova situao decidimos usar a codificao simples, em


vez da codificao one-hot devido ao nmero elevado de estados.
Para tal utilizmos 3 flip-flops que definiam 8 estados (todos eles
usados).
Quanto tabela de transio de estados, decidimos fazer o
endereamento explcito, dado nos pareceu mais simples e cada
estado j vai para dois estados seguintes possveis no mximo. Para
tal tivemos de criar uma ROM com 3 entradas ( A2, A1, A0 ) e 9
sadas ( D7, D6, D6, D5, D4, D3, D2, D1, D0 ).

Tabela 3: Codificao dos estados.

Estado
0
1
2
3
4
5
6
7

Q2
A2
0
0
0
0
1
1
1
1

Q1
A1
0
0
1
1
0
0
1
1

Q0
A0
0
1
0
1
0
1
0
1

Teste
D8 D7
0
0
0
1
1
0
1
0
1
0
0
0
0
1
1
0

Estado seguinte 0
D6
D5
D4
0
0
1
0
0
0
0
1
0
0
1
1
1
0
0
1
1
0
1
0
1
1
1
1

Estado seguinte 1
D3
D2
D1
0
1
0
0
1
1
1
0
1
1
0
0
0
0
0
1
1
1
1
0
0
0
1
0

Sadas
D0
0
0
1
1
1
0
0
1

Tabela 4: Tabela de transio de estados e sadas.

Pergunta 3:
Figura 5:
Logigrama da
mquina de
estados
microprogramada.

5|P g i n a

SISTEMAS DIGITAIS
2015-2016
MEEC

Tal como foi dito anteriormente, para a realizao deste projeto, foi utilizado o
endereamento explcito. Este mtodo consiste na utilizao de dois MUXs: uma para
de determinar a entrada a testar e outro que, com base na sada do primeiro MUX, vai
determinar o estado seguinte de dois possveis. Ao primeiro MUX ligmos as entradas
EA, EC, a sada do contador que indicava quando chegava ao 5 (CNTR_5) e o sinal de
Reset. Para testar estas 4 entradas, utilizmos os dois ltimos bits de sada da ROM e
com base na entrada a testas selecionada por esses bits, o MUX2 iria escolher o estado
seguinte 0 (ES0) se a entrada tivesse o valor lgico 0 e caso contrrio iria escolher o
estado seguinte 1 (ES1). O estado seguinte previamente selecionado iria voltar a entrar
no registo e voltaria a entrar na ROM quando o sinal Clock mudasse o seu valor lgico
de 0 para 1.

3. Funcionamento do Circuito.
Simulaes referentes seco 2: (T = 839005 + 9 = 5x16780 + 0 + 9 = 9)

Simulao 1

Nesta primeira simulao podemos verificar que o contador s conta quando o EA


ativado, at l permanece no estado inicial (00001). Tambm podemos verificar o
funcionamento do sinal Alarm. Quando o sinal Alarm ativado, o contador para a
contagem e o sistema vai para um estado de espera (00100). O contador s comea
a contar novamente e a mquina muda para o estado seguinte (00010) quando o Alarm
estiver a 0. Entretanto ativado um led que pisca a metade da frequncia que o Clock
como est mostrado no sinal Led_alarm.
6|P g i n a

SISTEMAS DIGITAIS
2015-2016
MEEC

Esta simulao mostra o mesmo


que a simulao 1, mas agora
encontramo-nos no estado S3
(01000) em vez do S1. Mais uma
vez se houver erro o sistema vai
para um estado de erro S4
(10000) e o contador para e
ativado o sinal Led_alarm.
Simulao 2

Simulao 3
Nesta simulao podemos verificar que o contador assim que chega a 9 passa para o
estado seguinte (01000 -> 00001), que assim que o barco sai da zona B, volta ao
estado inicial (00001). Tambm podemos verificar que se o EA no estiver ativo o
contador no conta ou seja fica sempre no estado S0 e se o EA estiver ativo e o Alarm
no estiver, o barco sai da eclusa sem passar pelos estado de erros como podemos ver
quando passa do estado S1 (00010) para o estado S3 (01000).

Simulaes referentes seco 3:


Nesta simulao pretende-se
simular a vinda de um barco em
A quando a comporta C1 est
aberta. Estando no estado 0 e
acionando o sinal EA, a
mquina de estados vai para o
estado 2. A partir desse estado,
o contador conta at 5 e vai
para outro estado de espera
onde C2 est aberta.
Simulao 4

7|P g i n a

SISTEMAS DIGITAIS
2015-2016
MEEC

Simulao 5
Novamente pretende-se simular a vinda de um barco de A, mas desta vez a comporta
C1 encontra-se fechada. Para realizar esta operao, primeiro a gua tem de vazar
sem o barco (estado 7). Quando acaba de vazar, aps 5 perodos de relgio, vai para
o estado 2 onde a gua vai encher com o barco que estava em A (novamente conta-se
5 perodos de relgio). Aps estas duas operaes o sistema vai novamente para o
mesmo estado de espera que a simulao anterior.
Agora iremos testar a vinda de um barco
de C com a comporta C2 aberta. A nica
operao necessria para esta simulao
e a gua vazar com o barco de C (estado
4), durante 5 perodos de relgio. De
seguida o sistema vai para um estado de
espera onde C1 est aberta.

Simulao 6

Simulao 7

Nesta ltima simulao vamos testar a situao que falta: um barco vir de C e a
comporta C1 estar aberta. Nesta situao, a gua tem de encher durante 5 perodos
de relgio (estado 3) e de seguida vazar com o barco que estava em C durante os
mesmo perodos de relgio (estado 4). Seguidamente, a mquina volta para o estado
de espera onde C1 est aberta.

8|P g i n a

SISTEMAS DIGITAIS
2015-2016
MEEC

Comentrios ao teste prtico e implementao:


Relativamente implementao do circuito da semana 2 na placa Basys, no foi
possvel porque estivemos a maior parte da aula de laboratrio a tentar resolver um
erro no ficheiro VHDL e apesar de termos resolvido esse erro no tivemos tempo para
fazer a implementao.
O teste prtico foi resolvido com sucesso, mas no foi possvel mostrar a simulao ao
docente dado que tinha um erro (dizia que estava a ir para um estado maior que os
predefinidos). Esse erro foi posteriormente resolvido (tnhamo-nos esquecido de
mudar os ndices de um dos sinais) e comunicado ao docente.

4.Concluses
Todas as perguntas foram realizadas de forma correta de modo a podermos realizar
as duas implementaes pedidas.
Resumindo, as concluses que podemos retirar depois de termos implementado as
duas mquinas, que conseguimos resolver os problemas que nos foram propostos
apesar de no termos realizado tudo o que nos foi pedido (implementao e simulao
do teste prtico).

9|P g i n a

Potrebbero piacerti anche