Implémentation efficace d'algorithmes sur FPGA : Machines à état

Magazine
Marque
Open Silicium
Numéro
2
|
Mois de parution
avril 2011
|
Domaines


Résumé

L'article précédent vous a présenté deux façons de réaliser un multiplieur complexe, toutes deux proches de la méthode naïve qui consiste à utiliser un circuit arithmétique de base (multiplieur, additionneur, soustracteur) par opération et à les connecter selon l'arbre de calcul. Nous allons maintenant voir comment partager le même circuit arithmétique entre plusieurs opérations.


La suite est réservée aux abonnés. Déjà abonné ? Se connecter

Sur le même sujet

Une caméra web ESP32 pour surveiller son environnement

Magazine
Marque
Hackable
Numéro
33
|
Mois de parution
avril 2020
|
Domaines
Résumé

L'ESP32-CAM permet de très simplement et très économiquement créer une simple webcam Wi-Fi. Ceci est très pratique, mais ne présente pas réellement d'intérêt lorsqu'on compare cela à la myriade de produits clé en main similaires et disponibles à bas prix. Ce qui est plus intéressant en revanche, c’est l'opportunité d'avoir totalement la main sur les fonctionnalités embarquées et donc de pouvoir se confectionner un système répondant à un cahier des charges totalement arbitraire. Chose difficile, sinon impossible avec un produit manufacturé. Que diriez-vous de créer une webcam connectée qui affiche, en plus de l'image, des données environnementales comme la température ou l'hygrométrie ?

Un RISC-V à bas coût pour monitorer votre PC avec LCDproc

Magazine
Marque
Hackable
Numéro
33
|
Mois de parution
avril 2020
|
Domaines
Résumé

Dans un précédent Hackable, Patrice Kadionik nous présentait un montage permettant d’afficher l’état de votre ordinateur sur un petit afficheur déporté, branché à un port USB. Dans cet article, nous allons voir comment il est possible de faire la même chose avec un kit RISC-V à 4.90 $, muni d’un microcontrôleur GD32VF de la société GigaDevice. Une belle occasion de mettre en pratique un microcontrôleur RISC-V réel.

Le module du moment : bouton capacitif

Magazine
Marque
Hackable
Numéro
33
|
Mois de parution
avril 2020
|
Domaines
Résumé

Le bouton-poussoir est la forme la plus basique d'interface humaine qu'un montage puisse avoir. Ceci suppose cependant de prendre en compte bon nombre de caractéristiques mécaniques et électroniques, comme par exemple le fait de gérer les rebonds, de manière matérielle ou logicielle. Pouvoir disposer d'une telle interface sous une forme plus simple et plus « moderne » est l'objet même de ce module proposant un bouton tactile capacitif et donc, sans éléments mécaniques.

Se protéger de la rétro-ingénierie matérielle

Magazine
Marque
Hackable
Numéro
33
|
Mois de parution
avril 2020
|
Domaines
Résumé

En 2008, la rétro-ingénierie matérielle fut mise sur le devant de la scène par deux chercheurs allemands [14] qui réussirent à casser l'algorithme cryptographique propriétaire Crypto-1 de NXP (Philips), uniquement à l'aide de la rétro-ingénierie matérielle d'une puce de silicium. Cet algorithme était alors utilisé dans les puces RFID Mifare Classic qui étaient elles-mêmes utilisées massivement dans des cartes de métro ou de parking, voire dans des cartes d'accès.

Prise en main de l'ESP32-CAM

Magazine
Marque
Hackable
Numéro
33
|
Mois de parution
avril 2020
|
Domaines
Résumé

En septembre dernier, Espressif annonçait l'arrivée prochaine d'un nouveau microcontrôleur ESP32-S2, venant compléter la famille des biens connus ESP8266 et ESP32. C'est en cherchant à me renseigner sur cette nouveauté et sur la disponibilité des premiers devkits que je suis tombé, par hasard, sur un module à base d'ESP32, à très bas coût, mais proposant une caméra intégrée avec une fonctionnalité de reconnaissance faciale. Bien que ne voyant pas vraiment l'intérêt réel de ce genre de choses pourtant très à la mode, j'ai cependant décidé de tester la bête...

Circuitjs simule des circuits électroniques dans votre navigateur

