Projeto RTL - Máquina de Refrigerante

November 24, 2018 | Author: Lucas Silva Chaves | Category: Digital Electronics, Technology, Computing, Computer Engineering, Areas Of Computer Science
Share Embed Donate


Short Description

É um projeto RTL para controle de uma parte da controladora de refrigerantes, feito com máquinas de estados....

Description

UNIVERSIDADE FEDERAL DE MINAS GERAIS ESCOLA DE ENGENHARIA SISTEMAS DIGITAIS

LUCAS SILVA CHAVES LUCAS GONÇALVES BISPO GABRIEL GOMES MEIRELES

EXERCÍCIO PRÁTICO 1 DOCUMENTAÇÃO

BELO HORIZONTE 2017/2

CORREÇÃO DO PROJETO DA MÁQUINA DE REFRIGERANTES Para solucionar o problema do Overflow, que ocorria no exemplo proposto pelo livro da disciplina, teve-se como estratégia, utilizar a saída Cout do full-adder de 8 bits, visto que a mesma indica o acontecimento do Overflow. Sendo assim, não foi necessário aumentar o número de bits da máquina. Portanto, o exemplo inicial, foi ajustado de forma a considerar o indicador de overflow no processador, para que, mesmo ocorrendo o overflow, a máquina liberaria o refrigerante. Para a execução do projeto, foram utilizados os métodos de execução de um Projeto RTL, visto que as chances de erros no projeto são reduzidas.

Obs: O processador não realiza as operações referentes ao troco, portanto essa etapa não foi considerada durante a execução do projeto.

Etapa 1: Construção da FSM de Alto Nível

Etapa 2: Projeto do Caminho de Dados:

Circuito resultante do Caminho de Dados No caminho de dados, temos as entradas A2,A1,A0 que representam a codificação que nos dá referência o valor da moeda inserida, sendo assim surge a necessidade de pré-processar essas entradas por um MUX de 3x8, para que o valor real da moeda inserida seja utilizado na soma.

Etapa 3: Ligação do Bloco de Controle com o Caminho de Dados

Etapa 4: Projeto da FSM do Bloco de Controle

Etapa 5: Construção da tabela verdade da FSM do bloco de Controle  A tabela resultante da FSM do bloco de controle, é:

S1

S0

C

tot_gte_s

O

N1

N0

TOT_LD

TOT_CLR

LIB

0

0

X

X

X

0

1

0

1

0

0

1

0

0

0

0

1

0

0

0

0

1

0

0

1

0

1

0

0

0

0

1

0

1

0

1

1

0

0

0

0

1

0

1

1

1

1

0

0

0

0

1

1

x

x

1

0

0

0

0

1

0

x

x

0

0

1

0

0

0

1

0

x

x

1

1

1

0

0

0

1

1

x

x

x

0

0

0

0

1

Obs:. X representa o valor “Don’t Care”, ou seja, a informação do valor em questão não é relevante nesse estado.

Circuito resultante do bloco de controle

SIMULAÇÃO Para realizar a simulação, foi utilizado o software Logisim. Para melhorar a visualização e a organização do circuito, foram utilizados os componentes “Tunnel” do Logisim, que fazem a conexão de dois pontos com o mesmo rótulo em locais diferentes no circuito. Durante os testes, o valor do refrigerante foi setado de forma fixa para 0xFA(250) centavos, para que seja possível simular o overflow ao tentar comprar o refrigerante. Primeiramente, foi desconectado o sinal indicador de Overflow, para simular o problema, e foi detectado que ao colocar um valor superior a 2,55 o overflow ocorria e zerava o valor total, impedindo a liberação do refrigerante. Para simular, foi necessário apenas inserir 3 moedas de R$1,00. Logo após, o sinal indicador de Overflow foi conectado novamente de forma a testar se a solução proposta resolvia o problema e foi constatado que o problema foi resolvido de forma eficiente sem muitos problemas. Sendo que foi realizado o mesmo teste das 3 moedas de R$1,00.  Além disso, a máquina foi testada em uma situação que não ocorre o overflow, para garantir que após os ajustes a máquina continua funcionando corretamente, para isso foi inserido 5 moedas de R$0,50 e a máquina funcionou como esperado. Para os testes, no Logisim, foi utilizado um clock de 32Hz,

visto

que

houveram

dificuldades para realizar os testes em um clock maior, pois não foi possível emitir o sinal de entrada da moeda “C” em apenas um período do clock, quando este estava em frequências maiores, por limitações da própria ferramenta.

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF