La version 4.002 de Verilator a été annoncée à la conférence ORConf2018 en Pologne.
Verilator est sans conteste le simulateur HDL open source le plus rapide du « marché ». Il permet de simuler des porte‐grammes écrits en Verilog synthétisable.
La version 4.002 de Verilator a été annoncée à la conférence ORConf2018 en Pologne.
Verilator est sans conteste le simulateur HDL open source le plus rapide du « marché ». Il permet de simuler des porte‐grammes écrits en Verilog synthétisable.
Cher journal,
As-tu aimé la campagne de microsoft «Get the facts» contre Linux ?
Alors tu aimeras certainement la campagne «Understand the facts» de la société Arm contre Risc-V ;)
Risc-V est un set d'instructions libre pour processeur appelé aussi ISA (Instruction Set Architecture).
C'est la base d'un processeur, ce qui est nécessaire au compilateur pour générer un exécutable. À partir de ce set d'instructions, un concepteur de silicium / designer fpga peut créer un cœur (…)
Le sujet TapTempo est très intéressant pour apprendre un nouveau langage de programmation. En effet, il est beaucoup plus complet qu'un simple Hello World ! Il nous impose de se plonger dans les arcanes du langage et de ses outils pour gérer le temps, l'affichage mais aussi les arguments de la ligne de commande ou les structures «complexe» comme les listes ou les buffers.
Bon évidemment, quand il s'agit d'un langage de description hardware comme présenté la dernière fois avec (…)
Dans un premier journal je décrivais le «core» de TapTempoChisel. Passons maintenant à l'intégration sur un vrai FPGA physique.
J'ai choisi pour cela une carte APF27 de chez armadeus. Cette carte possède un FPGA Spartan3A de chez Xilinx mais elle possède également un microprocesseur i.MX27 permettant de faire tourner Linux. La philosophie de la carte étant d'avoir une zone «en friche» avec le FPGA permettant d'ajouter des périphériques sur mesure.
Périphérique que nous allons construire avec le projet TapTempo. Le (…)
Le «défi» TapTempo est un peu en train de faiblir je trouve. Du coup je vous propose un nouveau langage pour réaliser TapTempo : Chisel. Et pour être plus précis, la version 3 de Chisel.
Contrairement à tous les langages proposés jusqu'ici, Chisel ne permet pas de réaliser un programme qui sera exécuté par une machine réelle ou virtuelle. Chisel permet de décrire l'architecture de la machine elle-même !
C'est ce qu'on appelle un langage de description matériel ou HDL (…)
N. D. M : Le Verilog HDL est un « langage de description matériel de circuits logiques en électronique », le FPGA est un « circuit intégré logique qui peut être reprogrammé », Xilinx une entreprise américaine de semi‐conducteurs, et le bitstream est utilisé pour décrire une configuration à charger dans un FPGA.
Comme le projet IceStorm qui permet de générer des bitstreams à partir du Verilog vers les FPGA ICE40 de Lattice est maintenant très avancé, W.Clifford se lance avec d’autres dans la rétro‐ingénierie des FPGA de la Série 7 de Xilinx.
Pour cela, un nouveau projet nommé SymbiFlow est créé pour fédérer les différents outils permettant de développer autour des FPGA de Xilinx. L’objectif à terme étant d’intégrer également les ICE40 à SymbiFlow.
Le projet inclut un sous‐projet nommé sobrement Project X-Ray permettant de documenter les différents éléments du FPGA Artix7 sous forme de carte en ASCII et HTML. Ce sous‐projet vise également à fournir des outils permettant de piloter Vivado avec des designs simplistes pour sortir des statistiques sur les bitstreams générés et approfondir la documentation.
Un des gros changements de SymbiFlow par rapport à Icestorm est la volonté de migrer le placement‐routage de Arachne-pnr vers VPR. Un sous‐projet de VTR développé depuis bien plus longtemps que Arachne-pnr.
Vu le succès remporté par le projet IceStorm, avec la quasi totalité des FPGA ICE40 documentés ainsi que leurs timings, on peut espérer voir arriver rapidement une chaîne de développement libre pour les FPGA de la Série 7 de Xilinx. Et voir ainsi le développement open source sur FPGA devenir une réalité.
Dans un premier journal, je vous avais parlé du kit de développement HiFive permettant de développer sur le microcontrôleur libre E310 et compatible avec la chaîne de développement arduino. Une petite société (QWERTY Embedded Design) avait lancé un financement «participatif» pour produire un kit compatible arduino basé sur ce processeur.
La production de ce premier batch s'étant bien déroulée, la société a lancé un autre module plus petit basé sur ce même processeur.
Le module minimaliste (25$) permet tout (…)
À l'heure où j'écris ces lignes a lieu le 5 ème workshop sur jeux d'instruction libre (ISA Risc-V au campus google à Mountain View.
Et c'est à cette occasion qu'est présenté la carte HiFive1 composée d'un microcontrôleur Freedom Everywhere 310 (FE310) à cœur SiFive (utilisant le jeux d'instructions Risc-V). Une carte compatible Arduino mais 10 fois plus puissante et entièrement libre, jusqu'au silicium.
La description hardware en Chisel/Verilog est disponible sur github et il est possible de simuler intégralement le (…)
Jonathan Bachrach vient de l’annoncer sur la liste de diffusion chisel-user : le premier instantané de Chisel 3 est officiellement sorti.
Chisel est un langage de description matériel (HDL) basé sur le langage Scala. Le langage n’étant pas reconnu par les principaux logiciels de synthèse, il génère du langage Verilog synthétisable à la « compilation ».
IceStudio est un logiciel graphique permettant de concevoir un design FPGA à la manière d’un schéma électronique. Le logiciel est encore largement expérimental et centré sur les FPGA ice40 de chez lattice. Écrit en JavaScript autour de Nodejs, le logiciel permet de dessiner son projet au moyen de blocs reliés entre eux par des signaux.
IceStudio est sous licence GPLv2.
NdM : à noter, ce projet bénéficie d'un soutien du fabricant espagnol BQ (connu également pour fournir des matériels avec Ubuntu pré-installée)
Développer sur FPGA est très frustrant pour un libriste. Les fondeurs de FPGA ne fournissant pas les spécifications de leurs composants, il n’existait pas jusqu’à présent d'outils open sources pour générer les binaires de configuration appelés «bitstream».
Du coup c'est toute la chaîne de développement qui est compromise : pas d'outils de synthèse HDL, pas d'outils de placement routage, …
Il existe bien des projets universitaires comme VPR, RapidSmith ou ABC. Mais ces outils ne permettent de réaliser (…)
Le VHDL est un langage de simulation numérique. C'est initialement une commande de l'armée américaine pour standardiser les spécifications de circuits numériques. Le VHDL a été standardisé à coup de pelle à neige par l'IEEE en se basant sur le langage ADA.
Du langage de simulation, le VHDL est passé au langage de description hardware avec l'arrivée des FPGA/ASIC. Les constructeurs de FPGA fournissant des outils de conversion VHDL->netlist pour leurs propres composants. Chacun y allant de son interprétation du (…)
L'objectif du projet danois « Copenhagen Suborbitals » est de construire une fusée capable de propulser un être humain dans l'espace via un vol « suborbital ». Le vol de type parabolique propulsera l'humain au-delà de la frontière spatiale de 100 km d'altitude.
Quel est donc l'intérêt de ce projet, si l'on sait envoyer des humains dans l'espace depuis longtemps ? La spécificité de ce projet est qu'il est réalisé par un groupe d'ingénieurs qui compte publier tous les plans de leur fusée pour que l'expérience puisse être reproduite aux quatre coins du monde. Tous les plans seront donc diffusés dans la limite des lois européennes sur l'exportation.
D'après l'historique que l'on trouve sur le site Internet, le projet a commencé il y a trois ans environ et fonctionne grâce à une campagne de dons annuelle. La première tentative de lancement avec un mannequin à bord en septembre 2010 fut annulée pour des problèmes techniques et reportée à début juin 2011.
Sputnik, la plate-forme flottante de lancement est désormais équipée de son lanceur Tycho Brahe et sera mise à l'eau le samedi 14 mai. La plate-forme va ensuite s'acheminer vers sa zone de lancement en mer dans la zone militaire ESD138/139.
La fenêtre de lancement est prévue entre le 1er et le 14 juin et le déroulement des opérations peut-être suivi sur la page de la campagne de tir 2011.
La communauté OpenCores est maintenant une référence dans le domaine du hardware libre. Leur site héberge de nombreux projets de composants libres essentiellement sous forme de code HDL synthétisable sur des FPGA.
Depuis quelques années maintenant les membres de cette communauté développent une architecture générique de microprocesseur 32/64bits nommée OpenRISC1000. L'architecture est maintenant relativement mature, et est utilisable sur de nombreux types de FPGA. L'architecture est déjà gérée par GCC et Linux.
OpenCore veut maintenant passer à la vitesse supérieure en lançant une véritable production de ce processeur. L'objectif étant de proposer un processeur à très bas coût avec des performances (vitesse/consommation) bien meilleures que les versions sur FPGA.