Magazine
Marque
Hackable
Numéro
33
|
Mois de parution
avril 2020
|
Domaines
Résumé

Aux antipodes de SPICE, circuitjs est pourtant un outil indispensable que même les débutants devraient avoir le réflexe d'utiliser avant de faire chauffer le fer à souder. Créé par Paul Falstad, il ne nécessite aucune installation, car il tourne directement en JavaScript sur votre navigateur. Son interface minimaliste est rapide à prendre en main et permet de prototyper rapidement des circuits virtuels, essentiellement dans le domaine analogique. Et il est même sous GPL.

Par le même auteur

Migen, une « boîte à outils » en Python pour concevoir des circuits logiques complexes

Magazine
Marque
GNU/Linux Magazine
Numéro
149
|
Mois de parution
mai 2012
|
Domaines
Résumé

La conception de circuits logiques en VHDL ou Verilog est souvent perçue comme rébarbative. Les débutants sont régulièrement perdus dans la masse de détails à maîtriser en une seule fois pour obtenir un circuit fonctionnel. Les utilisateurs expérimentés pourraient être plus productifs en automatisant certaines tâches au lieu d'éditer trop souvent le code bas niveau à la main. Cet article donne une (courte) introduction à Migen, une bibliothèque Python permettant de manipuler et générer plus facilement des circuits logiques complexes.

Implémentation efficace d'algorithmes sur FPGA : Machines à état

Magazine
Marque
Open Silicium
Numéro
2
|
Mois de parution
avril 2011
|
Domaines
Résumé

L'article précédent vous a présenté deux façons de réaliser un multiplieur complexe, toutes deux proches de la méthode naïve qui consiste à utiliser un circuit arithmétique de base (multiplieur, additionneur, soustracteur) par opération et à les connecter selon l'arbre de calcul. Nous allons maintenant voir comment partager le même circuit arithmétique entre plusieurs opérations.

Implémentation efficace d'algorithmes sur FPGA

Magazine
Marque
Open Silicium
Numéro
1
|
Mois de parution
janvier 2011
|
Domaines
Résumé

Les FPGA ouvrent des possibilités de calculs extrêmement performants, à condition de bien savoir les utiliser. Cet article est le premier d'une série visant à montrer, en partant d'un exemple simple, comment différents choix d'architectures impactent les performances et l'utilisation des ressources disponibles sur le FPGA. Ce choix est primordial mais souvent négligé dans beaucoup de « cores » open source qui sont parfois des monstres de lenteur et d'inefficacité.

SoC Milkymist: le développement logiciel en pratique

Magazine
Marque
GNU/Linux Magazine
Numéro
130
|
Mois de parution
septembre 2010
|
Résumé
Le numéro 124 de février vous a donné une présentation générale et assez théorique du System-on-Chip (SoC) libre Milkymist. Maintenant, nous allons nous orienter vers la pratique en détaillant les différentes opérations nécessaires au développement de logiciels fonctionnant sur cette plate-forme : installation des outils de compilation, construction d'un noyau Linux compatible, compilation d'applications et utilisation de l'émulateur QEMU, pour finir avec la configuration d'une carte de développement FPGA permettant de prototyper le SoC et le déploiement du logiciel sur cette dernière.

Milkymist, un System-on-Chip libre et orienté vidéo temps réel

Magazine
Marque
GNU/Linux Magazine
Numéro
124
|
Mois de parution
février 2010
|
Résumé
Jusqu'à récemment, la conception de puces et en particulier de System-on-Chips (puce embarquant à la fois un microprocesseur performant et de nombreux périphériques) était réservée aux laboratoires privés et à la recherche académique, pour des raisons principalement financières. Cela a exclu le monde du libre - reposant largement sur les « bidouilleurs » - de ce milieu, et ainsi, l'écrasante majorité des System-on-Chips vendus actuellement sont issus de documents de conception propriétaires et jalousement gardés. Aujourd'hui, la large disponibilité de FPGA (puces « sculptables » à volonté) relativement performants et à faible coût a le potentiel de changer la donne. Cet article donne une présentation générale de Milkymist, un System-on-Chip sous GPL capable de faire fonctionner Linux et destiné à des applications de performances artistiques vidéo en temps réel telles que le VJ.