Journal k1g1 : le premier FPGA Libre…

Posté par  (site web personnel) . Licence CC By‑SA.
84
4
nov.
2019
Ce journal a été promu en dépêche : k1g1 : le premier FPGA Libre….

…à ma connaissance (la dernière fois que j'ai regardé, il n'y en avait pas d'autres)

Camarades moules,

Aujourd'hui est un grand jour pour moi, pour la communauté Libre et enfin pour l'Humanité. Oui, rien que ça. En effet, je viens de valider en simulation au niveau porte logique (gate-level simulation en anglais, j'ignore la traduction exacte) le premier cœur FPGA Libre basé sur ma propre architecture.

Mais avant d'aller plus loin, un peu de contexte.

Un FPGA, c'est qu'est-ce quoi

(…)

Un ASIC conçu intégralement avec des logiciels libres

Posté par  (site web personnel, Mastodon) . Édité par palm123, ZeroHeure, Davy Defaud, Pierre Jarillon, Benoît Sibaud et Jona. Modéré par Pierre Jarillon. Licence CC By‑SA.
Étiquettes :
74
16
juin
2019
Matériel

Un ASIC (application‐specific integrated circuit, en anglais) est un circuit intégré d’électronique numérique conçu pour une application spécifique et qui ne peut être modifié une fois produit. Un ASIC est à mettre en opposition avec le FPGA qui lui est un circuit intégré d’électronique numérique que l’on peut reconfigurer à l’infini.

Les FPGA sont très liés aux ASIC. En effet, la plupart des outils utilisés en FPGA pour la synthèse HDL, la preuve formelle, le placement routage ou l’analyse des timings sont les mêmes que ceux à destination des ASIC. Seules les bibliothèques et les configurations changent. La grosse différence (de taille) avec les FPGA c’est que l’ASIC n’est pas reconfigurable, et les « frais d’initialisation » sont très élevés. Les délais de production sont également très longs (on parle en trimestres voire en semestres de délais).

Avec de telles contraintes, on comprend pourquoi les développeurs ne se mouillent pas trop avec des logiciels exotiques et restent sur ceux qu’ils connaissent. Vu les tarifs de production, le coût des licences des logiciels est assez négligeable. Pourquoi « grenouiller » avec des outils libres dans ce cas ?

Toutes ces contraintes n’ont pas découragé Tim Edwards de se lancer intégralement avec des outils libres dans la conception et la fabrication d’un microcontrôleur.

La libération des FPGA et des ASIC bien engagée pour 2020

70
20
jan.
2020
Matériel

En début d’année 2019 se posait la question de savoir si ce serait l’année de la libération des FPGA. En ce début d’année 2020, essayons de faire un bilan.

FPGA, ASIC, HDL, RISC‑Ⅴ et PCB sont les chapitres que nous allons découvrir dans la suite de cet article. Si vous connaissez déjà ces sigles et acronymes, vous allez adorer ; mais si vous ne les connaissez pas, c’est indispensable car ces vocables sont à la base de la culture universelle de notre siècle.

Nous sommes actuellement arrivés à un moment clé pour le matériel informatique. Il en est au même point que le logiciel libre en était en 2000, quand il est devenu mature. Le mouvement est lancé et les projets deviennent utilisables. On ne rêve plus…

CLEAR, production du premier microcontrôleur avec un eFPGA avec code source disponible

57
16
fév.
2022
Matériel

CLEAR est un microcontrôleur RISC-V (VexRISCV) muni d’un eFPGA gravé en 130 nm et produit avec le programme chipignite de la société de production d'ASIC Efabless. La totalité du « dossier de fabrication » du composant est publiée (licences MIT, Apache 2.0 et d'autres moins non libres).

Journal 2019, l’année de la libération des FPGA ?

Posté par  (site web personnel, Mastodon) . Licence CC By‑SA.
Étiquettes :
55
16
jan.
2019

En matière de liberté le monde du FPGA est resté dans les années 90. Une époque obscure où l’on cachait le mode de fonctionnement des logiciels, où il fallait signer des accords de non divulgation (NDA) avant de pouvoir simplement utiliser un logiciel. Une époque où l’on croyait encore que la sécurité par l’obfuscation était le summum de l’état de l’art pour sécuriser et protéger son logiciel et ses données. Mais il est possible que les nouvelles de sorties de (…)

Journal Enfin une chaîne de développement complètement open source pour un FPGA

49
30
mai
2015

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 (…)

Journal Risc-V est prêt pour le desktop™ !

Posté par  (site web personnel, Mastodon) . Licence CC By‑SA.
46
28
sept.
2018

Cher journal,

Savais tu que le set d'instructions libre Risc-V promu par ARM est désormais desktop ready™ ?

En effet, c'est WesternDigital qui vient de publier un tutoriel pour compiler la meilleur suite de logiciels connue pour le desktop : Fedora Gnome !
Le tuto cible un processeur U540 (4 cœurs 64bits U54 et 1 cœur E51) produit par SiFive. Si tu es pauvre tu pourras faire tourner cet OS desktop-ready avec Qemu.

Mais si tu es riche tu pourras (…)

Google libère les ASIC avec un PDK open source en 130 nm

Posté par  (site web personnel, Mastodon) . Édité par BAud, Xavier Teyssier, Ysabeau 🧶 🧦 et Davy Defaud. Modéré par Davy Defaud. Licence CC By‑SA.
45
5
juil.
2020
Matériel

La libération des FPGA s’accélère à grands pas, il devient presque difficile de suivre toutes les nouvelles sur le sujet. Mais les FPGA ne doivent pas nous faire oublier leurs grands frères que sont les ASIC.
Un FPGA est un composant ayant un silicium déjà « gravé » mais où il est possible de reconfigurer les connexions entre les éléments logiques à volonté. Dans le cas d’un ASIC, on va cette fois graver directement les transistors sur un silicium vierge et les relier via des couches métaliques une fois pour toutes. Il ne faut surtout pas se planter à l’étape de conception car on ne pourra pas modifier les interconnexions une fois la production lancée.

Sortie de la version 0.10 de Yosys

Posté par  (site web personnel, Mastodon) . Édité par palm123, Benoît Sibaud, Pierre Jarillon et Nicolas Boulay. Modéré par patrick_g. Licence CC By‑SA.
45
4
oct.
2021
Matériel

Yosys est devenu le pivot opensource du développement des circuits intégrés FPGA et ASIC.

Le 27 septembre 2021 a été publiée la nouvelle version 0.10 de Yosys sur l’hébergeur de gestionnaire de versions GitHub.
Cette sortie tardive (la 0.9 date de 2019) est l’occasion de parler de ce logiciel libre de synthèse Verilog, pivot de la libération des FPGA (et des ASIC). Plutôt que de simplement présenter les changements nous allons présenter le logiciel et le principe de la synthèse «RTL».

k1g1 : le premier FPGA Libre…

Posté par  (site web personnel) . Édité par Davy Defaud, Benoît Sibaud et palm123. Modéré par Davy Defaud. Licence CC By‑SA.
Étiquettes :
44
4
nov.
2019
Matériel

Cette dépêche est tirée d’un journal annonçant le k1g1, le premier FPGA libre… à sa connaissance.

Parmi les premiers commentaires du journal, on peut noter la promesse du succès mais pas avant dix ou vingt ans, des discussions sur les sociétés du domaine, l’évocation d’une puce de test, archipelago, le FPGA virtuel, etc.

Journal Lattice et l'open-source, la fin d'un rêve ?

43
5
juin
2020

Cher Journal.

Hier, David Shah, un des principaux développeur d'outils open source pour les FPGA (NextPnR, Trellis, prjoxide, ..) postait une citation de la nouvelle licence Lattice sur twitter:

Lattice interdit expressément de faire la rétroingénierie du format de ses fichiers de configuration appelé «bitstream».

L'ironie du sort c'est que cette nouvelle licence vient avec un SDK de développement basé massivement sur des logiciels libres et qui ne génère pas les fameux bitstream Lattice).

