TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Trabalho Prático de Introdução a Sistema Lógicos Digitais

Por:   •  10/11/2016  •  Relatório de pesquisa  •  702 Palavras (3 Páginas)  •  267 Visualizações

Página 1 de 3

[pic 1]

Geovani Aguilar Paixão – 2637

Joaquim Aniceto dos Santos – 2639

Introdução

Com o objetivo fornecer aos alunos um primeiro contato com a linguagem Verilog, foi proposto pelo professor José Augusto Nacif, a elaboração do trabalho prático em que seria elaborado uma Unidade Lógica Aritmética (ULA). Envolvendo conceitos como os de lógica de programação, sistemas lógicos e circuitos integrados, através da utilização da Field Programmable Gate Array (FPGA).

Desenvolvimento

A primeira parte do trabalho consistiu no desenvolvimento de um código em Verilog que expressasse em um simulador através de ondas o funcionamento de uma Unidade Lógica Aritmética completa, com as funcionalidades lógicas e aritméticas. Possuindo duas entradas de 4 bits, um seletor de 4 bits, um bit de “vem um”; uma saída de 4 bits e um bit de “vai-um”; este trabalho, apresento uma série de desafios a serem superados com o desenvolvimento do trabalho.

Código Verilog HDL

Inicialmente para o estudo da linguagem Verilog, foi utilizado o material apresentado em sala de aula, bem como materiais complementares pesquisados na internet, e o auxílio dos monitores da disciplina. Devido à escassez de material dublado na internet, a pesquisa exigiu certa compreensão da língua inglesa para a utilização de materiais de melhor qualidade.

Após a fase de pesquisa e a execução de exemplos simples para o estudo da linguagem, deu-se início o desenvolvimento do trabalho em si. Esta etapa de desenvolvimento foi toda desenvolvida utilizando o editor de texto Notepad++. Com o desenvolvimento do projeto, ficou evidente que seria necessário a utilização dois arquivos para melhor organização do código. Para o melhor gerenciamento das diversas opções de operações a serem realizadas, optou-se pela utilização da ferramenta “case” da linguagem Verilog. Após a conclusão da etapa de desenvolvimento da lógica, bem como da programação do projeto, deu-se início aos testes do programa.

[pic 2]

Código do módulo “main_ULA” (Bloco principal do projeto)

[pic 3]

Código do módulo “ULA” (Bloco de operações do projeto)

Devido à grande quantidade de operações a serem realizadas, foram elaborados apenas dois casos de testes para verificar o funcionamento do código desenvolvido. O programa apresentou resultados corretos em praticamente todas as operações realizadas, no entanto nas operações que envolvia a negação de uma das variáveis em uma condicional “OR” nas operações aritméticas, o resultado não condizia com o esperado. Era gerado um bit de “vai um” que não estaria presente no resultado correto. Após pesquisa intensa e várias alterações no código para a resolução do erro, o mesmo persistia da mesma forma. Então fomos em busca do auxílio dos monitores, e mesmo eles não conseguiram solucionar o motivo do erro. Então, depois de todas as tentativas esgotadas, foi necessária a submissão do trabalho contendo este erro.

Código sintetizado utilizando FPGA

        Após a submissão da primeira parte do trabalho, deu-se início a etapa de pesquisa da segunda parte do trabalho. Como a programação em Verilog para a plataforma da FPGA exige uma sintaxe ligeiramente diferente, foi necessário a busca por materiais que auxiliasse a compreensão destas diferenças. Assim como no desenvolvimento da etapa anterior, foi utilizado em sua maioria, material em inglês.

Para o desenvolvimento o projeto foi utilizado o Quartus II 64-Bit. Para o desenvolvimento desta etapa do trabalho foi necessário modificar completamente o módulo principal do projeto, bem como a criação de um outro módulo para demonstrar o funcionamento do display de 7 segmentos. Após a desenvolvimento do código, foi feito a ligações das entradas e saídas aos pinos dos “switches” (para as entradas), e aos displays (para as saídas). Para a identificação dos pinos utilizados, foi utilizado o manual do usuário da placa EP4CE115F29C7 (placa utilizada na realização dos testes). Mesmo com o auxílio dos monitores, não obtivemos êxito nos testes realizados. O principal problema encontrado, foi nas ligações das saídas do programa, que impossibilitaram a conclusão efetiva desta etapa do trabalho.

...

Baixar como (para membros premium)  txt (4.7 Kb)   pdf (361.4 Kb)   docx (195.4 Kb)  
Continuar por mais 2 páginas »
Disponível apenas no TrabalhosGratuitos.com