Bonjour,
Une première remarque après avoir lu uniquement l'intro ; il y a déjà une confusion sur la notion de décalage :
- Tout d'abord, si on décale vers la *gauche*, c'est le bit de poids *faible* qui prend une nouvelle valeur. Vu la suite de l'exemple, je suppose que le décalage dont on parle est en réalité un décalage vers la *droite*.
- Ensuite, pour pinailler, lorsque l'on décale, en réalité, on ne met pas toujours un 1 ou toujours un 0. Cela dépends de si l'on fait un décalage logique ou arithmétique. Un décalage logique fera toujours rentrer un 0, quel que soit le sens du décalage, tandis qu'un décalage arithmétique fera rentrer un 0 lors d'un décalage vers la gauche, mais fera rentrer un bit dont la valeur est égale au bit de poids fort lors d'un décalage vers la droite, ceci afin de préserver le signe de l'opérande, et de conserver la signification mathématique (division par 2) y compris pour les nombres négatifs en complément à 2. Après, on peut bien sûr avoir un registre à décalage customisé, dans une situation particulière, qui ferait toujours rentrer un 1 ou un 0 (par exemple dans un buffer). Mais c'était juste pour faire remarquer que le *toujours* un 1 ou *toujours* un 0 est un raccourci un peu rapide...
Voilà pour mon petit grain de sel ;-). Je continue la lecture de l'article, je suis justement à la recherche d'un générateur matériel aléatoire, merci donc pour cet article qui tombe bien.
EDIT : J'ai terminé la lecture, très bon article qui explique les choses assez clairement. Je ne pensais pas que le fonctionnement des générateurs aléatoires à registre à décalage était si simple. Merci donc pour cet article.
Une petite question, par contre, concernant la génération par désynchronisation d'horloge : je suppose qu'il faut deux sources d'horloges indépendantes pour obtenir ce résultat ; si on génère l'horloge lente à partir de l'horloge rapide, on a une synchronisation implicite ? Si oui, cette technique est-elle possible si un seul quartz est présent ? je prends un exemple concret sur une carte que j'utilise : est-ce possible à mettre en œuvre sur une carte de type ZedBoard, où, il me semble, il n'y a qu'une seule source d'horloge ? (Je peux me tromper sur ce point).
0 |
0 |