Simulando sua primeira porta AND com ISE Design Suite

ISE

O FPGA é uma tecnologia muito interessante, com capacidade de fazer desde pequenas lógicas, até processadores inteiros (vide o artigo AHMES, do Fábio Pereira). No entanto, ainda é pouco difundida no Brasil. Começar com essa tecnologia pode parecer algo complicado, mas de fato não é. Ferramentas gratuitas e documentos sobre o assunto podem ser encontrados sem muitas dificuldades nos sites dos fabricantes. No entanto, aquele primeiro empurrãozinho para a pessoa fazer sua primeira brincadeira com lógica programável pode ajudar, e muito. Essa foi a motivação deste artigo. Você terá seu primeiro contato com o ambiente de desenvolvimento ISE Design Suite, de maneira a dar o pontapé inicial para você se desenvolver sozinho. O que vamos fazer aqui é simular uma porta AND, e nada mais.

Já tivemos dezenas de outros artigos aqui no Embarcados, como por exemplo:

No entanto, destaco um artigo em especial: Tutorial de Verilog – O Primeiro projeto com Quartus, por Thiago Lima. Nesse artigo foi apresentado passo a passo como criar seu primeiro projeto com o Quartus II, da Altera. Aqui faremos igual, só que diferente. Você fará seu primeiro projeto com o ISE, da Xilinx.

Criando Seu Projeto no ISE Web Pack Suite

ISE Design Suite 14.7
Figura 1: ISE Design Suite 14.7

A ferramenta que vamos utilizar se chama ISE Design Suite na versão 14.7, que pode ser encontrada no site da Xilinx. A versão que estamos utilizando é a Web Pack, que pode ser baixada gratuitamente. No entanto, é necessário fazer um cadastro e baixar um arquivo de licença para o sistema funcionar.

Logo durante a carga do software.
Figura 2: Logo durante a carga do software.

Assim que o sistema carrega, apresenta uma janela de ambiente de desenvolvimento. Há sempre uma janela com dicas quando o programa inicializa. O que vamos fazer aqui é criar um novo projeto, então nada mais simples que File->New Project.

ISE Project Navigator.
Figura 3: ISE Project Navigator.

A janela New Project Wizard irá abrir. Nela vamos indicar o nome do projeto e o diretório de trabalho. Há uma seleção para o tipo de arquivo a ser desenvolvido, mas vamos deixar em HDL.

New Project Wizard.
Figura 4: New Project Wizard – Create New Project.

Na janela seguinte, faremos a seleção do dispositivo a se trabalhar. Como vamos trabalhar com simulação e com algo muito simples, qualquer dispositivo atende. No entanto, deixaremos a configuração como Spartan 3. Se você for continuar a desenvolver a partir desse artigo, este dispositivo atenderá a praticamente tudo mais o que lhe possa ser necessário.

New Project Wizard - Project Settings.
Figura 5: New Project Wizard – Project Settings no ISE.

Por último, apenas um sumário é apresentado com as características iniciais do seu projeto. 

New Project Wizard - Project Summary.
Figura 6: New Project Wizard – Project Summary.

Uma vez terminada esta etapa, o nosso ambiente já está com o projeto aberto.

Ambiente de desenvolvimento com seu novo projeto.
Figura 7: Ambiente de desenvolvimento com seu novo projeto no ISE Design Suite.

Agora vamos adicionar um novo módulo ao sistema. Basta clicar com o botão direito do Mouse sobre nosso projeto e adicionar um novo arquivo fonte.

Adicionando novo arquivo fonte.
Figura 8: Adicionando novo arquivo fonte.

Vamos criar um módulo Verilog. Não é obrigatório, tão pouco mais ou menos recomendado o uso do Verilog. Apenas vamos seguir por ele. Se você se sente confortável com VHDL, pode faze-lo. Seguiremos, então selecionando Verilog Module e escolhendo o nome do arquivo, MeuPrimeiroAnd parece bom.

New Source Wizard.
Figura 9: New Source Wizard – Select Source Type.

Em seguida, adicionaremos os IOs necessários para esse módulo. Como trata-se de uma porta AND, nada mais clássico que duas portas, A e B, e uma saída S. Lembre-se de certificar-se das direções.

New Source Wizard.
Figura 10: New Source Wizard – Define Module.

Por último, é apresentado um sumário com suas opções. Agora o arquivo MeuPrimeiroAnd.v foi adicionado à árvore de projetos. O fonte criado automaticamente é apresentado logo abaixo.

New Source Wizard - Sumary.
Figura 11: New Source Wizard – Sumary.