(…)

Sortie de Yosys Open Synthesis Suite 0.8

Posté par  (site web personnel, Mastodon) . Édité par ZeroHeure, Davy Defaud, palm123, bubar🦥 et BAud. Modéré par ZeroHeure. Licence CC By‑SA.
Étiquettes :
37
24
oct.
2018
Matériel

L’annonce a été faite mardi 16 octobre par W. Clifford : la version 0.8 de Yosis, un logiciel libre de synthèse Verilog est sortie.

Dans le processus de développement FPGA/ASIC la synthèse est l’étape de conversion du modèle matériel simulé en « netlist RTL », d’où l’on peut dériver le circuit réel.

EOS S3, le bitstream libéré !

37
11
juin
2020
Matériel

Pour configurer les différentes connexions des blocs de logiques contenus dans un FPGA il faut lui fournir un fichier de configuration appelé « bitstream ». Quand on parle de libération des FPGA, on pense principalement à la publication de ces spécifications.
Jusqu’à présent, cette « libération » s’est faite, pour une poignée de FPGA (majoritairement Lattice), par ingénierie inverse. Donc jamais à l’initiative du constructeur, ce dernier n’ayant même pas toujours connaissance de projet d’ingénierie inverse à destination de ses produits. Et il faut aller fouiller dans d’obscurs fils Twitter et autre forums de bidouilleurs pour les découvrir.

Mais la libération s’accélère, et une petite société peu connue dans le monde du FPGA vient de lancer un produit basé sur des outils libres pour le développement : l’EOS S3.

Simplifier la visualisation de chronogrammes

Posté par  (site web personnel) . Édité par Davy Defaud, palm123 et gUI. Modéré par Nÿco. Licence CC By‑SA.
Étiquettes :
35
13
nov.
2019
Matériel

Le développement avec des langages de description matériel, le (System)Verilog par exemple, nécessite très souvent de visualiser les chronogrammes afin de vérifier le comportement du composant en développement. Ces chronogrammes sont générés par un simulateur tel qu’Icarus et GHDL, pour les versions libres, ou bien encore par ModelSim, VCS et consorts, pour les versions propriétaires.

GTKWave est la référence dans le monde du logiciel libre pour afficher les chronogrammes, mais il existe également autant d’afficheurs que de simulateurs propriétaires. De très nombreux développeurs ont sans doute été confrontés au côté rébarbatif de l’insertion à la souris des signaux à observer. GTKWave, ainsi que les simulateurs propriétaires, embarquent un interpréteur de langage Tcl afin de faciliter l’édition des signaux à observer avec, bien sûr, une syntaxe différente à chaque fois…

J’ai donc décidé de créer le module Python Wavedisp permettant de décrire hiérarchiquement les signaux à observer, ainsi que de procéder à la génération de scripts d’affichage pour différents outils de visualisation, dont GTKWave.

Journal HiFive1: Un Arduino à 320Mhz entièrement libre pour 2017

Posté par  (site web personnel, Mastodon) . Licence CC By‑SA.
31
29
nov.
2016

À 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 (…)