2010-01-13 21 views
27

Je veux prendre connaissance de la programmation FPGA. J'ai entendu tous les types d'histoires d'horreur des outils propriétaires. Existe-t-il une chaîne d'outils entièrement ouverte?Outils de développement FPGA (Field-Programmable Gate Array) open-source

Sinon, comment dois-je apprendre cela? Mon arrière-plan: familier avec Scheme, C++, assemblage et architecture MIPS.

+0

Question connexe dans Electronics SE [ici] (http://electronics.stackexchange.com/questions/3107/looking-for-open-source-fpga-hardware-and-dev-tools). – hhh

+0

Il existe maintenant une chaîne d'outils open source pour les FPGA iCE40 de Lattice Semiconductor, voir: github.com/cseed/arachne-pnr –

+0

Voir aussi [ici] (http://www.clifford.at/icestorm/). :) – paulotorrens

Répondre

11

Icarus est une implémentation Verilog open source. Vous aurez toujours besoin de la chaîne d'outils de votre fournisseur de FPGA pour obtenir le code sur le FPGA lui-même.

+0

Je suis un newb; Pouvez-vous expliquer ce dont je vais avoir besoin pour la chaîne d'outils propriétaire? Merci! – anon

+0

Pour obtenir réellement le modèle binaire qui sera chargé dans le matériel FPGA propriétaire. –

+0

Icarus peut créer une netlist à partir de votre code Verilog. Vous avez besoin de la chaîne d'outils pour faire le placement et le routage et pour configurer le FPGA avec votre conception. –

1

Je ne pense pas qu'il existe des chaînes d'outils complètes open source disponibles. Vous pourriez vouloir regarder l'édition Web d'Altera. Un téléchargement d'essai gratuit. Vous pouvez utiliser le processeur Nios2 de type MIPS et le programmer en C et C++ (ensemble d'outils GNU). Il y a un port Linux disponible aussi.

2

Le projet gEDA dispose d'outils gratuits EDA que vous pouvez vouloir extraire. Icarus mentionné ci-dessus fait partie de gEDA.

Vérifiez également Fedora Electronic Lab. C'est quelque chose de nouveau pour moi, donc je ne peux pas fournir plus d'informations.

2

Bien que propriétaire, il n'y a pas eu de chaîne d'outils open-source depuis la fin des années 90. Cependant Altera et Xilinx ont eu leur version limitée gratuite pour une longue période, vous seriez en toute sécurité en les utilisant.

Si vous souhaitez simplement apprendre la langue, l'un des outils ci-dessus fonctionnerait. Mais j'utiliserais toujours la chaîne d'outils d'un vrai fournisseur. Comme vous écrivez simplement Verilog ou VHDL standard, vous pouvez prendre votre source à un autre fournisseur, tout comme C.

26

Il n'y aura probablement jamais une chaîne d'outils open source complète pour les FPGA à moins que nous n'arrivions à développer un FPGA open source architecture. Les sociétés FPGA contrôlent les formats bitstream utilisés pour programmer leurs pièces et elles ont un langage juridique onéreux dans leurs contrats d'utilisateurs qui rendent une proposition plutôt dangereuse pour essayer de développer des outils open source par reverse engineering (personne ne veut perdre sa maison). La bonne nouvelle, cependant, est que de nombreux brevets protégeant les architectures FPGA arrivent à expiration au cours des prochaines années. Cela pourrait permettre de développer une architecture FPGA open source. Comme on l'a vu, il existe des outils de simulation HDL gratuits comme Icarus Verilog et GHDL (une interface VHDL pour gcc). . Mais tout ce que vous pouvez faire avec eux est de simuler votre design pour vous assurer qu'il est fonctionnellement correct. Vous avez alors besoin d'une sorte d'outil de synthèse pour prendre votre HDL aux portes et finalement au flux de bits. Xilinx et Altera ont des éditions web gratuites de tels outils, mais ils ne sont certainement pas open source.

+8

Bonne réponse. J'aimerais voir une sorte de conglomérat d'entreprises développer un standard FPGA ouvert. Il ne devrait pas être le meilleur ou le plus grand, juste ouvert. J'ai exprimé une opinion à ce sujet ici: http://www.sigasi.com/content/most-needed-eda-innovation#comment-519 –

+0

Le projet [OpenCores] (http://opencores.org/) vient de faire une déplacer pour gagner du crowdfunding pour développer le premier processeur OpenRISC! Certainement excitant [news] (http://www.sigasi.com/content/opencores-raises-community-funding-open-source-processor-chip)! – TrinitronX

+1

Nouvelles! Nous avons le premier toolchain complet en tant que logiciel libre! Le projet [IceStorm] (http://www.clifford.at/icestorm/), réalisé par Clifford Wolf et d'autres, est capable de synthétiser et de télécharger des projets Verilog sur les FPGA iCE40 de Lattice. :) – paulotorrens

0

Il semble que les autres messages ont directement répondu à la question ici. Juste pensé que je vous signale aussi jeter un oeil à opencores.com ... Ce site a open source HDL (Verilog et VHDL) implémentations de matériel de travail ...

Vous avez besoin encore l'outil du fournisseur pour programmer réellement le FPGA périphérique (comme mentionné par d'autres), mais des entreprises comme Altera fournissent gratuitement des outils d'édition Web (édition web Quartus II) qui est gratuit à télécharger. Les versions gratuites ne disposent pas de tous les gadgets, mais elles suffiront pour vous permettre d'utiliser certains de leurs périphériques de milieu de gamme inférieure (Cyclone II, III, Stratix II) ... Des jetons assez bon marché parfois (US $ 80 ou alors pour le FPGA FPGA Cyclone III 40k).

-Pour mettre tout cela ensemble, allez sur le site Web du fournisseur de FPGA, consultez les FPGA de la série Cyclone et faites un achat pour ce dont vous avez besoin. -Configurer votre environnement avec l'édition web gratuite (Altera .. Je ne suis pas sûr de Xilinx) -Grab un projet simple et complet de opencores.com -Programmer le FPGA et le tester (la simulation est un outil logiciel distinct du courant Version de l'outil Quartus II)

Notez, vous devrez peut-être acheter un programmeur spécifique au fabricant (JTAG pins) ... Un bon endroit pour vérifier quelques projets de base peut être sur sparkfun.com.

Heureux développement!

Consultez la liste des cartes prêt-à-utiliser au http://www.fpga-faq.com/FPGA_Boards.shtml.

+0

opencores.com est mort en ce moment, vouliez-vous dire opencores.org (peut-être qu'ils ont déménagé)? – dualed