Conception et applications des LFSR en VHDL

Magazine
Marque
Open Silicium
Numéro
1
Mois de parution
janvier 2011
Spécialité(s)


Résumé

Les LFSR (registres à décalage à rétroaction linéaire) sont une famille de générateurs de bits pseudo-aléatoires. Ils sont techniquement les plus simples de tous, ce qui explique qu'ils sont couramment employés en informatique et en électronique. Nous allons étudier comment les réaliser en VHDL, en écrivant des unités génériques, portables, simulables et synthétisables, réutilisables dans de nombreuses situations. Plusieurs cas pratiques sont ensuite présentés.


1. Rappels

Les LFSR ont déjà été étudiés dans ce magazine en 2006 [1]. Les avantages majeurs de ces structures sont la simplicité de réalisation, ainsi que les propriétés très bien comprises et très utiles des nombres générés. Nous allons nous concentrer sur les aspects pratiques après ces quelques rappels théoriques :

- Les LFSR génèrent des valeurs pseudo-aléatoires, c'est-à-dire qu'elles ont l'air embrouillées pour un œil non averti, mais la séquence est parfaitement déterministe, elle n'est pas aléatoire. C'est même pour cela qu'on les utilise en télécommunications (GPS, GSM, Ethernet, ...).

- Un LFSR peut être décrit ou identifié grâce à son polynôme seul, que nous représentons ici sous forme d'une liste de nombres. En mathématiques classiques, un polynôme de huitième degré (correspondant à un LFSR à 8 bits) est écrit sous la forme x8+x

La suite est réservée aux abonnés. Il vous reste 98% à découvrir.
  • 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
Envie de lire la suite ? Rejoignez Connect
Je m'abonne maintenant


Article rédigé par

Par le(s) même(s) auteur(s)

Erreurs en rafales, multiparités et codes Gray entrelacés

Magazine
Marque
GNU/Linux Magazine
Numéro
277
Mois de parution
septembre 2025
Spécialité(s)
Résumé

Le bit de parité est semblable à ce brave petit soldat qui sonne l’alerte, avec ses moyens réduits et quand il le peut, pour que la cavalerie vienne s’occuper du problème. Mais cet humble bit obéit aux lois de l’information et laisse passer une erreur sur deux. Grâce aux codes Gray, configurés de façon inhabituelle, nous pourrons mieux filtrer les erreurs, sans augmenter considérablement la taille du circuit ni déployer des théories (trop) complexes.

Visualisez les données grâce à l’alphabet Braille !

Magazine
Marque
GNU/Linux Magazine
Numéro
275
Mois de parution
mai 2025
Spécialité(s)
Résumé

Quand on travaille avec de grandes quantités de bits, on n’a pas forcément envie de faire une interface graphique, et les afficher dans le terminal graphique n’est pas facile. Un bit occupe toute la place d’un caractère et la représentation hexadécimale n’est pas très parlante. Heureusement, Unicode est là !

aStrA : vers de vraies chaînes de caractères en C !

Magazine
Marque
GNU/Linux Magazine
Numéro
275
Mois de parution
mai 2025
Spécialité(s)
Résumé

Qu’est-ce qui caractérise un langage de haut niveau ? On peut dire que celui-ci doit au moins gérer les chaînes de caractères facilement et sans aucun risque. BASIC le faisait il y a soixante ans. N’importe quel langage courant le fait actuellement. Pourtant, le précédent article a démont(r)é [1] que le C n’en fait pas partie, surtout à cause des fonctions printf(3) et assimilées : elles procurent une illusion d’aisance qui s’effondre vite et c’est un vrai nid à failles. Nous avons suggéré quelques solutions que nous allons mettre en œuvre ici, grâce notamment au format des chaînes alignées [2] étendu avec des attributs, d’où le nom aStrA. Cela demande un peu de bricolage pour les réaliser en C, mais c’est un premier pas en avant, une base qui ne demande qu’à évoluer.

Quelques réalisations basées sur l'algorithme PEAC

Magazine
Marque
GNU/Linux Magazine
Numéro
275
Mois de parution
mai 2025
Spécialité(s)
Résumé

L’exploration des algorithmes PEAC et de leurs applications se poursuit ! Le précédent article [1] avait abouti sur une fonction de checksum ultrarapide pour calculer l’empreinte d’un fichier. Cette fois-ci, nous irons plus loin en décortiquant d’autres réalisations pratiques, certaines complémentant les LFSR et d’autres les supplantant. Un petit tour du côté de POSIX nous rappellera qu’il est temps de tourner la page. Nous en profiterons même pour tâter un peu de VHDL : l’algorithme PEAC peut aussi sortir du monde logiciel ! On commence ici à s’approcher d’un « cookbook ».

Les listes de lecture

7 article(s) - ajoutée le 01/07/2020
La SDR permet désormais de toucher du doigt un domaine qui était jusqu'alors inaccessible : la réception et l'interprétation de signaux venus de l'espace. Découvrez ici différentes techniques utilisables, de la plus simple à la plus avancée...
8 article(s) - ajoutée le 01/07/2020
Au-delà de l'aspect nostalgique, le rétrocomputing est l'opportunité unique de renouer avec les concepts de base dans leur plus simple expression. Vous trouverez ici quelques-unes des technologies qui ont fait de l'informatique ce qu'elle est aujourd'hui.
9 article(s) - ajoutée le 01/07/2020
S'initier à la SDR est une activité financièrement très accessible, mais devant l'offre matérielle il est parfois difficile de faire ses premiers pas. Découvrez ici les options à votre disposition et les bases pour aborder cette thématique sereinement.
Plus de listes de lecture