Começou o grande tutorial de VHDL elegante

@ 2011-05-28 by João Paulo Pizani Flor

Oi pessoal! Eu tenho usado bastante VHDL nos último 7 ou 8 meses, como parte do meu Trabalho de Conclusão de Curso (bacharelado em Computação). Então eu decidi compartilhar aqui através de um tutorial os fundamentos de modelagem e verificação de hardware usando VHDL, com dicas de boas práticas e metodologias.

BASYS2 starter board
BASYS2 starter board

O foco dessa série de tutoriais será cobrir cobrir técnicas básicas de modelagem e simulação de hardware, procurando usar o máximo possível de ferramentas livres. Portanto, você não precisa implementar os códigos em um FPGA, mas é muito mais divertido se puder :) Se você quiser ir além da simulação e ver LEDs piscando, eu recomendo o Kit BASYS2 da Digilent. Ele custa só US$49 para estudantes e tem componentes muito legais. Como o kit possui um FPGA da Xilinx (Spartan3), você pode usar o toolkit ISE Webpack, que funciona fácil no Linux e é grátis (com poucas limitações). Mais detalhes sobre como usar o ISE para colocar seu design num FPGA virão em posts futuros….

E como vai funcionar esse tutorial que começa hoje? Ele será uma série de posts, onde eu vou fazer tudo que puder pra apresentar conceitos de projeto de hardware e VHDL com complexidade crescente, e sempre através de exemplos. Também vamos exercitar boas práticas e metodologias pra VHDL desde o primeiro dia. Cada post vai acompanhar a implementação de um bloco em hardware, e durante a modelagem e a simulação desse bloco você vai aprender um novo conceito em VHDL.

Chega de teoria, vamos começar hoje instalando as ferramentas que vamos precisar pros tutoriais: GHDL and GTKWave. Essas ferramentas permitem, respectivamente, simular seu hardware e visualizar arquivos com as formas de onda resultantes da simulação.

GTKWave
GTKWave

A instalação de ambos os pacotes no Ubuntu Linux é muito simples. É só digitar o seguinte em um terminal:

sudo aptitude install ghdl gtkwave

Claro que o GHDL e o GTKWave também têm versões para outras distribuições de Linux, assim como para Windows e Mac OS X. Para obter as instruções de instalação nesses sistemas você poder visitar as páginas respectivas do GHDL e do GTKWave. Depois da instalação, você pode abrir esse arquivo aqui no GTKWave para testar que está tudo OK:

Doubly-Linked list waveform file

No próximo post da série nós vamos implementar nosso primeiro bloco de hardware: um somador simples. Vamos nos habituar com os passos no processo de modelar (escrever), simular e refatorar (deixar mais legível) blocos VHDL. Por enquanto é tudo pessoal, até o próximo! :)