ubuntu_virtual_cae_system

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
ubuntu_virtual_cae_system [2024/06/03 00:13] – new ansible setup beckmanfubuntu_virtual_cae_system [2026/03/18 23:53] (current) – [Preconfigured VirtualBox virtual machine] add UTM machine beckmanf
Line 3: Line 3:
 The Debian virtual CAE System is a Debian Linux based CAE environment based on Intel/Altera(r), Quartus(r), 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 Debian virtual CAE System is a Debian Linux based CAE environment based on Intel/Altera(r), Quartus(r), ghdl and gtkwave. The idea is to run Linux in a virtual machine. The lab as two different boards which require different Quartus Version.
  
-  * [[altera_boards|Altera DE1 board]] (Digitaltechnik, Entwurf digitaler Systeme 1) with Cyclone II FPGA +  * [[altera_boards|Altera DE1 board]] (Digitaltechnik, System on Chip Design, Master) with Cyclone II FPGA 
-  * NOT IN SS21!!! Altera DE1 SOC (Master VLSI, Master COM) with Cyclone V FPGA+  * Altera DE1 SOC (Technische Projektarbeit) with Cyclone V FPGA
  
 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.  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. 
Line 12: Line 12:
 Hans Färber has build three different virtual machines: Hans Färber has build three different virtual machines:
  
