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...
Comme le précise la page GitHub de LiteX [1], ce framework permettant de créer facilement des SoC, dans un langage de description appelé Migen et basé sur Python, ne se limite pas au seul écosystème de cores et de composants qui le compose. Comme nous l'avons vu dans les articles précédents, il est déjà possible de faire énormément de choses, y compris créer une plateforme capable de faire fonctionner un système GNU/Linux, grâce à ce que nous propose directement LiteX, presque clé en main. Mais mieux encore, nous pouvons étoffer tout cela avec des périphériques de notre création pour adapter la plateforme générée à n'importe quelle situation, ou n'importe quel besoin. Ceci passe par la création de modules et de classes Python, décrivant le matériel à synthétiser, la façon de le connecter au reste de la plateforme et ses interactions avec du logiciel exécuté par l'un des softcores proposés par LiteX (RISC-V, Power ISA, OpenRISC…
- 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