Este repositório inclui blocos IP FPGA compatíveis com a família de produtos Arduino Vidor e é direcionado a usuários já familiarizados com o processo de desenvolvimento de FPGA. O desenvolvimento de FPGA utilizando ferramentas nativas, embora incentivado, não é suportado pelo Arduino por ser bastante complexo e de difícil suporte. Se você acha que este desafio é para você, saiba que só podemos fornecer suporte muito limitado, pois nossos principais esforços serão direcionados a fornecer uma experiência tranquila no Arduino IDE e no Arduino Create por meio de bibliotecas pré-compiladas e com a ferramenta da web que fornecerá uma maneira fácil para montar blocos IP.
a estrutura de diretórios está resumida na tabela a seguir:
Diretório | Conteúdo |
---|---|
IP | código fonte para blocos IP |
projetos | exemplos de arquivos de projeto para as diversas placas |
restrições | arquivos de restrição para as diversas placas. inclui pinagem e temporizações |
Mais uma vez, este repositório é destinado apenas a pessoas já familiarizadas com a programação de FPGA. No momento a intenção principal é divulgar a funcionalidade do bloco IP e apresentar a infraestrutura que criamos para que potenciais contribuidores possam começar a avaliá-la. A partir de hoje, este repositório não contém o código-fonte completo necessário para compilar as bibliotecas lançadas, pois partes dele requerem mais polimento tanto em termos de código quanto em termos de licenciamento (em alguns casos de terceiros). Exemplos completos de FPGAs funcionais, juntamente com instruções para criar uma biblioteca e acessar o FPGA, serão postados aqui, mas não refletirão necessariamente as imagens oficiais que estamos publicando.
O pré-requisito para compilar imagens FPGA da placa MKRVIDOR4000 é Quartus II 18.0 Lite ou Standard, que pode ser baixado do site da Altera/Intel. Depois que o Quartus estiver instalado, você poderá abrir um projeto no diretório de projetos e compilá-lo com o Quartus.
O Quartus produzirá um conjunto de arquivos no diretório output_files na pasta do projeto. Para incorporar o FPGA no código do Arduino é necessário criar uma biblioteca e pré-processar o arquivo ttf gerado pelo Quartus para que contenha os cabeçalhos apropriados exigidos pela infraestrutura do software. Detalhes desse processo serão divulgados assim que o fluxo estiver estável.
A programação do FPGA é possível de várias maneiras:
atualizando a imagem junto com o código Arduino criando uma biblioteca que incorpora o arquivo ttf
programar a imagem na RAM através do USB Blaster (isso requer a montagem do cabeçalho FPGA JTAG). isso pode ser feito com segurança somente quando o SAM D21 estiver no modo bootloader, pois em outras condições ele pode acessar o JTAG e causar uma contenção
programando a imagem em RAM através do USB Blaster emulado via SAM D21 (este componente está com lançamento pendente)