-  * [[https://www.hs-augsburg.de/homes/haf/php/dokuwiki/doku.php?id=public:praktikum_digitaltechnik:cae-virtual-machine:caevm-install|Altera DE1 Virtual Machine with Quartus 13.0sp1 and ghdl/gtkwave]] for Digitaltechnik, Digitaltechnik Praktikum and Entwurf digitaler Systeme 1 +  * [[https://www.hs-augsburg.de/homes/haf/php/dokuwiki/doku.php?id=public:praktikum_digitaltechnik:cae-virtual-machine:caevm-install|Altera DE1 Virtual Machine with Quartus 13.0sp1 and ghdl/gtkwave]] for Digitaltechnik 
-  * [[https://www.hs-augsburg.de/homes/haf/php/dokuwiki/doku.php?id=public:meng:caemachine:caevm-install|Altera DE1 Virtual Machine with Quartus, Modelsim and Matlab]] for Master Courses +  * [[https://www.hs-augsburg.de/homes/haf/php/dokuwiki/doku.php?id=public:meng:caemachine:caevm-install|Altera DE1 Virtual Machine with Quartus, ghdl, gtkwave and OpenROAD tools]] for Master Courses (Only x86_64, see below for new MacBooks)
   * [[https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&No=836|Altera DE1 SoC board]]: [[https://www.hs-augsburg.de/homes/haf/php/dokuwiki/doku.php?id=public:meng:caemachine:socvm-install|SoC Virtual Machine]] (used in previous years for Master courses)   * [[https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&No=836|Altera DE1 SoC board]]: [[https://www.hs-augsburg.de/homes/haf/php/dokuwiki/doku.php?id=public:meng:caemachine:socvm-install|SoC Virtual Machine]] (used in previous years for Master courses)
 +
 +I have a preconfigured virtual machine for arm MacOS with UTM here:
 +
 +  * [[https://tha.de/homes/beckmanf/public/vcae-arm64-1.utm.tar.xz|Altera DE1 Virtual Machine for arm based MacOS with Quartus 13.0sp1, ghdl and OpenROAD]] 
 +
 +
  
 ===== Build your own from scratch ===== ===== Build your own from scratch =====
Line 22: Line 28:
 ==== Virtual Machine ==== ==== Virtual Machine ====
  
 +=== Virtualization Software ===
 There are different virtual machine environments.  There are different virtual machine environments. 
  
-=== VMWare ===+== VMWare ==
  
-VMWare(r) provides a commercial version [[https://www.vmware.com/products/desktop-hypervisor.html|VMWare Fusion]] for Mac OS(r). This has a very good integration in MacOS and I use it with MacOS 12.7.(Monterey). I have a commercial version but I think there is a free one also. The have "VMWaver Workstation" for Windows.+VMWare(r) provides a commercial version [[https://www.vmware.com/products/desktop-hypervisor.html|VMWare Fusion]] for Mac OS(r). This has a very good integration in MacOS and I use it with MacOS 12.7.(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 ==
  
 [[https://www.virtualbox.org|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|https://www.virtualbox.org]] [[https://www.virtualbox.org|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|https://www.virtualbox.org]]
  
-=== UTM for Mac ===+== UTM for Mac == 
 + 
 +[[https://github.com/utmapp/UTM|UTM]] is based on [[https://www.qemu.org|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.
  
-[[https://github.com/utmapp/UTM|UTM]] is based on [[https://www.qemu.org|QEMU]]. UTM/QEMU allows to run the amd64 based machine also on ARM M1/M2 based Apple Laptops.+The following description is for ARM based Apple Laptops.
  
 === Get the .iso install image === === Get the .iso install image ===
  
-Download the ISO file for Debian 12.5.0 preconfigured setup. You can download the image from here:+The current vcae machine is based on debian 13 (trixie). Download the debian iso from here:
  
-<html> +https://cdimage.debian.org/debian-cd/current/arm64/iso-cd/debian-13.4.0-arm64-netinst.iso
-<a href="http:www.tha.de/homes/beckmanf/public/vcae-debian-12.5.0-1.iso" download>http:www.tha.de/homes/beckmanf/public/vcae-debian-12.5.0-1.iso</a> +
-</html>+
  
 === Create the virtual machine === === Create the virtual machine ===
  
-This depends on the virtualization environment that you use. The iso contains a preconfigured debian installer which will install a machine with a user "caeuser" with password "caeuser". The ISO file represents a CD like in a CDROM and will install a new virtual system. The things you need to configure in your virtualization environment are the hard disk size, the memory and the number of processors that your virtual machine shall have.+== UTM ==
  
-== VMWare ==+Create a new virtual machine with the following settings:
  
-Create a new virtual machine with minimum 30GB hard disk size. The hard disk will result in a file on the host operating system (Here MacOs) but the file size on the host will be dynamic, i.e. it will depend on the actual usage in the virtual machine. So you can also configure 120GB. Choose minimum 2GB ram or 50% of your RAM in your computer. Choose 50% of the processor cores on your computer.+  * Virtualize 
 +  * Linux 
 +  * Minimum 8192 MiB RAM 
 +  * Cores: Leave Standard or choose more than half of your cores 
 +  * Leave "Use Apple Virtualization" unchecked 
 +  * Check: "Boot from ISO image" 
 +  * Select the debian iso that you have downloaded 
 +  * Chose 128 GiB Disk Space (the actually used space on the host depends on your actual usage
 +  * Leave Share unused 
 +  * Name your machine "vcae-arm64-1" 
 +  * Save the machine
  
-== Virtualbox ==+When you now start the machine, you boot the "virtual" USB stick from your iso file. Select:
  
-to be done+  * Your language and localisation settings as you like 
 +  * Hostname: vcae 
 +  * Domain-name: mac.local 
 +  * Root-Password: LEAVE EMPTY 
 +  * User Fullname: caeuser 
 +  * Username: caeuser 
 +  * Password: caeuser 
 +  * Partition: guided - complete disk 
 +  * Choose: vda 
 +  * All files on one partition 
 +  * Confirm to write files on disk 
 +  * No additional install media 
 +  * Debian mirror: ftp.de.debian.org 
 +  * Mirror proxy: LEAVE EMPTY 
 +  * popularity-contest: yes 
 +  * Software selection: Leave only "SSH server" and "Standard-Systemtools" checked 
 + 
 +After reboot, you will again enter the installer because you still have the iso file mounted as USB. 
 + 
 +  * Switch off the machine 
 +  * Delete the USB Drive in the machine settings in UTM via right-click "edit" 
 +  * Start the Machine again 
 +  * Login as user "caeuser" with password "caeuser"
  
 === Finalize the installation === === Finalize the installation ===
Line 62: Line 101:
 <code> <code>
 cd cd
-./go.sh+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 
 +</code> 
 + 
 +After the installation, the machine will reboot with gui. After reboot, open a terminal and do: 
 + 
 +<code> 
 +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
 </code> </code>
  
Line 68: Line 126:
  
   * Altera Quartus II Web Edition Version 13.0sp1 (13.0.1 build 232)   * Altera Quartus II Web Edition Version 13.0sp1 (13.0.1 build 232)
-  * GHDL + gtkwave+  * gtkwave 
 +  * OpenROAD tools including ghdl, yosys, ghdl-yosys plugin and openroad
   * LXQt + Lightdm Window environment   * LXQt + Lightdm Window environment
  
-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". The installation script "go.sh" installs the remaining software vi "ansible"+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 ===== ===== Test the installation =====
Line 78: Line 141:
  
 <code> <code>
-quartus+quartus --64bit
 </code> </code>
  
Line 89: Line 152:
 </code> </code>
  
-Download the "Digitallabor" from the git server: [[https://gitlab.elektrotechnik.hs-augsburg.de/beckmanf/dtlab]]+Download the "Digitallabor" from the git server: [[https://caeis.etech.fh-augsburg.de/beckmanf/dtlab.git]]
  
 <code> <code>
Line 95: Line 158:
 mkdir projects mkdir projects
 cd projects cd projects
-git clone https://gitlab.elektrotechnik.hs-augsburg.de/beckmanf/dtlab.git+git clone https://caeis.etech.fh-augsburg.de/beckmanf/dtlab.git
 </code> </code>
  
Line 138: Line 201:
  
 <code bash quartus.list> <code bash quartus.list>
-deb [arch=i386,amd64 trusted=yes lang=none] http://www.tha.de/homes/beckmanf/public/repository ./+deb [arch=arm64,amd64 trusted=yes lang=none] http://www.tha.de/homes/beckmanf/public/repository ./
 </code> </code>
  
Line 149: Line 212:
  
 === Intel Quartus 13.0sp1 for Cyclone II FPGA (Alter DE1 Board)=== === Intel Quartus 13.0sp1 for Cyclone II FPGA (Alter DE1 Board)===
- 
-Quartus 13.0sp1 is a i386 architecture, so you need to add the i386 architecture to your system setup: 
- 
-<code> 
-sudo dpkg --add-architecture i386 
-</code> 
- 
-and then 
  
 <code> <code>
 sudo apt update sudo apt update
-sudo apt install quartus13:i386+sudo apt install quartus13
 </code> </code>
  
Line 180: Line 235:
  
 Then you have to logout and login again to make the changes active. Then you have to logout and login again to make the changes active.
- 
- 
  
  
  
      
  • ubuntu_virtual_cae_system.1717366401.txt.gz
  • Last modified: 2024/06/03 00:13
  • by beckmanf