I wrote a brief manual to make the VM work for someone like me who owns an arm mac, using QEMU(UTM) x86 emulation. Make & Spike also works, and I was able to solve Task 1 on UTM. The performance is great but may depend on the host machine.
Preview
Perquisites
- UTM (link)
- QEMU tools, install using brew with the command:
brew install qemu - Download the Xilinx ISE Webpack for Windows
- Unzip the file, then locate
ova/14.7_VM.ova(you might have noticed, the install package is literally a VM)
Prepare
- Unarchive the ova file.
tar -xvf 14.7_VM.ova. - You will have
14.7_VM-disk001.vmdk, which is a virtual disk. It should be much bigger than the original ova file. - Convert the image with the command:
qemu-img convert -O qcow2 14.7_VM-disk001.vmdk data.qcow2
Making the VM
- Use UTM to make a emulation VM. Click on the plus icon and select emulate.
- Select other and click “Skip ISO boot”
- Modify the CPU & Memory. I’m using 8 and 16 each, but you may change it depending on the host machine configuration. I recommend at least 4cpu, 8gb.
- The disk size can be just 1GB. It will be later switched to the
qcow2file we made earlier. - No shared settings
- Right-click the created VM and click “Show in Finder”. Then right-click the
.utmfile and click “Show Package Contents” - In
./Data, there should be a(Some Filename).qcow2file. Copy the exact name, then delete it. - Copy-paste the
data.qcow2file we made earlier while preparing, then change the name to the text you copied. It’s basically swapping the actual disk.
Now, the VM is basically set, but yet unusable due to lack of performance.
Extra Settings for Performance
- In System, set CPU to “qemu64″
- In System, enable “Force Multicore”
- In System, enable “Balloon Device” and “RNG Device”
- In QEMU, disable “UEFI Device”
- In Display, change the Display card to
virtio-vga-gl (GPU supported), orSpice QXL GPU (primary, ...). The former yields better performance while the latter provides better resolution for retina displays. - In Drives, change the interface to
virtiowhich allows better performance - Note that, the boot process takes a while.
- Also be aware of the “pause” feature. Using
Spice QXL, you can now pause VMs and resume whenever you want.
What you can do with this
- You can run test benches, use iMPACT, capture waveforms, just everything we learnt from LDLAB. Every functionalities of the Xilinx ISE 14.7 should work, theoretically.
- If you want to program FPGAs, you can by passing-through the USB connection directly into the VM.
- RHEL is an old OS. Nothing is supported. You may install Firefox ESR, but I suggest just using Safari from the Host OS. Setting up Spice allows you to share the clipboard.
- As I remember, I had to do some licensing (from AMD Xilinx) to use those tools. As far as I know this licensing problem isn’t exclusive for macs, but for all individual users. The licensing is free via Xilinx but it took some time to figure it out. (like keygen and copy-paste)
This manual is a copy of a internal document we shared with my colleagues – during a school coursework about computer architecture. Originally authored in 2023.

Leave a Reply