Perceba que os IOs foram definidos no código, mas não existe implementação nenhuma. Vamos, então, à difícil tarefa de criar uma porta AND. Adicione a seguinte linha no código:

Para ter mais detalhes sobre os operadores do Verilog, acesse este ótimo artigo do Thiago Lima. Seu módulo ficará assim:

Salve o código para verificar a sintaxe. Para isso, abra a árvore Synthesize – XST e clique com o botão direito em Check Syntax. Selecione Run, isso iniciará o processo de checagem de sintaxe.

Check Syntax.
Figura 12: Check Syntax.

Você poderá acompanhar o processo pela janela Console. Lá, você encontrará o resultado. Se fez o procedimento corretamente até aqui, você verá Process Check Syntax completed successfully.

Resultado no Console.
Figura 13: Resultado no Console.

Simulando Sua Porta AND no ISE

Agora vamos iniciar o processo de simulação do módulo que criamos. Para fazer isso, primeiro precisamos mudar o modo de visualização de Implementação para Simulação. Para fazer isso, basta clicar no objeto Simulation.

Selecionando Simulation.
Figura 14: Selecionando Simulation.

Precisaremos adicionar um novo arquivo fonte no nosso projeto, o Verilog Test Fixture. O procedimento é exatamente o mesmo que fizemos para criar nosso Verilog Module. Vamos dar o nome de SimulandoMinhaAnd e clicar em Next.

New Source Wizard - Select Source Type.
Figura 15: New Source Wizard – Select Source Type.

Em seguida, o ISE lhe perguntará quais os módulos você deseja testar. Como nós criamos apenas um módulo, teremos apenas ele como opção. Vamos, então, seguir com Next.

and_15
Figura 16: New Source Wizard

Por último, como em todos os casos, uma janela de sumário é apresentada com as características de nossa criação.

New Source Wizard - Summary.
Figura 17: New Source Wizard – Summary.

Agora, um novo arquivo foi adicionado ao projeto. Ele controla todo o processo de testes, e precisamos definir como esse stript vai funcionar. O fonte automaticamente criado se apresenta da seguinte forma:

O que nos interessa está entre initial begin e end. Perceba que nossas duas entradas estão definidas, e recebem valores padrão 0. O valor apresentado com # é o tempo que será aguardado, nesse caso #100 representa 100ns. Como trata-se de uma simulação, o tempo não nos fará diferença.

Adicione os outros casos de teste, onde as entradas AB serão 01, 10 e 11. É interessante realizar essas mudanças a cada passo de tempo. Dessa forma, a cada nova composição de A e B, vamos adicionar um passo de 100ns. Nosso arquivo ficará assim:

Perceba que adicionamos duas vezes o ciclo de entrada, pois queremos deixar bastante evidente o resultado da nossa porta AND. Também é importante verificar a linha, $monitor. Ela irá apresentar o resultado de cada passo no Console, de forma a acompanharmos os dados.

Vamos, então, abrir a árvore ISim Simulator e clicar com o botão direito em Simulate Behavioral Model, selecionando a opção Run.

Simulate Behavioral Model.
Figura 18: Simulate Behavioral Model.

Da mesma forma que vimos anteriormente, você poderá acompanhar o andamento pela janela Console. Estando tudo correto, o sistema automaticamente abrirá o software ISim, responsável pela simulação.

Software ISim.
Figura 19: Software ISim.

Perceba que este software também possui a janela de console, e nele você vê o resultado da formatação feita em $monitor. Agora, para verificar a forma de onda, clique no ícone Zoom to Full View.

Ícone Zoom to Full View.
Figura 20: Ícone Zoom to Full View.

Aqui vemos toda a forma de onda criada, e o resultado de nossa porta AND. Perceba que S apenas é 1 quando A e B são 1 simultaneamente, conforme esperávamos.

Forma de onda final de nossa simulação.
Figura 21: Forma de onda final de nossa simulação.

A partir daqui você pode evoluir os módulos, desenvolver lógicas complexas, e evoluir os estudos dentro das tecnologias de FPGA. Boa sorte!

Referências

ISE Web Pack Design Software – Xilinx

Xilinx ISE Simulation Tutorial – YouTube

Step by Step Simulation ISE+MATLAB – Vihang Naik

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Hardware » Simulando sua primeira porta AND com ISE Design Suite
Comentários:
Notificações
Notificar
guest
0 Comentários
Inline Feedbacks
View all comments
Talvez você goste:

Séries

Menu

WEBINAR
 

BlueNRG-LP – Bluetooth 5.2 de longo alcance para aplicações industriais

Data: 05/11 às 15:00h - Apoio: STMicroelectronics
 
INSCREVA-SE AGORA »



 
close-link