Levar ao FPGA¶
A AURORA valida, simula e desenha. A síntese física, com mapeamento em células, posicionamento, roteamento e bitstream, acontece na ferramenta do fabricante: Quartus para Intel/Altera, Vivado para AMD/Xilinx. Este capítulo lista o que levar e os cuidados do caminho.
O que levar¶
Para um projeto com processador:
Os seus fontes Verilog (top-level e módulos próprios).
O processador gerado:
Hardware/<proc>.v.As imagens de memória:
Hardware/<proc>_inst.mife<proc>_data.mif.A biblioteca de módulos do SAPHO, que o
<proc>.vinstancia. Ela acompanha a instalação da AURORA, na pastacomponents/HDLdentro da pasta de instalação:processor.v,core.v,ula.v,instr_dec.v,addr_dec.v.
Copie tudo para o projeto da ferramenta de síntese e adicione os arquivos ao projeto dela.
Aviso
As memórias são carregadas por $readmemb com o caminho dos .mif. Ao mover os arquivos, confira se o caminho gravado no <proc>.v continua resolvendo, ou ajuste-o para o layout do projeto de síntese. Um caminho quebrado sintetiza memória vazia, e o processador executa nada.
Passos típicos¶
Crie o projeto na ferramenta, aponte o dispositivo FPGA da sua placa.
Adicione os fontes e defina o seu top-level como entidade de topo.
Associe os pinos físicos: clock da placa em
clk, botão emrst, e os sinais de dado nos periféricos que o seu top-level expõe.Restrinja o clock (arquivo de constraints com o período) para a análise de tempo valer.
Sintetize, grave, teste.
Conferências que evitam sofrimento¶
Simule antes. O comportamento visto na onda da AURORA é o contrato; a síntese não conserta algoritmo.
Reset: o processador usa reset síncrono. Um botão da placa costuma precisar de sincronização antes de entrar no circuito.
Frequência: a análise de tempo da ferramenta dirá a frequência máxima do conjunto. Se o relatório reprovar o seu clock, reduza a frequência da placa ou revise o caminho crítico.
Tamanho: o relatório de utilização mostra o custo real de cada escolha do C±. É o fechamento do experimento do PRISM, agora em números de células.
O que a AURORA não faz¶
Não gera bitstream, não faz place and route, não escreve constraints. O Yosys embutido serve à visualização e à hierarquia, nunca à síntese física. Essa fronteira é de projeto: a plataforma termina onde a ferramenta do fabricante, que conhece o silício, começa.