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].

- 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