TSM_EmbHarw

  • Zustandsmaschine
  • Automat
  • Moor-Automat
  • Mealy-Automat

Schaltwerke
Technische Informatik – Automaten
Kellerautomat
Die (Halbleitertechnik) (Chip, Teil eines Halbleiter-Wafers)
Latch
Lookup-Tabelle (LUT)
Multiplexer (MUX)
Combinatory logic
Kombinatorische Logik

VHDL

“Use” and “Library” in VHDL
How to use a Package in your VHDL design – with Example code!
Non-synthesisable VHDL code for 8 point FFT algorithm
Entity Instantiation – An easy way of Port mapping your components
Four (and a half) ways to write VHDL instantiations
Configurations: Part 1
Configuration Declaration
Component Instantiation

entity        = primary unit, external view, chip pins
architecture  = secondary unit, internal view, package body, chip die
design entity = entity + architecture
components

package       = user defined data types, constants,
                functions, procedures
library       = collection of related packages

Quartus 18.1 on Ubuntu

Abk├╝rzungen

.qws Quartus Workspace File (Settings and Configuration Files)
.qsf Quartus Settings File
.qpf Quartus Project File
.bdf Block Design File

Videos

Scripting with Quartus Prime

Problems

How to dockerize Intel Quartus 18.01

$ jtagconfig 
No JTAG hardware available

<Connect Board>

$ jtagconfig 
1) USB-Blaster [1-2]
^C

$ sudo killall jtagd
$ jtagconfig 
1) USB-Blaster [1-2]
  020F40DD   10CL040(Y|Z)/EP3C40/EP4CE30/..
$ jtagd --foreground --debug
JTAG daemon started
Using config file /etc/jtagd/jtagd.conf
Remote JTAG permitted when password set
No USB device change detection because libudev.so.0 not found
USB-Blaster "USB-Blaster" firmware version 4.00
USB-Blaster endpoints out=02(64), in=81(64); urb size=1024
USB-Blaster added "USB-Blaster [1-2]"

$ cd /lib/x86_64-linux-gnu/
$ sudo ln -s libudev.so.1 libudev.so.0
$ ls -la libudev.so*
lrwxrwxrwx 1 root root     12 Oct 17 13:10 libudev.so.0 -> libudev.so.1
lrwxrwxrwx 1 root root     16 Jul 20 19:13 libudev.so.1 -> libudev.so.1.6.9
-rw-r--r-- 1 root root 121016 Jul 20 19:13 libudev.so.1.6.9

$ jtagd --foreground --debug
JTAG daemon started
Using config file /etc/jtagd/jtagd.conf
Remote JTAG permitted when password set
USB-Blaster "USB-Blaster" firmware version 4.00
USB-Blaster endpoints out=02(64), in=81(64); urb size=1024
USB-Blaster added "USB-Blaster [1-2]"

ModelSim on Ubuntu

https://www.cc.gatech.edu/~hadi/teaching/cs3220/doc/modelsim/modelsimTutorial.pdf
ModelSim 10.1a Tutorial (PDF), p. 69, Automating Simulation

Videos

Modelsim/Quartus Tutorial
ModelSim Tutorial

Problems

Altera-Modelsim can not start on Ubuntu 18.04
ModelSim Installation issues – Ubuntu 14.xx and above
Making ModelSim ALTERA STARTER EDITION vsim 10.1d work on Ubuntu 14.04

$ ls -la /opt/intelFPGA_lite/18.1/modelsim_ase/bin/vcom 
lrwxrwxrwx 1 root root 6 Oct  3 15:53 /opt/intelFPGA_lite/18.1/modelsim_ase/bin/vcom -> ../vco

$ ls -la /opt/intelFPGA_lite/18.1/modelsim_ase/bin/vsim
lrwxrwxrwx 1 root root 6 Oct  3 15:53 /opt/intelFPGA_lite/18.1/modelsim_ase/bin/vsim -> ../vco

$ sudo xed /opt/intelFPGA_lite/18.1/modelsim_ase/vco
 13: mode=${MTI_VCO_MODE:-"32"}
     [...]
210:  *)                vco="linux" ;;

$ /opt/intelFPGA_lite/18.1/modelsim_ase/bin/vsim 
Error in startup script: 
Initialization problem, exiting.

Initialization problem, exiting.

    while executing
"InitializeINIFile quietly"
    invoked from within
"ncFyP12 -+"
    (file "/mtitcl/vsim/vsim" line 1)
** Fatal: Read failure in vlm process (0,0)

$ sudo dpkg --add-architecture i386
$ sudo apt-get update
$ sudo apt-get install gcc-multilib g++-multilib lib32z1 lib32stdc++6 lib32gcc1 \
  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 libxt6:i386 libxtst6:i386
$ wget http://download.savannah.gnu.org/releases/freetype/freetype-2.4.12.tar.bz2
$ tar -xjf freetype-2.4.12.tar.bz2
$ cd freetype-2.4.12
$ ./configure --build=i686-pc-linux-gnu "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32"
$ make -j8
$ sudo mkdir /opt/intelFPGA_lite/18.1/modelsim_ase/lib32
$ sudo cp objs/.libs/libfreetype.so* /opt/intelFPGA_lite/18.1/modelsim_ase/lib32
dir=`dirname "$arg0"`
export LD_LIBRARY_PATH=${dir}/lib32

$ /opt/intelFPGA_lite/18.1/modelsim_ase/bin/vsim
WORKS!

