Procurando por hardware FPGA de código aberto e ferramentas de desenvolvimento [fechado]

38

Placas FPGA investigadas, mas não conseguem encontrar placa de código aberto e ferramentas de desenvolvimento de FPGA neutras em fornecedores:

  • O fabricante do ORSoC possui código aberto em seu site, mas não consigo encontrar evidências fortes, exceto a webmastering OpenCores.org.
  • A dupla: Xilinx anuncia seus produtos com o "Concurso de Inovação em Hardware de Código Aberto para Universidades da China Continental". Ainda assim, seus produtos são proprietários, pouco suporte para * ix -. Da mesma forma, a Altera tem um suporte ruim para o * ix, basta verificar o suporte do SO com o Quartus ou como colocar seu analisador lógico na etapa sintética?
  • Grupo de jogadores pequenos - deixe você apontar o melhor.

Existe algum fabricante forte em itens de código aberto, como ferramentas hw e dev?

hhh
fonte
Pergunta relacionada no SO aqui .
hhh 12/01
3
Existe agora um conjunto de ferramentas de código aberto para a Malha Semiconductor iCE40 FPGAs, consulte: github.com/cseed/arachne-pnr
Sementes de Algodão

Respostas:

8

Infelizmente, não há muito software livre para hardware programável. Existem algumas ferramentas de síntese, como Lava (que espera uma colocação amplamente manual), Confluence, HDCaml e Atom e Icarus Verilog , mas quase nenhuma ferramenta de instalação, mapeador ou ferramentas de localização e rota (eu absolutamente adoraria ser provado errado em isto). O Opencircuitdesign.com coletou algumas ferramentas, mas provavelmente requer alguma documentação e um gerador de fluxo de bits. A simulação, por outro lado, é razoavelmente bem coberta.

Do lado não-livre, as ferramentas não-livres, porém gratuitas, do Xilinx tiveram algumas melhorias recentemente, adicionando suporte ao libusb e retirando Wind / U (um horrível analógico winelib não-livre) a favor do Qt (mas não serão atualização para chips aposentados). A maioria das outras ferramentas parece sabotada usando um pacote chamado flexlm, a tal ponto que é difícil fazê-las funcionar, mesmo com a ajuda do fornecedor. Também pude rodar o software Lattice Diamond no Linux, mas faltava simulação. Para o Atmel AT40KAL, a ferramenta de localização e rota pode ser executada no Wine, mas a biblioteca exige componentes não padrão (usa LPM, mas recusa portas de 2 entradas), portanto, seria necessário um tipo de mapeador.

Yann Vernier
fonte
5

Infelizmente, as ferramentas de síntese são todas de código fechado, até onde eu sei. O código contido neles é uma grande parte de sua vantagem nos negócios, portanto, é improvável que você pareça que eles são de código aberto.

O Xilinx possui cadeias de ferramentas gratuitas para Windows e Linux e, se você não gosta do IDE, pode usar as ferramentas de linha de comando com o seu próprio editor. Já fiz isso antes, funciona bem para pequenos projetos (por exemplo, CPLD) em que você não quer brincar com grandes pacotes de software complexos.

Altera Eu acredito que só oferece ferramentas gratuitas para Windows, suas ferramentas Linux são pagas somente na última vez que verifiquei (isso pode ter mudado, talvez tenha passado um ano ou mais desde que eu olhei pela última vez).

davr
fonte
Meu entendimento é que a síntese - o processo de implementação de um projeto nos componentes básicos da tecnologia - é a última camada em que a substituição da sua é viável. É a próxima camada - local e rota, a análise de tempo que precisa ser acompanhada e a geração de bits que se segue, onde são necessárias informações realmente bem guardadas.
22430 Chris Stratton
5

O Butterfly Board parece uma boa rota para iniciantes de código aberto em FPGAs. Eles já portaram o núcleo do AVR8 para que você possa executar o código de objeto dos esboços / AVR do Arduino, para que haja uma curva de aprendizado sã.

Atualização: Agora renomeada para Papilio Boards .

Eu acho que o Xilinx WebPack é necessário e está disponível para Windows e Linux.

Toby Jaffey
fonte
O webpack também deve ser gratuito para você.
Kortuk
Desculpe, mas não consigo ver qual é o "código aberto". Prefere deslizar moedas com mais da metade mais barato, como: item.taobao.com/auction/… .
hhh
3
Embora confie na cadeia de ferramentas proprietária Xilinx, o Butterfly One inclui 1) um design de placa de código aberto, 2) um "programador" de código aberto (utilitário bitstream-> flash) e 3) muitos IP de código aberto como exemplos . Recomendado!
Talvez você deva atualizar seu link para apontar para o Butterfly One? Além disso, você sabe o quão bem eles são suportados (como quantas pessoas os usam e se são bons para iniciantes)?
Earlz
Os esquemas e todos são de código aberto para o Butterfly One e eu consegui rodar completamente no meu computador Arch Linux. Você precisa compilar algumas coisas manualmente, mas eu não diria que é mais difícil do que a maioria dos FPGAs para começar. (e provavelmente mais fácil porque ele vem programado como softcore AVR
Earlz
3

As ferramentas de desenvolvimento do FPGA são todas fortemente acopladas aos próprios dispositivos FPGA e dependem totalmente dos detalhes proprietários da arquitetura do FPGA, principalmente nos níveis de posicionamento, roteamento e geração de fluxo de bits. Como tal, a neutralidade do fornecedor é praticamente inexistente. As ferramentas de nível superior podem ser neutras em relação ao fornecedor (por exemplo, Synplify, ferramentas ESL, ferramentas de verificação etc.), mas certamente não são de código aberto.

Por outro lado, existem muitas ferramentas acadêmicas que são de código aberto. Contanto que você não queira desenvolver um dispositivo físico real, poderá usar a cadeia de ferramentas VPR 5.0 .

mrkj
fonte
Não compro a explicação "fortemente acoplada ao hardware". É o mesmo com diferentes conjuntos de instruções para CPUs incorporadas.
Max3
@ maxy - não, realmente não é. Uma CPU abstrai quantidades intensas de detalhes de hardware que são expostos e devem ser considerados por uma cadeia de ferramentas FPGA. O compilador CA realmente não precisa saber ou se importar se a saída do multiplicador chegará ao próximo registro a tempo, e mesmo o projetista da placa precisa apenas observar a velocidade máxima permitida para saber isso. Para uma ferramenta FPGA, você precisa saber quanto tempo leva o multiplicador, qual é o tempo de configuração do registro e calcular o atraso entre eles com base em onde você os coloca no chip e como encaminha o sinal no meio.
18730 Chris Stratton
3

Nem de código aberto nem ainda compatível, mas o Xilinx oferece uma API gratuita de plataforma cruzada (Java) chamada Jbits, que permite a programação direta (e a reprogramação imediata) de FPGAs. Acredito que apenas CPLDs e até Virtex-II sejam suportados, mas é o mais próximo a permitir que os desenvolvedores produzam suas próprias ferramentas de síntese personalizadas. Planejando brincar com isso um pouco no futuro próximo.


fonte
Jbits foi muito legal.
Prof. Falken