Journal NaxRiscv, un CPU rapide open source

Posté par  (site web personnel) . Licence CC By‑SA.
28
4
jan.
2024

En parcourant le journal sur le 37C3, sur les conférences du Chaos Computer Club Allemand, je suis tombé sur la présentation d'un CPU open source, le NaxRiscv.

Pour ceux qui se souviennent, c'était le rêve d'un groupe d'illuminé autour du F-cpu dans les années 2000.

Le NaxRiscv est donc un CPU RISC-V out-of-order. Il exécute maximum 3 instructions à la volée ce qui permet d'être plus rapide qu'un ARM M4 à fréquence égale.

Ce CPU est écrit non pas (…)

Journal Hydromel : mon langage de description de matériel idéal ?

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
25
14
avr.
2022

Sur LinuxFr, on me connaît (ou pas) comme le développeur du logiciel de présentation Sozi mais ce n'est pas ma principale activité. Loin du JavaScript et du SVG, mon travail quotidien relève en fait du domaine des systèmes embarqués et des FPGA. Dans ce cadre, je pratique et j'enseigne le langage VHDL. J'anime également des TP d'initiation au langage Verilog, un peu par obligation.

VHDL et Verilog appartiennent à la famille des langages de description de matériel, ou HDL (…)

CocoTB 1.4.0, la maturité

Posté par  (site web personnel, Mastodon) . Édité par palm123, Davy Defaud et Nils Ratusznik. Modéré par claudex. Licence CC By‑SA.
Étiquettes :
26
17
juil.
2020
Matériel

C’est dans la soirée du 8 juillet que l’annonce est tombée : la version 1.4.0 de CocoTB est sortie. Cette nouvelle version est une belle évolution de Cocotb avec une bonne intégration dans le système de paquets de Python ainsi que l’abandon de la prise en charge de Python 2. On peut aujourd’hui dire que CocoTB est une alternative sérieuse pour écrire ses bancs de test HDL.

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.

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.

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.

Journal Un composant électronique TapTempo avec Chisel3

Posté par  (site web personnel, Mastodon) . Licence CC By‑SA.
57
15
avr.
2018

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

Journal Après le kit HiFive, QWERTY Embedded Design propose un nouveau kit lowcost : LoFive

Posté par  (site web personnel, Mastodon) . Licence CC By‑SA.
12
21
sept.
2017

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