Table of Contents

Debian Virtual CAE System

The Debian virtual CAE System is a Debian Linux based CAE environment based on Intel/Altera®, Quartus®, ghdl and gtkwave. The idea is to run Linux in a virtual machine. The lab as two different boards which require different Quartus Version.

The last version that supports Cyclone II fpga architecture is Quartus 13.0sp1. That version does not support the Cyclone V architecture. All quartus versions that support Cyclone V do not support Cyclone II. So unfortunately there is not one Quartus version that supports both fpga architecutures.

Preconfigured VirtualBox virtual machine

Hans Färber has build three different virtual machines:

I have a preconfigured virtual machine for arm MacOS with UTM here:

Build your own from scratch

The CAD software is based on Debian Linux, Quartus and other software. The software and the linux operating system are supposed to run in a virtual machine. If you do not use a virtualization environment, then you can install also directly on a native linux machine. See manual setup for manual installation hints.

Virtual Machine

Virtualization Software

There are different virtual machine environments.

VMWare

VMWare® provides a commercial version VMWare Fusion for Mac OS®. This has a very good integration in MacOS and I use it with MacOS 12.7.5 (Monterey). I have a commercial version but there is a free “VMWaver Fusion” for personal use also. They have “VMWaver Workstation” for Windows but I have not tested that.

VirtualBox

VirtualBox(r) is available for Windows, Linux and Mac OS. It is free. From my experience with MacOS it is not as good integrated as VMWare Fusion. If you want to use this, then download and install the the virtual machine software from https://www.virtualbox.org

UTM for Mac

UTM is based on QEMU. UTM/QEMU allows to run the amd64 based machine also on ARM based Apple Laptops. The quartus synthesis software is x86_64 based, i.e. it can not run native on the ARM laptops. I have made a debian base VM which runs everything arm native except the quartus synthesis software. Therefore that is much faster than emulating the complete machine. You must use this for Apple ARM based machines.

The following description is for ARM based Apple Laptops.

Get the .iso install image

The current vcae machine is based on debian 13 (trixie). Download the debian iso from here:

https://cdimage.debian.org/debian-cd/current/arm64/iso-cd/debian-13.4.0-arm64-netinst.iso

Create the virtual machine

UTM

Create a new virtual machine with the following settings:

When you now start the machine, you boot the “virtual” USB stick from your iso file. Select:

After reboot, you will again enter the installer because you still have the iso file mounted as USB.

Finalize the installation

After the debian installer has finished you should reboot your virtual machine. It will start in terminal mode. You need to login as user “caeuser” with password “caeuser” to finalize the installation. After login do:

cd
sudo apt -y install ansible git
git clone https://github.com/fredowski/vcae.git
pushd ./vcae/ansible
sudo ansible-playbook disable-sudo-password.yaml
ansible-playbook sose26.yaml

After the installation, the machine will reboot with gui. After reboot, open a terminal and do:

sudo apt -y install gtkwave
git clone https://github.com/fredowski/thavlsibuild.git
pushd ./thavlsibuild
./installdependencies.sh
popd
wget https://tha.de/homes/beckmanf/public/openroad.tar.xz
sudo tar -xJf openroad.tar.xz -C /opt
echo 'export PATH=$PATH:/opt/openroad/bin' >> .bashrc
echo 'export OPENROAD_EXE=/opt/openroad/bin/openroad' >> .bashrc
echo 'export YOSYS_EXE=/opt/openroad/bin/yosys' >> .bashrc

That will install

These versions are required for the Altera DE1 board which is used in the digital design lab and is available in the library. This Quartus version is the last version that supports the Altera Cyclone II FPGA which is on that board. So do not install a later version if you want to use that board. The quartus software will be installed at “/opt/altera/13.0sp1”.

ghdl, yosys and the openroad tools are precompiled for arm64 on debian 13 (trixie). These precompiled binaries are produced with these scripts: https://github.com/fredowski/thavlsibuild

The installation of quartus and the window environment is done via ansible. You need to open a new terminal to have the PATH settings active.

Test the installation

Start Quartus GUI

quartus --64bit

Run some projects

Install git

sudo apt install git

Download the “Digitallabor” from the git server: https://caeis.etech.fh-augsburg.de/beckmanf/dtlab.git

cd
mkdir projects
cd projects
git clone https://caeis.etech.fh-augsburg.de/beckmanf/dtlab.git

Now start a simulation

cd dtlab
cd sim
cd top_shift
make wave

To run a synthesis

cd dtlab
cd pnr
cd top_simple
make quartus

If you have a FPGA Board, you can download and test the design.

make prog

How this is done

The repository https://github.com/fredowski/vcae contains how the

are made.

Install Quartus via the package

If you already have a native linux installed, then you can install quartus also via a debian package. In order to make the packages available on your installation. Copy the file "quartus.list"

quartus.list
deb [arch=arm64,amd64 trusted=yes lang=none] http://www.tha.de/homes/beckmanf/public/repository ./

to “/etc/apt/sources.d” and update the package repository database with

sudo cp quartus.list /etc/apt/sources.d
sudo apt update

Intel Quartus 13.0sp1 for Cyclone II FPGA (Alter DE1 Board)

sudo apt update
sudo apt install quartus13

Quartus 23.1 for Cyclone V (Altera DE1-SoC Board)

sudo apt update
sudo apt install quartus23

Quartus path setup

In order to be able to start the binaries from the terminal, the path for the binaries has to be in the PATH environment variable. For that you have to modify the .bashrc file in your home directory. Append the following snippet to the .bashrc file with vi.

.bashrc
# Include the ALTERA fpga software
export PATH="$PATH:/opt/altera/13.0sp1/quartus/bin"

Then you have to logout and login again to make the changes active.