FPGA, HDL et Linux : petite mise en bouche pratique

Magazine
Marque
Open Silicium
Numéro
6
Mois de parution
mars 2013
Domaines


Résumé

Vous avez peut-être déjà entendu parler de circuits logiques programmables comme les CPLD ou les FPGA, des langages de description de matériel (HDL) et de la notion de processeur soft-core. Approcher ce domaine, pour un développeur ou une personne davantage versée dans la programmation que dans la conception de circuits, est toutefois assez délicat. Non seulement le domaine est très différent, mais il en va de même pour les concepts, les outils et les méthodes de développement. L'idée derrière cet article n'est pas de faire une introduction « académique » à la programmation HDL, ni même de vous fournir quelques notions de base, mais de vous faire comprendre, dans les grandes lignes, ce qu'est la description de matériel avec un objectif simple : faire fonctionner un système GNU/Linux sur une implémentation de processeur programmée dans un FPGA.


Dans ce premier paragraphe d'introduction, nous avons déjà quelques concepts nébuleux. L'un d'entre eux est le processeur soft-core. Vous connaissez les processeurs, il y en a dans votre ordinateur, votre smartphone, votre console de jeux, votre montre sans doute, etc. Ces composants sont des circuits destinés à exécuter des programmes écrits en langage machine issus, par exemple, de la compilation de programmes rédigés par un humain (ou assimilé humain) en C. Les processeurs sont constitués de plusieurs éléments comme une unité arithmétique et logique, des registres, des horloges, ... mais tous ces composants ne sont finalement que des versions miniaturisées de circuits logiques et de combinaisons de portes logiques prenant, quant à elles, matériellement la forme de transistors. Un processeur n'est en réalité qu'un énorme amoncellement de transistors interconnectés, gravés dans le silicium, le cuivre et le tungstène. Vous pouvez voir cela comme un circuit...

Cet article est réservé aux abonnés. Il vous reste 98% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Une nouvelle méthode d’imagerie tridimensionnelle pour la rétro-ingénierie des circuits intégrés

Magazine
Marque
Hackable
Numéro
37
Mois de parution
avril 2021
Domaines
Résumé

La rétro-ingénierie matérielle, et plus particulièrement la rétro-ingénierie du silicium, trouve très rapidement ses limites dans les attaques non invasives où la puce reste fonctionnelle et intègre. Pour pouvoir analyser en profondeur un circuit logique, il faut aujourd’hui forcément passer par une décapsulation et une déstratification, ce qui implique alors la destruction inévitable de la puce. Ces méthodes destructives étaient les seuls moyens d’accéder aux différentes couches d’une puce de silicium et donc de pouvoir reconstituer tout le circuit logique de celle-ci. Mais récemment, des chercheurs ont proposé une nouvelle méthode d’imagerie tridimensionnelle des circuits intégrés, d’abord pour un usage industriel, mais aussi inédit pour la rétro-ingénierie du silicium, qui permet l’analyse en profondeur, sans passer par les processus destructeurs habituels.

Installer OpenOCD spécial Pico pour votre Debian

Magazine
Marque
Hackable
Numéro
37
Mois de parution
avril 2021
Domaines
Résumé

N'importe quelle occurrence de la commande « sudo make install » me rappelle d'horribles souvenirs de mes débuts sous GNU/Linux, il y a de très nombreuses années (1995). Peupler ainsi manuellement son /usr/local de fichiers, programmes et bibliothèques est une recette parfaite pour une catastrophe et des conflits en tous genres. Mieux vaut suivre la voie dictée par la distribution et son système de gestion de paquets. Voyons cela en pratique avec l'OpenOCD modifié par la fondation Raspberry Pi et, en prime, découvrons une excellente alternative à l'utilisation d'UF2 ou Picotool.

De la preuve formelle en Verilog, librement

Magazine
Marque
Hackable
Numéro
37
Mois de parution
avril 2021
Domaines
Résumé

Dans cet article, on se propose de découvrir une autre méthode de validation d’un composant écrit en Verilog. L’idée est de décrire les propriétés du composant et de laisser l’ordinateur chercher les stimuli qui feront échouer des propriétés. Ça n’est plus le développeur qui écrit les tests, mais la machine. Cette méthode a récemment été rendue possible avec des logiciels libres grâce à la suite d’outils Yosys (synthèse Verilog), Yosys-SMTBMC (solveur) ainsi que SymbiYosys qui les chapeaute.

Mesurer l’éclairement avec Arduino

Magazine
Marque
Hackable
Numéro
37
Mois de parution
avril 2021
Domaines
Résumé

Papa de trois enfants en bas âge, j’ai souvent la tête dans les jouets. Mes enfants, comme beaucoup, s’amusent parfois à faire semblant d’acheter. Et si je leur fabriquais une sorte de « caisse/dînette » ! Ce serait tellement mieux s’ils pouvaient scanner des articles et que « ça marche », pour ensuite payer le total par carte !

Libérez votre CPU, utilisez l’accès direct mémoire : le DMA

Magazine
Marque
Hackable
Numéro
36
Mois de parution
janvier 2021
Domaines
Résumé

L’article « Pilotez de manière optimale vos afficheurs LED » de Hackable Magazine no34 illustre la manière dont on doit envisager la programmation embarquée : ne pas faire maladroitement en software ce que le hardware prend en charge. Depuis bientôt 10 ans, les microcontrôleurs 32 bits proposent en standard un ou plusieurs contrôleurs DMA qui transfèrent des données entre mémoire et périphériques sans mobiliser le CPU, n’attendons donc pas pour les mettre au travail.