Démarrez en développement FPGA avec Python & LiteX

La création d'un SoC ou d'un MCU "sur mesure" dans un FPGA nécessite par défaut l'apprentissage de VHDL ou Verilog. Le framework LiteX propose une alternative simple et puissante : décrire et composer votre softcore en Python !
Nombre d'articles :
6 article(s)
Type de liste de lecture
Parcours pédagogiques
Niveau :
Débutant

FPGA facile : petite présentation et prise en main de LiteX

Magazine
Marque
Hackable
Numéro
57
Mois de parution
novembre 2024
Spécialité(s)
Résumé

LiteX est un projet qui aurait dû faire l'objet d'un article depuis bien longtemps, puisqu'il s'agit sans doute de la façon la plus simple d'aborder le monde des circuits logiques programmables (PLD), et des FPGA en particulier. Plus exactement, ce framework permet de composer son matériel avec des briques élémentaires, sans utiliser de Verilog ou de VHDL et d'obtenir, au final, un système embarqué ou un périphérique sur mesure qu'on peut ensuite programmer. Découvrons cela...

LiteX : Linux sur un SoC RISC-V en FPGA

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

Dans un précédent article [1], nous avons découvert LiteX, une solution permettant de créer des périphériques et SoC en toute simplicité, sans avoir à apprendre à utiliser des langages de description de matériel comme Verilog et VHDL. Aujourd'hui, poussons plus loin l'exploration de ce framework doublé d'une infrastructure de construction et basé sur Python en faisant fonctionner un système d'exploitation GNU/Linux sur une plateforme « full FPGA » RISC-V.

LiteX : parlons un peu de code...

Magazine
Marque
Hackable
Numéro
62
Mois de parution
septembre 2025
Spécialité(s)
Résumé

Dans le précédent article, nous avons exploré le fait de composer un SoC « maison » grâce au framework LiteX, de le synthétiser, de le configurer dans la mémoire du FPGA et de créer un petit code en C qui, une fois compilé, est exécuté par le softcore RISC-V. Mais ce n'était pas suffisant et j'ai continué les expérimentations, tombant sur plusieurs subtilités très intéressantes que je me dois de partager avec vous ici. Poursuivons donc notre découverte du fabuleux et captivant monde de LiteX...

LiteX en pratique : créons notre MCU sur mesure

Magazine
Marque
Hackable
Numéro
62
Mois de parution
septembre 2025
Spécialité(s)
Résumé

Dans de précédents articles ([1] et [2]), nous avons découvert le framework LiteX permettant de créer simplement des SoC softcores en utilisant le langage Python et d'instancier ces designs sur différents devkits FPGA, ceci au point de faire démarrer un système GNU/Linux à partir d'un disque SATA. Mais tout ceci n'était, somme toute, que de la prise en main, reposant massivement sur des exemples du projet. Aujourd'hui, nous allons creuser un peu davantage le sujet en voyant comment, via quelques fichiers Python, nous pouvons créer notre SoC (ou MCU) bien à nous, en rassemblant toutes les briques nécessaires dans un projet « maison »...

Toujours plus loin dans LiteX : des histoires de nonos et de bar

Magazine
Marque
Hackable
Numéro
63
Mois de parution
novembre 2025
Spécialité(s)
Résumé

Dans le précédent article [1], nous avons affiné notre configuration pour supporter pleinement toute la richesse de ce que le langage C et la chaîne de compilation peuvent offrir en termes d'adressage mémoire, et sommes même allés jusqu'à utiliser ces mécanismes pour piloter une série de 64 LED adressables WS2812. Mais tout ceci se passe depuis « l'intérieur » du SoC lui-même et il est temps à présent d'accéder à cet espace depuis le monde extérieur.

Créons un « pilote » bare metal pour une interface série

Magazine
Marque
Hackable
Numéro
63
Mois de parution
novembre 2025
Spécialité(s)
Résumé

Durant mes pérégrinations dans le petit monde du développement FPGA avec LiteX s'est posée une problématique intéressante, consistant à devoir écrire un support pour une interface série (UART) en n’ayant à disposition rien d'autre qu'une poignée de registres où lire ou écrire. Cet exercice, pour moi, était une phase préalable à l'implémentation d'un pilote pour un système d'exploitation, mais serait transposable à n'importe quel type d'interface reposant sur des mécanismes similaires, et ce, sur n'importe quel MCU ou SoC, actuel ou ancien. Faisons donc connaissance avec l'UART LiteX, voulez-vous ?