2013-01-08 4 views

Répondre

3

Si vous développez un FPGA uniquement ou un projet d'application bare metal + FPGA, je générerais le nombre (pseudo) aléatoire dans le FPGA. Si vous utilisez Linux et construisez une application embarquée + FPGA, je générerais le numéro dans le logiciel.

Si vous générez le numéro dans le FPGA, alors vous pouvez utiliser un modèle de code intégré dans Xilinx ISE! Les chances sont que vous utilisez ISE parce que je doute que tout le reste supporte Zynq pour le moment.

Générer un LFSR dans ISE comme ceci: Dans le menu en haut: Édition -> Modèles de langues. Dans l'arborescence des modèles de langage: (VHDL ou Verilog) -> Constructions de synthèse -> Exemples de codage -> Compteurs -> LFSR. L'un des 4 modèles est 32 bits. Vous devrez fournir un numéro de série et une ligne d'horloge.

Si vous générez le nombre aléatoire à partir d'une application Linux, il doit y avoir plusieurs façons différentes de le faire. A partir d'une application C, il existe une fonction rand dans cstdlib.

1

Vous êtes probablement un "Feedback linéaire Registre de décalage" ou LFSR. Une recherche rapide sur Internet vous obtiendra des détails.