Publié le 18 août 2022 par Andrew Owen (5 minutes)
En mars 2022, j’ai écrit un article sur la façon d’exécuter Xilinx Vivado sur un Mac M1 pour générer des cœurs pour la série de FPGA Artix-7 (tels qu’ils sont utilisés sur le Mega 65). La solution la plus simple consiste à exécuter les binaires Intel sur ARM Windows sous Parallels Desktop. Mais il est également possible d’utiliser les binaires Linux avec UTM.
L’UTM est idéal pour faire fonctionner d’autres systèmes d’exploitation ARM (comme Ubuntu). Mais l’émulation des instructions Intel 64 bits est lente. Toutefois, dans le prochain macOS 13, les applications tierces comme UTM pourront tirer parti de la traduction juste à temps (JIT) de Rosetta pour les instructions Intel 64 bits. UTM devrait devenir beaucoup plus rapide.
J’ai donc décidé de réexaminer le problème de l’utilisation de l’ancien outil ISE de Xilinx pour générer des cœurs pour le Spartan-6 (tel qu’utilisé sur le ZX-Uno). Publié à l’origine en 1995, le logiciel n’a pas été mis à jour depuis 2013. Même sous Windows 10, Xilnix fournit un environnement Linux émulé pour exécuter le logiciel.
Au départ, j’avais essayé de le faire fonctionner sous Debian 11, mais cette version était souvent bloquée. L’astuce est que vous avez besoin de quelque chose d’assez vieux pour fonctionner de manière fiable avec ISE, mais d’assez récent pour supporter les ajouts d’invités UTM (pour les dossiers partagés). Le passionné de ZX-Uno Microjack m’a informé qu’il avait réussi à faire fonctionner ISE de manière fiable sur Linux Mint 20.1 Cinnamon.
Mais Cinnamon repose sur l’utilisation d’un GPU pour faire le gros du travail dans l’interface graphique. C’était anormalement lent. Heureusement, il existe une distro Xfce, dont les exigences matérielles sont bien moindres. Après avoir joué avec différents paramètres, j’ai été surpris de constater que cela fonctionnait et que j’étais capable de générer un binaire qui se comportait comme prévu sur du vrai matériel. Voici comment procéder.
sudo apt install spice-vdagent spice-webdavd libncurses5
. Redémarrez maintenant la machine virtuelle.Xilinx_ISE_DS_Lin_14.7_1015_1.tar
depuis le Mac vers votre dossier Documents sous Linux. Extrayez ensuite le contenu.chmod +x ./xsetup
, puis entrez sudo ./xsetup
et suivez les instructions à l’écran. Cochez les cases relatives aux licences et assurez-vous de choisir la version du WebPack ISE. Pour tout le reste, vous pouvez utiliser les valeurs par défaut./opt/Xilinx/14.7/ISE_DS/
. Entrez sudo chmod +x settings64.sh
.Pour lancer le logiciel, naviguez vers /opt/Xilinx/14.7/ISE_DS/
et entrez:
source settings64.sh`
./settings64.sh`
ise`
Vous voudrez probablement en faire un script.
La première fois que vous lancez le logiciel, il vous sera demandé de fournir une licence. J’ai trouvé que la façon la plus simple de le faire était de me connecter à mon compte Xilinx sur le Mac, de télécharger une licence WebPack ISE gratuite, et de la copier sur la VM Linux.
Une fois que vous avez vérifié que le logiciel a été correctement installé, vous pouvez supprimer le dossier Xilinx_ISE_DS_Lin_14.7_1015_1
et son contenu.
Lorsque vous avez terminé, vous pouvez arrêter la VM Linux. Si vous avez au moins 40 Go d’espace libre sur le disque dur de votre Mac, vous pouvez réduire la taille de votre image VM. Dans UTM, allez dans Settings > Drives et sélectionnez le grand IDE Drive (étiqueté disk-0.qcow2). Cliquez ensuite sur Reclaim space, puis sur Reclaim and Compress. Cela prendra un certain temps, mais vous devriez récupérer environ 20 Go d’espace.
Il arrive que le dossier partagé cesse de fonctionner sans raison apparente. J’ai constaté que la meilleure façon de résoudre ce problème est d’arrêter la VM, de supprimer le Shared Directory dans les paramètres en cliquant sur Clear, puis de le réintroduire. Si cela ne fonctionne pas, vous devrez peut-être redémarrer macOS. Mais si cela ne fonctionne toujours pas, il y a une autre option:
sudo apt-get install davfs2
sudo mkdir /mnt/dav
sudo mount -t davfs -o noexec https://nextcloud.example.com/remote.php/webdav/ /mnt/dav/
Lorsque l’on vous demande un nom d’utilisateur et un mot de passe, appuyez simplement sur Enter.
Et c’est tout. C’est un peu lent pour le moment, mais quand j’aurai macOS 13, je mettrai à jour cet article si je constate une amélioration majeure de la vitesse sous Rosetta.