Cet exemple de conception de Mandelbrot démontre l’utilisation du Nios® II compilateur d’accélération C-to-Hardware (C2H) de processeur embarqué. Dans cet exemple, le compilateur C2H transforme l’implémentation en C de l’algorithme Mandelbrot en matériel. Cette conception contient également un contrôleur vidéo pour afficher une vidéo en mouvement complet des valeurs de pixels calculées.
Le schéma Mandelbrot est devenu l’une des fractales les plus connues en raison de ses modèles complexes et de son implémentation intensive en processeur. L’algorithme fonctionne dans le plan complexe où le modèle x représente le composant réel, et où le y-az représente le composant ivolthique. L’exemple effectue des mouvements vers différentes régions du plan et effectue également un zoom avant et l’extérieur, créant ainsi une vidéo en plein mouvement.
Cet exemple utilise pleinement le parallélisme en effectuant des calculs de coordonnées dans des logiciels pendant l’utilisation des accélérateurs matériels. Pour ce faire, il faut tripler la mise en mémoire tampon des données vidéo dans la DDR SDRAM et utiliser le processeur Nios II embarqué pour coordonner le flux de données. Chaque fois qu’un tampon d’images complet est rendu par l’accélérateur matériel, les données sont ensuite gérées par le processeur pour superposer les données de banc d’essai et informer le contrôleur vidéo qu’une nouvelle mémoire tampon est prête pour l’affichage.
Utiliser cet exemple de conception
Cette conception cible les kits de développement suivants :
- Nios II kit d’évaluation embarqué, édition Cyclone® III FPGA
- Nios II kit de développement embarqué, édition Cyclone III FPGA
Téléchargez l’exemple de conception Nios II C2H Mandelbrot (.zip)
Téléchargez l’exemple de conception C2H Nios II Mandelbrot README (.txt fichier)
L’utilisation de cette conception est régie par les conditions générales du contrat de licence d’Intel® Design Example.
Les fichiers .zip contiennent tous les fichiers logiciels nécessaires pour reproduire l’exemple, ainsi qu’un fichier readme.txt. Le fichier readme.txt contient des instructions décrivant la conception ciblant une conception matérielle existante.
Schéma
Figure 1. Exemple de conception du compilateur C2H Mandelbrot
Résultats accélérés du compilateur C2H
L’algorithme Mandelbrot accéléré par compilateur C2H permet d’améliorer la vitesse d’au moins 60 fois par rapport au même algorithme exécuté sur le processeur Nios II le plus rapide en utilisant une optimisation du compilateur niveau 2 (-O2). Cette augmentation de vitesse est dûe au parallélisme et aux vitesses d’itération rapides que le matériel peut fournir, ce qui n’est pas possible à partir d’une unité de traitement à usage général.