{"id":8523,"date":"2018-10-06T17:21:02","date_gmt":"2018-10-06T17:21:02","guid":{"rendered":"http:\/\/blog.bachi.net\/?p=8523"},"modified":"2018-12-15T15:27:41","modified_gmt":"2018-12-15T15:27:41","slug":"tsm_embharw","status":"publish","type":"post","link":"https:\/\/blog.bachi.net\/?p=8523","title":{"rendered":"TSM_EmbHarw"},"content":{"rendered":"<h1>Woche 10<\/h1>\n<p><a href=\"https:\/\/de.wikipedia.org\/wiki\/Maximale_Laufzeit\">Maximale Laufzeit, Worst Case Execution Time( WCET)<\/a><br \/>\n<a href=\"https:\/\/de.wikipedia.org\/wiki\/Isochrone\">Isochrone<\/a><br \/>\n<a href=\"https:\/\/de.wikipedia.org\/wiki\/Isochronit%C3%A4t\">Isochronit\u00e4t<\/a><br \/>\n<a href=\"https:\/\/www.profinet.felser.ch\/index.html\">PROFINET Handbuch<\/a>, Prof. Max Felser, Berner Fachhochschule<br \/>\n<a href=\"https:\/\/www.youtube.com\/watch?v=mKD_IYy-CFU&#038;list=PL3F91F9D4F5FEABBF\">MinutePROFINET Industrial Internet of Things: PROFINET Intro<\/a><\/p>\n<h1>Woche 13<\/h3>\n<p><a href=\"https:\/\/en.wikipedia.org\/wiki\/Cache_Placement_Policies\">Cache Placement Policies<\/a><br \/>\n<a href=\"http:\/\/faculty.etsu.edu\/tarnoff\/labs4717\/x86_sim\/direct.html\">CSCI 4717: Direct Mapping Cache Assignment<\/a><br \/>\n<a href=\"https:\/\/medium.com\/@danojadias\/direct-mapping-map-cache-and-main-memory-d5e4c1cbf73e\">Direct Mapping\u200a\u2014\u200aMap cache and main memory<\/a><br \/>\n<a href=\"https:\/\/en.wikipedia.org\/wiki\/CPU_cache\">CPU cache<\/a><br \/>\n<a href=\"https:\/\/de.wikipedia.org\/wiki\/Cache-Algorithmus\">Cache-Algorithmus<\/a><br \/>\n<a href=\"https:\/\/de.wikipedia.org\/wiki\/Cache-Koh%C3%A4renz\">Cache-Koh\u00e4renz<\/a><\/p>\n<ul>\n<li>Zustandsmaschine<\/li>\n<li>Automat<\/li>\n<li>Moor-Automat<\/li>\n<li>Mealy-Automat<\/li>\n<\/ul>\n<p><a href=\"http:\/\/www.netzmafia.de\/skripten\/digitaltechnik\/flipflop.html\">Schaltwerke<\/a><br \/>\n<a href=\"http:\/\/www.mathematik.uni-marburg.de\/~thormae\/lectures\/ti1\/ti_7_4_ger_web.html#1\">Technische Informatik &#8211; Automaten<\/a><br \/>\n<a href=\"https:\/\/de.wikipedia.org\/wiki\/Kellerautomat\">Kellerautomat<\/a><br \/>\n<a href=\"https:\/\/de.wikipedia.org\/wiki\/Die_(Halbleitertechnik)\">Die (Halbleitertechnik)<\/a> (Chip, Teil eines Halbleiter-Wafers)<br \/>\n<a href=\"https:\/\/de.wikipedia.org\/wiki\/Latch\">Latch<\/a><br \/>\n<a href=\"https:\/\/de.wikipedia.org\/wiki\/Lookup-Tabelle\">Lookup-Tabelle<\/a> (LUT)<br \/>\n<a href=\"https:\/\/de.wikipedia.org\/wiki\/Multiplexer\">Multiplexer<\/a> (MUX)<br \/>\n<a href=\"https:\/\/en.wikipedia.org\/wiki\/Combinatory_logic\">Combinatory logic<\/a><br \/>\n<a href=\"https:\/\/de.wikipedia.org\/wiki\/Kombinatorische_Logik\">Kombinatorische Logik<\/a><\/p>\n<h3>VHDL<\/h3>\n<p><a href=\"http:\/\/insights.sigasi.com\/tech\/use-and-library-vhdl.html\">&#8220;Use&#8221; and &#8220;Library&#8221; in VHDL<\/a><br \/>\n<a href=\"http:\/\/vhdlguru.blogspot.com\/2010\/03\/usage-of-packages-and-functions.html\">How to use a Package in your VHDL design &#8211; with Example code!<\/a><br \/>\n<a href=\"http:\/\/vhdlguru.blogspot.com\/2011\/06\/non-synthesisable-vhdl-code-for-8-point.html\">Non-synthesisable VHDL code for 8 point FFT algorithm<\/a><br \/>\n<a href=\"http:\/\/vhdlguru.blogspot.com\/2010\/03\/entity-instantiation-easy-way-of-port.html\">Entity Instantiation &#8211; An easy way of Port mapping your components<\/a><br \/>\n<a href=\"http:\/\/insights.sigasi.com\/tech\/four-and-half-ways-write-vhdl-instantiations.html\">Four (and a half) ways to write VHDL instantiations<\/a><br \/>\n<a href=\"https:\/\/www.doulos.com\/knowhow\/vhdl_designers_guide\/configurations_part_1\/\">Configurations: Part 1<\/a><br \/>\n<a href=\"http:\/\/www.vhdl.renerta.com\/mobile\/source\/vhd00020.htm\">Configuration Declaration<\/a><br \/>\n<a href=\"http:\/\/www.vhdl.renerta.com\/mobile\/source\/vhd00017.htm\">Component Instantiation<\/a><\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nentity        = primary unit, external view, chip pins\r\narchitecture  = secondary unit, internal view, package body, chip die\r\ndesign entity = entity + architecture\r\ncomponents\r\n\r\npackage       = user defined data types, constants,\r\n                functions, procedures\r\nlibrary       = collection of related packages\r\n<\/pre>\n<h2>Quartus 18.1 on Ubuntu<\/h2>\n<h3>Abk\u00fcrzungen<\/h3>\n<table>\n<tr>\n<td><code><a href=\"https:\/\/www.intel.com\/content\/www\/us\/en\/programmable\/quartushelp\/14.1\/mergedProjects\/reference\/glossary\/def_qws.htm\">.qws<\/a><\/code><\/td>\n<td>Quartus Workspace File (Settings and Configuration Files)<\/td>\n<\/tr>\n<tr>\n<td><code><a href=\"https:\/\/www.intel.com\/content\/www\/us\/en\/programmable\/quartushelp\/14.1\/mergedProjects\/reference\/glossary\/def_qsf.htm\">.qsf<\/a><\/code><\/td>\n<td>Quartus Settings File<\/td>\n<\/tr>\n<tr>\n<td><code><a href=\"https:\/\/www.intel.com\/content\/www\/us\/en\/programmable\/quartushelp\/14.1\/mergedProjects\/reference\/glossary\/def_qpf.htm\">.qpf<\/a><\/code><\/td>\n<td>Quartus Project File<\/td>\n<\/tr>\n<tr>\n<td><code><a href=\"https:\/\/www.intel.com\/content\/www\/us\/en\/programmable\/quartushelp\/14.1\/mergedProjects\/reference\/glossary\/def_bdf.htm\">.bdf<\/a><\/code><\/td>\n<td>Block Design File<\/td>\n<\/tr>\n<\/table>\n<h3>Videos<\/h3>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=G_K5Hk610r4\">Scripting with Quartus Prime<\/a><\/p>\n<h3>Problems<\/h3>\n<p><a href=\"http:\/\/my-cool-projects.blogspot.com\/2018\/10\/how-to-dockerize-intel-quartus-1801.html\">How to dockerize Intel Quartus 18.01 <\/a><\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\n$ jtagconfig \r\nNo JTAG hardware available\r\n\r\n&lt;Connect Board&gt;\r\n\r\n$ jtagconfig \r\n1) USB-Blaster &#x5B;1-2]\r\n^C\r\n\r\n$ sudo killall jtagd\r\n$ jtagconfig \r\n1) USB-Blaster &#x5B;1-2]\r\n  020F40DD   10CL040(Y|Z)\/EP3C40\/EP4CE30\/..\r\n<\/pre>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\n$ jtagd --foreground --debug\r\nJTAG daemon started\r\nUsing config file \/etc\/jtagd\/jtagd.conf\r\nRemote JTAG permitted when password set\r\nNo USB device change detection because libudev.so.0 not found\r\nUSB-Blaster &quot;USB-Blaster&quot; firmware version 4.00\r\nUSB-Blaster endpoints out=02(64), in=81(64); urb size=1024\r\nUSB-Blaster added &quot;USB-Blaster &#x5B;1-2]&quot;\r\n\r\n$ cd \/lib\/x86_64-linux-gnu\/\r\n$ sudo ln -s libudev.so.1 libudev.so.0\r\n$ ls -la libudev.so*\r\nlrwxrwxrwx 1 root root     12 Oct 17 13:10 libudev.so.0 -&gt; libudev.so.1\r\nlrwxrwxrwx 1 root root     16 Jul 20 19:13 libudev.so.1 -&gt; libudev.so.1.6.9\r\n-rw-r--r-- 1 root root 121016 Jul 20 19:13 libudev.so.1.6.9\r\n\r\n$ jtagd --foreground --debug\r\nJTAG daemon started\r\nUsing config file \/etc\/jtagd\/jtagd.conf\r\nRemote JTAG permitted when password set\r\nUSB-Blaster &quot;USB-Blaster&quot; firmware version 4.00\r\nUSB-Blaster endpoints out=02(64), in=81(64); urb size=1024\r\nUSB-Blaster added &quot;USB-Blaster &#x5B;1-2]&quot;\r\n<\/pre>\n<h2>ModelSim on Ubuntu<\/h2>\n<h3>https:\/\/www.cc.gatech.edu\/~hadi\/teaching\/cs3220\/doc\/modelsim\/modelsimTutorial.pdf<br \/>\n<a href=\"https:\/\/www.cc.gatech.edu\/~hadi\/teaching\/cs3220\/doc\/modelsim\/modelsimTutorial.pdf\">ModelSim 10.1a Tutorial<\/a> (PDF), p. 69, Automating Simulation<\/p>\n<h3>Videos<\/h3>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=YsgkEGUQ-HE\">Modelsim\/Quartus Tutorial<\/a><br \/>\n<a href=\"https:\/\/www.youtube.com\/watch?v=Z8whdGa7RtY\">ModelSim Tutorial<\/a><\/p>\n<h3>Problems<\/h3>\n<p><a href=\"https:\/\/forums.intel.com\/s\/question\/0D50P000043lHImSAM\/alteramodelsim-can-not-start-on-ubuntu-1804?language=en_US\">Altera-Modelsim can not start on Ubuntu 18.04<\/a><br \/>\n<a href=\"https:\/\/gist.github.com\/PrieureDeSion\/e2c0945cc78006b00d4206846bdb7657\">ModelSim Installation issues &#8211; Ubuntu 14.xx and above<\/a><br \/>\n<a href=\"http:\/\/mattaw.blogspot.com\/2014\/05\/making-modelsim-altera-starter-edition.html\">Making ModelSim ALTERA STARTER EDITION vsim 10.1d work on Ubuntu 14.04<\/a><\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\n$ ls -la \/opt\/intelFPGA_lite\/18.1\/modelsim_ase\/bin\/vcom \r\nlrwxrwxrwx 1 root root 6 Oct  3 15:53 \/opt\/intelFPGA_lite\/18.1\/modelsim_ase\/bin\/vcom -&gt; ..\/vco\r\n\r\n$ ls -la \/opt\/intelFPGA_lite\/18.1\/modelsim_ase\/bin\/vsim\r\nlrwxrwxrwx 1 root root 6 Oct  3 15:53 \/opt\/intelFPGA_lite\/18.1\/modelsim_ase\/bin\/vsim -&gt; ..\/vco\r\n\r\n$ sudo xed \/opt\/intelFPGA_lite\/18.1\/modelsim_ase\/vco\r\n 13: mode=${MTI_VCO_MODE:-&quot;32&quot;}\r\n     &#x5B;...]\r\n210:  *)                vco=&quot;linux&quot; ;;\r\n\r\n$ \/opt\/intelFPGA_lite\/18.1\/modelsim_ase\/bin\/vsim \r\nError in startup script: \r\nInitialization problem, exiting.\r\n\r\nInitialization problem, exiting.\r\n\r\n    while executing\r\n&quot;InitializeINIFile quietly&quot;\r\n    invoked from within\r\n&quot;ncFyP12 -+&quot;\r\n    (file &quot;\/mtitcl\/vsim\/vsim&quot; line 1)\r\n** Fatal: Read failure in vlm process (0,0)\r\n\r\n$ sudo dpkg --add-architecture i386\r\n$ sudo apt-get update\r\n$ sudo apt-get install gcc-multilib g++-multilib lib32z1 lib32stdc++6 lib32gcc1 \\\r\n  expat:i386 fontconfig:i386 libfreetype6:i386 libexpat1:i386 libc6:i386 \\\r\n  libgtk-3-0:i386 libcanberra0:i386 libice6:i386 libsm6:i386 libncurses5:i386 \\\r\n  zlib1g:i386 libx11-6:i386 libxau6:i386 libxdmcp6:i386 libxext6:i386 libxft2:i386 \\\r\n  libxrender1:i386 libxt6:i386 libxtst6:i386\r\n$ wget http:\/\/download.savannah.gnu.org\/releases\/freetype\/freetype-2.4.12.tar.bz2\r\n$ tar -xjf freetype-2.4.12.tar.bz2\r\n$ cd freetype-2.4.12\r\n$ .\/configure --build=i686-pc-linux-gnu &quot;CFLAGS=-m32&quot; &quot;CXXFLAGS=-m32&quot; &quot;LDFLAGS=-m32&quot;\r\n$ make -j8\r\n$ sudo mkdir \/opt\/intelFPGA_lite\/18.1\/modelsim_ase\/lib32\r\n$ sudo cp objs\/.libs\/libfreetype.so* \/opt\/intelFPGA_lite\/18.1\/modelsim_ase\/lib32\r\ndir=`dirname &quot;$arg0&quot;`\r\nexport LD_LIBRARY_PATH=${dir}\/lib32\r\n\r\n$ \/opt\/intelFPGA_lite\/18.1\/modelsim_ase\/bin\/vsim\r\nWORKS!\r\n<\/pre>\n<h3>VirtualBox<\/h3>\n<pre class=\"brush: plain; collapse: true; light: false; title: VirtualBox Error; toolbar: true; notranslate\" title=\"VirtualBox Error\">\r\n$ sudo dpkg -i virtualbox-5.2_5.2.20-125813~Ubuntu~bionic_amd64.deb \r\n&#x5B;sudo] password for andreas: \r\nSelecting previously unselected package virtualbox-5.2.\r\n(Reading database ... 378749 files and directories currently installed.)\r\nPreparing to unpack virtualbox-5.2_5.2.20-125813~Ubuntu~bionic_amd64.deb ...\r\nUnpacking virtualbox-5.2 (5.2.20-125813~Ubuntu~bionic) ...\r\ndpkg: dependency problems prevent configuration of virtualbox-5.2:\r\n virtualbox-5.2 depends on libcurl4 (&gt;= 7.16.2); however:\r\n  Package libcurl4 is not installed.\r\n virtualbox-5.2 depends on libqt5opengl5 (&gt;= 5.0.2); however:\r\n  Package libqt5opengl5 is not installed.\r\n\r\ndpkg: error processing package virtualbox-5.2 (--install):\r\n dependency problems - leaving unconfigured\r\nProcessing triggers for systemd (237-3ubuntu10.3) ...\r\nProcessing triggers for ureadahead (0.100.0-20) ...\r\nureadahead will be reprofiled on next reboot\r\nProcessing triggers for gnome-menus (3.13.3-11ubuntu1.1) ...\r\nProcessing triggers for desktop-file-utils (0.23+linuxmint3) ...\r\nProcessing triggers for mime-support (3.60ubuntu1) ...\r\nProcessing triggers for hicolor-icon-theme (0.17-2) ...\r\nProcessing triggers for shared-mime-info (1.9-2) ...\r\nErrors were encountered while processing:\r\n virtualbox-5.2\r\n\r\n$ sudo apt-get --fix-broken install\r\nReading package lists... Done\r\nBuilding dependency tree       \r\nReading state information... Done\r\nCorrecting dependencies... Done\r\nThe following packages were automatically installed and are no longer required:\r\n  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\r\n  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\r\n  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\r\n  linux-modules-4.15.0-33-generic linux-modules-extra-4.15.0-33-generic\r\nUse 'sudo apt autoremove' to remove them.\r\nThe following additional packages will be installed:\r\n  libcurl4 libqt5opengl5\r\nThe following packages will be REMOVED:\r\n  libcurl3:i386 libcurl3\r\nThe following NEW packages will be installed:\r\n  libcurl4 libqt5opengl5\r\n0 upgraded, 2 newly installed, 2 to remove and 25 not upgraded.\r\n1 not fully installed or removed.\r\nNeed to get 132 kB\/346 kB of archives.\r\nAfter this operation, 151 kB disk space will be freed.\r\nDo you want to continue? &#x5B;Y\/n] y\r\nGet:1 http:\/\/archive.ubuntu.com\/ubuntu bionic\/main amd64 libqt5opengl5 amd64 5.9.5+dfsg-0ubuntu1 &#x5B;132 kB]\r\nFetched 132 kB in 0s (834 kB\/s)         \r\n(Reading database ... 379569 files and directories currently installed.)\r\nRemoving libcurl3:i386 (7.58.0-2ubuntu2) ...\r\nRemoving libcurl3:amd64 (7.58.0-2ubuntu2) ...\r\nSelecting previously unselected package libcurl4:amd64.\r\n(Reading database ... 379561 files and directories currently installed.)\r\nPreparing to unpack ...\/libcurl4_7.58.0-2ubuntu3.3_amd64.deb ...\r\nUnpacking libcurl4:amd64 (7.58.0-2ubuntu3.3) ...\r\nSelecting previously unselected package libqt5opengl5:amd64.\r\nPreparing to unpack ...\/libqt5opengl5_5.9.5+dfsg-0ubuntu1_amd64.deb ...\r\nUnpacking libqt5opengl5:amd64 (5.9.5+dfsg-0ubuntu1) ...\r\nSetting up libcurl4:amd64 (7.58.0-2ubuntu3.3) ...\r\nSetting up libqt5opengl5:amd64 (5.9.5+dfsg-0ubuntu1) ...\r\nProcessing triggers for libc-bin (2.27-3ubuntu1) ...\r\nSetting up virtualbox-5.2 (5.2.20-125813~Ubuntu~bionic) ...\r\nAdding group `vboxusers' (GID 129) ...\r\nDone.\r\nvboxdrv.sh: failed: modprobe vboxdrv failed. Please use 'dmesg' to find out why.\r\n\r\nThere were problems setting up VirtualBox.  To re-start the set-up process, run\r\n  \/sbin\/vboxconfig\r\nas root.\r\n\r\n$ sudo \/sbin\/vboxconfig\r\nvboxdrv.sh: Stopping VirtualBox services.\r\nvboxdrv.sh: Starting VirtualBox services.\r\nvboxdrv.sh: Building VirtualBox kernel modules.\r\nvboxdrv.sh: failed: modprobe vboxdrv failed. Please use 'dmesg' to find out why.\r\n\r\nThere were problems setting up VirtualBox.  To re-start the set-up process, run\r\n  \/sbin\/vboxconfig\r\nas root.\r\n\r\n$ virtualbox \r\nWARNING: The vboxdrv kernel module is not loaded. Either there is no module\r\n         available for the current kernel (4.15.0-36-generic) or it failed to\r\n         load. Please recompile the kernel module and install it by\r\n\r\n           sudo \/sbin\/vboxconfig\r\n\r\n         You will not be able to start VMs until this problem is fixed.\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Woche 10 Maximale Laufzeit, Worst Case Execution Time( WCET) Isochrone Isochronit\u00e4t PROFINET Handbuch, Prof. Max Felser, Berner Fachhochschule MinutePROFINET Industrial Internet of Things: PROFINET Intro Woche 13 Cache Placement Policies CSCI 4717: Direct Mapping Cache Assignment Direct Mapping\u200a\u2014\u200aMap cache and main memory CPU cache Cache-Algorithmus Cache-Koh\u00e4renz Zustandsmaschine Automat Moor-Automat Mealy-Automat Schaltwerke Technische Informatik &#8211; Automaten [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-8523","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts\/8523","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8523"}],"version-history":[{"count":31,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts\/8523\/revisions"}],"predecessor-version":[{"id":8914,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts\/8523\/revisions\/8914"}],"wp:attachment":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8523"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8523"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8523"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}