Créons un périphérique « maison » pour notre SoC LiteX

Magazine
Marque
Hackable
Numéro
64
Mois de parution
janvier 2026
Spécialité(s)


Résumé

J'ai, à de nombreuses reprises, détaillé en quoi implémenter un SoC sur mesure sur un FPGA présentait de nombreux avantages. En particulier lorsque cela est aussi facile qu'avec le framework LiteX où, avec un minimum de code Python, cela se transforme en un simple jeu de construction. Mais utiliser les périphériques déjà disponibles, même s'ils sont nombreux et variés, ne représente qu'une petite partie des bénéfices de l'exercice. Là où cela devient réellement magique, c'est lorsqu'il s'agit de créer ses propres périphériques, et c'est précisément ce que nous allons voir ici.


Vous le savez peut-être, sauf en cas de besoins spécifiques, je ne suis pas très fan des langages interprétés, et de Python en particulier. Certes, ils ont leurs intérêts, c'est le cas de Bash, du Shell *BSD, de Awk, de m4 en ce qui me concerne, mais dans le cas de l'embarqué, de MCU ou du contrôle de périphériques, des choses comme MicroPython ne font pas vraiment sens dans mon esprit. Le gâchis de précieuses ressources, couplé à l'indentation significative pour les structures de contrôle et au typage dynamique m'ont toujours tenu à l'écart de toutes expérimentations de ce genre. Mais ça, c'était avant Migen [1] et surtout LiteX [2].

La suite est réservée aux abonnés. Il vous reste 97% à découvrir.
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Envie de lire la suite ? Rejoignez Connect
Je m'abonne maintenant


Article rédigé par

Par le(s) même(s) auteur(s)

Intégrons des IP cores HDL à nos projets LiteX

Magazine
Marque
Hackable
Numéro
64
Mois de parution
janvier 2026
Spécialité(s)
Résumé

Dans un précédent article, nous avons créé notre propre périphérique, écrit en Python/Migen, et l'avons intégré à notre SoC LiteX afin de permettre un pilotage depuis un code C exécuté par le SoC RISC-V (VexRiscv). Mais réimplémenter systématiquement en Migen les éléments dont nous pouvons avoir besoin représente un investissement conséquent en temps et en énergie. Fort heureusement, LiteX permet de relativement simplement intégrer du code HDL, Verilog, VHDL ou autre, et donc de profiter de l'ensemble des IP cores disponibles sous licence open source pour les utiliser dans son projet...

Colorlight 5A-75B : développement FPGA avec LiteX et petits hacks

Magazine
Marque
Hackable
Numéro
64
Mois de parution
janvier 2026
Spécialité(s)
Résumé

Dans le petit monde des cartes et des équipements initialement destinés à une tout autre utilisation, mais pouvant faire office de très sympathiques plateformes de développement FPGA, la famille « Colorlight » est presque un classique. Ce matériel, initialement prévu pour être une carte de pilotage de panneaux à LED interfacée en Ethernet, a déjà été évoqué dans les pages de ce magazine, dans un excellent article de Fabien Marteau il y a quelques années [1]. Nous revenons ici sur le sujet, avec une approche différente et, surtout, une modification matérielle permettant d'en tirer vraiment le maximum...

Carte PCIe CH368 et pilotage depuis l'espace utilisateur : récit d'un échec

Magazine
Marque
GNU/Linux Magazine
Numéro
279
Mois de parution
janvier 2026
Spécialité(s)
Résumé

Parfois, on se fixe des objectifs tout en sachant que ce n'est pas vraiment la bonne façon de faire, mais que l'approche visée pourrait être originale, amusante et instructive. Dans cette catégorie de fausses bonnes idées, nous avons le fait de vouloir utiliser un matériel PCIe directement depuis l'espace utilisateur, un peu comme on met en œuvre la libUSB pour un périphérique non directement pris en charge par un pilote noyau. La victime supposée de cette aventure est une carte CH368L, qui en soi est déjà relativement atypique...

Les listes de lecture

Communications satellites

7 article(s) - ajoutée le 01/07/2020
La SDR permet désormais de toucher du doigt un domaine qui était jusqu'alors inaccessible : la réception et l'interprétation de signaux venus de l'espace. Découvrez ici différentes techniques utilisables, de la plus simple à la plus avancée...

Rétrocomputing : résurrection de matériel

8 article(s) - ajoutée le 01/07/2020
Au-delà de l'aspect nostalgique, le rétrocomputing est l'opportunité unique de renouer avec les concepts de base dans leur plus simple expression. Vous trouverez ici quelques-unes des technologies qui ont fait de l'informatique ce qu'elle est aujourd'hui.

Outils et matériel pour la SDR

9 article(s) - ajoutée le 01/07/2020
S'initier à la SDR est une activité financièrement très accessible, mais devant l'offre matérielle il est parfois difficile de faire ses premiers pas. Découvrez ici les options à votre disposition et les bases pour aborder cette thématique sereinement.
Plus de listes de lecture