Uso do ambiente EDA - QUARTUS Prime para programação em VHDL

De MediaWiki do Campus São José
Revisão de 21h22min de 19 de fevereiro de 2024 por Moecke (discussão | contribs) (Criou página com ':PASSO 0; Acesse a nuvem do IFSC usando um terminal via ssh: USER=LOGIN_SIGAA ssh $USER@quartus.sj.ifsc.edu.br -XC Insira a senha do SIG...')
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para navegação Ir para pesquisar
PASSO 0;

Acesse a nuvem do IFSC usando um terminal via ssh:

USER=LOGIN_SIGAA
ssh $USER@quartus.sj.ifsc.edu.br -XC  

Insira a senha do SIGAA

LOGIN_SIGAA@quartus.sj.ifsc.edu.br's password:
PASSO 1

Abra o Quartus Prime digitando no terminal

quartus20.1.sh

Em seguida abra um arquivo para inserir o código VHDL. No menu superior selecione [File > New > Design Files: VHDL File] e [OK]

PASSO 2
  • Copie o código VHDL acima para o espaço de edição e salve o arquivo com o nome da entity: nand_gate.vhd, em um pasta exclusiva para este projeto.
  • Ao ser perguntado se deseja criar um novo projeto, responda [Yes] Quartus CreateProject.png
  • Os próximos passos podem ser realizados da seguinte forma:
  • Na tela Introduction [Next >]
  • Na tela Directory, Name, Top-Level Entity
  • Anote onde o projeto será salvo.
 /home/USER/PASTA_DO_PROJETO/
Se quiser, troque a pasta clicando sobre os [...] e selecionando/criando a pasta onde o projeto será salvo.
Recomendamos que no início você salve cada projeto em uma pasta separada.
  • Note o nome do projeto. Se quiser pode mudá-lo
nand_gate
  • Note o nome da top-level design entity
nand_gate
  • Em seguida clique em [Next >]
  • Na tela Project Type clique em [Next >]
  • Na tela Add Filesclique em [Next >], pois note que seu arquivo "nand_gate.vhd" já está na lista dos arquivos do projeto.
  • Na tela Family, Device & Board Settings, escolha a Family = [Cyclone IV E] e o Device = [EP4CE6E22A7] e clique em [Next >]
  • Na tela EDA Tool Setting [Next >]
  • Note na tela Summary os dados do projeto e clique [Finish]
PASSO 3

Realize a Analysis & Synthesis [Processing > Start > Start Analysis & Synthesis], ou use um dos botões que o professor mostrou em aula.

  • Analise o Compilation Report.
1) Qual é a Top-level Entity?                 ___________________________
2) Quantos elementos lógicos foram utilizados?      ___________________________
3) Quantos pinos foram utilizados?                  ___________________________
4) Algum outro dado está diferente de zero? Quais?  ___________________________
PASSO 4
  • Use o RTL Viewer para ver a descrição RTL do circuito. Selecione [Tools > Netlist Vieweres > RTL Viewer].
Quartus RTL nand gate.png
  • Analise o Diagrama RTL, e note que ele representa a implementação de uma porta AND seguida de um NOT.
  • Use o Technology Map Viewer para ver a como o circuito foi mapeado para os elementos lógicos disponíveis no dispositivo FPGA selecionado. Selecione [Tools > Netlist Vieweres > Technology Map Viewer (Post-Mapping)]. Ao abrir, clique direito sobre o símbolo LOGIC_CELL_COMB e selecione Properties para visualizar o que está implementado.
Quartus TM nand gate.png
  • Analise o Technolgy Map, e busque perceber que ele representa a mesma implementação de uma porta AND seguida de um NOT (onde está o NOT?).
  • Lembre-se que apenas um circuito equivalente é mostrado, pois na prática essa célula contém uma LUT, o que corresponde a implementar diretamente a tabela verdade.
Quartus TM TV nand gate.png
  • Note que a tabela verdade mostrada corresponde novamente a uma porta AND.
PASSO 5
  • Modifique a descrição do circuito para implementar o circuito da função Y = (A.B)' + C.D'B', salve como um novo arquivo Ckt2.vhd e de o mesmo nome ckt2 para a entity.
PASSO 6
  • Simulação do circuito usando o simulador ModelSim
  • Se você já havia fechado o Quartus ou trocou de projeto, reabra o projeto nand_gate. Clique em [File > Open Project] e selecione a pasta onde salvou o projeto. Depois clique sobre o arquivo nand_gate.qpf. Note que abrir um projeto é diferente de abrir um arquivo, pois todos os arquivos de configuração estão associados a esse .qpf.
  • Após ter feito a Analysis & Synthesis, abra o simulador RTL do Modelsim [Tools > Run Simulation Tool > RTL Simulation].
  • Note que o ModelSim deverá abrir já com o seu projeto pronto para ser simulado.
# Errors: 0, Warnings: 0
ModelSim nand gate F1.png
Note que na Library work está disponível a Entity nand_gate e a Architecture nome_arch
  • De um clique duplo sobre o nome da architecture. Isso faz com que essa arquitetura seja disponibilizada para simulação. Agora no painel Objects estão disponíveis os sinais de entrada (a, b) e o sinal de saída (x).
  • Abra o painel Wave, [View > Wave]
  • Segurando a tecla [Ctrl] selecione com o mouse os sinais que deseja visualizar (a, b, x), e arraste os sinais para o painel Wave.
  • Execute a simulação por 100 ps. Digite no painel de Transcript o comando run ou run 100 ou run 100ps. Outra opção é clicar sobre o icone run ModelSim run.png, ou ainda [Simulate > Run > Run 100].
  • Analise se essa simulação feita corresponde ao circuito proposto.
a = 0, b = 0  => x = 1.