2016-01-02 1 views
0

Je suis en train d'implémenter un PRNG en VHDL en utilisant des LFSR. LFSR génère des nombres distribués uniformes, mais j'ai besoin d'une distribution exponentielle. Par conséquent, je voudrais utiliser des nombres à virgule flottante basés sur la norme IEEE754, mais cela ne peut pas être synthétisé par l'outil de synthèse Xilinx. Pourriez-vous m'aider, que dois-je faire? Existe-t-il des bibliothèques compatibles avec la synthèse ou des codes VHDL?VHDL et nombres à virgule flottante (IEEE754)

Merci d'avance!

+1

VHDL-2008 intègre des boîtiers à virgule fixe et à virgule flottante. Mais je commencerais par considérer ce qu'il faudrait pour traiter un ou plusieurs LFSR pour convertir leur sortie à la distribution dont vous avez besoin: il peut être plus efficace sur le plan matériel qu'une solution à virgule flottante. –

+0

@BrianDrummond Tout d'abord, merci pour la réponse. Pourriez-vous me dire une autre façon de résoudre le problème? Comment convertir une distribution uniforme en exponentielle sans la fonction exponentielle (ou une fonction d'ajustement, comme un ajustement polynomial)? –

+1

Pas spécifiquement, en partie parce que je ne peux pas visualiser la distribution que vous recherchez. Mais par exemple, la somme linéaire de 2 distributions uniformes décorrélées donne une distribution triangulaire; Idem la somme de 10 ou plus donne une assez bonne approximation à une distribution gaussienne. –

Répondre

0

Dans le catalogue IP de Vivado, une adresse IP flottante peut être trouvée. Il est connecté via AXI-4, mais cela me convient, car j'utilise MicroBlaze.