The ModelSim version that comes with Intel Quartus Prime Lite Edition is a good alternative if you want to try out VHDL simulation on your home computer. The software is available for both Windows and Linux, but Intel only supports Red Hat-based distros like CentOS Linux.

Fortunately, you are just a few hacks away from ModelSim working nicely on your Ubuntu box.

The video below shows how I did it on a fresh Ubuntu 20.04 virtual machine. For reference, I followed the procedure from PrieureDeSion’s GitHub gist, with a few changes to make it work with Ubuntu 20.04.

Where to download the ModelSim-Intel FPGA Edition for Linux

Go to Intel’s Download Center for FPGAs to obtain the installer.

Choose the Lite Edition for Linux, and click the Individual Files tab on the same page. Select the ModelSim-Intel FPGA Edition (includes Starter Edition) option, as shown in the image below.

ModelSim-Intel FPGA Edition (includes Starter Edition)

Update, May 22nd, 2020:
Some users are reporting that they are unable to download Quartus Prime Lite using the method I described above. Therefore, I’ve added a direct link to the exact version of the software that I used in this tutorial. Click the link below if you are experiencing issues with the Intel Download Center for FPGAs.

ModelSimSetup-19.1.0.670-linux.run (direct download link)

These are the commands for making ModelSim work in Ubuntu 20.04

# Start with ModelSimSetup-19.1.0.670-linux in your home directory

# Open a terminal in your home directory

# Update your system
sudo apt update
sudo apt upgrade

# Run the installer
./ModelSimSetup-19.1.0.670-linux.run

# Make the vco script writable
chmod u+w ~/intelFPGA/19.1/modelsim_ase/vco

# Make a backup of the vco file
cp ~/intelFPGA/19.1/modelsim_ase/vco \
	~/intelFPGA/19.1/modelsim_ase/vco_original

# Edit the vco script manually, or with these commands:
sed -i 's/linux\_rh[[:digit:]]\+/linux/g' \
	~/intelFPGA/19.1/modelsim_ase/vco
sed -i 's/MTI_VCO_MODE:-""/MTI_VCO_MODE:-"32"/g' \
	~/intelFPGA/19.1/modelsim_ase/vco
sed -i '/dir=`dirname "$arg0"`/a export LD_LIBRARY_PATH=${dir}/lib32' \
	~/intelFPGA/19.1/modelsim_ase/vco

# Check that the correct lines have changed
diff ~/intelFPGA/19.1/modelsim_ase/vco \
	~/intelFPGA/19.1/modelsim_ase/vco_original

# Download the 32-bit libraries and build essentials
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install build-essential
	sudo apt install gcc-multilib g++-multilib lib32z1 \
	lib32stdc++6 lib32gcc1 libxt6:i386 libxtst6:i386 expat:i386 \
	fontconfig:i386 libfreetype6:i386 libexpat1:i386 libc6:i386 \
	libgtk-3-0:i386 libcanberra0:i386 libice6:i386 libsm6:i386 \
	libncurses5:i386 zlib1g:i386 libx11-6:i386 libxau6:i386 \
	libxdmcp6:i386 libxext6:i386 libxft2:i386 libxrender1:i386

# Download the old 32-bit version of libfreetype
wget download.savannah.gnu.org/releases/freetype/freetype-2.4.12.tar.bz2
tar xjf freetype-2.4.12.tar.bz2

# Compile libfreetype
cd freetype-2.4.12/
./configure --build=i686-pc-linux-gnu "CFLAGS=-m32" \
	"CXXFLAGS=-m32" "LDFLAGS=-m32"
make clean
make

cd ~/intelFPGA/19.1/modelsim_ase/
mkdir lib32
cp ~/freetype-2.4.12/objs/.libs/libfreetype.so* lib32/

# Run the vsim script to start ModelSim
cd
~/intelFPGA/19.1/modelsim_ase/bin/vsim

Output from the diff between ‘vco’ and ‘vco_original’

13c13
< mode=${MTI_VCO_MODE:-"32"}
---
> mode=${MTI_VCO_MODE:-""}
51d50
< export LD_LIBRARY_PATH=${dir}/lib32
211c210
<           *)                vco="linux" ;;
---
>           *)                vco="linux_rh60" ;;

Where to get support

Ubuntu is officially unsupported by Intel, so there’s no point in asking them. But there are a few threads about the subject on the FPGA Design Tools forum on the Intel Community Forum (formerly Altera Forum).

Another option is to make a post in VHDLwhiz’ private Facebook group: VHDL for FPGA Engineers. In fact, you should join it even if you’re not experiencing problems. It’s a growing community for everyone interested in FPGA design using VHDL.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

3 thoughts on “How to make ModelSim from Quartus Prime Lite work on Ubuntu 20.04

  1. In my experience Intel’s download page can be very slow and unstable from time to time. So you could also add the direct download link: “http://download.altera.com/akdlm/software/acdsinst/19.1std/670/ib_tar/Quartus-lite-19.1.0.670-linux.tar”

    Posted on May 18, 2020 at 11:24 am
    1. Thanks for the link. I had some trouble downloading from Thailand, where I live. I switched on my VPN and connected to the US. That worked a lot better.

      Posted on May 18, 2020 at 11:31 am
      1. I see. Here, back in Norway, I’ve had much better success with the direct link than their website. Never tried using a VPN to the US though.

        Posted on May 18, 2020 at 11:42 am