VirtualBox

$ sudo dpkg -i virtualbox-5.2_5.2.20-125813~Ubuntu~bionic_amd64.deb 
[sudo] password for andreas: 
Selecting previously unselected package virtualbox-5.2.
(Reading database ... 378749 files and directories currently installed.)
Preparing to unpack virtualbox-5.2_5.2.20-125813~Ubuntu~bionic_amd64.deb ...
Unpacking virtualbox-5.2 (5.2.20-125813~Ubuntu~bionic) ...
dpkg: dependency problems prevent configuration of virtualbox-5.2:
 virtualbox-5.2 depends on libcurl4 (>= 7.16.2); however:
  Package libcurl4 is not installed.
 virtualbox-5.2 depends on libqt5opengl5 (>= 5.0.2); however:
  Package libqt5opengl5 is not installed.

dpkg: error processing package virtualbox-5.2 (--install):
 dependency problems - leaving unconfigured
Processing triggers for systemd (237-3ubuntu10.3) ...
Processing triggers for ureadahead (0.100.0-20) ...
ureadahead will be reprofiled on next reboot
Processing triggers for gnome-menus (3.13.3-11ubuntu1.1) ...
Processing triggers for desktop-file-utils (0.23+linuxmint3) ...
Processing triggers for mime-support (3.60ubuntu1) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Processing triggers for shared-mime-info (1.9-2) ...
Errors were encountered while processing:
 virtualbox-5.2

$ sudo apt-get --fix-broken install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
  libasn1-8-heimdal:i386 libffi6:i386 libgmp10:i386 libgnutls30:i386 libgssapi-krb5-2:i386 libgssapi3-heimdal:i386 libhcrypto4-heimdal:i386 libheimbase1-heimdal:i386 libheimntlm0-heimdal:i386 libhogweed4:i386 libhx509-5-heimdal:i386
  libidn2-0:i386 libk5crypto3:i386 libkeyutils1:i386 libkrb5-26-heimdal:i386 libkrb5-3:i386 libkrb5support0:i386 libldap-2.4-2:i386 libnettle6:i386 libnghttp2-14:i386 libp11-kit0:i386 libpsl5:i386 libroken18-heimdal:i386 librtmp1:i386
  libsasl2-2:i386 libsasl2-modules-db:i386 libsqlite3-0:i386 libssl1.0.0:i386 libtasn1-6:i386 libunistring2:i386 libwind0-heimdal:i386 linux-headers-4.15.0-33 linux-headers-4.15.0-33-generic linux-image-4.15.0-33-generic
  linux-modules-4.15.0-33-generic linux-modules-extra-4.15.0-33-generic
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
  libcurl4 libqt5opengl5
The following packages will be REMOVED:
  libcurl3:i386 libcurl3
The following NEW packages will be installed:
  libcurl4 libqt5opengl5
0 upgraded, 2 newly installed, 2 to remove and 25 not upgraded.
1 not fully installed or removed.
Need to get 132 kB/346 kB of archives.
After this operation, 151 kB disk space will be freed.
Do you want to continue? [Y/n] y
Get:1 http://archive.ubuntu.com/ubuntu bionic/main amd64 libqt5opengl5 amd64 5.9.5+dfsg-0ubuntu1 [132 kB]
Fetched 132 kB in 0s (834 kB/s)         
(Reading database ... 379569 files and directories currently installed.)
Removing libcurl3:i386 (7.58.0-2ubuntu2) ...
Removing libcurl3:amd64 (7.58.0-2ubuntu2) ...
Selecting previously unselected package libcurl4:amd64.
(Reading database ... 379561 files and directories currently installed.)
Preparing to unpack .../libcurl4_7.58.0-2ubuntu3.3_amd64.deb ...
Unpacking libcurl4:amd64 (7.58.0-2ubuntu3.3) ...
Selecting previously unselected package libqt5opengl5:amd64.
Preparing to unpack .../libqt5opengl5_5.9.5+dfsg-0ubuntu1_amd64.deb ...
Unpacking libqt5opengl5:amd64 (5.9.5+dfsg-0ubuntu1) ...
Setting up libcurl4:amd64 (7.58.0-2ubuntu3.3) ...
Setting up libqt5opengl5:amd64 (5.9.5+dfsg-0ubuntu1) ...
Processing triggers for libc-bin (2.27-3ubuntu1) ...
Setting up virtualbox-5.2 (5.2.20-125813~Ubuntu~bionic) ...
Adding group `vboxusers' (GID 129) ...
Done.
vboxdrv.sh: failed: modprobe vboxdrv failed. Please use 'dmesg' to find out why.

There were problems setting up VirtualBox.  To re-start the set-up process, run
  /sbin/vboxconfig
as root.

$ sudo /sbin/vboxconfig
vboxdrv.sh: Stopping VirtualBox services.
vboxdrv.sh: Starting VirtualBox services.
vboxdrv.sh: Building VirtualBox kernel modules.
vboxdrv.sh: failed: modprobe vboxdrv failed. Please use 'dmesg' to find out why.

There were problems setting up VirtualBox.  To re-start the set-up process, run
  /sbin/vboxconfig
as root.

$ virtualbox 
WARNING: The vboxdrv kernel module is not loaded. Either there is no module
         available for the current kernel (4.15.0-36-generic) or it failed to
         load. Please recompile the kernel module and install it by

           sudo /sbin/vboxconfig

         You will not be able to start VMs until this problem is fixed.

Leave a Reply

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