<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://andromeda.df.lu.lv/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Leo</id>
	<title>DiLab - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://andromeda.df.lu.lv/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Leo"/>
	<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php/Special:Contributions/Leo"/>
	<updated>2026-04-08T14:29:30Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=LU-BST-b&amp;diff=11232</id>
		<title>LU-BST-b</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=LU-BST-b&amp;diff=11232"/>
		<updated>2026-04-08T12:17:26Z</updated>

		<summary type="html">&lt;p&gt;Leo: /* Sīkāks apraksts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Īssaites:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[#Kalendārs | Kalendārs]] | &lt;br /&gt;
[[#Uzdevumi | Uzdevumi]] | &lt;br /&gt;
[[#Resursi | Resursi]] | &lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]] : &lt;br /&gt;
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]]&lt;br /&gt;
(ja ir lekcija)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{LUDFKurss|Bezvadu Sensoru Tīkli|BST|DatZ3070|2DAT3253}}&lt;br /&gt;
* Pasniedzējs: [[User:Leo | Leo Seļāvo]]&lt;br /&gt;
&lt;br /&gt;
====Kursa mērķis un uzdevumi====&lt;br /&gt;
Iepazīties ar bezvadu sensoru tīklu sistēmu darbības un projektēšanas principiem un pielietojumiem.&lt;br /&gt;
* Apgūt sensoru un iegulto sistēmu pamata tehnoloģijas un pielietojumus lietu internetā. &lt;br /&gt;
* Izstrādāt arhitektūru un komunikāciju protokolus bezvadu sensoru sistēmām. &lt;br /&gt;
* Programmēt iegultās sistēmas BST pielietojumam. &lt;br /&gt;
* Analizēt sensoru lasījumus un izdarīt secinājumus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievadlekcijas video&amp;#039;&amp;#039;&amp;#039;:&amp;lt;/big&amp;gt; [https://youtu.be/nwPxnED1M34 No sensoriem līdz stāstam]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Vērtējums kursā ====&lt;br /&gt;
* 30% Praktiskie darbi PD&lt;br /&gt;
* 20% Mājas darbi MD&lt;br /&gt;
* 20% Kontroldarbs KD&lt;br /&gt;
* 30% Projekta prezentācija un demo eksāmenā EKS + PROJ&lt;br /&gt;
&lt;br /&gt;
==== Mājas darbi ====&lt;br /&gt;
* Iesniedzami e-studijās&lt;br /&gt;
* Termiņš 30min pirms lekcijas sākuma, vai arī kā MD nosacījumos.&lt;br /&gt;
** Kavēts termiņš nozīmē -50% no vērtējuma. Pēc nedēļas darbs var tikt nepieņemts.&lt;br /&gt;
&lt;br /&gt;
==== Vidus semestra aptauja ====&lt;br /&gt;
* [https://docs.google.com/document/d/1XpUX_ZRIGsMSBrZpuO7KhmUn-x2emV3B/edit Aptauja]&lt;br /&gt;
&lt;br /&gt;
=Kalendārs=&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4 style = &amp;#039;border-color: #ddd; background-color: #fdfff2;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
! Datums&lt;br /&gt;
! Tēma, saturs&lt;br /&gt;
! Uzdevumi&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====04.02.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievadlekcija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Bezvadu sensoru tīklu pielietojumi un pamatproblēmas. BST kursa forma un prasības.&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/4iazzqk2ykmumsq/00_intro.pdf?raw=1 Ievads BST - slaidi]&lt;br /&gt;
* [https://www.dropbox.com/s/u5fnw7uku1ua1sf/00_Intro_IoT.pdf?raw=1 Ievads IoT - slaidi]&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD1 | PD1]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.02.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Bezvadu sakaru sistēmas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Radio spektrs un ISM josla. Komunikācijas protokoli un modulācija.&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/jujvdabdj03szif/L02_Wireless_systems.pdf?raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD2 | PD2]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.02.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Radio komunikāciju realitātes&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/scl/fi/fgqnlfpo7xurz5mm5atwj/03_radio-realities.pdf?rlkey=x54t0itxkbyuu0705ejoi3vry&amp;amp;st=mcy8s1hc&amp;amp;raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD3 | PD3]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.02.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Iegultās sistēmas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Sensoru mezgla uzbūve.&lt;br /&gt;
&lt;br /&gt;
[[BST-b_HW | Lekcijas pieraksti]]&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/kzcd4mr8mirh2i9/L03_motes.pdf?raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD4 | PD4]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.03.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;MAC protokoli sensoru tīklos&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/le4f7sywa528lnb/L05_Harvard_mac.pdf?raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD5 | PD5]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.03.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;(&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;) &amp;#039;&amp;#039;&amp;#039;KD0: Maršrutizācijas protokoli&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/u1y7n2www1y7vgu/L06_Routing.pdf?raw=1 Maršrutizācija. Slaidi]&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Uzdots: [[#MD_Routing|MD_Routing]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.03.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Laika sinhronizācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/8dmwkihq3gq4gls/L07_Timesync.pdf?raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD6 | PD6 Multihop]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.03.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Lokalizācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [http://selavo.lv/kursi/bst/09_localization.pdf Slaidi]&lt;br /&gt;
&lt;br /&gt;
Diskusijas par projektiem&lt;br /&gt;
|&lt;br /&gt;
Sensoru datu analīze, Jupyter notebook&lt;br /&gt;
* [https://jupyter.org Jupyter]&lt;br /&gt;
* [https://anaconda.org/anaconda/python Anaconda Python]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====08.04.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Programmēšanas abstrakcijas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Komponenšu orientēta programmēšana. Skriptēta un enkapsulēta programmēšana. TinyOS, MansOS un SEAL.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://www.dropbox.com/s/xwnr2aterigjp7q/05_component-programming.pdf?raw=1 Komponenšu orientēta programmēšana, TinyOS]&lt;br /&gt;
* [https://www.dropbox.com/s/jalyp6jxv7b2ja6/12_prog-abstractions.pdf?raw=1 Programmēšanas abstrakcijas BST, Mate]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Iesniegt: [[#MD_Routing|MD_Routing]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Uzdots: [[#MD_Proj|MD_Proj]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====15.04.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;KD1&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vidus semestra kontroldarbs KD1. Pieejams eStudijās.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====22.04.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Projektu tēmas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Diskusija par projektu tēmām.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Use case&amp;quot; - par projektiem infekcijas risku mazināšanai.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====29.04.26====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Datu vizualizācija un analīze&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Datu vizualizācija un analīze.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====06.05.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Datu analīze, prakse&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://www.anaconda.com/ Anaconda platforma] datu zinātnei.&lt;br /&gt;
* [https://jupyter.org/ Jupyter Notebook] - vide mazām programmām Python un datu analīzei.&lt;br /&gt;
* [https://www.dataquest.io/blog/jupyter-notebook-tips-tricks-shortcuts/ Jupyter triki]&lt;br /&gt;
&lt;br /&gt;
* [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6480280/ Wireless Sensor Networks for Big Data Systems]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš: [[#MD_Proj|MD_Proj]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Projektu statuss&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====13.05.26====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Drošība un privātums&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://www.dropbox.com/scl/fi/5xkeow5yuaxobewhwrntr/13_security-privacy_v2.pdf?rlkey=w6papger2tw2to9l3kk7w344y&amp;amp;st=1sxvon1n&amp;amp;dl=1 Slaidi]&lt;br /&gt;
* Videolekcija e-studijās.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://cert.lv/lv CERT.lv] - IT drošības incidentu novēršanas institūcija Latvijā.&lt;br /&gt;
* [https://www.thalesgroup.com/en/markets/digital-identity-and-security/iot/magazine/internet-threats IoT Security Issues in 2021: a Business Perspective]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Projekta statusa ziņojumi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====20.05.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Enerģijas ieguve no vides&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/lro0ncpw570neej/15_energy-harvesting.pdf?raw=1 Slaidi]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Projekta statusa ziņojumi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====27.05.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Kopsavilkums&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/qf5yd5toylks4zf/L99_Summary.pdf?raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Projektu statusa ziņojumi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====xx.06.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Eksāmena sākums: xx:xx&lt;br /&gt;
Eksāmena vieta: xxx. aud.&lt;br /&gt;
&lt;br /&gt;
Eksāmena (projekta) rezultāti iesūtāmi e-studijās kā PROJ, tai skaitā:&lt;br /&gt;
* apraksts.pdf - apraksts: problēma, risinājumi, jūsu risinājums, rezultāti un pieredze izstrādājot un testējot projektu. Fails PDF formātā.&lt;br /&gt;
* plakāts.pdf - plakāts par projektu. Fails PDF formātā.&lt;br /&gt;
* Saite uz demonstrācijas video, ja tāds ir.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Iesniegt projekta rezultātus e-studijās.&lt;br /&gt;
* Prezentācija klātienē.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- TESTBED&lt;br /&gt;
=====================================&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;BST Testbed&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
EDI BST [[#Testbed | Testbed apraksts un lietojums]].&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Uzdots: [[#MD_Testbed|MD_Testbed-P1]] - Testbed P1 uzdevums&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
=====================================&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Testbed&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Testbed prakse&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
=====================================&lt;br /&gt;
* Termiņš: [https://doodle.com/poll/627utpttbvqiypue?utm_source=poll&amp;amp;utm_medium=link Pieteikt grupas MD_Testbed uzdevumiem]&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš: [[#MD_Testbed|MD_Testbed-P1]] - Testbed P1 uzdevums&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš: [[#MD_Testbed|MD_Testbed]] - Visi uzdevumi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Uzdevumi =&lt;br /&gt;
== Praktiskie darbi ==&lt;br /&gt;
Praktiskajos darbos būs lietojama [https://github.com/edi-riga/MansOS/wiki MansOS operētājsistēma].&lt;br /&gt;
* Īss apraksts un pamācības pieejamas [https://github.com/edi-riga/MansOS/wiki MansOS wiki].&lt;br /&gt;
&amp;lt;!--https://github.com/IECS/MansOS--&amp;gt;&lt;br /&gt;
Praktisko darbu risinājumi iesūtāmi e-studijās.&lt;br /&gt;
&lt;br /&gt;
===PD1===&lt;br /&gt;
&amp;quot;SOS&amp;quot; morzes ābecē izvadīts uz motes LED&lt;br /&gt;
* E-studijās iesūtīt C programmas kodu.&lt;br /&gt;
&lt;br /&gt;
===PD2===&lt;br /&gt;
Hello World -&amp;gt; no motes uz termināla&lt;br /&gt;
&lt;br /&gt;
===PD3===&lt;br /&gt;
Gaismas sensora lasījums uz termināla&lt;br /&gt;
&lt;br /&gt;
===PD4===&lt;br /&gt;
Darbs grupā pa divi.&lt;br /&gt;
&lt;br /&gt;
Gaismas sensora lasījums pārraidīts ar radio un saņemts uz citas motes un izvadīts uz termināla.&lt;br /&gt;
&lt;br /&gt;
Risinājumam jābūt noturīgam pret citiem raidītājiem šajā pašā radio kanālā. Jāparāda tikai sava risinājuma sūtītās ziņas.&lt;br /&gt;
&lt;br /&gt;
Iesūtīt pirmkodu, kā arī failu apraksts.pdf ar testu rezultātiem un to aprakstu.&lt;br /&gt;
&lt;br /&gt;
===PD5===&lt;br /&gt;
Darbs grupā pa divi.&lt;br /&gt;
&lt;br /&gt;
Noteikt radio raidīšanas attālumu TmoteSky motēm.&lt;br /&gt;
* Izveidot raidītāja programmu un uztvērēja programmu. &lt;br /&gt;
* Pārvietot motes dažādos attālumos un novērtēt, cik datu pakas tiek saņemtas.&lt;br /&gt;
* Izvērtēt, kāda ietekme ir motes savstarpējai orientācijai starp raidītāju un uztvērēju.&lt;br /&gt;
* Aprakstīt rezultātus un iesniegt PDF dokumentā apraksts.pdf, e-studijās, kā PD5.&lt;br /&gt;
&lt;br /&gt;
===PD6===&lt;br /&gt;
Darbs grupā pa diviem vai trijiem studentiem.&lt;br /&gt;
&lt;br /&gt;
Realizēt &amp;quot;Multihop&amp;quot; tīklu ar TmoteSky motēm.&lt;br /&gt;
* Izveidot programmatūru trīs dažādu sensoru mezglu tipiem, attiecīgos pirmkoda failos:&lt;br /&gt;
*# sensor.c - Sensors - nolasa gaismas sensora vērtību un nosūta pa radio Releja tipa motei.&lt;br /&gt;
*# relay.c - Relejs - mote, kas saņem datus no sensoriem un pārsūta tālāk citām motēm (Relejiem un Vārtejām).&lt;br /&gt;
*# gateway.c - Vārteja - mote, kas saņem radio datus un pārsūta tos uz seriālo portu (USB).&lt;br /&gt;
&lt;br /&gt;
* Katram mezglam (motei) ir unikāls ID. Izdomāt, kā to panākt.&lt;br /&gt;
* Tīklā jābūt vismaz vienam relejam, bet var būt vairāki, lai realizētu garāku komunikācijas ķēdi.&lt;br /&gt;
* Tīklā var būt vairāki Sensoru mezgli. &lt;br /&gt;
* Tīklā ir tikai viena vārteja.&lt;br /&gt;
* Relejam jāignorē tās ziņas, ko tas jau ir kādreiz sūtījis. Šo var realizēt ar motes identifikatora un/vai ziņas kārtas numura iekļaušanu sūtāmajā datu pakā. Tad, piemēram, mote var ignorēt vecākas datu pakas nekā pēdējā, ko tā ir sūtījusi.&lt;br /&gt;
* Vārtejai katra datu paka jānosūta pa USB tikai vienreiz. Ja tā, piemēram, saņem to pašu datu paku atkārtoti, piemēram, no cita Releja, tai tā jāignorē.&lt;br /&gt;
&lt;br /&gt;
* Aprakstīt rezultātus un iesniegt PDF dokumentā apraksts.pdf, e-studijās, kā PD6. Iesniegt arī programmatūras kodu.&lt;br /&gt;
&lt;br /&gt;
==Mājas darbi==&lt;br /&gt;
===MD_Routing===&lt;br /&gt;
Izstrādāt un aprakstīt maršrutizācijas algoritmu, kas atbilst prasībām &lt;br /&gt;
[https://www.dropbox.com/s/yakqcy9e8322tbf/BST_routing_MD.pdf?raw=1 šajos slaidos]&lt;br /&gt;
&lt;br /&gt;
* Aprakstīt izveidoto maršrutizācijas protokolu.&lt;br /&gt;
* Aprakstīt protokola veiktspējas novērtējumu.&lt;br /&gt;
* Sniegt piemēru, kā tas darbojas slaidos dotajā situācijā.&lt;br /&gt;
* Risinājumu iesniegt PDF dokumentā, e-studijās.&lt;br /&gt;
&lt;br /&gt;
===MD1===&lt;br /&gt;
[[#PD5 | PD5]] rezultāti - Izvērtēt sensoru mezglu komunikāciju veiktspēju atkarībā no distances.&lt;br /&gt;
&lt;br /&gt;
Gadījumā, ja jums neizdevās savākt savus datus, tad analīzei var lietot šos, ar attiecīgu atsauci:&lt;br /&gt;
* [https://www.dropbox.com/s/gd434p1wkgcq9gz/merijumi_veldre_kniss.xlsx?dl=1 | Dati1 (excel)] (Rainers, Juris)&lt;br /&gt;
* [https://www.dropbox.com/s/h679d2y84svixs1/BST_PD05_DATA_Audris.zip?dl=1 | Dati2 (zip)] (Audris, Madara)&lt;br /&gt;
&lt;br /&gt;
===MD3===&lt;br /&gt;
Izstrādāt un aprakstīt virtuālas mašīnas valodu bezvadu sensoru mezgliem, līdzīgi kā &lt;br /&gt;
[https://www.dropbox.com/s/pw8hl4zbsbgek65/L09b_prog-abstractions.pdf?raw=1 Mate lekcijas slaidos]. &lt;br /&gt;
&lt;br /&gt;
Aprakstā jāiekļauj: &lt;br /&gt;
* Valodas komandas, arhitektūra, pieņēmumi&lt;br /&gt;
* Komandu kodējums (pa bitiem), komandu tipi vai klases.&lt;br /&gt;
* Divi piemēri programmām, kas kodēti jūsu valodā.&lt;br /&gt;
* Ar ko jūsu risinājums atšķiras no Mate un kādos gadījumos tam ir priekšrocības.&lt;br /&gt;
&lt;br /&gt;
===MD_Proj===&lt;br /&gt;
====Kursa projekta pieteikums====&lt;br /&gt;
&lt;br /&gt;
=====Īss apraksts=====&lt;br /&gt;
&lt;br /&gt;
Izstrādāt projekta pieteikumu, kurā aprakstīt:&lt;br /&gt;
* Problēmu, ko risināsiet ar bezvadu sensoru tīklu palīdzību&lt;br /&gt;
* Motivāciju, kāpēc problēma jārisina&lt;br /&gt;
* Esošos risinājumus šai problēmai vai līdzīgām problēmām&lt;br /&gt;
* Kas nepieciešams jūsu risinājumam: tehnoloģijas, aparatūra&lt;br /&gt;
* Termiņi katrai nedēļai: kas tiks veikts līdz šiem termiņiem projekta izstrādes gaitā.&lt;br /&gt;
&lt;br /&gt;
Aprakstu organizēt kā slaidus, lai ērti prezentēt. Iesniegt aprakstu PDF formātā.&lt;br /&gt;
&lt;br /&gt;
=====Sīkāks apraksts=====&lt;br /&gt;
&lt;br /&gt;
Šoreiz nekas nav jāprogrammē. Bet gan jāuzraksta sava kursa projekta īss apraksts kā slaidu prezentācija un jāiesniedz PDF formātā.&lt;br /&gt;
Kursa projekta pieteikumu būs iespējams prezentēt lekcijas laikā, lai pārrunātu ar kolēģiem. &lt;br /&gt;
&lt;br /&gt;
Obligātās dokumenta nodaļas:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Projekta tēma&amp;#039;&amp;#039;&amp;#039;. Kas ir Jūsu projekts, ko Jūs izstrādāsiet. Šeit var pietikt ar vienu vai dažiem teikumiem&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Projekta komanda&amp;#039;&amp;#039;&amp;#039;, īpaši ja nepieciešams vairāk par vienu dalībnieku. Kas piedalās, kādas lomas katrs izpilda (kurš ko programmēs, kurš projektēs, kurš testēs utt)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Motivācija&amp;#039;&amp;#039;&amp;#039;. Kāpēc Jūs šādu projektu taisāt. Kāds no tā varētu būt labums Jums un pārējiem apkārtējiem cilvēkiem, dabai.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Jūsu pieeja un arhitektūra&amp;#039;&amp;#039;&amp;#039;. Kā realizēsiet projektu. Kāda būs izmantotā aparatūra. Kāda programmatūra. Kāda būs tīkla struktūra. Šeit labi iederas sistēmas arhitektūras bildes, shematiski attēlojumi. Svarīgi norādīt arī nepieciešamo aparatūru, tai skaitā, kādi sensori nepieciešami projekta realizēšanai. Lai varam sākt meklēt nepieciešamos sensorus, motes. Tiek sagaidīts, ka šī ir saturīgākā projekta apraksta daļa.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Sagaidāmais rezultāts&amp;#039;&amp;#039;&amp;#039;. Cik daudz no savas projekta idejas plānojat šī semestra laikā realizēt. Kādus testus veikt. Kā novērtēsit rezultātus.&lt;br /&gt;
&lt;br /&gt;
Papildus tēmas:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kas šajā tēmā pasaulē ir jau izdarīts&amp;#039;&amp;#039;&amp;#039;. Bakalaura studentiem netiek prasīts izdarīt kaut ko universālu, kas pasaulē vēl neeksistē. Tai pat laikā, ir ļoti vēlams, ka veicat izpēti, par to, kas pasaulē Jūsu tēmā ir jau izpildīts. Kaut vai tāpēc, lai izvēlētos labāko risinājumu, lai nav pašiem jāizdomā no nulles&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Idealizācija&amp;#039;&amp;#039;&amp;#039;. Šī projekta ietvaros netiek prasīts, lai Jūs uzbūvējat vispasaules sensoru tīklu ar Google mēroga infrastruktūru. Bet, ja tas būtu iespējams - ko ar Jūsu sensoru tīklu varētu izdarīt? T.i., padomājiet arī pāri sava viena semestra robežām!&lt;br /&gt;
&lt;br /&gt;
===MD_Testbed===&lt;br /&gt;
Uzdevuma veikšana EDI testbed platformā (Testbed).&lt;br /&gt;
&lt;br /&gt;
Pieslēguma informācija Testbed platformai tiks paziņota individuāli, lekcijā un/vai e-studijās.&lt;br /&gt;
&lt;br /&gt;
Uzdevums ir ievākt informāciju no Testbed sensoriem kas atrodas uz jums izdalītajiem Testbed sensoru mezgliem pēc iespējas ilgāku laika posmu, vismaz 24 stundas, un attēlot datus grafiski. Sīkāks uzdevumu apraksts seko.&lt;br /&gt;
&lt;br /&gt;
====Programma P1====&lt;br /&gt;
Programmas P1 mērķis ir pārbaudīt Testbed darbību un nolasīt log failos saglabātos datus.&lt;br /&gt;
&lt;br /&gt;
* Pieslēgties Testbed &lt;br /&gt;
* Pārbaudīt jums izdalīto sensoru mezglu darbību izveidojot vienkāršu programmu &amp;lt;code&amp;gt;P1.c&amp;lt;/code&amp;gt; kas sūta skaitļus no 1 līdz 100 ar vienas sekundes intervālu uz seriālo portu. Skaitļus sūtīt kā simbolu virkni salasāmā tekstā, piemēram &amp;quot;17&amp;quot;.&lt;br /&gt;
* Darbināt P1 uz visiem sensoru mezgliem vienlaicīgi. Darbināt eksperimentu 10min. Saglabāt Log failus.&lt;br /&gt;
* Novērtēt rezultātus. Piemēram, vai visi sensori darbojās vienlīdz ātri?&lt;br /&gt;
&lt;br /&gt;
====Programma P2====&lt;br /&gt;
Programmas P2 mērķis ir ievākt sensoru datus ilgākā laika posmā.&lt;br /&gt;
&lt;br /&gt;
* Izveidot programmu &amp;lt;code&amp;gt;P2.c&amp;lt;/code&amp;gt; kas reizi 10 sekundēs nolasa sensoru vērtības. &lt;br /&gt;
* Lasāmie sensori ir: Gaismas sensors, temperatūra un gaisa mitrums.&lt;br /&gt;
* Darbināt P2 24 stundas un saglabāt datus Log failos.&lt;br /&gt;
* Analizēt sensoru datus. Uzzīmēt datus grafikā ar x kā laika asi un y kā mērījumu asi. Izdarīt secinājumus.&lt;br /&gt;
&lt;br /&gt;
====Programma P3====&lt;br /&gt;
Programmas P3 mērķis ir novērtēt komunikāciju iespējas Testbed vidē.&lt;br /&gt;
&lt;br /&gt;
* Izveidot programmu &amp;lt;code&amp;gt;P3_send.c&amp;lt;/code&amp;gt;, kas sūta 300 ziņas visiem citiem mezgliem ik pa 100 milisekundēm. Katrā ziņā iekļaut tās kārtas numuru. Datos iekļaut arī savu identifikatoru, lai saņemošais klients var atpazīt datu pakas tipu un mērķi.&lt;br /&gt;
* Izveidot programmu &amp;lt;code&amp;gt;P3_receive.c&amp;lt;/code&amp;gt;, kas saņem ziņas pa radio no citiem mezgliem un pieraksta RSSI vērtības atmiņas buferī. Kad visas atsūtītas, eksportēt datus uz log failu caur seriālo portu.&lt;br /&gt;
* Darbināt P3_send uz viena mezgla un P3_receive uz pārējiem. Saglabāt datus log failā.&lt;br /&gt;
* Atkārtot iepriekšējo eksperimentu tā, lai datu būtu sūtīti no visiem mezgliem.&lt;br /&gt;
* Rezultātā jums jābūt datiem kas apraksta komunikāciju starp jebkuriem diviem mezgliem.&lt;br /&gt;
* Rezultātu analīzē parādiet kā RSSI mainās laikā starp visiem mezgliem. Bez tam, izveidojiet tabulu vai grafu kurā novērtējiet komunikāciju/ saņemtā signāla stiprumu starp visiem mezgliem. Atcerieties, ka saites var būt arī asimetriskas, piemēram, mezgls A &amp;quot;dzird&amp;quot; mezglu B labāk nekā B &amp;quot;dzird&amp;quot; A.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Piezīmes&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Ņemiet vērā, ka var gadīties, ka dažas ziņas mezgli var nesaņemt trokšņu vai citu iemeslu dēļ. Datos tas ir jāredz. Tāpēc saglabājot RSSI jāņem vērā arī saņemtās ziņas kārtas numurs, ko tā sūtīja.&lt;br /&gt;
* Saņemtos RSSI rādījumus jums jāglabā atmiņā, lai tie aizņemtu pēc iespējas mazāk vietas. Sūtot tos uz reizi pa seriālo portu jums var nepietikt laika saņemt visas ziņas. Tāpēc ieteicams datus saglabāt ar seriālo portu tikai pēc tam kad eksperiments beidzies - pēdēja ziņa saņemta (vai nav pienākusi, bet laiks pagājis).&lt;br /&gt;
&lt;br /&gt;
====Iesniegšana====&lt;br /&gt;
Iesniegt rezultātus visiem uzdevumiem e-studijās kā MD_Testbed. &lt;br /&gt;
Tai skaitā, katram uzdevumam P&amp;#039;&amp;#039;X&amp;#039;&amp;#039;, kur &amp;#039;&amp;#039;X&amp;#039;&amp;#039; ir 1, 2 un 3:&lt;br /&gt;
&lt;br /&gt;
* Katram uzdevumam P1, P2 un P3 izveidot direktoriju ar attiecīgu vārdu. Šajās direktorijās izvietot attiecīgo uzdevumu pirmkoda, datu un apraksta failus.&lt;br /&gt;
* Iekopēt direktorijās visu pirmkodu un ievākto datu failus&lt;br /&gt;
* Analīzes rezultātus aprakstīt un grafikus attēlot PDF failā ar nosaukumu P&amp;#039;&amp;#039;X&amp;#039;&amp;#039;.pdf&lt;br /&gt;
* Neaizmirstiet aprakstā norādīt darba autorus un ko katrs darījis, kā arī katra dalībnieka procentuālo ieguldījumu no komandas darba.&lt;br /&gt;
* Visus failus arhivēt kā zip failu un saukt BST_MD_Testbed_Vards_Uzvards.zip, kur, protams, lietots &amp;#039;&amp;#039;jūsu&amp;#039;&amp;#039; vārds un uzvārds.&lt;br /&gt;
* Zip fails jāiesūta e-studijās VISIEM komandas dalībniekiem.&lt;br /&gt;
&lt;br /&gt;
=Testbed=&lt;br /&gt;
&lt;br /&gt;
EDI BST testa vides piekļuve un lietošana.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://docs.google.com/presentation/d/1Qy32wqh3W4ki808hN_FUTMHURcO1F6St3nwovtZLLNQ/edit?usp=sharing Lietošanas pamācība]&lt;br /&gt;
* [https://www.edi.lv/testbed EDI Testbed] portāls&lt;br /&gt;
* Testbed CLI komandu [https://www.dropbox.com/s/gse78nkox8eo523/EDI%20TestBed%20CLI%20cheat%20sheet%202021.pdf?raw=1 Cheatsheet]&lt;br /&gt;
* [https://www.dropbox.com/s/efsx8380cy4y366/EDI_TestBed_CLI_intro_2021.pdf?raw=1 EDI Testbed Prezentācija]&lt;br /&gt;
* Demonstrācijas video pieejams eStudijās&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CLI klientu programmatūra&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
** [https://makonis.edi.lv/s/PtomG54z8i7ozJp Linux]&lt;br /&gt;
** [https://makonis.edi.lv/s/bBAzoknjX23WfPS Windows]&lt;br /&gt;
&lt;br /&gt;
Publikācijas&lt;br /&gt;
* [https://www.researchgate.net/publication/236735509_Wireless_Sensor_Network_Testbeds_A_Survey Wireless Sensor Network Testbeds: A Survey]&lt;br /&gt;
&lt;br /&gt;
= Resursi =&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/edi-riga/MansOS/wiki &amp;#039;&amp;#039;&amp;#039;MansOS&amp;#039;&amp;#039;&amp;#039; operētājsistēma]&lt;br /&gt;
** [[MansOS msp430 procesora rīku instalācija ar Docker]]&lt;br /&gt;
&lt;br /&gt;
* [http://www.catb.org/esr/structure-packing/ The Lost Art of Structure Packing]&lt;br /&gt;
* Grāmata: [https://ptolemy.berkeley.edu/books/leeseshia/ Introduction to Embedded Systems - A Cyber-Physical Systems Approach]&lt;br /&gt;
* [[LU::poster-howto | Ieteikumi plakātu prezentāciju veidošanā]]&lt;br /&gt;
&lt;br /&gt;
* [https://towardsdatascience.com/top-30-data-science-interview-questions-7dd9a96d3f5c Datu zinātne] - 30 intervijas jautājumi&lt;br /&gt;
&lt;br /&gt;
* [https://google.github.io/mediapipe/ Mediapipe] - attēlu apsrādes bibliotēka&lt;br /&gt;
&lt;br /&gt;
== Aparatūra, sensori ==&lt;br /&gt;
* [[DiLab_resursi]] - LU pieejamie sensori un aparatūra&lt;br /&gt;
&lt;br /&gt;
== Saites ==&lt;br /&gt;
* [[LU-BST:links | Bezvadu sensoru tīklu saites]]&lt;br /&gt;
* [https://www.sqimway.com/index.html Bezvadu komunikācijas veidi un frekvences]&lt;br /&gt;
* [http://ss64.com/bash Linux komandu rokasgrāmata]. Komandas, kas mums būs noderīgas: cd, ls, cp, mv, mkdir, df, echo, export, find, grep, less, nano, make, man, ping, rm, ifconfig.&lt;br /&gt;
* [[LU-BST:SwissQM | Kā piedarbināt SwissQM virtuālo mašīnu sensoru tīkliem]] (Paldies Kārlim Visendorfam par aprakstu!)&lt;br /&gt;
* [https://www.ibr.cs.tu-bs.de/dus/publications/spots2006.pdf uPart mote un tās īpašības]&lt;br /&gt;
&lt;br /&gt;
== Interesanti ==&lt;br /&gt;
* [https://www.sparkfun.com/news/6147 Hedy Lamarr and Frequency Hopping Technology] - Holivudas aktrise un FH patenta autore.&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=LU-LSP-b&amp;diff=11231</id>
		<title>LU-LSP-b</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=LU-LSP-b&amp;diff=11231"/>
		<updated>2026-04-08T11:31:22Z</updated>

		<summary type="html">&lt;p&gt;Leo: /* Projekts kursā */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Īssaites:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[#Kalendārs | Kalendārs]] | &lt;br /&gt;
[[#Uzdevumi | Uzdevumi]] | &lt;br /&gt;
[[#Resursi | Resursi]] | &lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]] : &lt;br /&gt;
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]]&lt;br /&gt;
(ja ir lekcija)&lt;br /&gt;
&lt;br /&gt;
{{LUDFKurss|Linux sistēmas programmēšana|LSP|DatZ3122|2DAT3122}}&lt;br /&gt;
* Pasniedzējs:&lt;br /&gt;
** Leo Seļāvo &amp;#039;&amp;#039;(epasts: vards.uzvards @ gmail.com)&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Vērtējums = 15% praktiskie darbi, 35% mājas darbi, 20% kontroldarbs un 30% eksāmens.&lt;br /&gt;
&lt;br /&gt;
* [[LSP kursa atsauksmes]] no iepriekšējiem gadiem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Praktisko un mājas darbu iesniegšana ==== &lt;br /&gt;
* Mājas darbus iesniegt e-studijās vai darbu testēšanas serverī, atkarībā no darba specifikācijas.&lt;br /&gt;
* Faila nosaukumam jābūt formā LSP_MD1_Vards_Uzvards.c - mainot atbilstošo uzdevuma kodu (MD1) un faila formātu pēc nepieciešamības.&lt;br /&gt;
* Nevajag arhivēt failus, ja vien tas nav prasīts uzdevuma nosacījumos&lt;br /&gt;
&lt;br /&gt;
==== Praktisko darbu vērtēšanas kritēriji ====&lt;br /&gt;
* Praktisko darbu mērķis ir nostiprināt un parādīt izpratni par apgūto vielu, attiecīgi darbi ir jārisina &amp;#039;&amp;#039;&amp;#039;patstāvīgi&amp;#039;&amp;#039;&amp;#039;, tomēr jautājumu uzdošana pasniedzējam vai kolēģiem ir vēlama.&lt;br /&gt;
* Maksimālo vērtējumu par praktisko darbu var saņemt, ja tas iesūtīts līdz praktisko darbu lekcijas dienas beigām.&lt;br /&gt;
* Pēc termiņa praktiskie darbi tiek pieņemti vēl tekošo nedēļu (līdz nākamās lekcijas sākumam) un tiks novērtēti, tomēr vairs ne ar maksimālo atzīmi. &lt;br /&gt;
* Praktiskajos darbos un lekcijās atzinīgi vērtējama ir dalība diskusijās, unikālu risinājumu un ideju piedāvāšana, trāpīgu jautājumu uzdošana, atbildēšana uz kolēģu jautājumiem u.t.t., kas var pozitīvi ietekmēt gala atzīmi kursā.&lt;br /&gt;
&lt;br /&gt;
==== Mājas darbu vērtēšanas kritēriji ====&lt;br /&gt;
* Mājas darbu iesniegšanas termiņa laiks ir attiecīgajā datumā līdz pusnaktij.&lt;br /&gt;
* Ja darbs tiek iesniegts ar novēlošanos (kaut vai 1 sekundi!):&lt;br /&gt;
** Tūdaļ pēc termiņa rezultāts tiek samazināts par &amp;#039;&amp;#039;&amp;#039;50%&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
** Nedēļu pēc termiņa darbi vairs netiek pieņemti.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==== Vidus semestra aptauja ====&lt;br /&gt;
* [xxx Aptauja]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Kalendārs=&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4 style = &amp;#039;border-color: #ddd;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
! Datums&lt;br /&gt;
! Tēma, saturs&lt;br /&gt;
! Uzdevumi&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====04.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievads kursā&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Unix un Linux operētājsistēmu pamatkoncepcijas. Linux sistēmprogrammētaja rīki (shell, gcc, make, manpages u.c.).&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD0 | MD0 ]]&amp;#039;&amp;#039;&amp;#039; - Programmēšanas stils&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[https://docs.google.com/document/d/1wmhmxU2x93yj5bha98yGwGTvUbQ5Q0ZjOTfcNQ5ndjc/edit?usp=sharing MD_Koks]&amp;#039;&amp;#039;&amp;#039; - Dzimtas koks.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Intro&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* Iekārtot darba vidi (linux, teksta redaktors, kompilators)&lt;br /&gt;
* Izveidot un pašiem nokompilēt &amp;quot;Hello world&amp;quot; C valodā&lt;br /&gt;
* Iepazīties ar UNIX čaulas komandām un uzdot jautājumus par neskaidrībām.&lt;br /&gt;
* Versiju kontroles sistēmas github pamati.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [[LU-LSP-B11:shell-cheatsheet | UNIX čaulas populārākās komandas un lietojumi]]&lt;br /&gt;
* Lasīt [https://www.linux.com/what-is-linux Kas tas ir, Linux?] - tagad vai līdz nākamajai lekcijai&lt;br /&gt;
* Lasīt [https://web.archive.org/web/20160417114016/http://www.physics.drexel.edu/students/courses/Comp_Phys/General/C_basics/#first C valodas pamācību] no Drexel universitātes.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L01 | PD_Intro]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====05.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Programmēšanas valoda C&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vispārīgs pārskats par programmēšanas valodu C. Datu struktūras. C standarti, kompilācija, bibliotēkas, linkošana, skalārie un saliktie tipi (t.sk pointeri un masīvi), funkcijas, nosacījumi, cikli.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Klasiskā C programmēšanas valodas grāmata: Brian W. C. Kernighan &amp;amp; Dennis M. Ritchie, &amp;quot;The C Programming Language -- ANSI C,&amp;quot; Prentice Hall, 1988 &lt;br /&gt;
* [https://web.archive.org/web/20160417114016/http://www.physics.drexel.edu/students/courses/Comp_Phys/General/C_basics/#first C Language Tutorial]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====11.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Darbs ar failiem&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Sistēmas izsaukumi un standarta bibliotēkas funkcijas faila ievadam un izvadam.  Linux piedāvātās programmas darbam ar failu izvadu/ievadu  (&amp;#039;&amp;#039;cat, tail, head, less, telnet&amp;#039;&amp;#039; u.c.).  Failu ievada un izvada ātrdarbības uzlabošana, buferi., ņemot vērā sistēmas arhitektūru.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_File&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Failu kopēšana.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L02 | PD_File]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====12.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Failu sistēma&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Faila izmēra noteikšana.  Failu saites, stingrās un vājās (hard links, soft links).  Failu glabāšana un pieeja operētājsistēmā. &amp;#039;&amp;#039;i-node&amp;#039;&amp;#039; jēdziens. Sistēmas izsaukums stat(). Direktoriju struktūra.  Izsaukumi opendir(), readdir() un closedir().   &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Failu piekļuves režīmi&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Faila piekļuves tiesību režīmi pie open() un umask.  Failu un i-node izsaukumi: chmod(), link(), unlink(), remove(), rename(), symlink(), readlink(), utime(), mkdir(), rmdir(), chdir(), getcwd().  Programma rakstīšanai log failā. Log faili.  Ekskluzīva rakstīšana ar open(...O_SYNC) un fcntl() metodēm.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD3 | MD_Dir]]&amp;#039;&amp;#039;&amp;#039; - Direktoriju koka apstaigāšana.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Dir&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Direktoriju koka apstaigāšana.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L03 | PD_Dir]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[https://docs.google.com/document/d/1wmhmxU2x93yj5bha98yGwGTvUbQ5Q0ZjOTfcNQ5ndjc/edit?usp=sharing MD_Koks]&amp;#039;&amp;#039;&amp;#039; - Dzimtas koks. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====19.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Atmiņas arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Atmiņas arhitektūra. Virtuālā atmiņa. TEXT, DATA, HEAP un STACK segmenti. Koplietošanas atmiņa starp procesiem. Procedūru izsaukumi.  Parametru nodošana caur steku. Steka satura analīze un piekļuve stekam.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Virtuālā atmiņa&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Virtuālās atmiņas lapas.  Page fault un segmentation fault.  Atmiņas aizsardzība. &amp;#039;&amp;#039;setjmp()&amp;#039;&amp;#039; un &amp;#039;&amp;#039;longjmp()&amp;#039;&amp;#039;.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD4 | MD_Mem]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas rezervācijas funkciju salīdzinājums.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_An&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Programmas analīze.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L04 | PD_An]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD3 | MD_Dir]]&amp;#039;&amp;#039;&amp;#039; - Direktoriju koka apstaigāšana.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====26.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Dinamiskā atmiņa&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Dinamiskā atmiņas izdalīšana. Heap, malloc() un free(). Dienesta informācija pie atmiņas izdalīšanas un atbrīvošanas.  Brīvās atmiņas saraksti. Prasības malloc() un free() veiktspējai.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Atmiņas fragmentācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Atmiņas fragmentācija. Atmiņas rezervēšanas (allocation) algoritmi,  kas darbojas uz atmiņas fragmentiem. Atmiņas &amp;#039;spaiņi&amp;#039;.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD5 | MD_Frag]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas fragmentācijas algoritmu novērtējums (&amp;#039;&amp;#039;&amp;#039;grupās&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Malloc :: PD_Heap&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; =&amp;gt; Daudz-uzdevumu vide&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Malloc&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Atmiņas rezervācija.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Heap&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Vienkāršs atmiņas alokators fiksēta izmēra objektiem.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L06 | PD_Malloc]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:L07 | PD_Heap]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD4 | MD_Mem]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas rezervācijas funkciju salīdzinājums. &lt;br /&gt;
TERMIŅŠ pārcelts nedeļu uz priekšu servera ķibeles dēļ.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====05.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Atkļūdošana&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Linux atkļūdošanas rīki un to lietošana.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Game&amp;#039;&amp;#039;&amp;#039; - Kursa projekta tēmas (spēles) izvēle&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
||&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;KD1&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; (&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;)&lt;br /&gt;
|}&lt;br /&gt;
KD1 kontroldarbs. Programmēšanas uzdevums pie datora, izmantojot apgūto vielu.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
| &amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Dbg&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; (&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;)&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Dbg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Atkļūdošanas rīki.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:LA | PD_Dbg]]&amp;#039;&amp;#039;&amp;#039; (Nav obligāti jāiesniedz)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====12.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
| &amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Daudz-uzdevumu vide&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; =&amp;gt; PD_Malloc :: PD_Heap (&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;)&lt;br /&gt;
|}&lt;br /&gt;
Daudz-uzdevumu vide. Procesi un procesu kontrole. Pavedieni (threads).  Kooperējošies procesi un preemptīvā daudz-uzdevumu metode.  Komanda &amp;#039;&amp;#039;&amp;#039;ps&amp;#039;&amp;#039;&amp;#039;.  &amp;#039;&amp;#039;getpid()&amp;#039;&amp;#039; un &amp;#039;&amp;#039;getppid()&amp;#039;&amp;#039;. &amp;#039;&amp;#039;fork()&amp;#039;&amp;#039;, &amp;#039;&amp;#039;exec()&amp;#039;&amp;#039;, &amp;#039;&amp;#039;wait()&amp;#039;&amp;#039;. &amp;#039;&amp;#039;system()&amp;#039;&amp;#039;.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Pavedieni&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Pavedieni. POSIX pavedieni. Mutex. Datu skriešanās (data race condition). Strupceļš (deadlock).&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.cs.cmu.edu/afs/cs/academic/class/15492-f07/www/pthreads.html POSIX thread (pthread) libraries]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD5 | MD_Frag]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas fragmentācijas algoritmu novērtējums (&amp;#039;&amp;#039;&amp;#039;grupās&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Thread&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Programma kas taisa N pavedienus, kur katrs izdrukā M burtus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_KD&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Kontroldarba analīze.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Spec&amp;#039;&amp;#039;&amp;#039; - Spēles noteikumu specifikācija&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:L08 | PD_Thread]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====19.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Procesa dzīves cikls :: Starpprocesu komunikācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Procesa dzīves cikls&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Procesa dzīves cikls: Procesa ielādēšana, uzsākšanās un pieci veidi  kā process var beigties. exit() un _exit().&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Starpprocesu komunikācija&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Starpprocesu komunikācija.  Faili. Pipes. Koplietošanas atmiņa. Komunikācija starp nesaistītiem procesiem. Sockets abstrakcija komunikācijai.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Game&amp;#039;&amp;#039;&amp;#039; - Kursa projekta tēmas (spēles) izvēle&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Sockets :: Servera klienta arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Sockets&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sockets abstrakcija komunikācijai. Klienta un servera arhitektūra.  Iteratīvie un paralēlie serveri. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Servera klienta arhitektūra&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
TBD: Ieskatam servera/klienta komunikācijā [http://selavo.lv/wiki/index.php/LU-LSP-b13:L11 PD11], bet nav jānodod.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Prot1&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, 1. versija&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Spec&amp;#039;&amp;#039;&amp;#039; - Spēles noteikumu specifikācija&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Jmp :: PD_PSpec&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Jmp&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;setjmp()&amp;#039;&amp;#039;,&amp;#039;&amp;#039;longjmp()&amp;#039;&amp;#039; un taimera signāls.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_PSpec&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Darbs pie kursa projekta. Spēles izvēle un specifikācija.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L05 | PD_Jmp]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;PD_PSpec&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====26.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Signāli&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Signāli. Alarm serviss un signāls.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Prot2&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, gala versija&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Prot1&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, 1. versija&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====08.04.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Tekstuālā lietotāja saskarne.&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Tekstuālā lietotāja saskarne. Ncurses bibliotēka.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [https://www.cyberciti.biz/faq/linux-install-ncurses-library-headers-on-debian-ubuntu-centos-fedora/ Ncurses library, installation and use]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spēles noteikumi finalizēti.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====08.04.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Net :: PD_PProt&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Net&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Starpprocesu komunikācija tīklā.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_PProt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Darbs pie kursa projekta. Komunikāciju protokola izstrāde.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L10 | PD_Net]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;PD_PProt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====09.04.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Dēmoni&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Programmas, kas izpildās fonā un ilgtermiņā.  Rezidenta programmas. Init.d. Upstart. Systemd. Sesijas identifikators.&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Prot2&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, gala versija&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====15.04.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Grafiskā lietotāja saskarne&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Grafiskā lietotāja saskarne. OpenGL. X-server.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====15.04.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_KP&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Darbs pie kursa projekta.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;PD_KP&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====16.04.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Konsultācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Atbildes uz studentu jautājumiem&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====xx.xx.26====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;xx:xx&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vieta: xxx.auditorija.&lt;br /&gt;
&lt;br /&gt;
Eksāmena forma: projektu demonstrācija un prezentācija (darbība, pirmkods, diskusijas).&lt;br /&gt;
Pirms eksāmena kodam kopā ar kompilācijas un palaišanas instrukcijām jābūt iesniegtam e-studijās!&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Pirms eksāmena&amp;#039;&amp;#039;&amp;#039; eStudijās jāiesniedz projekta pirmkods zip failā. Tajā jābūt iekļautam arī &amp;#039;&amp;#039;&amp;#039;readme&amp;#039;&amp;#039;&amp;#039; failam.&lt;br /&gt;
&lt;br /&gt;
Eksāmena vērtējuma plāns:&lt;br /&gt;
* Pirmkods, serveris 25%&lt;br /&gt;
* Pirmkods, klients 25%&lt;br /&gt;
* Demo un darbības testēšana 25%&lt;br /&gt;
* Prezentācija (bez slaidiem) 25%&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====xx.04-xx.05.2026====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Sesija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vērtējumu izlikšana&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Uzdevumi=&lt;br /&gt;
== Mājas darbi ==&lt;br /&gt;
&lt;br /&gt;
* [[LU-LSP-b:MD0 | MD0]]: Izlasīt kodēšanas stila dokumentus.&lt;br /&gt;
* [[LU-LSP-b:MD1 | MD_Koks]]: Ģimenes koka ģenerēšanas programma.&lt;br /&gt;
* [[LU-LSP-b:MD3 | MD3]]: Vienādo failu meklēšana direktorijas kokā.&lt;br /&gt;
* [[LU-LSP-b:MD4 | MD4]]: Atmiņas rezervācijas funkciju salīdzināšana.&lt;br /&gt;
* [[LU-LSP-b:MD5 | MD5]]: Atmiņas fragmentācijas algoritmu novērtējums.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [[LU-LSP-b:MD5 | MD5]]: Procedūru izsaukumu steka izdruka. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Projekts kursā ==&lt;br /&gt;
&lt;br /&gt;
Eksāmens izpaužas kā kursa projekta aizstāvēšana.&lt;br /&gt;
&lt;br /&gt;
* Projekta specifikācijas dokuments pieejams e-studijās&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* MD7 - projekta protokola specifikācija. Skatīt arī [[LU-LSP-b13:PD_client_server | PD: Klienta un servera arhitektūra]]&lt;br /&gt;
** [[LU-LSP-b11:PD_client_server | PD: Klienta un servera arhitektūra]] (praktiskā darba piezīmes)&lt;br /&gt;
** [http://selavo.lv/~kursi/LSP/md7 MD7 projekta grupu risinājumi]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Resursi=&lt;br /&gt;
== Pamācoši vingrinājumi un piemēri ==&lt;br /&gt;
&lt;br /&gt;
* Failu I/O buferi un sekas: divi raksta, redzam trīs...&lt;br /&gt;
* Aprēķins, cik laika vajag pārkopēt 1 TB pa baitam bez bufera.&lt;br /&gt;
* Paging: piemērs 4K x 4K masīva apstaigāšanai, mainot indeksus: 4K vs 16M page faults&lt;br /&gt;
* Vai var uzrakstīt programmu bez main()&lt;br /&gt;
* [https://wordsandbuttons.online/so_you_think_you_know_c.html So you think you know C] - tests ar 5 jautājumiem.&lt;br /&gt;
&lt;br /&gt;
== Literatūra ==&lt;br /&gt;
&lt;br /&gt;
* Advanced Programming in the UNIX(R) Environment, Second Edition, by W. Richard Stevens, Stephen A. Rago. Addison Wesley Professional, 2005, ISBN 0-201-43307-9.  (Indiešu eksemplāram ir ISBN 81-317-0005-4)&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Linux system programming&amp;quot; by Robert Love, O&amp;#039;Reilly Media, 2007, ISBN 0596009585&lt;br /&gt;
&lt;br /&gt;
* [http://www.advancedlinuxprogramming.com/ Advanced Linux Programming] by CodeSourcery LLC,&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Building Embedded Linux Systems&amp;quot; O&amp;#039;Reilly Media, 2008, ISBN 0596529686&lt;br /&gt;
&lt;br /&gt;
* [[Sublime_Text_cheat_sheet]] - Lieliskā Sublime teksta redaktora taustiņu kombinācijas&lt;br /&gt;
&lt;br /&gt;
* [http://fabiensanglard.net/c/ To become a good programmer...] - C grāmatu saraksts&lt;br /&gt;
&lt;br /&gt;
{{ProgrammersResorces}}&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=LU-LSP-b&amp;diff=11230</id>
		<title>LU-LSP-b</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=LU-LSP-b&amp;diff=11230"/>
		<updated>2026-04-08T09:41:56Z</updated>

		<summary type="html">&lt;p&gt;Leo: /* Projekts kursā */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Īssaites:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[#Kalendārs | Kalendārs]] | &lt;br /&gt;
[[#Uzdevumi | Uzdevumi]] | &lt;br /&gt;
[[#Resursi | Resursi]] | &lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]] : &lt;br /&gt;
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]]&lt;br /&gt;
(ja ir lekcija)&lt;br /&gt;
&lt;br /&gt;
{{LUDFKurss|Linux sistēmas programmēšana|LSP|DatZ3122|2DAT3122}}&lt;br /&gt;
* Pasniedzējs:&lt;br /&gt;
** Leo Seļāvo &amp;#039;&amp;#039;(epasts: vards.uzvards @ gmail.com)&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Vērtējums = 15% praktiskie darbi, 35% mājas darbi, 20% kontroldarbs un 30% eksāmens.&lt;br /&gt;
&lt;br /&gt;
* [[LSP kursa atsauksmes]] no iepriekšējiem gadiem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Praktisko un mājas darbu iesniegšana ==== &lt;br /&gt;
* Mājas darbus iesniegt e-studijās vai darbu testēšanas serverī, atkarībā no darba specifikācijas.&lt;br /&gt;
* Faila nosaukumam jābūt formā LSP_MD1_Vards_Uzvards.c - mainot atbilstošo uzdevuma kodu (MD1) un faila formātu pēc nepieciešamības.&lt;br /&gt;
* Nevajag arhivēt failus, ja vien tas nav prasīts uzdevuma nosacījumos&lt;br /&gt;
&lt;br /&gt;
==== Praktisko darbu vērtēšanas kritēriji ====&lt;br /&gt;
* Praktisko darbu mērķis ir nostiprināt un parādīt izpratni par apgūto vielu, attiecīgi darbi ir jārisina &amp;#039;&amp;#039;&amp;#039;patstāvīgi&amp;#039;&amp;#039;&amp;#039;, tomēr jautājumu uzdošana pasniedzējam vai kolēģiem ir vēlama.&lt;br /&gt;
* Maksimālo vērtējumu par praktisko darbu var saņemt, ja tas iesūtīts līdz praktisko darbu lekcijas dienas beigām.&lt;br /&gt;
* Pēc termiņa praktiskie darbi tiek pieņemti vēl tekošo nedēļu (līdz nākamās lekcijas sākumam) un tiks novērtēti, tomēr vairs ne ar maksimālo atzīmi. &lt;br /&gt;
* Praktiskajos darbos un lekcijās atzinīgi vērtējama ir dalība diskusijās, unikālu risinājumu un ideju piedāvāšana, trāpīgu jautājumu uzdošana, atbildēšana uz kolēģu jautājumiem u.t.t., kas var pozitīvi ietekmēt gala atzīmi kursā.&lt;br /&gt;
&lt;br /&gt;
==== Mājas darbu vērtēšanas kritēriji ====&lt;br /&gt;
* Mājas darbu iesniegšanas termiņa laiks ir attiecīgajā datumā līdz pusnaktij.&lt;br /&gt;
* Ja darbs tiek iesniegts ar novēlošanos (kaut vai 1 sekundi!):&lt;br /&gt;
** Tūdaļ pēc termiņa rezultāts tiek samazināts par &amp;#039;&amp;#039;&amp;#039;50%&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
** Nedēļu pēc termiņa darbi vairs netiek pieņemti.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==== Vidus semestra aptauja ====&lt;br /&gt;
* [xxx Aptauja]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Kalendārs=&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4 style = &amp;#039;border-color: #ddd;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
! Datums&lt;br /&gt;
! Tēma, saturs&lt;br /&gt;
! Uzdevumi&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====04.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievads kursā&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Unix un Linux operētājsistēmu pamatkoncepcijas. Linux sistēmprogrammētaja rīki (shell, gcc, make, manpages u.c.).&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD0 | MD0 ]]&amp;#039;&amp;#039;&amp;#039; - Programmēšanas stils&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[https://docs.google.com/document/d/1wmhmxU2x93yj5bha98yGwGTvUbQ5Q0ZjOTfcNQ5ndjc/edit?usp=sharing MD_Koks]&amp;#039;&amp;#039;&amp;#039; - Dzimtas koks.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Intro&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* Iekārtot darba vidi (linux, teksta redaktors, kompilators)&lt;br /&gt;
* Izveidot un pašiem nokompilēt &amp;quot;Hello world&amp;quot; C valodā&lt;br /&gt;
* Iepazīties ar UNIX čaulas komandām un uzdot jautājumus par neskaidrībām.&lt;br /&gt;
* Versiju kontroles sistēmas github pamati.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [[LU-LSP-B11:shell-cheatsheet | UNIX čaulas populārākās komandas un lietojumi]]&lt;br /&gt;
* Lasīt [https://www.linux.com/what-is-linux Kas tas ir, Linux?] - tagad vai līdz nākamajai lekcijai&lt;br /&gt;
* Lasīt [https://web.archive.org/web/20160417114016/http://www.physics.drexel.edu/students/courses/Comp_Phys/General/C_basics/#first C valodas pamācību] no Drexel universitātes.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L01 | PD_Intro]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====05.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Programmēšanas valoda C&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vispārīgs pārskats par programmēšanas valodu C. Datu struktūras. C standarti, kompilācija, bibliotēkas, linkošana, skalārie un saliktie tipi (t.sk pointeri un masīvi), funkcijas, nosacījumi, cikli.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Klasiskā C programmēšanas valodas grāmata: Brian W. C. Kernighan &amp;amp; Dennis M. Ritchie, &amp;quot;The C Programming Language -- ANSI C,&amp;quot; Prentice Hall, 1988 &lt;br /&gt;
* [https://web.archive.org/web/20160417114016/http://www.physics.drexel.edu/students/courses/Comp_Phys/General/C_basics/#first C Language Tutorial]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====11.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Darbs ar failiem&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Sistēmas izsaukumi un standarta bibliotēkas funkcijas faila ievadam un izvadam.  Linux piedāvātās programmas darbam ar failu izvadu/ievadu  (&amp;#039;&amp;#039;cat, tail, head, less, telnet&amp;#039;&amp;#039; u.c.).  Failu ievada un izvada ātrdarbības uzlabošana, buferi., ņemot vērā sistēmas arhitektūru.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_File&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Failu kopēšana.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L02 | PD_File]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====12.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Failu sistēma&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Faila izmēra noteikšana.  Failu saites, stingrās un vājās (hard links, soft links).  Failu glabāšana un pieeja operētājsistēmā. &amp;#039;&amp;#039;i-node&amp;#039;&amp;#039; jēdziens. Sistēmas izsaukums stat(). Direktoriju struktūra.  Izsaukumi opendir(), readdir() un closedir().   &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Failu piekļuves režīmi&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Faila piekļuves tiesību režīmi pie open() un umask.  Failu un i-node izsaukumi: chmod(), link(), unlink(), remove(), rename(), symlink(), readlink(), utime(), mkdir(), rmdir(), chdir(), getcwd().  Programma rakstīšanai log failā. Log faili.  Ekskluzīva rakstīšana ar open(...O_SYNC) un fcntl() metodēm.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD3 | MD_Dir]]&amp;#039;&amp;#039;&amp;#039; - Direktoriju koka apstaigāšana.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Dir&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Direktoriju koka apstaigāšana.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L03 | PD_Dir]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[https://docs.google.com/document/d/1wmhmxU2x93yj5bha98yGwGTvUbQ5Q0ZjOTfcNQ5ndjc/edit?usp=sharing MD_Koks]&amp;#039;&amp;#039;&amp;#039; - Dzimtas koks. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====19.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Atmiņas arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Atmiņas arhitektūra. Virtuālā atmiņa. TEXT, DATA, HEAP un STACK segmenti. Koplietošanas atmiņa starp procesiem. Procedūru izsaukumi.  Parametru nodošana caur steku. Steka satura analīze un piekļuve stekam.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Virtuālā atmiņa&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Virtuālās atmiņas lapas.  Page fault un segmentation fault.  Atmiņas aizsardzība. &amp;#039;&amp;#039;setjmp()&amp;#039;&amp;#039; un &amp;#039;&amp;#039;longjmp()&amp;#039;&amp;#039;.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD4 | MD_Mem]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas rezervācijas funkciju salīdzinājums.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_An&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Programmas analīze.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L04 | PD_An]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD3 | MD_Dir]]&amp;#039;&amp;#039;&amp;#039; - Direktoriju koka apstaigāšana.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====26.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Dinamiskā atmiņa&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Dinamiskā atmiņas izdalīšana. Heap, malloc() un free(). Dienesta informācija pie atmiņas izdalīšanas un atbrīvošanas.  Brīvās atmiņas saraksti. Prasības malloc() un free() veiktspējai.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Atmiņas fragmentācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Atmiņas fragmentācija. Atmiņas rezervēšanas (allocation) algoritmi,  kas darbojas uz atmiņas fragmentiem. Atmiņas &amp;#039;spaiņi&amp;#039;.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD5 | MD_Frag]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas fragmentācijas algoritmu novērtējums (&amp;#039;&amp;#039;&amp;#039;grupās&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Malloc :: PD_Heap&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; =&amp;gt; Daudz-uzdevumu vide&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Malloc&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Atmiņas rezervācija.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Heap&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Vienkāršs atmiņas alokators fiksēta izmēra objektiem.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L06 | PD_Malloc]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:L07 | PD_Heap]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD4 | MD_Mem]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas rezervācijas funkciju salīdzinājums. &lt;br /&gt;
TERMIŅŠ pārcelts nedeļu uz priekšu servera ķibeles dēļ.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====05.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Atkļūdošana&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Linux atkļūdošanas rīki un to lietošana.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Game&amp;#039;&amp;#039;&amp;#039; - Kursa projekta tēmas (spēles) izvēle&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
||&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;KD1&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; (&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;)&lt;br /&gt;
|}&lt;br /&gt;
KD1 kontroldarbs. Programmēšanas uzdevums pie datora, izmantojot apgūto vielu.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
| &amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Dbg&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; (&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;)&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Dbg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Atkļūdošanas rīki.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:LA | PD_Dbg]]&amp;#039;&amp;#039;&amp;#039; (Nav obligāti jāiesniedz)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====12.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
| &amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Daudz-uzdevumu vide&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; =&amp;gt; PD_Malloc :: PD_Heap (&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;)&lt;br /&gt;
|}&lt;br /&gt;
Daudz-uzdevumu vide. Procesi un procesu kontrole. Pavedieni (threads).  Kooperējošies procesi un preemptīvā daudz-uzdevumu metode.  Komanda &amp;#039;&amp;#039;&amp;#039;ps&amp;#039;&amp;#039;&amp;#039;.  &amp;#039;&amp;#039;getpid()&amp;#039;&amp;#039; un &amp;#039;&amp;#039;getppid()&amp;#039;&amp;#039;. &amp;#039;&amp;#039;fork()&amp;#039;&amp;#039;, &amp;#039;&amp;#039;exec()&amp;#039;&amp;#039;, &amp;#039;&amp;#039;wait()&amp;#039;&amp;#039;. &amp;#039;&amp;#039;system()&amp;#039;&amp;#039;.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Pavedieni&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Pavedieni. POSIX pavedieni. Mutex. Datu skriešanās (data race condition). Strupceļš (deadlock).&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.cs.cmu.edu/afs/cs/academic/class/15492-f07/www/pthreads.html POSIX thread (pthread) libraries]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD5 | MD_Frag]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas fragmentācijas algoritmu novērtējums (&amp;#039;&amp;#039;&amp;#039;grupās&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Thread&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Programma kas taisa N pavedienus, kur katrs izdrukā M burtus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_KD&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Kontroldarba analīze.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Spec&amp;#039;&amp;#039;&amp;#039; - Spēles noteikumu specifikācija&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:L08 | PD_Thread]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====19.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Procesa dzīves cikls :: Starpprocesu komunikācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Procesa dzīves cikls&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Procesa dzīves cikls: Procesa ielādēšana, uzsākšanās un pieci veidi  kā process var beigties. exit() un _exit().&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Starpprocesu komunikācija&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Starpprocesu komunikācija.  Faili. Pipes. Koplietošanas atmiņa. Komunikācija starp nesaistītiem procesiem. Sockets abstrakcija komunikācijai.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Game&amp;#039;&amp;#039;&amp;#039; - Kursa projekta tēmas (spēles) izvēle&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Sockets :: Servera klienta arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Sockets&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sockets abstrakcija komunikācijai. Klienta un servera arhitektūra.  Iteratīvie un paralēlie serveri. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Servera klienta arhitektūra&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
TBD: Ieskatam servera/klienta komunikācijā [http://selavo.lv/wiki/index.php/LU-LSP-b13:L11 PD11], bet nav jānodod.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Prot1&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, 1. versija&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Spec&amp;#039;&amp;#039;&amp;#039; - Spēles noteikumu specifikācija&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Jmp :: PD_PSpec&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Jmp&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;setjmp()&amp;#039;&amp;#039;,&amp;#039;&amp;#039;longjmp()&amp;#039;&amp;#039; un taimera signāls.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_PSpec&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Darbs pie kursa projekta. Spēles izvēle un specifikācija.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L05 | PD_Jmp]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;PD_PSpec&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====26.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Signāli&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Signāli. Alarm serviss un signāls.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Prot2&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, gala versija&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Prot1&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, 1. versija&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====08.04.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Tekstuālā lietotāja saskarne.&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Tekstuālā lietotāja saskarne. Ncurses bibliotēka.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [https://www.cyberciti.biz/faq/linux-install-ncurses-library-headers-on-debian-ubuntu-centos-fedora/ Ncurses library, installation and use]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spēles noteikumi finalizēti.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====08.04.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Net :: PD_PProt&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Net&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Starpprocesu komunikācija tīklā.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_PProt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Darbs pie kursa projekta. Komunikāciju protokola izstrāde.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L10 | PD_Net]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;PD_PProt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====09.04.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Dēmoni&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Programmas, kas izpildās fonā un ilgtermiņā.  Rezidenta programmas. Init.d. Upstart. Systemd. Sesijas identifikators.&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Prot2&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, gala versija&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====15.04.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Grafiskā lietotāja saskarne&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Grafiskā lietotāja saskarne. OpenGL. X-server.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====15.04.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_KP&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Darbs pie kursa projekta.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;PD_KP&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====16.04.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Konsultācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Atbildes uz studentu jautājumiem&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====xx.xx.26====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;xx:xx&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vieta: xxx.auditorija.&lt;br /&gt;
&lt;br /&gt;
Eksāmena forma: projektu demonstrācija un prezentācija (darbība, pirmkods, diskusijas).&lt;br /&gt;
Pirms eksāmena kodam kopā ar kompilācijas un palaišanas instrukcijām jābūt iesniegtam e-studijās!&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Pirms eksāmena&amp;#039;&amp;#039;&amp;#039; eStudijās jāiesniedz projekta pirmkods zip failā. Tajā jābūt iekļautam arī &amp;#039;&amp;#039;&amp;#039;readme&amp;#039;&amp;#039;&amp;#039; failam.&lt;br /&gt;
&lt;br /&gt;
Eksāmena vērtējuma plāns:&lt;br /&gt;
* Pirmkods, serveris 25%&lt;br /&gt;
* Pirmkods, klients 25%&lt;br /&gt;
* Demo un darbības testēšana 25%&lt;br /&gt;
* Prezentācija (bez slaidiem) 25%&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====xx.04-xx.05.2026====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Sesija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vērtējumu izlikšana&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Uzdevumi=&lt;br /&gt;
== Mājas darbi ==&lt;br /&gt;
&lt;br /&gt;
* [[LU-LSP-b:MD0 | MD0]]: Izlasīt kodēšanas stila dokumentus.&lt;br /&gt;
* [[LU-LSP-b:MD1 | MD_Koks]]: Ģimenes koka ģenerēšanas programma.&lt;br /&gt;
* [[LU-LSP-b:MD3 | MD3]]: Vienādo failu meklēšana direktorijas kokā.&lt;br /&gt;
* [[LU-LSP-b:MD4 | MD4]]: Atmiņas rezervācijas funkciju salīdzināšana.&lt;br /&gt;
* [[LU-LSP-b:MD5 | MD5]]: Atmiņas fragmentācijas algoritmu novērtējums.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [[LU-LSP-b:MD5 | MD5]]: Procedūru izsaukumu steka izdruka. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Projekts kursā ==&lt;br /&gt;
&lt;br /&gt;
Eksāmens izpaužas kā kursa projekta aizstāvēšana.&lt;br /&gt;
&lt;br /&gt;
* Projekta specifikācijas dokuments pieejams e-studijās&lt;br /&gt;
* [https://docs.google.com/document/d/15ppHdVY86KLds5sUN0xMjUNuTLPjXw9DdnnMYsGTgok/edit?usp=sharing SpecDoc]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* MD7 - projekta protokola specifikācija. Skatīt arī [[LU-LSP-b13:PD_client_server | PD: Klienta un servera arhitektūra]]&lt;br /&gt;
** [[LU-LSP-b11:PD_client_server | PD: Klienta un servera arhitektūra]] (praktiskā darba piezīmes)&lt;br /&gt;
** [http://selavo.lv/~kursi/LSP/md7 MD7 projekta grupu risinājumi]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Resursi=&lt;br /&gt;
== Pamācoši vingrinājumi un piemēri ==&lt;br /&gt;
&lt;br /&gt;
* Failu I/O buferi un sekas: divi raksta, redzam trīs...&lt;br /&gt;
* Aprēķins, cik laika vajag pārkopēt 1 TB pa baitam bez bufera.&lt;br /&gt;
* Paging: piemērs 4K x 4K masīva apstaigāšanai, mainot indeksus: 4K vs 16M page faults&lt;br /&gt;
* Vai var uzrakstīt programmu bez main()&lt;br /&gt;
* [https://wordsandbuttons.online/so_you_think_you_know_c.html So you think you know C] - tests ar 5 jautājumiem.&lt;br /&gt;
&lt;br /&gt;
== Literatūra ==&lt;br /&gt;
&lt;br /&gt;
* Advanced Programming in the UNIX(R) Environment, Second Edition, by W. Richard Stevens, Stephen A. Rago. Addison Wesley Professional, 2005, ISBN 0-201-43307-9.  (Indiešu eksemplāram ir ISBN 81-317-0005-4)&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Linux system programming&amp;quot; by Robert Love, O&amp;#039;Reilly Media, 2007, ISBN 0596009585&lt;br /&gt;
&lt;br /&gt;
* [http://www.advancedlinuxprogramming.com/ Advanced Linux Programming] by CodeSourcery LLC,&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Building Embedded Linux Systems&amp;quot; O&amp;#039;Reilly Media, 2008, ISBN 0596529686&lt;br /&gt;
&lt;br /&gt;
* [[Sublime_Text_cheat_sheet]] - Lieliskā Sublime teksta redaktora taustiņu kombinācijas&lt;br /&gt;
&lt;br /&gt;
* [http://fabiensanglard.net/c/ To become a good programmer...] - C grāmatu saraksts&lt;br /&gt;
&lt;br /&gt;
{{ProgrammersResorces}}&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=LU-BST-b&amp;diff=11229</id>
		<title>LU-BST-b</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=LU-BST-b&amp;diff=11229"/>
		<updated>2026-03-25T12:27:48Z</updated>

		<summary type="html">&lt;p&gt;Leo: /* 25.03.26 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Īssaites:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[#Kalendārs | Kalendārs]] | &lt;br /&gt;
[[#Uzdevumi | Uzdevumi]] | &lt;br /&gt;
[[#Resursi | Resursi]] | &lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]] : &lt;br /&gt;
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]]&lt;br /&gt;
(ja ir lekcija)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{LUDFKurss|Bezvadu Sensoru Tīkli|BST|DatZ3070|2DAT3253}}&lt;br /&gt;
* Pasniedzējs: [[User:Leo | Leo Seļāvo]]&lt;br /&gt;
&lt;br /&gt;
====Kursa mērķis un uzdevumi====&lt;br /&gt;
Iepazīties ar bezvadu sensoru tīklu sistēmu darbības un projektēšanas principiem un pielietojumiem.&lt;br /&gt;
* Apgūt sensoru un iegulto sistēmu pamata tehnoloģijas un pielietojumus lietu internetā. &lt;br /&gt;
* Izstrādāt arhitektūru un komunikāciju protokolus bezvadu sensoru sistēmām. &lt;br /&gt;
* Programmēt iegultās sistēmas BST pielietojumam. &lt;br /&gt;
* Analizēt sensoru lasījumus un izdarīt secinājumus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievadlekcijas video&amp;#039;&amp;#039;&amp;#039;:&amp;lt;/big&amp;gt; [https://youtu.be/nwPxnED1M34 No sensoriem līdz stāstam]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Vērtējums kursā ====&lt;br /&gt;
* 30% Praktiskie darbi PD&lt;br /&gt;
* 20% Mājas darbi MD&lt;br /&gt;
* 20% Kontroldarbs KD&lt;br /&gt;
* 30% Projekta prezentācija un demo eksāmenā EKS + PROJ&lt;br /&gt;
&lt;br /&gt;
==== Mājas darbi ====&lt;br /&gt;
* Iesniedzami e-studijās&lt;br /&gt;
* Termiņš 30min pirms lekcijas sākuma, vai arī kā MD nosacījumos.&lt;br /&gt;
** Kavēts termiņš nozīmē -50% no vērtējuma. Pēc nedēļas darbs var tikt nepieņemts.&lt;br /&gt;
&lt;br /&gt;
==== Vidus semestra aptauja ====&lt;br /&gt;
* [https://docs.google.com/document/d/1XpUX_ZRIGsMSBrZpuO7KhmUn-x2emV3B/edit Aptauja]&lt;br /&gt;
&lt;br /&gt;
=Kalendārs=&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4 style = &amp;#039;border-color: #ddd; background-color: #fdfff2;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
! Datums&lt;br /&gt;
! Tēma, saturs&lt;br /&gt;
! Uzdevumi&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====04.02.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievadlekcija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Bezvadu sensoru tīklu pielietojumi un pamatproblēmas. BST kursa forma un prasības.&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/4iazzqk2ykmumsq/00_intro.pdf?raw=1 Ievads BST - slaidi]&lt;br /&gt;
* [https://www.dropbox.com/s/u5fnw7uku1ua1sf/00_Intro_IoT.pdf?raw=1 Ievads IoT - slaidi]&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD1 | PD1]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.02.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Bezvadu sakaru sistēmas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Radio spektrs un ISM josla. Komunikācijas protokoli un modulācija.&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/jujvdabdj03szif/L02_Wireless_systems.pdf?raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD2 | PD2]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.02.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Radio komunikāciju realitātes&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/scl/fi/fgqnlfpo7xurz5mm5atwj/03_radio-realities.pdf?rlkey=x54t0itxkbyuu0705ejoi3vry&amp;amp;st=mcy8s1hc&amp;amp;raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD3 | PD3]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.02.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Iegultās sistēmas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Sensoru mezgla uzbūve.&lt;br /&gt;
&lt;br /&gt;
[[BST-b_HW | Lekcijas pieraksti]]&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/kzcd4mr8mirh2i9/L03_motes.pdf?raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD4 | PD4]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.03.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;MAC protokoli sensoru tīklos&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/le4f7sywa528lnb/L05_Harvard_mac.pdf?raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD5 | PD5]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.03.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;(&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;) &amp;#039;&amp;#039;&amp;#039;KD0: Maršrutizācijas protokoli&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/u1y7n2www1y7vgu/L06_Routing.pdf?raw=1 Maršrutizācija. Slaidi]&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Uzdots: [[#MD_Routing|MD_Routing]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.03.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Laika sinhronizācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/8dmwkihq3gq4gls/L07_Timesync.pdf?raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD6 | PD6 Multihop]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.03.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Lokalizācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [http://selavo.lv/kursi/bst/09_localization.pdf Slaidi]&lt;br /&gt;
&lt;br /&gt;
Diskusijas par projektiem&lt;br /&gt;
|&lt;br /&gt;
Sensoru datu analīze, Jupyter notebook&lt;br /&gt;
* [https://jupyter.org Jupyter]&lt;br /&gt;
* [https://anaconda.org/anaconda/python Anaconda Python]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====08.04.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Programmēšanas abstrakcijas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Komponenšu orientēta programmēšana. Skriptēta un enkapsulēta programmēšana. TinyOS, MansOS un SEAL.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://www.dropbox.com/s/xwnr2aterigjp7q/05_component-programming.pdf?raw=1 Komponenšu orientēta programmēšana, TinyOS]&lt;br /&gt;
* [https://www.dropbox.com/s/jalyp6jxv7b2ja6/12_prog-abstractions.pdf?raw=1 Programmēšanas abstrakcijas BST, Mate]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Iesniegt: [[#MD_Routing|MD_Routing]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Uzdots: [[#MD_Proj|MD_Proj]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====15.04.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;KD1&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vidus semestra kontroldarbs KD1. Pieejams eStudijās.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====22.04.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Projektu tēmas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Diskusija par projektu tēmām.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Use case&amp;quot; - par projektiem infekcijas risku mazināšanai.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====29.04.26====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Datu vizualizācija un analīze&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Datu vizualizācija un analīze.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====06.05.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Datu analīze, prakse&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://www.anaconda.com/ Anaconda platforma] datu zinātnei.&lt;br /&gt;
* [https://jupyter.org/ Jupyter Notebook] - vide mazām programmām Python un datu analīzei.&lt;br /&gt;
* [https://www.dataquest.io/blog/jupyter-notebook-tips-tricks-shortcuts/ Jupyter triki]&lt;br /&gt;
&lt;br /&gt;
* [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6480280/ Wireless Sensor Networks for Big Data Systems]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš: [[#MD_Proj|MD_Proj]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Projektu statuss&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====13.05.26====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Drošība un privātums&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://www.dropbox.com/scl/fi/5xkeow5yuaxobewhwrntr/13_security-privacy_v2.pdf?rlkey=w6papger2tw2to9l3kk7w344y&amp;amp;st=1sxvon1n&amp;amp;dl=1 Slaidi]&lt;br /&gt;
* Videolekcija e-studijās.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://cert.lv/lv CERT.lv] - IT drošības incidentu novēršanas institūcija Latvijā.&lt;br /&gt;
* [https://www.thalesgroup.com/en/markets/digital-identity-and-security/iot/magazine/internet-threats IoT Security Issues in 2021: a Business Perspective]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Projekta statusa ziņojumi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====20.05.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Enerģijas ieguve no vides&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/lro0ncpw570neej/15_energy-harvesting.pdf?raw=1 Slaidi]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Projekta statusa ziņojumi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====27.05.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Kopsavilkums&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/qf5yd5toylks4zf/L99_Summary.pdf?raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Projektu statusa ziņojumi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====xx.06.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Eksāmena sākums: xx:xx&lt;br /&gt;
Eksāmena vieta: xxx. aud.&lt;br /&gt;
&lt;br /&gt;
Eksāmena (projekta) rezultāti iesūtāmi e-studijās kā PROJ, tai skaitā:&lt;br /&gt;
* apraksts.pdf - apraksts: problēma, risinājumi, jūsu risinājums, rezultāti un pieredze izstrādājot un testējot projektu. Fails PDF formātā.&lt;br /&gt;
* plakāts.pdf - plakāts par projektu. Fails PDF formātā.&lt;br /&gt;
* Saite uz demonstrācijas video, ja tāds ir.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Iesniegt projekta rezultātus e-studijās.&lt;br /&gt;
* Prezentācija klātienē.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- TESTBED&lt;br /&gt;
=====================================&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;BST Testbed&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
EDI BST [[#Testbed | Testbed apraksts un lietojums]].&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Uzdots: [[#MD_Testbed|MD_Testbed-P1]] - Testbed P1 uzdevums&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
=====================================&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Testbed&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Testbed prakse&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
=====================================&lt;br /&gt;
* Termiņš: [https://doodle.com/poll/627utpttbvqiypue?utm_source=poll&amp;amp;utm_medium=link Pieteikt grupas MD_Testbed uzdevumiem]&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš: [[#MD_Testbed|MD_Testbed-P1]] - Testbed P1 uzdevums&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš: [[#MD_Testbed|MD_Testbed]] - Visi uzdevumi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Uzdevumi =&lt;br /&gt;
== Praktiskie darbi ==&lt;br /&gt;
Praktiskajos darbos būs lietojama [https://github.com/edi-riga/MansOS/wiki MansOS operētājsistēma].&lt;br /&gt;
* Īss apraksts un pamācības pieejamas [https://github.com/edi-riga/MansOS/wiki MansOS wiki].&lt;br /&gt;
&amp;lt;!--https://github.com/IECS/MansOS--&amp;gt;&lt;br /&gt;
Praktisko darbu risinājumi iesūtāmi e-studijās.&lt;br /&gt;
&lt;br /&gt;
===PD1===&lt;br /&gt;
&amp;quot;SOS&amp;quot; morzes ābecē izvadīts uz motes LED&lt;br /&gt;
* E-studijās iesūtīt C programmas kodu.&lt;br /&gt;
&lt;br /&gt;
===PD2===&lt;br /&gt;
Hello World -&amp;gt; no motes uz termināla&lt;br /&gt;
&lt;br /&gt;
===PD3===&lt;br /&gt;
Gaismas sensora lasījums uz termināla&lt;br /&gt;
&lt;br /&gt;
===PD4===&lt;br /&gt;
Darbs grupā pa divi.&lt;br /&gt;
&lt;br /&gt;
Gaismas sensora lasījums pārraidīts ar radio un saņemts uz citas motes un izvadīts uz termināla.&lt;br /&gt;
&lt;br /&gt;
Risinājumam jābūt noturīgam pret citiem raidītājiem šajā pašā radio kanālā. Jāparāda tikai sava risinājuma sūtītās ziņas.&lt;br /&gt;
&lt;br /&gt;
Iesūtīt pirmkodu, kā arī failu apraksts.pdf ar testu rezultātiem un to aprakstu.&lt;br /&gt;
&lt;br /&gt;
===PD5===&lt;br /&gt;
Darbs grupā pa divi.&lt;br /&gt;
&lt;br /&gt;
Noteikt radio raidīšanas attālumu TmoteSky motēm.&lt;br /&gt;
* Izveidot raidītāja programmu un uztvērēja programmu. &lt;br /&gt;
* Pārvietot motes dažādos attālumos un novērtēt, cik datu pakas tiek saņemtas.&lt;br /&gt;
* Izvērtēt, kāda ietekme ir motes savstarpējai orientācijai starp raidītāju un uztvērēju.&lt;br /&gt;
* Aprakstīt rezultātus un iesniegt PDF dokumentā apraksts.pdf, e-studijās, kā PD5.&lt;br /&gt;
&lt;br /&gt;
===PD6===&lt;br /&gt;
Darbs grupā pa diviem vai trijiem studentiem.&lt;br /&gt;
&lt;br /&gt;
Realizēt &amp;quot;Multihop&amp;quot; tīklu ar TmoteSky motēm.&lt;br /&gt;
* Izveidot programmatūru trīs dažādu sensoru mezglu tipiem, attiecīgos pirmkoda failos:&lt;br /&gt;
*# sensor.c - Sensors - nolasa gaismas sensora vērtību un nosūta pa radio Releja tipa motei.&lt;br /&gt;
*# relay.c - Relejs - mote, kas saņem datus no sensoriem un pārsūta tālāk citām motēm (Relejiem un Vārtejām).&lt;br /&gt;
*# gateway.c - Vārteja - mote, kas saņem radio datus un pārsūta tos uz seriālo portu (USB).&lt;br /&gt;
&lt;br /&gt;
* Katram mezglam (motei) ir unikāls ID. Izdomāt, kā to panākt.&lt;br /&gt;
* Tīklā jābūt vismaz vienam relejam, bet var būt vairāki, lai realizētu garāku komunikācijas ķēdi.&lt;br /&gt;
* Tīklā var būt vairāki Sensoru mezgli. &lt;br /&gt;
* Tīklā ir tikai viena vārteja.&lt;br /&gt;
* Relejam jāignorē tās ziņas, ko tas jau ir kādreiz sūtījis. Šo var realizēt ar motes identifikatora un/vai ziņas kārtas numura iekļaušanu sūtāmajā datu pakā. Tad, piemēram, mote var ignorēt vecākas datu pakas nekā pēdējā, ko tā ir sūtījusi.&lt;br /&gt;
* Vārtejai katra datu paka jānosūta pa USB tikai vienreiz. Ja tā, piemēram, saņem to pašu datu paku atkārtoti, piemēram, no cita Releja, tai tā jāignorē.&lt;br /&gt;
&lt;br /&gt;
* Aprakstīt rezultātus un iesniegt PDF dokumentā apraksts.pdf, e-studijās, kā PD6. Iesniegt arī programmatūras kodu.&lt;br /&gt;
&lt;br /&gt;
==Mājas darbi==&lt;br /&gt;
===MD_Routing===&lt;br /&gt;
Izstrādāt un aprakstīt maršrutizācijas algoritmu, kas atbilst prasībām &lt;br /&gt;
[https://www.dropbox.com/s/yakqcy9e8322tbf/BST_routing_MD.pdf?raw=1 šajos slaidos]&lt;br /&gt;
&lt;br /&gt;
* Aprakstīt izveidoto maršrutizācijas protokolu.&lt;br /&gt;
* Aprakstīt protokola veiktspējas novērtējumu.&lt;br /&gt;
* Sniegt piemēru, kā tas darbojas slaidos dotajā situācijā.&lt;br /&gt;
* Risinājumu iesniegt PDF dokumentā, e-studijās.&lt;br /&gt;
&lt;br /&gt;
===MD1===&lt;br /&gt;
[[#PD5 | PD5]] rezultāti - Izvērtēt sensoru mezglu komunikāciju veiktspēju atkarībā no distances.&lt;br /&gt;
&lt;br /&gt;
Gadījumā, ja jums neizdevās savākt savus datus, tad analīzei var lietot šos, ar attiecīgu atsauci:&lt;br /&gt;
* [https://www.dropbox.com/s/gd434p1wkgcq9gz/merijumi_veldre_kniss.xlsx?dl=1 | Dati1 (excel)] (Rainers, Juris)&lt;br /&gt;
* [https://www.dropbox.com/s/h679d2y84svixs1/BST_PD05_DATA_Audris.zip?dl=1 | Dati2 (zip)] (Audris, Madara)&lt;br /&gt;
&lt;br /&gt;
===MD3===&lt;br /&gt;
Izstrādāt un aprakstīt virtuālas mašīnas valodu bezvadu sensoru mezgliem, līdzīgi kā &lt;br /&gt;
[https://www.dropbox.com/s/pw8hl4zbsbgek65/L09b_prog-abstractions.pdf?raw=1 Mate lekcijas slaidos]. &lt;br /&gt;
&lt;br /&gt;
Aprakstā jāiekļauj: &lt;br /&gt;
* Valodas komandas, arhitektūra, pieņēmumi&lt;br /&gt;
* Komandu kodējums (pa bitiem), komandu tipi vai klases.&lt;br /&gt;
* Divi piemēri programmām, kas kodēti jūsu valodā.&lt;br /&gt;
* Ar ko jūsu risinājums atšķiras no Mate un kādos gadījumos tam ir priekšrocības.&lt;br /&gt;
&lt;br /&gt;
===MD_Proj===&lt;br /&gt;
====Kursa projekta pieteikums====&lt;br /&gt;
&lt;br /&gt;
=====Īss apraksts=====&lt;br /&gt;
&lt;br /&gt;
Izstrādāt projekta pieteikumu, kurā aprakstīt:&lt;br /&gt;
* Problēmu, ko risināsiet ar bezvadu sensoru tīklu palīdzību&lt;br /&gt;
* Motivāciju, kāpēc problēma jārisina&lt;br /&gt;
* Esošos risinājumus šai problēmai vai līdzīgām problēmām&lt;br /&gt;
* Kas nepieciešams jūsu risinājumam: tehnoloģijas, aparatūra&lt;br /&gt;
* Termiņi katrai nedēļai: kas tiks veikts līdz šiem termiņiem projekta izstrādes gaitā.&lt;br /&gt;
&lt;br /&gt;
Aprakstu organizēt kā slaidus, lai ērti prezentēt. Iesniegt aprakstu PDF formātā.&lt;br /&gt;
&lt;br /&gt;
=====Sīkāks apraksts=====&lt;br /&gt;
&lt;br /&gt;
Šoreiz nekas nav jāprogrammē. Bet gan jāuzraksta sava kursa projekta īss apraksts kā slaidu prezentācija un jāiesniedz PDF formātā. Kursa projekta pieteikumu vajadzēs prezentēt lekcijas laikā, katra komanda pastāstīs pārējiem par sava kursa projekta ideju, izveidosim īsu diskusiju.&lt;br /&gt;
&lt;br /&gt;
Obligātās dokumenta nodaļas:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Projekta tēma&amp;#039;&amp;#039;&amp;#039;. Kas ir Jūsu projekts, ko Jūs izstrādāsiet. Šeit var pietikt ar vienu vai dažiem teikumiem&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Projekta komanda&amp;#039;&amp;#039;&amp;#039;, īpaši ja nepieciešams vairāk par vienu dalībnieku. Kas piedalās, kādas lomas katrs izpilda (kurš ko programmēs, kurš projektēs, kurš testēs utt)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Motivācija&amp;#039;&amp;#039;&amp;#039;. Kāpēc Jūs šādu projektu taisāt. Kāds no tā varētu būt labums Jums un pārējiem apkārtējiem cilvēkiem, dabai.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Jūsu pieeja un arhitektūra&amp;#039;&amp;#039;&amp;#039;. Kā realizēsiet projektu. Kāda būs izmantotā aparatūra. Kāda programmatūra. Kāda būs tīkla struktūra. Šeit labi iederas sistēmas arhitektūras bildes, shematiski attēlojumi. Svarīgi norādīt arī nepieciešamo aparatūru, tai skaitā, kādi sensori nepieciešami projekta realizēšanai. Lai varam sākt meklēt nepieciešamos sensorus, motes. Tiek sagaidīts, ka šī ir saturīgākā projekta apraksta daļa.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Sagaidāmais rezultāts&amp;#039;&amp;#039;&amp;#039;. Cik daudz no savas projekta idejas plānojat šī semestra laikā realizēt. Kādus testus veikt. Kā novērtēsit rezultātus.&lt;br /&gt;
&lt;br /&gt;
Papildus tēmas:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kas šajā tēmā pasaulē ir jau izdarīts&amp;#039;&amp;#039;&amp;#039;. Bakalaura studentiem netiek prasīts izdarīt kaut ko universālu, kas pasaulē vēl neeksistē. Tai pat laikā, ir ļoti vēlams, ka veicat izpēti, par to, kas pasaulē Jūsu tēmā ir jau izpildīts. Kaut vai tāpēc, lai izvēlētos labāko risinājumu, lai nav pašiem jāizdomā no nulles&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Idealizācija&amp;#039;&amp;#039;&amp;#039;. Šī projekta ietvaros netiek prasīts, lai Jūs uzbūvējat vispasaules sensoru tīklu ar Google mēroga infrastruktūru. Bet, ja tas būtu iespējams - ko ar Jūsu sensoru tīklu varētu izdarīt? T.i., padomājiet pāri sava viena semestra robežām!&lt;br /&gt;
&lt;br /&gt;
===MD_Testbed===&lt;br /&gt;
Uzdevuma veikšana EDI testbed platformā (Testbed).&lt;br /&gt;
&lt;br /&gt;
Pieslēguma informācija Testbed platformai tiks paziņota individuāli, lekcijā un/vai e-studijās.&lt;br /&gt;
&lt;br /&gt;
Uzdevums ir ievākt informāciju no Testbed sensoriem kas atrodas uz jums izdalītajiem Testbed sensoru mezgliem pēc iespējas ilgāku laika posmu, vismaz 24 stundas, un attēlot datus grafiski. Sīkāks uzdevumu apraksts seko.&lt;br /&gt;
&lt;br /&gt;
====Programma P1====&lt;br /&gt;
Programmas P1 mērķis ir pārbaudīt Testbed darbību un nolasīt log failos saglabātos datus.&lt;br /&gt;
&lt;br /&gt;
* Pieslēgties Testbed &lt;br /&gt;
* Pārbaudīt jums izdalīto sensoru mezglu darbību izveidojot vienkāršu programmu &amp;lt;code&amp;gt;P1.c&amp;lt;/code&amp;gt; kas sūta skaitļus no 1 līdz 100 ar vienas sekundes intervālu uz seriālo portu. Skaitļus sūtīt kā simbolu virkni salasāmā tekstā, piemēram &amp;quot;17&amp;quot;.&lt;br /&gt;
* Darbināt P1 uz visiem sensoru mezgliem vienlaicīgi. Darbināt eksperimentu 10min. Saglabāt Log failus.&lt;br /&gt;
* Novērtēt rezultātus. Piemēram, vai visi sensori darbojās vienlīdz ātri?&lt;br /&gt;
&lt;br /&gt;
====Programma P2====&lt;br /&gt;
Programmas P2 mērķis ir ievākt sensoru datus ilgākā laika posmā.&lt;br /&gt;
&lt;br /&gt;
* Izveidot programmu &amp;lt;code&amp;gt;P2.c&amp;lt;/code&amp;gt; kas reizi 10 sekundēs nolasa sensoru vērtības. &lt;br /&gt;
* Lasāmie sensori ir: Gaismas sensors, temperatūra un gaisa mitrums.&lt;br /&gt;
* Darbināt P2 24 stundas un saglabāt datus Log failos.&lt;br /&gt;
* Analizēt sensoru datus. Uzzīmēt datus grafikā ar x kā laika asi un y kā mērījumu asi. Izdarīt secinājumus.&lt;br /&gt;
&lt;br /&gt;
====Programma P3====&lt;br /&gt;
Programmas P3 mērķis ir novērtēt komunikāciju iespējas Testbed vidē.&lt;br /&gt;
&lt;br /&gt;
* Izveidot programmu &amp;lt;code&amp;gt;P3_send.c&amp;lt;/code&amp;gt;, kas sūta 300 ziņas visiem citiem mezgliem ik pa 100 milisekundēm. Katrā ziņā iekļaut tās kārtas numuru. Datos iekļaut arī savu identifikatoru, lai saņemošais klients var atpazīt datu pakas tipu un mērķi.&lt;br /&gt;
* Izveidot programmu &amp;lt;code&amp;gt;P3_receive.c&amp;lt;/code&amp;gt;, kas saņem ziņas pa radio no citiem mezgliem un pieraksta RSSI vērtības atmiņas buferī. Kad visas atsūtītas, eksportēt datus uz log failu caur seriālo portu.&lt;br /&gt;
* Darbināt P3_send uz viena mezgla un P3_receive uz pārējiem. Saglabāt datus log failā.&lt;br /&gt;
* Atkārtot iepriekšējo eksperimentu tā, lai datu būtu sūtīti no visiem mezgliem.&lt;br /&gt;
* Rezultātā jums jābūt datiem kas apraksta komunikāciju starp jebkuriem diviem mezgliem.&lt;br /&gt;
* Rezultātu analīzē parādiet kā RSSI mainās laikā starp visiem mezgliem. Bez tam, izveidojiet tabulu vai grafu kurā novērtējiet komunikāciju/ saņemtā signāla stiprumu starp visiem mezgliem. Atcerieties, ka saites var būt arī asimetriskas, piemēram, mezgls A &amp;quot;dzird&amp;quot; mezglu B labāk nekā B &amp;quot;dzird&amp;quot; A.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Piezīmes&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Ņemiet vērā, ka var gadīties, ka dažas ziņas mezgli var nesaņemt trokšņu vai citu iemeslu dēļ. Datos tas ir jāredz. Tāpēc saglabājot RSSI jāņem vērā arī saņemtās ziņas kārtas numurs, ko tā sūtīja.&lt;br /&gt;
* Saņemtos RSSI rādījumus jums jāglabā atmiņā, lai tie aizņemtu pēc iespējas mazāk vietas. Sūtot tos uz reizi pa seriālo portu jums var nepietikt laika saņemt visas ziņas. Tāpēc ieteicams datus saglabāt ar seriālo portu tikai pēc tam kad eksperiments beidzies - pēdēja ziņa saņemta (vai nav pienākusi, bet laiks pagājis).&lt;br /&gt;
&lt;br /&gt;
====Iesniegšana====&lt;br /&gt;
Iesniegt rezultātus visiem uzdevumiem e-studijās kā MD_Testbed. &lt;br /&gt;
Tai skaitā, katram uzdevumam P&amp;#039;&amp;#039;X&amp;#039;&amp;#039;, kur &amp;#039;&amp;#039;X&amp;#039;&amp;#039; ir 1, 2 un 3:&lt;br /&gt;
&lt;br /&gt;
* Katram uzdevumam P1, P2 un P3 izveidot direktoriju ar attiecīgu vārdu. Šajās direktorijās izvietot attiecīgo uzdevumu pirmkoda, datu un apraksta failus.&lt;br /&gt;
* Iekopēt direktorijās visu pirmkodu un ievākto datu failus&lt;br /&gt;
* Analīzes rezultātus aprakstīt un grafikus attēlot PDF failā ar nosaukumu P&amp;#039;&amp;#039;X&amp;#039;&amp;#039;.pdf&lt;br /&gt;
* Neaizmirstiet aprakstā norādīt darba autorus un ko katrs darījis, kā arī katra dalībnieka procentuālo ieguldījumu no komandas darba.&lt;br /&gt;
* Visus failus arhivēt kā zip failu un saukt BST_MD_Testbed_Vards_Uzvards.zip, kur, protams, lietots &amp;#039;&amp;#039;jūsu&amp;#039;&amp;#039; vārds un uzvārds.&lt;br /&gt;
* Zip fails jāiesūta e-studijās VISIEM komandas dalībniekiem.&lt;br /&gt;
&lt;br /&gt;
=Testbed=&lt;br /&gt;
&lt;br /&gt;
EDI BST testa vides piekļuve un lietošana.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://docs.google.com/presentation/d/1Qy32wqh3W4ki808hN_FUTMHURcO1F6St3nwovtZLLNQ/edit?usp=sharing Lietošanas pamācība]&lt;br /&gt;
* [https://www.edi.lv/testbed EDI Testbed] portāls&lt;br /&gt;
* Testbed CLI komandu [https://www.dropbox.com/s/gse78nkox8eo523/EDI%20TestBed%20CLI%20cheat%20sheet%202021.pdf?raw=1 Cheatsheet]&lt;br /&gt;
* [https://www.dropbox.com/s/efsx8380cy4y366/EDI_TestBed_CLI_intro_2021.pdf?raw=1 EDI Testbed Prezentācija]&lt;br /&gt;
* Demonstrācijas video pieejams eStudijās&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CLI klientu programmatūra&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
** [https://makonis.edi.lv/s/PtomG54z8i7ozJp Linux]&lt;br /&gt;
** [https://makonis.edi.lv/s/bBAzoknjX23WfPS Windows]&lt;br /&gt;
&lt;br /&gt;
Publikācijas&lt;br /&gt;
* [https://www.researchgate.net/publication/236735509_Wireless_Sensor_Network_Testbeds_A_Survey Wireless Sensor Network Testbeds: A Survey]&lt;br /&gt;
&lt;br /&gt;
= Resursi =&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/edi-riga/MansOS/wiki &amp;#039;&amp;#039;&amp;#039;MansOS&amp;#039;&amp;#039;&amp;#039; operētājsistēma]&lt;br /&gt;
** [[MansOS msp430 procesora rīku instalācija ar Docker]]&lt;br /&gt;
&lt;br /&gt;
* [http://www.catb.org/esr/structure-packing/ The Lost Art of Structure Packing]&lt;br /&gt;
* Grāmata: [https://ptolemy.berkeley.edu/books/leeseshia/ Introduction to Embedded Systems - A Cyber-Physical Systems Approach]&lt;br /&gt;
* [[LU::poster-howto | Ieteikumi plakātu prezentāciju veidošanā]]&lt;br /&gt;
&lt;br /&gt;
* [https://towardsdatascience.com/top-30-data-science-interview-questions-7dd9a96d3f5c Datu zinātne] - 30 intervijas jautājumi&lt;br /&gt;
&lt;br /&gt;
* [https://google.github.io/mediapipe/ Mediapipe] - attēlu apsrādes bibliotēka&lt;br /&gt;
&lt;br /&gt;
== Aparatūra, sensori ==&lt;br /&gt;
* [[DiLab_resursi]] - LU pieejamie sensori un aparatūra&lt;br /&gt;
&lt;br /&gt;
== Saites ==&lt;br /&gt;
* [[LU-BST:links | Bezvadu sensoru tīklu saites]]&lt;br /&gt;
* [https://www.sqimway.com/index.html Bezvadu komunikācijas veidi un frekvences]&lt;br /&gt;
* [http://ss64.com/bash Linux komandu rokasgrāmata]. Komandas, kas mums būs noderīgas: cd, ls, cp, mv, mkdir, df, echo, export, find, grep, less, nano, make, man, ping, rm, ifconfig.&lt;br /&gt;
* [[LU-BST:SwissQM | Kā piedarbināt SwissQM virtuālo mašīnu sensoru tīkliem]] (Paldies Kārlim Visendorfam par aprakstu!)&lt;br /&gt;
* [https://www.ibr.cs.tu-bs.de/dus/publications/spots2006.pdf uPart mote un tās īpašības]&lt;br /&gt;
&lt;br /&gt;
== Interesanti ==&lt;br /&gt;
* [https://www.sparkfun.com/news/6147 Hedy Lamarr and Frequency Hopping Technology] - Holivudas aktrise un FH patenta autore.&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=LU-LSP-b13:L11&amp;diff=11228</id>
		<title>LU-LSP-b13:L11</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=LU-LSP-b13:L11&amp;diff=11228"/>
		<updated>2026-03-25T08:23:37Z</updated>

		<summary type="html">&lt;p&gt;Leo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== PD #11 - servera &amp;amp;amp; klienta programmu komunikācijas realizācija ==&lt;br /&gt;
&lt;br /&gt;
=== Uzdevums ===&lt;br /&gt;
&lt;br /&gt;
Ir dots serveris, kas reaģē uz divām komandām - ECHO un GETHOSTNAME, un pieņem šīs komandas gan caur UDP, gan TCP. &lt;br /&gt;
&lt;br /&gt;
Jūsu uzdevums: notestēt vismaz vienas komandas darbība katrā no režīmiem (UDP un TCP).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Servera kods, klienta koda aizmetņi, Makefile, un kopējais kods (common.{c,h}) dots [http://andromeda.df.lu.lv/kursi/lsp/pd11.tgz šeit]. Uzdevums ir uzrakstīt klienta kodu, kas sūta pieprasījumu serverim, un izdrukā atbildi.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servera komandas:&lt;br /&gt;
* Komanda ECHO: - sūta atpakaļ saņemtos datus.&lt;br /&gt;
* Komanda GETHOSTNAME - sūta atpakaļ servera datora hosta vārdu.&lt;br /&gt;
&lt;br /&gt;
Testēšanu var veikt, pieslēdzoties pie pasniedzēja datora (IP adrese tiks pateikta). Kods, kas strādā tikai lokāli (pieslēdzas pie localhost) nevar saņemt maksimālo vērtējumu.&lt;br /&gt;
&lt;br /&gt;
=== Iesūtīšana ===&lt;br /&gt;
&lt;br /&gt;
Uzdevums ir pēc izvēles un nav jāiesūta.&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=LU-DSP-b&amp;diff=11227</id>
		<title>LU-DSP-b</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=LU-DSP-b&amp;diff=11227"/>
		<updated>2026-03-25T07:13:27Z</updated>

		<summary type="html">&lt;p&gt;Leo: /* 25.03.26 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;big&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Īssaites:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[#Kalendārs | Kalendārs]] | &lt;br /&gt;
[[#Uzdevumi | Uzdevumi]] | &lt;br /&gt;
[[#Resursi | Resursi]] | &lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}}]] : &lt;br /&gt;
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}}]]&lt;br /&gt;
(ja ir lekcija)&lt;br /&gt;
&lt;br /&gt;
=Digitālā (ciparu) signālu apstrāde=&lt;br /&gt;
LU DF bakalauru kurss.&lt;br /&gt;
&lt;br /&gt;
* Pasniedzējs Leo Seļāvo [vards.uzvards @gmail.com].&lt;br /&gt;
&lt;br /&gt;
====Mērķi====&lt;br /&gt;
* Iepazīties ar Digitālās Signālu Apstrādes pielietojumiem un principiem. Praktiskas darbības ar signālu apstrādi. Sistēmu Matlab un Octave iepazīšana un programmēšana tajās.&lt;br /&gt;
&lt;br /&gt;
====Motivācija====&lt;br /&gt;
&amp;quot;Think how electronics has changed the world in the last 50 years. DSP will have the same role over the next 50 years. Learn it or be left behind!&amp;quot; - Steve Smith, autors &amp;quot;DSP Guide&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====Mājas darbi un citi iesniedzamie darbi====&lt;br /&gt;
* Iesniegšanas termiņa laiks nozīmē ka &amp;#039;&amp;#039;&amp;#039;uz šo datumu darbam jābūt jau gatavam&amp;#039;&amp;#039;&amp;#039; un iesniegtam. Tātad jāiesniedz ir &amp;#039;&amp;#039;&amp;#039;līdz IEPRIEKŠĒJĀS dienas beigām&amp;#039;&amp;#039;&amp;#039;, ja netiek noteikts cits termiņš. Piemēram, ja termiņš ir ceturtdiena, tad darbs jāiesniedz pirms tās, tātad līdz trešdienas beigām.&lt;br /&gt;
* Ja darbs tiek iesniegts ar novēlošanos, rezultāts tiek samazināts par 50%. Ja darbs iesniegts vairāk kā nedēļu pēc termiņa, &amp;#039;&amp;#039;&amp;#039;pasniedzējs darbu var nepieņemt&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
* Darbi iesniedzami elektroniski, E-studijās, izņemot ja prasīts cits iesniegšanas veids.&lt;br /&gt;
* Teksts noformējams PDF faila formātā. Piemēram MD2 fails būtu sekojošs: &amp;#039;&amp;#039;&amp;#039;DSP_MD2_Vards_Uzvards.pdf&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Ja iesniedzami vairāk par vienu failu, tie arhivējami ZIP formātā, sekojoši: &amp;#039;&amp;#039;&amp;#039;DSP_MD2_Vards_Uzvards.zip&amp;#039;&amp;#039;&amp;#039; Atspiežot šo failu tam jārada direktorija ar tādu pašu nosaukumu, kur atrodas visi faili.&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
* E-pasta Subj. ir sekojošs: &amp;quot;&amp;#039;&amp;#039;&amp;#039;DSP MD1 Vards Uzvards&amp;#039;&amp;#039;&amp;#039;&amp;quot; - piemērs pirmajam mājasdarbam. Vārds uzvārds rakstāmi latīņu burtiem - bez garumzīmēm un tml.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Vērtējums kursā====&lt;br /&gt;
Kursa galējais vērtējums sastāv no sekojošām komponentēm:&lt;br /&gt;
* 10% - dalība lekcijās un diskusijās&lt;br /&gt;
* 20% - mājas darbi, praktiskie darbi un testi&lt;br /&gt;
* 20+20% - divi kontroldarbi semestra vidū&lt;br /&gt;
* 30% - rakstisks gala eksāmens&lt;br /&gt;
* Obligāta kursa aptaujas anketas aizpildīšana LUIS sistēmā&lt;br /&gt;
&lt;br /&gt;
{{DarbuKavejumi}}&lt;br /&gt;
&lt;br /&gt;
=Kalendārs=&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4 style = &amp;#039;border-color: #ddd;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
! Datums&lt;br /&gt;
! Tēma, saturs&lt;br /&gt;
! Uzdevumi&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
==== 04.02.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Digitālā signālu apstrāde, ievads.&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DSP (Digital Signal Processing) ievadlekcija. DSP definīcija un pielietojumi.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://youtu.be/d3gj0t4ddPE Ievadlekcijas video ieraksts]&lt;br /&gt;
* [http://www.dspguide.com/pdfbook.htm DSPGuide grāmatā] 1. nodaļa.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 11.02.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Statistika, varbūtība, trokšņi un gadījumsignāli&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Analogais-ciparu pārveidotājs (ADC jeb ACP modelis) jeb signālu mērīšana (ciparu signāls = signālu diskretizācija + kvantēšana).&lt;br /&gt;
Signālu klasifikācijas un galvenie parametri (vidējā vērtība, vidējā kvadrātiskā vērtība, SNR, enerģija, jauda, min un max vērtība, dinamiskais diapazons u.c.).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.dspguide.com/pdfbook.htm DSPGuide grāmatā] 2-3. nodaļas.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Uzdots [[#MD_Rnd | MD_Rnd]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 18.02.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Matlab un Octave&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Svarīgāko Octave komandu apskats (ar kurām var konstruēt signālapstrādes algoritmus). Praktiskais darbs ar Octave.&lt;br /&gt;
&lt;br /&gt;
* [http://www.octave.org OCTAVE] instalējama Ubuntu sistēmā sekojoši: &lt;br /&gt;
 sudo apt install octave&lt;br /&gt;
* Octave darbināšana&lt;br /&gt;
** grafiskā redaktora režīmā:  &amp;lt;code&amp;gt;octave --gui&amp;lt;/code&amp;gt;&lt;br /&gt;
** terminālī: &amp;lt;code&amp;gt;octave&amp;lt;/code&amp;gt;  vai  &amp;lt;code&amp;gt;octave-cli&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/scl/fi/5ig28rks2jtavtfljybae/L03_Octave_intro.pdf?rlkey=l7kv5v90oseldhe6dj07rqkxd&amp;amp;raw=1 Ievads Octave], slaidi.&lt;br /&gt;
* [https://docs.octave.org/latest/ Octave dokumentācija].&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; [[#MD_Rnd | MD_Rnd]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Uzdots [[#MD_Octave | MD_Octave]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 25.02.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Lineāras sistēmas un signālu klasifikācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Signālu klasifikācija un galvenie parametri (vidējā vērtība, vidējā kvadrātiskā vērtība, SNR, enerģija, jauda, min un max vērtība, dinamiskais diapazons u.c.).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.dspguide.com/CH5.PDF DSPGuide 5. nodaļa]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; [[#MD_Octave | MD_Octave]]&lt;br /&gt;
&lt;br /&gt;
* Uzdots [[#MD_Sys | MD_Sys]] (nav jāiedniedz)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 04.03.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Konvolūcija &amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Konvolūcija un tās īpašības&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.dspguide.com/CH6.PDF 6.nodaļa]&lt;br /&gt;
* [http://www.dspguide.com/CH7.PDF 7.nodaļa]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; [[#MD_Sys | MD_Sys]] (nav jāiesniedz, tiks pārrunāts lekcijā)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 11.03.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
||&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;:  &amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;KD1&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Vidus semestra &amp;#039;&amp;#039;&amp;#039;kontroldarbs KD-1&amp;#039;&amp;#039;&amp;#039;.  &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* 1. - 7. nodaļas no [http://www.dspguide.com/pdfbook.htm DSPGuide grāmatas] un lekcijām.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;KD1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 18.03.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievads digitālajos filtros, &amp;#039;&amp;#039;Moving average&amp;#039;&amp;#039; filtrs&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Digitālie filtri, kustīgā vidējā (moving average) filtrs.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* 14.,15. nodaļas no [http://www.dspguide.com/pdfbook.htm DSPGuide grāmatas] un lekcijām.&lt;br /&gt;
* [https://sengpielaudio.com/TableOfSoundPressureLevels.htm Loudness comparison chart]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Uzdots [[#MD_Audio | MD_Audio]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 25.03.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
| &amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Prakse ar Octave, skaņa&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;E-studijās video lekcija L07.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Praktiskā nodarbība. Izmantojot Octave, konstruēt algoritmu, kas apstrādā audio failu. &lt;br /&gt;
&lt;br /&gt;
* Uzdevumi, Octave vidē&lt;br /&gt;
** Izgriezt 1 sekundi no skaņas&lt;br /&gt;
** Nospēlēt oktāvu, kur katra nots ir 0.5 sekundes ilga&lt;br /&gt;
** Atskaņot skaņu kas sastāv no 3 sinusoīdām ar maināmu frekvenci un amplitūdu&lt;br /&gt;
** Piemērot ADSR skaņas avotam, piemēram, sinusoīdai&lt;br /&gt;
** Izveidot savu sintētiskās skaņas instrumentu&lt;br /&gt;
&lt;br /&gt;
Resursi:&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Envelope_%28music%29 Envelope, ADSR]&lt;br /&gt;
* [http://digitalsoundandmusic.com/chapters/ch6/ Digital Sound and Music] - Skaņas sintēze - 6.1.7&lt;br /&gt;
&amp;lt;!-- * [https://mybudgetstudio.com/what-is-sound-envelope-adsr-explained-with-example Envelope, ADSR] (depreciated) --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Skaņas faili:&lt;br /&gt;
** [https://www.dropbox.com/s/34ait9wo4b1j1ld/test1.ogg?dl=1 test1.ogg] [https://www.dropbox.com/s/v8wyoidysq94nsh/test1.wav?dl=1 .wav]&lt;br /&gt;
** [https://www.dropbox.com/s/n7k971ppe1zfq9o/test2.ogg?dl=1 test2.ogg] [https://www.dropbox.com/s/vpr9dbd7famcjjk/test2.wav?dl=1 .wav]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots [[#MD_Synth | MD_Synth]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 8.04.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Audio signāli&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Audio uztvere in apstrāde&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.dspguide.com/pdfbook.htm DSPGuide 22. nodaļa]&lt;br /&gt;
* [https://youtu.be/Sn07AMCfaAI?si=Qh0gq93xCC6fzB3z Par skaņas ilūzijām] (Veritasium video)&lt;br /&gt;
* [https://cmtext.indiana.edu/acoustics/chapter1_amplitude.php Ievads dator-muzikā] - no Indiānas Universitātes.&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; [[#MD_Audio | MD_Audio]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 15.04.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Attēlu signāli&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Attēlu uztvere un apstrāde&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.dspguide.com/pdfbook.htm DSPGuide 23., 24., 25. nodaļas]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; [[#MD_Synth | MD_Synth]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
==== 22.04.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Prakse ar Octave, attēli&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Speciāla attēlu apstrāde.&lt;br /&gt;
&lt;br /&gt;
Praktiskā nodarbība.&lt;br /&gt;
Attēlu apstrāde.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots [[#MD_Image | MD_Image]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 29.04.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;KD2&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Vidus semestra kontroldarbs KD2&lt;br /&gt;
* Praktisku uzdevumu risināšana ar Octave.&lt;br /&gt;
* Audio un attēlu apstrāde.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;KD2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 6.05.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Furjē transformācija. Diskrētā Furjē transformācija &amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[#Furjē_transformācija | Video materiāls]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.dspguide.com/CH8.PDF DSPGuide 8. nodaļa]&lt;br /&gt;
* [https://qr.ae/pGpaXf Kā saprast Futjē transformāciju] (Quora)&lt;br /&gt;
* [https://youtu.be/h7apO7q16V0 FFT] un idejas uz ko FFT balstās.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; [[#MD_Image | MD_Image]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 13.05.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;FIR un IIR&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rekursīvie filtri. FIR un IIR signālu filtri.&lt;br /&gt;
Signālu filtrācija frekvenču apgabalā.&lt;br /&gt;
&lt;br /&gt;
Pratiskais darbs: Izmantojot Octave, izveidot Short-time DFT jeb spektrogrammu runas signālam. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.dspguide.com/CH17.PDF DSPGuide 17. nodaļa] - Custom filters&lt;br /&gt;
* [http://www.dspguide.com/CH19.PDF DSPGuide 19. nodaļa] - Recursive filters&lt;br /&gt;
&lt;br /&gt;
* [https://www.youtube.com/watch?v=NvRKtdrssFA Intro to FIR]&lt;br /&gt;
* [https://www.youtube.com/watch?v=uNNNj9AZisM&amp;amp;ab_channel=Phil%E2%80%99sLab FIR Filter Design] (Phil&amp;#039;s Lab)&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 20.05.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Filtru salīdzinājums&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.dspguide.com/CH21.PDF DSPGuide 21. nodaļa - filtru salīdzinājums]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 27.05.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Kopsavilkums&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Visas līdz šim kursā apskatītās nodaļas no [http://www.dspguide.com/pdfbook.htm DSPGuide grāmatas] un lekcijām.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 27.05.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:Laiks: 08:30&lt;br /&gt;
:Vieta: Kursa lekciju telpa   &amp;lt;!--E-studijas un tiešsaiste.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Uzdevumi=&lt;br /&gt;
==MD_Rnd==&lt;br /&gt;
Analizēt nejaušu skaitļu (RND) un to summas histogrammu sekojošiem gadījumiem:&lt;br /&gt;
# RND&lt;br /&gt;
# RND + RND&lt;br /&gt;
# RND + RND + RND + RND&lt;br /&gt;
Pētījumu veikt vismaz 100000 nejaušiem skaitļiem.&lt;br /&gt;
&lt;br /&gt;
Ar RND saprotam funkciju, kas katrā izsaukumā atgriež nejaušu skaitli no 0 līdz 1.0.&lt;br /&gt;
&lt;br /&gt;
Katram no iepriekš minētajiem gadījumiem uzrakstīt programmu, kas izrēķina un uzzīmē histogrammu. &lt;br /&gt;
&lt;br /&gt;
Programmu ieteicams rakstīt [https://www.gnu.org/software/octave/index Octave] vidē, &lt;br /&gt;
bet šoreiz atļauts arī kādā citā jums pazīstamā valodā.&lt;br /&gt;
&lt;br /&gt;
E-studijās kā MD1 iesniegt PDF failu ar risinājumu, kurā katram no gadījumiem doti:&lt;br /&gt;
* Programma, kas ģenerē histogrammu&lt;br /&gt;
* Histogramma&lt;br /&gt;
* Secinājumi, kas sanāca, un kāpēc tā.&lt;br /&gt;
&lt;br /&gt;
==MD_Sys==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mērķis&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
Treniņš lineāru un laika invariantu sistēmu atpazīšanā un pierādīšanā.&lt;br /&gt;
&lt;br /&gt;
====Uzdevums====&lt;br /&gt;
# Pierādīt, ka sekojošas sistēmas ir (vai nav) lineāras. &lt;br /&gt;
# Pierādīt, ka sekojošas sistēmas ir (vai nav) laika invariantas.&lt;br /&gt;
&lt;br /&gt;
* y[n] = x[n] + 3&lt;br /&gt;
* y[n] = x[n] * x[n]&lt;br /&gt;
* y[n] = x[n] + x[n + 1]&lt;br /&gt;
&lt;br /&gt;
Šis uzdevums paredzēts treniņam, un nav obligāti jāiesniedz.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
====Iesniegšana====&lt;br /&gt;
Risinājums jāiesniedz e-Studijās kā PDF fails sadaļā MD_Sys.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MD_Octave==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mērķis&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
Apgūt un praktizēties Octave vides un valodas lietošanā.&lt;br /&gt;
&lt;br /&gt;
Pieejams e-studijās&lt;br /&gt;
&lt;br /&gt;
==MD_Audio==&lt;br /&gt;
Izmantojot Octave, konstruēt algoritmu, kas izgriež pauzes runas signālam. &lt;br /&gt;
&lt;br /&gt;
Pieejams e-studijās&lt;br /&gt;
&lt;br /&gt;
==MD_Synth==&lt;br /&gt;
Izmantojot Octave, uzrakstīt funkcijas vairākiem skaņas efektiem.&lt;br /&gt;
&lt;br /&gt;
Pieejams e-studijās&lt;br /&gt;
&lt;br /&gt;
==MD_Image==&lt;br /&gt;
Izmantojot Octave, uzrakstīt funkcijas attēlu apstrādei.&lt;br /&gt;
&lt;br /&gt;
Pieejams e-studijās&lt;br /&gt;
&lt;br /&gt;
=Resursi=&lt;br /&gt;
&lt;br /&gt;
== Kursa materiāli ==&lt;br /&gt;
* [http://www.dspguide.com/ DSP Guide] gramata tiešsaistē&lt;br /&gt;
:: &amp;quot;The Scientist and Engineer&amp;#039;s Guide to Digital Signal Processing, copyright ©1997-1998 by Steven W. Smith. For more information visit the book&amp;#039;s website at: www.DSPguide.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Octave ====&lt;br /&gt;
* [https://www.dropbox.com/s/vvw92wtspjqg7ki/refcard-a4.pdf?dl=0 Octave 3.0.0 reference card]&lt;br /&gt;
&lt;br /&gt;
* [https://docs.octave.org/latest/Introduction-to-Function-and-Script-Files.html Intro to function and script files]&lt;br /&gt;
* [https://docs.octave.org/latest/Script-Files.html Sccript files]&lt;br /&gt;
* [https://docs.octave.org/latest/Function-Files.html Function files]&lt;br /&gt;
&lt;br /&gt;
==== Furjē transformācija ====&lt;br /&gt;
* [https://youtu.be/ds0cmAV-Yek Furjē sērija, jebkurš signāls no sinusoīdām]&lt;br /&gt;
* [https://youtu.be/ykNtIbtCR-8 Ievada video]&lt;br /&gt;
* [https://youtu.be/spUNpyF58BY Furjē transformācijas vizualizācija]&lt;br /&gt;
* [https://youtu.be/1JnayXHhjlg lekcija par Inverso FT (1.daļa)]&lt;br /&gt;
* [https://youtu.be/kKu6JDqNma8 lekcija par FT (2.daļa)]&lt;br /&gt;
&lt;br /&gt;
* [https://youtu.be/XtypWS8HZco Ievads FFT, The Cooley-Tukey Algorithm]&lt;br /&gt;
* [https://www.algorithm-archive.org/contents/cooley_tukey/cooley_tukey.html Cooley-Tukey apraksts] (Algoritmu arhīvs)&lt;br /&gt;
&lt;br /&gt;
* [https://www.mathworks.com/help/matlab/ref/fft.html FFT pipemērs Matlab sistēmā]&lt;br /&gt;
* [https://upload.wikimedia.org/wikiversity/en/d/dd/Octave.DFT.1.B.FFT.20170706.pdf FFT piemērs Octave sistēmā]&lt;br /&gt;
&lt;br /&gt;
* [https://youtu.be/r7GdEWDHtbQ Furje transformācija, vizualizācija ar apļiem] (Smarter every day)&lt;br /&gt;
* [https://youtu.be/r6sGWTCMz2k But what is a Fourier series? From heat flow to drawing with circles] (3Blue1Brown)&lt;br /&gt;
&lt;br /&gt;
==== FIR &amp;amp; IIR ====&lt;br /&gt;
* [https://www.youtube.com/watch?v=NvRKtdrssFA Intro to FIR]&lt;br /&gt;
&lt;br /&gt;
==== Citi resursi ====&lt;br /&gt;
* [https://ptolemy.berkeley.edu/eecs20/weekly.html Signals and Systems] - kurss Berkeley universitātē&lt;br /&gt;
* [https://dspillustrations.com/pages/index.html Learning DSP illustrated]&lt;br /&gt;
* [https://brilliant.org/wiki/linear-time-invariant-systems/ Lineāras laika invariantas sistēmas] @Brilliant wiki&lt;br /&gt;
* [https://youtu.be/zMkXxI63_Og Laika invariantas sistēmas] - videolekcija ar pierādījumu piemēriem.&lt;br /&gt;
&lt;br /&gt;
* [https://setosa.io/ev/image-kernels/ Attēlu filtru kodoli] - vizuāls skaidrojums&lt;br /&gt;
&lt;br /&gt;
* [https://mybudgetstudio.com/what-is-sound-envelope-adsr-explained-with-example Envelope, ADSR]&lt;br /&gt;
* [http://digitalsoundandmusic.com/chapters/ch1/ Digital sound and music]&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=LU-LSP-b&amp;diff=11226</id>
		<title>LU-LSP-b</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=LU-LSP-b&amp;diff=11226"/>
		<updated>2026-03-18T12:04:08Z</updated>

		<summary type="html">&lt;p&gt;Leo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Īssaites:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[#Kalendārs | Kalendārs]] | &lt;br /&gt;
[[#Uzdevumi | Uzdevumi]] | &lt;br /&gt;
[[#Resursi | Resursi]] | &lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]] : &lt;br /&gt;
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]]&lt;br /&gt;
(ja ir lekcija)&lt;br /&gt;
&lt;br /&gt;
{{LUDFKurss|Linux sistēmas programmēšana|LSP|DatZ3122|2DAT3122}}&lt;br /&gt;
* Pasniedzējs:&lt;br /&gt;
** Leo Seļāvo &amp;#039;&amp;#039;(epasts: vards.uzvards @ gmail.com)&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Vērtējums = 15% praktiskie darbi, 35% mājas darbi, 20% kontroldarbs un 30% eksāmens.&lt;br /&gt;
&lt;br /&gt;
* [[LSP kursa atsauksmes]] no iepriekšējiem gadiem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Praktisko un mājas darbu iesniegšana ==== &lt;br /&gt;
* Mājas darbus iesniegt e-studijās vai darbu testēšanas serverī, atkarībā no darba specifikācijas.&lt;br /&gt;
* Faila nosaukumam jābūt formā LSP_MD1_Vards_Uzvards.c - mainot atbilstošo uzdevuma kodu (MD1) un faila formātu pēc nepieciešamības.&lt;br /&gt;
* Nevajag arhivēt failus, ja vien tas nav prasīts uzdevuma nosacījumos&lt;br /&gt;
&lt;br /&gt;
==== Praktisko darbu vērtēšanas kritēriji ====&lt;br /&gt;
* Praktisko darbu mērķis ir nostiprināt un parādīt izpratni par apgūto vielu, attiecīgi darbi ir jārisina &amp;#039;&amp;#039;&amp;#039;patstāvīgi&amp;#039;&amp;#039;&amp;#039;, tomēr jautājumu uzdošana pasniedzējam vai kolēģiem ir vēlama.&lt;br /&gt;
* Maksimālo vērtējumu par praktisko darbu var saņemt, ja tas iesūtīts līdz praktisko darbu lekcijas dienas beigām.&lt;br /&gt;
* Pēc termiņa praktiskie darbi tiek pieņemti vēl tekošo nedēļu (līdz nākamās lekcijas sākumam) un tiks novērtēti, tomēr vairs ne ar maksimālo atzīmi. &lt;br /&gt;
* Praktiskajos darbos un lekcijās atzinīgi vērtējama ir dalība diskusijās, unikālu risinājumu un ideju piedāvāšana, trāpīgu jautājumu uzdošana, atbildēšana uz kolēģu jautājumiem u.t.t., kas var pozitīvi ietekmēt gala atzīmi kursā.&lt;br /&gt;
&lt;br /&gt;
==== Mājas darbu vērtēšanas kritēriji ====&lt;br /&gt;
* Mājas darbu iesniegšanas termiņa laiks ir attiecīgajā datumā līdz pusnaktij.&lt;br /&gt;
* Ja darbs tiek iesniegts ar novēlošanos (kaut vai 1 sekundi!):&lt;br /&gt;
** Tūdaļ pēc termiņa rezultāts tiek samazināts par &amp;#039;&amp;#039;&amp;#039;50%&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
** Nedēļu pēc termiņa darbi vairs netiek pieņemti.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==== Vidus semestra aptauja ====&lt;br /&gt;
* [xxx Aptauja]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Kalendārs=&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4 style = &amp;#039;border-color: #ddd;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
! Datums&lt;br /&gt;
! Tēma, saturs&lt;br /&gt;
! Uzdevumi&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====04.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievads kursā&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Unix un Linux operētājsistēmu pamatkoncepcijas. Linux sistēmprogrammētaja rīki (shell, gcc, make, manpages u.c.).&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD0 | MD0 ]]&amp;#039;&amp;#039;&amp;#039; - Programmēšanas stils&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[https://docs.google.com/document/d/1wmhmxU2x93yj5bha98yGwGTvUbQ5Q0ZjOTfcNQ5ndjc/edit?usp=sharing MD_Koks]&amp;#039;&amp;#039;&amp;#039; - Dzimtas koks.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Intro&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* Iekārtot darba vidi (linux, teksta redaktors, kompilators)&lt;br /&gt;
* Izveidot un pašiem nokompilēt &amp;quot;Hello world&amp;quot; C valodā&lt;br /&gt;
* Iepazīties ar UNIX čaulas komandām un uzdot jautājumus par neskaidrībām.&lt;br /&gt;
* Versiju kontroles sistēmas github pamati.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [[LU-LSP-B11:shell-cheatsheet | UNIX čaulas populārākās komandas un lietojumi]]&lt;br /&gt;
* Lasīt [https://www.linux.com/what-is-linux Kas tas ir, Linux?] - tagad vai līdz nākamajai lekcijai&lt;br /&gt;
* Lasīt [https://web.archive.org/web/20160417114016/http://www.physics.drexel.edu/students/courses/Comp_Phys/General/C_basics/#first C valodas pamācību] no Drexel universitātes.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L01 | PD_Intro]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====05.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Programmēšanas valoda C&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vispārīgs pārskats par programmēšanas valodu C. Datu struktūras. C standarti, kompilācija, bibliotēkas, linkošana, skalārie un saliktie tipi (t.sk pointeri un masīvi), funkcijas, nosacījumi, cikli.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Klasiskā C programmēšanas valodas grāmata: Brian W. C. Kernighan &amp;amp; Dennis M. Ritchie, &amp;quot;The C Programming Language -- ANSI C,&amp;quot; Prentice Hall, 1988 &lt;br /&gt;
* [https://web.archive.org/web/20160417114016/http://www.physics.drexel.edu/students/courses/Comp_Phys/General/C_basics/#first C Language Tutorial]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====11.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Darbs ar failiem&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Sistēmas izsaukumi un standarta bibliotēkas funkcijas faila ievadam un izvadam.  Linux piedāvātās programmas darbam ar failu izvadu/ievadu  (&amp;#039;&amp;#039;cat, tail, head, less, telnet&amp;#039;&amp;#039; u.c.).  Failu ievada un izvada ātrdarbības uzlabošana, buferi., ņemot vērā sistēmas arhitektūru.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_File&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Failu kopēšana.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L02 | PD_File]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====12.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Failu sistēma&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Faila izmēra noteikšana.  Failu saites, stingrās un vājās (hard links, soft links).  Failu glabāšana un pieeja operētājsistēmā. &amp;#039;&amp;#039;i-node&amp;#039;&amp;#039; jēdziens. Sistēmas izsaukums stat(). Direktoriju struktūra.  Izsaukumi opendir(), readdir() un closedir().   &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Failu piekļuves režīmi&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Faila piekļuves tiesību režīmi pie open() un umask.  Failu un i-node izsaukumi: chmod(), link(), unlink(), remove(), rename(), symlink(), readlink(), utime(), mkdir(), rmdir(), chdir(), getcwd().  Programma rakstīšanai log failā. Log faili.  Ekskluzīva rakstīšana ar open(...O_SYNC) un fcntl() metodēm.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD3 | MD_Dir]]&amp;#039;&amp;#039;&amp;#039; - Direktoriju koka apstaigāšana.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Dir&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Direktoriju koka apstaigāšana.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L03 | PD_Dir]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[https://docs.google.com/document/d/1wmhmxU2x93yj5bha98yGwGTvUbQ5Q0ZjOTfcNQ5ndjc/edit?usp=sharing MD_Koks]&amp;#039;&amp;#039;&amp;#039; - Dzimtas koks. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====19.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Atmiņas arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Atmiņas arhitektūra. Virtuālā atmiņa. TEXT, DATA, HEAP un STACK segmenti. Koplietošanas atmiņa starp procesiem. Procedūru izsaukumi.  Parametru nodošana caur steku. Steka satura analīze un piekļuve stekam.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Virtuālā atmiņa&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Virtuālās atmiņas lapas.  Page fault un segmentation fault.  Atmiņas aizsardzība. &amp;#039;&amp;#039;setjmp()&amp;#039;&amp;#039; un &amp;#039;&amp;#039;longjmp()&amp;#039;&amp;#039;.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD4 | MD_Mem]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas rezervācijas funkciju salīdzinājums.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_An&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Programmas analīze.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L04 | PD_An]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD3 | MD_Dir]]&amp;#039;&amp;#039;&amp;#039; - Direktoriju koka apstaigāšana.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====26.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Dinamiskā atmiņa&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Dinamiskā atmiņas izdalīšana. Heap, malloc() un free(). Dienesta informācija pie atmiņas izdalīšanas un atbrīvošanas.  Brīvās atmiņas saraksti. Prasības malloc() un free() veiktspējai.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Atmiņas fragmentācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Atmiņas fragmentācija. Atmiņas rezervēšanas (allocation) algoritmi,  kas darbojas uz atmiņas fragmentiem. Atmiņas &amp;#039;spaiņi&amp;#039;.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD5 | MD_Frag]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas fragmentācijas algoritmu novērtējums (&amp;#039;&amp;#039;&amp;#039;grupās&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Malloc :: PD_Heap&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; =&amp;gt; Daudz-uzdevumu vide&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Malloc&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Atmiņas rezervācija.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Heap&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Vienkāršs atmiņas alokators fiksēta izmēra objektiem.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L06 | PD_Malloc]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:L07 | PD_Heap]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD4 | MD_Mem]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas rezervācijas funkciju salīdzinājums. &lt;br /&gt;
TERMIŅŠ pārcelts nedeļu uz priekšu servera ķibeles dēļ.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====05.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Atkļūdošana&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Linux atkļūdošanas rīki un to lietošana.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Game&amp;#039;&amp;#039;&amp;#039; - Kursa projekta tēmas (spēles) izvēle&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
||&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;KD1&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; (&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;)&lt;br /&gt;
|}&lt;br /&gt;
KD1 kontroldarbs. Programmēšanas uzdevums pie datora, izmantojot apgūto vielu.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
| &amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Dbg&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; (&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;)&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Dbg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Atkļūdošanas rīki.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:LA | PD_Dbg]]&amp;#039;&amp;#039;&amp;#039; (Nav obligāti jāiesniedz)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====12.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
| &amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Daudz-uzdevumu vide&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; =&amp;gt; PD_Malloc :: PD_Heap (&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;)&lt;br /&gt;
|}&lt;br /&gt;
Daudz-uzdevumu vide. Procesi un procesu kontrole. Pavedieni (threads).  Kooperējošies procesi un preemptīvā daudz-uzdevumu metode.  Komanda &amp;#039;&amp;#039;&amp;#039;ps&amp;#039;&amp;#039;&amp;#039;.  &amp;#039;&amp;#039;getpid()&amp;#039;&amp;#039; un &amp;#039;&amp;#039;getppid()&amp;#039;&amp;#039;. &amp;#039;&amp;#039;fork()&amp;#039;&amp;#039;, &amp;#039;&amp;#039;exec()&amp;#039;&amp;#039;, &amp;#039;&amp;#039;wait()&amp;#039;&amp;#039;. &amp;#039;&amp;#039;system()&amp;#039;&amp;#039;.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Pavedieni&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Pavedieni. POSIX pavedieni. Mutex. Datu skriešanās (data race condition). Strupceļš (deadlock).&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.cs.cmu.edu/afs/cs/academic/class/15492-f07/www/pthreads.html POSIX thread (pthread) libraries]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD5 | MD_Frag]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas fragmentācijas algoritmu novērtējums (&amp;#039;&amp;#039;&amp;#039;grupās&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Thread&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Programma kas taisa N pavedienus, kur katrs izdrukā M burtus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_KD&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Kontroldarba analīze.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Spec&amp;#039;&amp;#039;&amp;#039; - Spēles noteikumu specifikācija&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:L08 | PD_Thread]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====19.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Procesa dzīves cikls :: Starpprocesu komunikācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Procesa dzīves cikls&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Procesa dzīves cikls: Procesa ielādēšana, uzsākšanās un pieci veidi  kā process var beigties. exit() un _exit().&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Starpprocesu komunikācija&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Starpprocesu komunikācija.  Faili. Pipes. Koplietošanas atmiņa. Komunikācija starp nesaistītiem procesiem. Sockets abstrakcija komunikācijai.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Game&amp;#039;&amp;#039;&amp;#039; - Kursa projekta tēmas (spēles) izvēle&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Sockets :: Servera klienta arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Sockets&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sockets abstrakcija komunikācijai. Klienta un servera arhitektūra.  Iteratīvie un paralēlie serveri. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Servera klienta arhitektūra&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
TBD: Ieskatam servera/klienta komunikācijā [http://selavo.lv/wiki/index.php/LU-LSP-b13:L11 PD11], bet nav jānodod.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Prot1&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, 1. versija&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Spec&amp;#039;&amp;#039;&amp;#039; - Spēles noteikumu specifikācija&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Jmp :: PD_PSpec&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Jmp&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;setjmp()&amp;#039;&amp;#039;,&amp;#039;&amp;#039;longjmp()&amp;#039;&amp;#039; un taimera signāls.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_PSpec&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Darbs pie kursa projekta. Spēles izvēle un specifikācija.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L05 | PD_Jmp]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;PD_PSpec&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====26.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Signāli&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Signāli. Alarm serviss un signāls.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Prot2&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, gala versija&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Prot1&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, 1. versija&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====08.04.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Tekstuālā lietotāja saskarne.&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Tekstuālā lietotāja saskarne. Ncurses bibliotēka.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [https://www.cyberciti.biz/faq/linux-install-ncurses-library-headers-on-debian-ubuntu-centos-fedora/ Ncurses library, installation and use]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spēles noteikumi finalizēti.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====08.04.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Net :: PD_PProt&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Net&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Starpprocesu komunikācija tīklā.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_PProt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Darbs pie kursa projekta. Komunikāciju protokola izstrāde.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L10 | PD_Net]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;PD_PProt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====09.04.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Dēmoni&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Programmas, kas izpildās fonā un ilgtermiņā.  Rezidenta programmas. Init.d. Upstart. Systemd. Sesijas identifikators.&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Prot2&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, gala versija&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====15.04.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Grafiskā lietotāja saskarne&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Grafiskā lietotāja saskarne. OpenGL. X-server.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====15.04.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_KP&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Darbs pie kursa projekta.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;PD_KP&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====16.04.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Konsultācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Atbildes uz studentu jautājumiem&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====xx.xx.26====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;xx:xx&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vieta: xxx.auditorija.&lt;br /&gt;
&lt;br /&gt;
Eksāmena forma: projektu demonstrācija un prezentācija (darbība, pirmkods, diskusijas).&lt;br /&gt;
Pirms eksāmena kodam kopā ar kompilācijas un palaišanas instrukcijām jābūt iesniegtam e-studijās!&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Pirms eksāmena&amp;#039;&amp;#039;&amp;#039; eStudijās jāiesniedz projekta pirmkods zip failā. Tajā jābūt iekļautam arī &amp;#039;&amp;#039;&amp;#039;readme&amp;#039;&amp;#039;&amp;#039; failam.&lt;br /&gt;
&lt;br /&gt;
Eksāmena vērtējuma plāns:&lt;br /&gt;
* Pirmkods, serveris 25%&lt;br /&gt;
* Pirmkods, klients 25%&lt;br /&gt;
* Demo un darbības testēšana 25%&lt;br /&gt;
* Prezentācija (bez slaidiem) 25%&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====xx.04-xx.05.2026====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Sesija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vērtējumu izlikšana&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Uzdevumi=&lt;br /&gt;
== Mājas darbi ==&lt;br /&gt;
&lt;br /&gt;
* [[LU-LSP-b:MD0 | MD0]]: Izlasīt kodēšanas stila dokumentus.&lt;br /&gt;
* [[LU-LSP-b:MD1 | MD_Koks]]: Ģimenes koka ģenerēšanas programma.&lt;br /&gt;
* [[LU-LSP-b:MD3 | MD3]]: Vienādo failu meklēšana direktorijas kokā.&lt;br /&gt;
* [[LU-LSP-b:MD4 | MD4]]: Atmiņas rezervācijas funkciju salīdzināšana.&lt;br /&gt;
* [[LU-LSP-b:MD5 | MD5]]: Atmiņas fragmentācijas algoritmu novērtējums.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [[LU-LSP-b:MD5 | MD5]]: Procedūru izsaukumu steka izdruka. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Projekts kursā ==&lt;br /&gt;
&lt;br /&gt;
Eksāmens izpaužas kā kursa projekta aizstāvēšana.&lt;br /&gt;
&lt;br /&gt;
* Projekta specifikācijas dokuments pieejams e-studijās&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* MD7 - projekta protokola specifikācija. Skatīt arī [[LU-LSP-b13:PD_client_server | PD: Klienta un servera arhitektūra]]&lt;br /&gt;
** [[LU-LSP-b11:PD_client_server | PD: Klienta un servera arhitektūra]] (praktiskā darba piezīmes)&lt;br /&gt;
** [http://selavo.lv/~kursi/LSP/md7 MD7 projekta grupu risinājumi]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Resursi=&lt;br /&gt;
== Pamācoši vingrinājumi un piemēri ==&lt;br /&gt;
&lt;br /&gt;
* Failu I/O buferi un sekas: divi raksta, redzam trīs...&lt;br /&gt;
* Aprēķins, cik laika vajag pārkopēt 1 TB pa baitam bez bufera.&lt;br /&gt;
* Paging: piemērs 4K x 4K masīva apstaigāšanai, mainot indeksus: 4K vs 16M page faults&lt;br /&gt;
* Vai var uzrakstīt programmu bez main()&lt;br /&gt;
* [https://wordsandbuttons.online/so_you_think_you_know_c.html So you think you know C] - tests ar 5 jautājumiem.&lt;br /&gt;
&lt;br /&gt;
== Literatūra ==&lt;br /&gt;
&lt;br /&gt;
* Advanced Programming in the UNIX(R) Environment, Second Edition, by W. Richard Stevens, Stephen A. Rago. Addison Wesley Professional, 2005, ISBN 0-201-43307-9.  (Indiešu eksemplāram ir ISBN 81-317-0005-4)&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Linux system programming&amp;quot; by Robert Love, O&amp;#039;Reilly Media, 2007, ISBN 0596009585&lt;br /&gt;
&lt;br /&gt;
* [http://www.advancedlinuxprogramming.com/ Advanced Linux Programming] by CodeSourcery LLC,&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Building Embedded Linux Systems&amp;quot; O&amp;#039;Reilly Media, 2008, ISBN 0596529686&lt;br /&gt;
&lt;br /&gt;
* [[Sublime_Text_cheat_sheet]] - Lieliskā Sublime teksta redaktora taustiņu kombinācijas&lt;br /&gt;
&lt;br /&gt;
* [http://fabiensanglard.net/c/ To become a good programmer...] - C grāmatu saraksts&lt;br /&gt;
&lt;br /&gt;
{{ProgrammersResorces}}&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=LU-LSP-b&amp;diff=11225</id>
		<title>LU-LSP-b</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=LU-LSP-b&amp;diff=11225"/>
		<updated>2026-03-18T12:01:23Z</updated>

		<summary type="html">&lt;p&gt;Leo: /* Vidus semestra aptauja */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Īssaites:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[#Kalendārs | Kalendārs]] | &lt;br /&gt;
[[#Uzdevumi | Uzdevumi]] | &lt;br /&gt;
[[#Resursi | Resursi]] | &lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]] : &lt;br /&gt;
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]]&lt;br /&gt;
(ja ir lekcija)&lt;br /&gt;
&lt;br /&gt;
{{LUDFKurss|Linux sistēmas programmēšana|LSP|DatZ3122|2DAT3122}}&lt;br /&gt;
* Pasniedzēji:&lt;br /&gt;
** Leo Seļāvo &amp;#039;&amp;#039;(epasts: vards.uzvards @ gmail.com)&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Vērtējums = 15% praktiskie darbi, 35% mājas darbi, 20% kontroldarbs un 30% eksāmens.&lt;br /&gt;
&lt;br /&gt;
* [[LSP kursa atsauksmes]] no iepriekšējiem gadiem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Praktisko un mājas darbu iesniegšana ==== &lt;br /&gt;
* Mājas darbus iesniegt e-studijās vai darbu testēšanas serverī, atkarībā no darba specifikācijas.&lt;br /&gt;
* Faila nosaukumam jābūt formā LSP_MD1_Vards_Uzvards.c - mainot atbilstošo uzdevuma kodu (MD1) un faila formātu pēc nepieciešamības.&lt;br /&gt;
* Nevajag arhivēt failus, ja vien tas nav prasīts uzdevuma nosacījumos&lt;br /&gt;
&lt;br /&gt;
==== Praktisko darbu vērtēšanas kritēriji ====&lt;br /&gt;
* Praktisko darbu mērķis ir nostiprināt un parādīt izpratni par apgūto vielu, attiecīgi darbi ir jārisina &amp;#039;&amp;#039;&amp;#039;patstāvīgi&amp;#039;&amp;#039;&amp;#039;, tomēr jautājumu uzdošana pasniedzējam vai kolēģiem ir vēlama.&lt;br /&gt;
* Maksimālo vērtējumu par praktisko darbu var saņemt, ja tas iesūtīts līdz praktisko darbu lekcijas dienas beigām.&lt;br /&gt;
* Pēc termiņa praktiskie darbi tiek pieņemti vēl tekošo nedēļu (līdz nākamās lekcijas sākumam) un tiks novērtēti, tomēr vairs ne ar maksimālo atzīmi. &lt;br /&gt;
* Praktiskajos darbos un lekcijās atzinīgi vērtējama ir dalība diskusijās, unikālu risinājumu un ideju piedāvāšana, trāpīgu jautājumu uzdošana, atbildēšana uz kolēģu jautājumiem u.t.t., kas var pozitīvi ietekmēt gala atzīmi kursā.&lt;br /&gt;
&lt;br /&gt;
==== Mājas darbu vērtēšanas kritēriji ====&lt;br /&gt;
* Mājas darbu iesniegšanas termiņa laiks ir attiecīgajā datumā līdz pusnaktij.&lt;br /&gt;
* Ja darbs tiek iesniegts ar novēlošanos (kaut vai 1 sekundi!):&lt;br /&gt;
** Tūdaļ pēc termiņa rezultāts tiek samazināts par &amp;#039;&amp;#039;&amp;#039;50%&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
** Nedēļu pēc termiņa darbi vairs netiek pieņemti.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==== Vidus semestra aptauja ====&lt;br /&gt;
* [xxx Aptauja]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Kalendārs=&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4 style = &amp;#039;border-color: #ddd;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
! Datums&lt;br /&gt;
! Tēma, saturs&lt;br /&gt;
! Uzdevumi&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====04.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievads kursā&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Unix un Linux operētājsistēmu pamatkoncepcijas. Linux sistēmprogrammētaja rīki (shell, gcc, make, manpages u.c.).&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD0 | MD0 ]]&amp;#039;&amp;#039;&amp;#039; - Programmēšanas stils&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[https://docs.google.com/document/d/1wmhmxU2x93yj5bha98yGwGTvUbQ5Q0ZjOTfcNQ5ndjc/edit?usp=sharing MD_Koks]&amp;#039;&amp;#039;&amp;#039; - Dzimtas koks.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Intro&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* Iekārtot darba vidi (linux, teksta redaktors, kompilators)&lt;br /&gt;
* Izveidot un pašiem nokompilēt &amp;quot;Hello world&amp;quot; C valodā&lt;br /&gt;
* Iepazīties ar UNIX čaulas komandām un uzdot jautājumus par neskaidrībām.&lt;br /&gt;
* Versiju kontroles sistēmas github pamati.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [[LU-LSP-B11:shell-cheatsheet | UNIX čaulas populārākās komandas un lietojumi]]&lt;br /&gt;
* Lasīt [https://www.linux.com/what-is-linux Kas tas ir, Linux?] - tagad vai līdz nākamajai lekcijai&lt;br /&gt;
* Lasīt [https://web.archive.org/web/20160417114016/http://www.physics.drexel.edu/students/courses/Comp_Phys/General/C_basics/#first C valodas pamācību] no Drexel universitātes.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L01 | PD_Intro]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====05.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Programmēšanas valoda C&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vispārīgs pārskats par programmēšanas valodu C. Datu struktūras. C standarti, kompilācija, bibliotēkas, linkošana, skalārie un saliktie tipi (t.sk pointeri un masīvi), funkcijas, nosacījumi, cikli.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Klasiskā C programmēšanas valodas grāmata: Brian W. C. Kernighan &amp;amp; Dennis M. Ritchie, &amp;quot;The C Programming Language -- ANSI C,&amp;quot; Prentice Hall, 1988 &lt;br /&gt;
* [https://web.archive.org/web/20160417114016/http://www.physics.drexel.edu/students/courses/Comp_Phys/General/C_basics/#first C Language Tutorial]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====11.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Darbs ar failiem&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Sistēmas izsaukumi un standarta bibliotēkas funkcijas faila ievadam un izvadam.  Linux piedāvātās programmas darbam ar failu izvadu/ievadu  (&amp;#039;&amp;#039;cat, tail, head, less, telnet&amp;#039;&amp;#039; u.c.).  Failu ievada un izvada ātrdarbības uzlabošana, buferi., ņemot vērā sistēmas arhitektūru.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_File&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Failu kopēšana.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L02 | PD_File]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====12.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Failu sistēma&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Faila izmēra noteikšana.  Failu saites, stingrās un vājās (hard links, soft links).  Failu glabāšana un pieeja operētājsistēmā. &amp;#039;&amp;#039;i-node&amp;#039;&amp;#039; jēdziens. Sistēmas izsaukums stat(). Direktoriju struktūra.  Izsaukumi opendir(), readdir() un closedir().   &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Failu piekļuves režīmi&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Faila piekļuves tiesību režīmi pie open() un umask.  Failu un i-node izsaukumi: chmod(), link(), unlink(), remove(), rename(), symlink(), readlink(), utime(), mkdir(), rmdir(), chdir(), getcwd().  Programma rakstīšanai log failā. Log faili.  Ekskluzīva rakstīšana ar open(...O_SYNC) un fcntl() metodēm.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD3 | MD_Dir]]&amp;#039;&amp;#039;&amp;#039; - Direktoriju koka apstaigāšana.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Dir&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Direktoriju koka apstaigāšana.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L03 | PD_Dir]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[https://docs.google.com/document/d/1wmhmxU2x93yj5bha98yGwGTvUbQ5Q0ZjOTfcNQ5ndjc/edit?usp=sharing MD_Koks]&amp;#039;&amp;#039;&amp;#039; - Dzimtas koks. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====19.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Atmiņas arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Atmiņas arhitektūra. Virtuālā atmiņa. TEXT, DATA, HEAP un STACK segmenti. Koplietošanas atmiņa starp procesiem. Procedūru izsaukumi.  Parametru nodošana caur steku. Steka satura analīze un piekļuve stekam.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Virtuālā atmiņa&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Virtuālās atmiņas lapas.  Page fault un segmentation fault.  Atmiņas aizsardzība. &amp;#039;&amp;#039;setjmp()&amp;#039;&amp;#039; un &amp;#039;&amp;#039;longjmp()&amp;#039;&amp;#039;.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD4 | MD_Mem]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas rezervācijas funkciju salīdzinājums.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_An&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Programmas analīze.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L04 | PD_An]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD3 | MD_Dir]]&amp;#039;&amp;#039;&amp;#039; - Direktoriju koka apstaigāšana.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====26.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Dinamiskā atmiņa&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Dinamiskā atmiņas izdalīšana. Heap, malloc() un free(). Dienesta informācija pie atmiņas izdalīšanas un atbrīvošanas.  Brīvās atmiņas saraksti. Prasības malloc() un free() veiktspējai.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Atmiņas fragmentācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Atmiņas fragmentācija. Atmiņas rezervēšanas (allocation) algoritmi,  kas darbojas uz atmiņas fragmentiem. Atmiņas &amp;#039;spaiņi&amp;#039;.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD5 | MD_Frag]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas fragmentācijas algoritmu novērtējums (&amp;#039;&amp;#039;&amp;#039;grupās&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Malloc :: PD_Heap&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; =&amp;gt; Daudz-uzdevumu vide&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Malloc&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Atmiņas rezervācija.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Heap&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Vienkāršs atmiņas alokators fiksēta izmēra objektiem.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L06 | PD_Malloc]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:L07 | PD_Heap]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD4 | MD_Mem]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas rezervācijas funkciju salīdzinājums. &lt;br /&gt;
TERMIŅŠ pārcelts nedeļu uz priekšu servera ķibeles dēļ.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====05.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Atkļūdošana&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Linux atkļūdošanas rīki un to lietošana.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Game&amp;#039;&amp;#039;&amp;#039; - Kursa projekta tēmas (spēles) izvēle&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
||&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;KD1&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; (&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;)&lt;br /&gt;
|}&lt;br /&gt;
KD1 kontroldarbs. Programmēšanas uzdevums pie datora, izmantojot apgūto vielu.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
| &amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Dbg&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; (&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;)&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Dbg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Atkļūdošanas rīki.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:LA | PD_Dbg]]&amp;#039;&amp;#039;&amp;#039; (Nav obligāti jāiesniedz)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====12.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
| &amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Daudz-uzdevumu vide&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; =&amp;gt; PD_Malloc :: PD_Heap (&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;)&lt;br /&gt;
|}&lt;br /&gt;
Daudz-uzdevumu vide. Procesi un procesu kontrole. Pavedieni (threads).  Kooperējošies procesi un preemptīvā daudz-uzdevumu metode.  Komanda &amp;#039;&amp;#039;&amp;#039;ps&amp;#039;&amp;#039;&amp;#039;.  &amp;#039;&amp;#039;getpid()&amp;#039;&amp;#039; un &amp;#039;&amp;#039;getppid()&amp;#039;&amp;#039;. &amp;#039;&amp;#039;fork()&amp;#039;&amp;#039;, &amp;#039;&amp;#039;exec()&amp;#039;&amp;#039;, &amp;#039;&amp;#039;wait()&amp;#039;&amp;#039;. &amp;#039;&amp;#039;system()&amp;#039;&amp;#039;.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Pavedieni&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Pavedieni. POSIX pavedieni. Mutex. Datu skriešanās (data race condition). Strupceļš (deadlock).&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.cs.cmu.edu/afs/cs/academic/class/15492-f07/www/pthreads.html POSIX thread (pthread) libraries]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD5 | MD_Frag]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas fragmentācijas algoritmu novērtējums (&amp;#039;&amp;#039;&amp;#039;grupās&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Thread&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Programma kas taisa N pavedienus, kur katrs izdrukā M burtus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_KD&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Kontroldarba analīze.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Spec&amp;#039;&amp;#039;&amp;#039; - Spēles noteikumu specifikācija&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:L08 | PD_Thread]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====19.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Procesa dzīves cikls :: Starpprocesu komunikācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Procesa dzīves cikls&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Procesa dzīves cikls: Procesa ielādēšana, uzsākšanās un pieci veidi  kā process var beigties. exit() un _exit().&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Starpprocesu komunikācija&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Starpprocesu komunikācija.  Faili. Pipes. Koplietošanas atmiņa. Komunikācija starp nesaistītiem procesiem. Sockets abstrakcija komunikācijai.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Game&amp;#039;&amp;#039;&amp;#039; - Kursa projekta tēmas (spēles) izvēle&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Sockets :: Servera klienta arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Sockets&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sockets abstrakcija komunikācijai. Klienta un servera arhitektūra.  Iteratīvie un paralēlie serveri. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Servera klienta arhitektūra&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
TBD: Ieskatam servera/klienta komunikācijā [http://selavo.lv/wiki/index.php/LU-LSP-b13:L11 PD11], bet nav jānodod.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Prot1&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, 1. versija&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Spec&amp;#039;&amp;#039;&amp;#039; - Spēles noteikumu specifikācija&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Jmp :: PD_PSpec&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Jmp&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;setjmp()&amp;#039;&amp;#039;,&amp;#039;&amp;#039;longjmp()&amp;#039;&amp;#039; un taimera signāls.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_PSpec&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Darbs pie kursa projekta. Spēles izvēle un specifikācija.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L05 | PD_Jmp]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;PD_PSpec&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====26.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Signāli&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Signāli. Alarm serviss un signāls.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Prot2&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, gala versija&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Prot1&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, 1. versija&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====08.04.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Tekstuālā lietotāja saskarne.&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Tekstuālā lietotāja saskarne. Ncurses bibliotēka.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [https://www.cyberciti.biz/faq/linux-install-ncurses-library-headers-on-debian-ubuntu-centos-fedora/ Ncurses library, installation and use]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spēles noteikumi finalizēti.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====08.04.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Net :: PD_PProt&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Net&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Starpprocesu komunikācija tīklā.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_PProt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Darbs pie kursa projekta. Komunikāciju protokola izstrāde.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L10 | PD_Net]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;PD_PProt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====09.04.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Dēmoni&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Programmas, kas izpildās fonā un ilgtermiņā.  Rezidenta programmas. Init.d. Upstart. Systemd. Sesijas identifikators.&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Prot2&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, gala versija&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====15.04.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Grafiskā lietotāja saskarne&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Grafiskā lietotāja saskarne. OpenGL. X-server.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====15.04.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_KP&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Darbs pie kursa projekta.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;PD_KP&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====16.04.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Konsultācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Atbildes uz studentu jautājumiem&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====xx.xx.26====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;xx:xx&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vieta: xxx.auditorija.&lt;br /&gt;
&lt;br /&gt;
Eksāmena forma: projektu demonstrācija un prezentācija (darbība, pirmkods, diskusijas).&lt;br /&gt;
Pirms eksāmena kodam kopā ar kompilācijas un palaišanas instrukcijām jābūt iesniegtam e-studijās!&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Pirms eksāmena&amp;#039;&amp;#039;&amp;#039; eStudijās jāiesniedz projekta pirmkods zip failā. Tajā jābūt iekļautam arī &amp;#039;&amp;#039;&amp;#039;readme&amp;#039;&amp;#039;&amp;#039; failam.&lt;br /&gt;
&lt;br /&gt;
Eksāmena vērtējuma plāns:&lt;br /&gt;
* Pirmkods, serveris 25%&lt;br /&gt;
* Pirmkods, klients 25%&lt;br /&gt;
* Demo un darbības testēšana 25%&lt;br /&gt;
* Prezentācija (bez slaidiem) 25%&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====xx.04-xx.05.2026====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Sesija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vērtējumu izlikšana&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Uzdevumi=&lt;br /&gt;
== Mājas darbi ==&lt;br /&gt;
&lt;br /&gt;
* [[LU-LSP-b:MD0 | MD0]]: Izlasīt kodēšanas stila dokumentus.&lt;br /&gt;
* [[LU-LSP-b:MD1 | MD_Koks]]: Ģimenes koka ģenerēšanas programma.&lt;br /&gt;
* [[LU-LSP-b:MD3 | MD3]]: Vienādo failu meklēšana direktorijas kokā.&lt;br /&gt;
* [[LU-LSP-b:MD4 | MD4]]: Atmiņas rezervācijas funkciju salīdzināšana.&lt;br /&gt;
* [[LU-LSP-b:MD5 | MD5]]: Atmiņas fragmentācijas algoritmu novērtējums.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [[LU-LSP-b:MD5 | MD5]]: Procedūru izsaukumu steka izdruka. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Projekts kursā ==&lt;br /&gt;
&lt;br /&gt;
Eksāmens izpaužas kā kursa projekta aizstāvēšana.&lt;br /&gt;
&lt;br /&gt;
* Projekta specifikācijas dokuments pieejams e-studijās&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* MD7 - projekta protokola specifikācija. Skatīt arī [[LU-LSP-b13:PD_client_server | PD: Klienta un servera arhitektūra]]&lt;br /&gt;
** [[LU-LSP-b11:PD_client_server | PD: Klienta un servera arhitektūra]] (praktiskā darba piezīmes)&lt;br /&gt;
** [http://selavo.lv/~kursi/LSP/md7 MD7 projekta grupu risinājumi]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Resursi=&lt;br /&gt;
== Pamācoši vingrinājumi un piemēri ==&lt;br /&gt;
&lt;br /&gt;
* Failu I/O buferi un sekas: divi raksta, redzam trīs...&lt;br /&gt;
* Aprēķins, cik laika vajag pārkopēt 1 TB pa baitam bez bufera.&lt;br /&gt;
* Paging: piemērs 4K x 4K masīva apstaigāšanai, mainot indeksus: 4K vs 16M page faults&lt;br /&gt;
* Vai var uzrakstīt programmu bez main()&lt;br /&gt;
* [https://wordsandbuttons.online/so_you_think_you_know_c.html So you think you know C] - tests ar 5 jautājumiem.&lt;br /&gt;
&lt;br /&gt;
== Literatūra ==&lt;br /&gt;
&lt;br /&gt;
* Advanced Programming in the UNIX(R) Environment, Second Edition, by W. Richard Stevens, Stephen A. Rago. Addison Wesley Professional, 2005, ISBN 0-201-43307-9.  (Indiešu eksemplāram ir ISBN 81-317-0005-4)&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Linux system programming&amp;quot; by Robert Love, O&amp;#039;Reilly Media, 2007, ISBN 0596009585&lt;br /&gt;
&lt;br /&gt;
* [http://www.advancedlinuxprogramming.com/ Advanced Linux Programming] by CodeSourcery LLC,&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Building Embedded Linux Systems&amp;quot; O&amp;#039;Reilly Media, 2008, ISBN 0596529686&lt;br /&gt;
&lt;br /&gt;
* [[Sublime_Text_cheat_sheet]] - Lieliskā Sublime teksta redaktora taustiņu kombinācijas&lt;br /&gt;
&lt;br /&gt;
* [http://fabiensanglard.net/c/ To become a good programmer...] - C grāmatu saraksts&lt;br /&gt;
&lt;br /&gt;
{{ProgrammersResorces}}&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=LU-LSP-b&amp;diff=11224</id>
		<title>LU-LSP-b</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=LU-LSP-b&amp;diff=11224"/>
		<updated>2026-03-18T12:00:49Z</updated>

		<summary type="html">&lt;p&gt;Leo: /* Projekts kursā */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Īssaites:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[#Kalendārs | Kalendārs]] | &lt;br /&gt;
[[#Uzdevumi | Uzdevumi]] | &lt;br /&gt;
[[#Resursi | Resursi]] | &lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]] : &lt;br /&gt;
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]]&lt;br /&gt;
(ja ir lekcija)&lt;br /&gt;
&lt;br /&gt;
{{LUDFKurss|Linux sistēmas programmēšana|LSP|DatZ3122|2DAT3122}}&lt;br /&gt;
* Pasniedzēji:&lt;br /&gt;
** Leo Seļāvo &amp;#039;&amp;#039;(epasts: vards.uzvards @ gmail.com)&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Vērtējums = 15% praktiskie darbi, 35% mājas darbi, 20% kontroldarbs un 30% eksāmens.&lt;br /&gt;
&lt;br /&gt;
* [[LSP kursa atsauksmes]] no iepriekšējiem gadiem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Praktisko un mājas darbu iesniegšana ==== &lt;br /&gt;
* Mājas darbus iesniegt e-studijās vai darbu testēšanas serverī, atkarībā no darba specifikācijas.&lt;br /&gt;
* Faila nosaukumam jābūt formā LSP_MD1_Vards_Uzvards.c - mainot atbilstošo uzdevuma kodu (MD1) un faila formātu pēc nepieciešamības.&lt;br /&gt;
* Nevajag arhivēt failus, ja vien tas nav prasīts uzdevuma nosacījumos&lt;br /&gt;
&lt;br /&gt;
==== Praktisko darbu vērtēšanas kritēriji ====&lt;br /&gt;
* Praktisko darbu mērķis ir nostiprināt un parādīt izpratni par apgūto vielu, attiecīgi darbi ir jārisina &amp;#039;&amp;#039;&amp;#039;patstāvīgi&amp;#039;&amp;#039;&amp;#039;, tomēr jautājumu uzdošana pasniedzējam vai kolēģiem ir vēlama.&lt;br /&gt;
* Maksimālo vērtējumu par praktisko darbu var saņemt, ja tas iesūtīts līdz praktisko darbu lekcijas dienas beigām.&lt;br /&gt;
* Pēc termiņa praktiskie darbi tiek pieņemti vēl tekošo nedēļu (līdz nākamās lekcijas sākumam) un tiks novērtēti, tomēr vairs ne ar maksimālo atzīmi. &lt;br /&gt;
* Praktiskajos darbos un lekcijās atzinīgi vērtējama ir dalība diskusijās, unikālu risinājumu un ideju piedāvāšana, trāpīgu jautājumu uzdošana, atbildēšana uz kolēģu jautājumiem u.t.t., kas var pozitīvi ietekmēt gala atzīmi kursā.&lt;br /&gt;
&lt;br /&gt;
==== Mājas darbu vērtēšanas kritēriji ====&lt;br /&gt;
* Mājas darbu iesniegšanas termiņa laiks ir attiecīgajā datumā līdz pusnaktij.&lt;br /&gt;
* Ja darbs tiek iesniegts ar novēlošanos (kaut vai 1 sekundi!):&lt;br /&gt;
** Tūdaļ pēc termiņa rezultāts tiek samazināts par &amp;#039;&amp;#039;&amp;#039;50%&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
** Nedēļu pēc termiņa darbi vairs netiek pieņemti.&lt;br /&gt;
&lt;br /&gt;
==== Vidus semestra aptauja ====&lt;br /&gt;
* [https://docs.google.com/document/d/1w7qfIQo8ZcKXlhp4mMuB2y9ihOEOl31k/edit Aptauja]&lt;br /&gt;
&lt;br /&gt;
=Kalendārs=&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4 style = &amp;#039;border-color: #ddd;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
! Datums&lt;br /&gt;
! Tēma, saturs&lt;br /&gt;
! Uzdevumi&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====04.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievads kursā&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Unix un Linux operētājsistēmu pamatkoncepcijas. Linux sistēmprogrammētaja rīki (shell, gcc, make, manpages u.c.).&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD0 | MD0 ]]&amp;#039;&amp;#039;&amp;#039; - Programmēšanas stils&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[https://docs.google.com/document/d/1wmhmxU2x93yj5bha98yGwGTvUbQ5Q0ZjOTfcNQ5ndjc/edit?usp=sharing MD_Koks]&amp;#039;&amp;#039;&amp;#039; - Dzimtas koks.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Intro&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* Iekārtot darba vidi (linux, teksta redaktors, kompilators)&lt;br /&gt;
* Izveidot un pašiem nokompilēt &amp;quot;Hello world&amp;quot; C valodā&lt;br /&gt;
* Iepazīties ar UNIX čaulas komandām un uzdot jautājumus par neskaidrībām.&lt;br /&gt;
* Versiju kontroles sistēmas github pamati.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [[LU-LSP-B11:shell-cheatsheet | UNIX čaulas populārākās komandas un lietojumi]]&lt;br /&gt;
* Lasīt [https://www.linux.com/what-is-linux Kas tas ir, Linux?] - tagad vai līdz nākamajai lekcijai&lt;br /&gt;
* Lasīt [https://web.archive.org/web/20160417114016/http://www.physics.drexel.edu/students/courses/Comp_Phys/General/C_basics/#first C valodas pamācību] no Drexel universitātes.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L01 | PD_Intro]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====05.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Programmēšanas valoda C&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vispārīgs pārskats par programmēšanas valodu C. Datu struktūras. C standarti, kompilācija, bibliotēkas, linkošana, skalārie un saliktie tipi (t.sk pointeri un masīvi), funkcijas, nosacījumi, cikli.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Klasiskā C programmēšanas valodas grāmata: Brian W. C. Kernighan &amp;amp; Dennis M. Ritchie, &amp;quot;The C Programming Language -- ANSI C,&amp;quot; Prentice Hall, 1988 &lt;br /&gt;
* [https://web.archive.org/web/20160417114016/http://www.physics.drexel.edu/students/courses/Comp_Phys/General/C_basics/#first C Language Tutorial]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====11.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Darbs ar failiem&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Sistēmas izsaukumi un standarta bibliotēkas funkcijas faila ievadam un izvadam.  Linux piedāvātās programmas darbam ar failu izvadu/ievadu  (&amp;#039;&amp;#039;cat, tail, head, less, telnet&amp;#039;&amp;#039; u.c.).  Failu ievada un izvada ātrdarbības uzlabošana, buferi., ņemot vērā sistēmas arhitektūru.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_File&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Failu kopēšana.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L02 | PD_File]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====12.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Failu sistēma&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Faila izmēra noteikšana.  Failu saites, stingrās un vājās (hard links, soft links).  Failu glabāšana un pieeja operētājsistēmā. &amp;#039;&amp;#039;i-node&amp;#039;&amp;#039; jēdziens. Sistēmas izsaukums stat(). Direktoriju struktūra.  Izsaukumi opendir(), readdir() un closedir().   &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Failu piekļuves režīmi&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Faila piekļuves tiesību režīmi pie open() un umask.  Failu un i-node izsaukumi: chmod(), link(), unlink(), remove(), rename(), symlink(), readlink(), utime(), mkdir(), rmdir(), chdir(), getcwd().  Programma rakstīšanai log failā. Log faili.  Ekskluzīva rakstīšana ar open(...O_SYNC) un fcntl() metodēm.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD3 | MD_Dir]]&amp;#039;&amp;#039;&amp;#039; - Direktoriju koka apstaigāšana.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Dir&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Direktoriju koka apstaigāšana.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L03 | PD_Dir]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[https://docs.google.com/document/d/1wmhmxU2x93yj5bha98yGwGTvUbQ5Q0ZjOTfcNQ5ndjc/edit?usp=sharing MD_Koks]&amp;#039;&amp;#039;&amp;#039; - Dzimtas koks. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====19.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Atmiņas arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Atmiņas arhitektūra. Virtuālā atmiņa. TEXT, DATA, HEAP un STACK segmenti. Koplietošanas atmiņa starp procesiem. Procedūru izsaukumi.  Parametru nodošana caur steku. Steka satura analīze un piekļuve stekam.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Virtuālā atmiņa&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Virtuālās atmiņas lapas.  Page fault un segmentation fault.  Atmiņas aizsardzība. &amp;#039;&amp;#039;setjmp()&amp;#039;&amp;#039; un &amp;#039;&amp;#039;longjmp()&amp;#039;&amp;#039;.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD4 | MD_Mem]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas rezervācijas funkciju salīdzinājums.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_An&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Programmas analīze.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L04 | PD_An]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD3 | MD_Dir]]&amp;#039;&amp;#039;&amp;#039; - Direktoriju koka apstaigāšana.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====26.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Dinamiskā atmiņa&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Dinamiskā atmiņas izdalīšana. Heap, malloc() un free(). Dienesta informācija pie atmiņas izdalīšanas un atbrīvošanas.  Brīvās atmiņas saraksti. Prasības malloc() un free() veiktspējai.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Atmiņas fragmentācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Atmiņas fragmentācija. Atmiņas rezervēšanas (allocation) algoritmi,  kas darbojas uz atmiņas fragmentiem. Atmiņas &amp;#039;spaiņi&amp;#039;.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD5 | MD_Frag]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas fragmentācijas algoritmu novērtējums (&amp;#039;&amp;#039;&amp;#039;grupās&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Malloc :: PD_Heap&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; =&amp;gt; Daudz-uzdevumu vide&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Malloc&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Atmiņas rezervācija.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Heap&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Vienkāršs atmiņas alokators fiksēta izmēra objektiem.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L06 | PD_Malloc]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:L07 | PD_Heap]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD4 | MD_Mem]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas rezervācijas funkciju salīdzinājums. &lt;br /&gt;
TERMIŅŠ pārcelts nedeļu uz priekšu servera ķibeles dēļ.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====05.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Atkļūdošana&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Linux atkļūdošanas rīki un to lietošana.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Game&amp;#039;&amp;#039;&amp;#039; - Kursa projekta tēmas (spēles) izvēle&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
||&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;KD1&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; (&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;)&lt;br /&gt;
|}&lt;br /&gt;
KD1 kontroldarbs. Programmēšanas uzdevums pie datora, izmantojot apgūto vielu.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
| &amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Dbg&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; (&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;)&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Dbg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Atkļūdošanas rīki.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:LA | PD_Dbg]]&amp;#039;&amp;#039;&amp;#039; (Nav obligāti jāiesniedz)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====12.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
| &amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Daudz-uzdevumu vide&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; =&amp;gt; PD_Malloc :: PD_Heap (&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;)&lt;br /&gt;
|}&lt;br /&gt;
Daudz-uzdevumu vide. Procesi un procesu kontrole. Pavedieni (threads).  Kooperējošies procesi un preemptīvā daudz-uzdevumu metode.  Komanda &amp;#039;&amp;#039;&amp;#039;ps&amp;#039;&amp;#039;&amp;#039;.  &amp;#039;&amp;#039;getpid()&amp;#039;&amp;#039; un &amp;#039;&amp;#039;getppid()&amp;#039;&amp;#039;. &amp;#039;&amp;#039;fork()&amp;#039;&amp;#039;, &amp;#039;&amp;#039;exec()&amp;#039;&amp;#039;, &amp;#039;&amp;#039;wait()&amp;#039;&amp;#039;. &amp;#039;&amp;#039;system()&amp;#039;&amp;#039;.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Pavedieni&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Pavedieni. POSIX pavedieni. Mutex. Datu skriešanās (data race condition). Strupceļš (deadlock).&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.cs.cmu.edu/afs/cs/academic/class/15492-f07/www/pthreads.html POSIX thread (pthread) libraries]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD5 | MD_Frag]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas fragmentācijas algoritmu novērtējums (&amp;#039;&amp;#039;&amp;#039;grupās&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Thread&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Programma kas taisa N pavedienus, kur katrs izdrukā M burtus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_KD&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Kontroldarba analīze.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Spec&amp;#039;&amp;#039;&amp;#039; - Spēles noteikumu specifikācija&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:L08 | PD_Thread]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====19.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Procesa dzīves cikls :: Starpprocesu komunikācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Procesa dzīves cikls&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Procesa dzīves cikls: Procesa ielādēšana, uzsākšanās un pieci veidi  kā process var beigties. exit() un _exit().&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Starpprocesu komunikācija&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Starpprocesu komunikācija.  Faili. Pipes. Koplietošanas atmiņa. Komunikācija starp nesaistītiem procesiem. Sockets abstrakcija komunikācijai.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Game&amp;#039;&amp;#039;&amp;#039; - Kursa projekta tēmas (spēles) izvēle&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Sockets :: Servera klienta arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Sockets&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sockets abstrakcija komunikācijai. Klienta un servera arhitektūra.  Iteratīvie un paralēlie serveri. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Servera klienta arhitektūra&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
TBD: Ieskatam servera/klienta komunikācijā [http://selavo.lv/wiki/index.php/LU-LSP-b13:L11 PD11], bet nav jānodod.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Prot1&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, 1. versija&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Spec&amp;#039;&amp;#039;&amp;#039; - Spēles noteikumu specifikācija&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Jmp :: PD_PSpec&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Jmp&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;setjmp()&amp;#039;&amp;#039;,&amp;#039;&amp;#039;longjmp()&amp;#039;&amp;#039; un taimera signāls.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_PSpec&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Darbs pie kursa projekta. Spēles izvēle un specifikācija.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L05 | PD_Jmp]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;PD_PSpec&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====26.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Signāli&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Signāli. Alarm serviss un signāls.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Prot2&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, gala versija&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Prot1&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, 1. versija&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====08.04.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Tekstuālā lietotāja saskarne.&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Tekstuālā lietotāja saskarne. Ncurses bibliotēka.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [https://www.cyberciti.biz/faq/linux-install-ncurses-library-headers-on-debian-ubuntu-centos-fedora/ Ncurses library, installation and use]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spēles noteikumi finalizēti.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====08.04.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Net :: PD_PProt&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Net&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Starpprocesu komunikācija tīklā.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_PProt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Darbs pie kursa projekta. Komunikāciju protokola izstrāde.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L10 | PD_Net]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;PD_PProt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====09.04.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Dēmoni&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Programmas, kas izpildās fonā un ilgtermiņā.  Rezidenta programmas. Init.d. Upstart. Systemd. Sesijas identifikators.&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Prot2&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, gala versija&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====15.04.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Grafiskā lietotāja saskarne&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Grafiskā lietotāja saskarne. OpenGL. X-server.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====15.04.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_KP&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Darbs pie kursa projekta.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;PD_KP&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====16.04.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Konsultācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Atbildes uz studentu jautājumiem&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====xx.xx.26====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;xx:xx&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vieta: xxx.auditorija.&lt;br /&gt;
&lt;br /&gt;
Eksāmena forma: projektu demonstrācija un prezentācija (darbība, pirmkods, diskusijas).&lt;br /&gt;
Pirms eksāmena kodam kopā ar kompilācijas un palaišanas instrukcijām jābūt iesniegtam e-studijās!&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Pirms eksāmena&amp;#039;&amp;#039;&amp;#039; eStudijās jāiesniedz projekta pirmkods zip failā. Tajā jābūt iekļautam arī &amp;#039;&amp;#039;&amp;#039;readme&amp;#039;&amp;#039;&amp;#039; failam.&lt;br /&gt;
&lt;br /&gt;
Eksāmena vērtējuma plāns:&lt;br /&gt;
* Pirmkods, serveris 25%&lt;br /&gt;
* Pirmkods, klients 25%&lt;br /&gt;
* Demo un darbības testēšana 25%&lt;br /&gt;
* Prezentācija (bez slaidiem) 25%&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====xx.04-xx.05.2026====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Sesija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vērtējumu izlikšana&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Uzdevumi=&lt;br /&gt;
== Mājas darbi ==&lt;br /&gt;
&lt;br /&gt;
* [[LU-LSP-b:MD0 | MD0]]: Izlasīt kodēšanas stila dokumentus.&lt;br /&gt;
* [[LU-LSP-b:MD1 | MD_Koks]]: Ģimenes koka ģenerēšanas programma.&lt;br /&gt;
* [[LU-LSP-b:MD3 | MD3]]: Vienādo failu meklēšana direktorijas kokā.&lt;br /&gt;
* [[LU-LSP-b:MD4 | MD4]]: Atmiņas rezervācijas funkciju salīdzināšana.&lt;br /&gt;
* [[LU-LSP-b:MD5 | MD5]]: Atmiņas fragmentācijas algoritmu novērtējums.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [[LU-LSP-b:MD5 | MD5]]: Procedūru izsaukumu steka izdruka. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Projekts kursā ==&lt;br /&gt;
&lt;br /&gt;
Eksāmens izpaužas kā kursa projekta aizstāvēšana.&lt;br /&gt;
&lt;br /&gt;
* Projekta specifikācijas dokuments pieejams e-studijās&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* MD7 - projekta protokola specifikācija. Skatīt arī [[LU-LSP-b13:PD_client_server | PD: Klienta un servera arhitektūra]]&lt;br /&gt;
** [[LU-LSP-b11:PD_client_server | PD: Klienta un servera arhitektūra]] (praktiskā darba piezīmes)&lt;br /&gt;
** [http://selavo.lv/~kursi/LSP/md7 MD7 projekta grupu risinājumi]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Resursi=&lt;br /&gt;
== Pamācoši vingrinājumi un piemēri ==&lt;br /&gt;
&lt;br /&gt;
* Failu I/O buferi un sekas: divi raksta, redzam trīs...&lt;br /&gt;
* Aprēķins, cik laika vajag pārkopēt 1 TB pa baitam bez bufera.&lt;br /&gt;
* Paging: piemērs 4K x 4K masīva apstaigāšanai, mainot indeksus: 4K vs 16M page faults&lt;br /&gt;
* Vai var uzrakstīt programmu bez main()&lt;br /&gt;
* [https://wordsandbuttons.online/so_you_think_you_know_c.html So you think you know C] - tests ar 5 jautājumiem.&lt;br /&gt;
&lt;br /&gt;
== Literatūra ==&lt;br /&gt;
&lt;br /&gt;
* Advanced Programming in the UNIX(R) Environment, Second Edition, by W. Richard Stevens, Stephen A. Rago. Addison Wesley Professional, 2005, ISBN 0-201-43307-9.  (Indiešu eksemplāram ir ISBN 81-317-0005-4)&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Linux system programming&amp;quot; by Robert Love, O&amp;#039;Reilly Media, 2007, ISBN 0596009585&lt;br /&gt;
&lt;br /&gt;
* [http://www.advancedlinuxprogramming.com/ Advanced Linux Programming] by CodeSourcery LLC,&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Building Embedded Linux Systems&amp;quot; O&amp;#039;Reilly Media, 2008, ISBN 0596529686&lt;br /&gt;
&lt;br /&gt;
* [[Sublime_Text_cheat_sheet]] - Lieliskā Sublime teksta redaktora taustiņu kombinācijas&lt;br /&gt;
&lt;br /&gt;
* [http://fabiensanglard.net/c/ To become a good programmer...] - C grāmatu saraksts&lt;br /&gt;
&lt;br /&gt;
{{ProgrammersResorces}}&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=LU-LSP-b&amp;diff=11223</id>
		<title>LU-LSP-b</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=LU-LSP-b&amp;diff=11223"/>
		<updated>2026-03-18T10:32:23Z</updated>

		<summary type="html">&lt;p&gt;Leo: /* Uzdevumi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Īssaites:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[#Kalendārs | Kalendārs]] | &lt;br /&gt;
[[#Uzdevumi | Uzdevumi]] | &lt;br /&gt;
[[#Resursi | Resursi]] | &lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]] : &lt;br /&gt;
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]]&lt;br /&gt;
(ja ir lekcija)&lt;br /&gt;
&lt;br /&gt;
{{LUDFKurss|Linux sistēmas programmēšana|LSP|DatZ3122|2DAT3122}}&lt;br /&gt;
* Pasniedzēji:&lt;br /&gt;
** Leo Seļāvo &amp;#039;&amp;#039;(epasts: vards.uzvards @ gmail.com)&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Vērtējums = 15% praktiskie darbi, 35% mājas darbi, 20% kontroldarbs un 30% eksāmens.&lt;br /&gt;
&lt;br /&gt;
* [[LSP kursa atsauksmes]] no iepriekšējiem gadiem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Praktisko un mājas darbu iesniegšana ==== &lt;br /&gt;
* Mājas darbus iesniegt e-studijās vai darbu testēšanas serverī, atkarībā no darba specifikācijas.&lt;br /&gt;
* Faila nosaukumam jābūt formā LSP_MD1_Vards_Uzvards.c - mainot atbilstošo uzdevuma kodu (MD1) un faila formātu pēc nepieciešamības.&lt;br /&gt;
* Nevajag arhivēt failus, ja vien tas nav prasīts uzdevuma nosacījumos&lt;br /&gt;
&lt;br /&gt;
==== Praktisko darbu vērtēšanas kritēriji ====&lt;br /&gt;
* Praktisko darbu mērķis ir nostiprināt un parādīt izpratni par apgūto vielu, attiecīgi darbi ir jārisina &amp;#039;&amp;#039;&amp;#039;patstāvīgi&amp;#039;&amp;#039;&amp;#039;, tomēr jautājumu uzdošana pasniedzējam vai kolēģiem ir vēlama.&lt;br /&gt;
* Maksimālo vērtējumu par praktisko darbu var saņemt, ja tas iesūtīts līdz praktisko darbu lekcijas dienas beigām.&lt;br /&gt;
* Pēc termiņa praktiskie darbi tiek pieņemti vēl tekošo nedēļu (līdz nākamās lekcijas sākumam) un tiks novērtēti, tomēr vairs ne ar maksimālo atzīmi. &lt;br /&gt;
* Praktiskajos darbos un lekcijās atzinīgi vērtējama ir dalība diskusijās, unikālu risinājumu un ideju piedāvāšana, trāpīgu jautājumu uzdošana, atbildēšana uz kolēģu jautājumiem u.t.t., kas var pozitīvi ietekmēt gala atzīmi kursā.&lt;br /&gt;
&lt;br /&gt;
==== Mājas darbu vērtēšanas kritēriji ====&lt;br /&gt;
* Mājas darbu iesniegšanas termiņa laiks ir attiecīgajā datumā līdz pusnaktij.&lt;br /&gt;
* Ja darbs tiek iesniegts ar novēlošanos (kaut vai 1 sekundi!):&lt;br /&gt;
** Tūdaļ pēc termiņa rezultāts tiek samazināts par &amp;#039;&amp;#039;&amp;#039;50%&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
** Nedēļu pēc termiņa darbi vairs netiek pieņemti.&lt;br /&gt;
&lt;br /&gt;
==== Vidus semestra aptauja ====&lt;br /&gt;
* [https://docs.google.com/document/d/1w7qfIQo8ZcKXlhp4mMuB2y9ihOEOl31k/edit Aptauja]&lt;br /&gt;
&lt;br /&gt;
=Kalendārs=&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4 style = &amp;#039;border-color: #ddd;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
! Datums&lt;br /&gt;
! Tēma, saturs&lt;br /&gt;
! Uzdevumi&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====04.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievads kursā&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Unix un Linux operētājsistēmu pamatkoncepcijas. Linux sistēmprogrammētaja rīki (shell, gcc, make, manpages u.c.).&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD0 | MD0 ]]&amp;#039;&amp;#039;&amp;#039; - Programmēšanas stils&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[https://docs.google.com/document/d/1wmhmxU2x93yj5bha98yGwGTvUbQ5Q0ZjOTfcNQ5ndjc/edit?usp=sharing MD_Koks]&amp;#039;&amp;#039;&amp;#039; - Dzimtas koks.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Intro&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* Iekārtot darba vidi (linux, teksta redaktors, kompilators)&lt;br /&gt;
* Izveidot un pašiem nokompilēt &amp;quot;Hello world&amp;quot; C valodā&lt;br /&gt;
* Iepazīties ar UNIX čaulas komandām un uzdot jautājumus par neskaidrībām.&lt;br /&gt;
* Versiju kontroles sistēmas github pamati.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [[LU-LSP-B11:shell-cheatsheet | UNIX čaulas populārākās komandas un lietojumi]]&lt;br /&gt;
* Lasīt [https://www.linux.com/what-is-linux Kas tas ir, Linux?] - tagad vai līdz nākamajai lekcijai&lt;br /&gt;
* Lasīt [https://web.archive.org/web/20160417114016/http://www.physics.drexel.edu/students/courses/Comp_Phys/General/C_basics/#first C valodas pamācību] no Drexel universitātes.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L01 | PD_Intro]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====05.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Programmēšanas valoda C&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vispārīgs pārskats par programmēšanas valodu C. Datu struktūras. C standarti, kompilācija, bibliotēkas, linkošana, skalārie un saliktie tipi (t.sk pointeri un masīvi), funkcijas, nosacījumi, cikli.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Klasiskā C programmēšanas valodas grāmata: Brian W. C. Kernighan &amp;amp; Dennis M. Ritchie, &amp;quot;The C Programming Language -- ANSI C,&amp;quot; Prentice Hall, 1988 &lt;br /&gt;
* [https://web.archive.org/web/20160417114016/http://www.physics.drexel.edu/students/courses/Comp_Phys/General/C_basics/#first C Language Tutorial]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====11.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Darbs ar failiem&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Sistēmas izsaukumi un standarta bibliotēkas funkcijas faila ievadam un izvadam.  Linux piedāvātās programmas darbam ar failu izvadu/ievadu  (&amp;#039;&amp;#039;cat, tail, head, less, telnet&amp;#039;&amp;#039; u.c.).  Failu ievada un izvada ātrdarbības uzlabošana, buferi., ņemot vērā sistēmas arhitektūru.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_File&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Failu kopēšana.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L02 | PD_File]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====12.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Failu sistēma&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Faila izmēra noteikšana.  Failu saites, stingrās un vājās (hard links, soft links).  Failu glabāšana un pieeja operētājsistēmā. &amp;#039;&amp;#039;i-node&amp;#039;&amp;#039; jēdziens. Sistēmas izsaukums stat(). Direktoriju struktūra.  Izsaukumi opendir(), readdir() un closedir().   &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Failu piekļuves režīmi&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Faila piekļuves tiesību režīmi pie open() un umask.  Failu un i-node izsaukumi: chmod(), link(), unlink(), remove(), rename(), symlink(), readlink(), utime(), mkdir(), rmdir(), chdir(), getcwd().  Programma rakstīšanai log failā. Log faili.  Ekskluzīva rakstīšana ar open(...O_SYNC) un fcntl() metodēm.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD3 | MD_Dir]]&amp;#039;&amp;#039;&amp;#039; - Direktoriju koka apstaigāšana.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Dir&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Direktoriju koka apstaigāšana.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L03 | PD_Dir]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[https://docs.google.com/document/d/1wmhmxU2x93yj5bha98yGwGTvUbQ5Q0ZjOTfcNQ5ndjc/edit?usp=sharing MD_Koks]&amp;#039;&amp;#039;&amp;#039; - Dzimtas koks. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====19.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Atmiņas arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Atmiņas arhitektūra. Virtuālā atmiņa. TEXT, DATA, HEAP un STACK segmenti. Koplietošanas atmiņa starp procesiem. Procedūru izsaukumi.  Parametru nodošana caur steku. Steka satura analīze un piekļuve stekam.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Virtuālā atmiņa&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Virtuālās atmiņas lapas.  Page fault un segmentation fault.  Atmiņas aizsardzība. &amp;#039;&amp;#039;setjmp()&amp;#039;&amp;#039; un &amp;#039;&amp;#039;longjmp()&amp;#039;&amp;#039;.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD4 | MD_Mem]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas rezervācijas funkciju salīdzinājums.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_An&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Programmas analīze.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L04 | PD_An]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD3 | MD_Dir]]&amp;#039;&amp;#039;&amp;#039; - Direktoriju koka apstaigāšana.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====26.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Dinamiskā atmiņa&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Dinamiskā atmiņas izdalīšana. Heap, malloc() un free(). Dienesta informācija pie atmiņas izdalīšanas un atbrīvošanas.  Brīvās atmiņas saraksti. Prasības malloc() un free() veiktspējai.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Atmiņas fragmentācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Atmiņas fragmentācija. Atmiņas rezervēšanas (allocation) algoritmi,  kas darbojas uz atmiņas fragmentiem. Atmiņas &amp;#039;spaiņi&amp;#039;.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD5 | MD_Frag]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas fragmentācijas algoritmu novērtējums (&amp;#039;&amp;#039;&amp;#039;grupās&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Malloc :: PD_Heap&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; =&amp;gt; Daudz-uzdevumu vide&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Malloc&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Atmiņas rezervācija.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Heap&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Vienkāršs atmiņas alokators fiksēta izmēra objektiem.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L06 | PD_Malloc]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:L07 | PD_Heap]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD4 | MD_Mem]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas rezervācijas funkciju salīdzinājums. &lt;br /&gt;
TERMIŅŠ pārcelts nedeļu uz priekšu servera ķibeles dēļ.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====05.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Atkļūdošana&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Linux atkļūdošanas rīki un to lietošana.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Game&amp;#039;&amp;#039;&amp;#039; - Kursa projekta tēmas (spēles) izvēle&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
||&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;KD1&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; (&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;)&lt;br /&gt;
|}&lt;br /&gt;
KD1 kontroldarbs. Programmēšanas uzdevums pie datora, izmantojot apgūto vielu.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
| &amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Dbg&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; (&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;)&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Dbg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Atkļūdošanas rīki.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:LA | PD_Dbg]]&amp;#039;&amp;#039;&amp;#039; (Nav obligāti jāiesniedz)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====12.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
| &amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Daudz-uzdevumu vide&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; =&amp;gt; PD_Malloc :: PD_Heap (&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;)&lt;br /&gt;
|}&lt;br /&gt;
Daudz-uzdevumu vide. Procesi un procesu kontrole. Pavedieni (threads).  Kooperējošies procesi un preemptīvā daudz-uzdevumu metode.  Komanda &amp;#039;&amp;#039;&amp;#039;ps&amp;#039;&amp;#039;&amp;#039;.  &amp;#039;&amp;#039;getpid()&amp;#039;&amp;#039; un &amp;#039;&amp;#039;getppid()&amp;#039;&amp;#039;. &amp;#039;&amp;#039;fork()&amp;#039;&amp;#039;, &amp;#039;&amp;#039;exec()&amp;#039;&amp;#039;, &amp;#039;&amp;#039;wait()&amp;#039;&amp;#039;. &amp;#039;&amp;#039;system()&amp;#039;&amp;#039;.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Pavedieni&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Pavedieni. POSIX pavedieni. Mutex. Datu skriešanās (data race condition). Strupceļš (deadlock).&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.cs.cmu.edu/afs/cs/academic/class/15492-f07/www/pthreads.html POSIX thread (pthread) libraries]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD5 | MD_Frag]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas fragmentācijas algoritmu novērtējums (&amp;#039;&amp;#039;&amp;#039;grupās&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Thread&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Programma kas taisa N pavedienus, kur katrs izdrukā M burtus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_KD&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Kontroldarba analīze.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Spec&amp;#039;&amp;#039;&amp;#039; - Spēles noteikumu specifikācija&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:L08 | PD_Thread]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====19.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Procesa dzīves cikls :: Starpprocesu komunikācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Procesa dzīves cikls&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Procesa dzīves cikls: Procesa ielādēšana, uzsākšanās un pieci veidi  kā process var beigties. exit() un _exit().&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Starpprocesu komunikācija&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Starpprocesu komunikācija.  Faili. Pipes. Koplietošanas atmiņa. Komunikācija starp nesaistītiem procesiem. Sockets abstrakcija komunikācijai.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Game&amp;#039;&amp;#039;&amp;#039; - Kursa projekta tēmas (spēles) izvēle&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Sockets :: Servera klienta arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Sockets&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sockets abstrakcija komunikācijai. Klienta un servera arhitektūra.  Iteratīvie un paralēlie serveri. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Servera klienta arhitektūra&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
TBD: Ieskatam servera/klienta komunikācijā [http://selavo.lv/wiki/index.php/LU-LSP-b13:L11 PD11], bet nav jānodod.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Prot1&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, 1. versija&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Spec&amp;#039;&amp;#039;&amp;#039; - Spēles noteikumu specifikācija&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Jmp :: PD_PSpec&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Jmp&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;setjmp()&amp;#039;&amp;#039;,&amp;#039;&amp;#039;longjmp()&amp;#039;&amp;#039; un taimera signāls.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_PSpec&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Darbs pie kursa projekta. Spēles izvēle un specifikācija.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L05 | PD_Jmp]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;PD_PSpec&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====26.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Signāli&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Signāli. Alarm serviss un signāls.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Prot2&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, gala versija&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Prot1&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, 1. versija&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====08.04.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Tekstuālā lietotāja saskarne.&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Tekstuālā lietotāja saskarne. Ncurses bibliotēka.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [https://www.cyberciti.biz/faq/linux-install-ncurses-library-headers-on-debian-ubuntu-centos-fedora/ Ncurses library, installation and use]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spēles noteikumi finalizēti.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====08.04.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Net :: PD_PProt&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Net&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Starpprocesu komunikācija tīklā.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_PProt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Darbs pie kursa projekta. Komunikāciju protokola izstrāde.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L10 | PD_Net]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;PD_PProt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====09.04.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Dēmoni&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Programmas, kas izpildās fonā un ilgtermiņā.  Rezidenta programmas. Init.d. Upstart. Systemd. Sesijas identifikators.&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Prot2&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, gala versija&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====15.04.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Grafiskā lietotāja saskarne&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Grafiskā lietotāja saskarne. OpenGL. X-server.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====15.04.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_KP&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Darbs pie kursa projekta.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;PD_KP&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====16.04.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Konsultācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Atbildes uz studentu jautājumiem&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====xx.xx.26====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;xx:xx&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vieta: xxx.auditorija.&lt;br /&gt;
&lt;br /&gt;
Eksāmena forma: projektu demonstrācija un prezentācija (darbība, pirmkods, diskusijas).&lt;br /&gt;
Pirms eksāmena kodam kopā ar kompilācijas un palaišanas instrukcijām jābūt iesniegtam e-studijās!&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Pirms eksāmena&amp;#039;&amp;#039;&amp;#039; eStudijās jāiesniedz projekta pirmkods zip failā. Tajā jābūt iekļautam arī &amp;#039;&amp;#039;&amp;#039;readme&amp;#039;&amp;#039;&amp;#039; failam.&lt;br /&gt;
&lt;br /&gt;
Eksāmena vērtējuma plāns:&lt;br /&gt;
* Pirmkods, serveris 25%&lt;br /&gt;
* Pirmkods, klients 25%&lt;br /&gt;
* Demo un darbības testēšana 25%&lt;br /&gt;
* Prezentācija (bez slaidiem) 25%&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====xx.04-xx.05.2026====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Sesija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vērtējumu izlikšana&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Uzdevumi=&lt;br /&gt;
== Mājas darbi ==&lt;br /&gt;
&lt;br /&gt;
* [[LU-LSP-b:MD0 | MD0]]: Izlasīt kodēšanas stila dokumentus.&lt;br /&gt;
* [[LU-LSP-b:MD1 | MD_Koks]]: Ģimenes koka ģenerēšanas programma.&lt;br /&gt;
* [[LU-LSP-b:MD3 | MD3]]: Vienādo failu meklēšana direktorijas kokā.&lt;br /&gt;
* [[LU-LSP-b:MD4 | MD4]]: Atmiņas rezervācijas funkciju salīdzināšana.&lt;br /&gt;
* [[LU-LSP-b:MD5 | MD5]]: Atmiņas fragmentācijas algoritmu novērtējums.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [[LU-LSP-b:MD5 | MD5]]: Procedūru izsaukumu steka izdruka. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Projekts kursā ==&lt;br /&gt;
&lt;br /&gt;
Eksāmens izpaužas kā kursa projekta aizstāvēšana.&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/document/d/15ppHdVY86KLds5sUN0xMjUNuTLPjXw9DdnnMYsGTgok/edit?usp=sharing Projekta specifikācija]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* MD7 - projekta protokola specifikācija. Skatīt arī [[LU-LSP-b13:PD_client_server | PD: Klienta un servera arhitektūra]]&lt;br /&gt;
** [[LU-LSP-b11:PD_client_server | PD: Klienta un servera arhitektūra]] (praktiskā darba piezīmes)&lt;br /&gt;
** [http://selavo.lv/~kursi/LSP/md7 MD7 projekta grupu risinājumi]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Resursi=&lt;br /&gt;
== Pamācoši vingrinājumi un piemēri ==&lt;br /&gt;
&lt;br /&gt;
* Failu I/O buferi un sekas: divi raksta, redzam trīs...&lt;br /&gt;
* Aprēķins, cik laika vajag pārkopēt 1 TB pa baitam bez bufera.&lt;br /&gt;
* Paging: piemērs 4K x 4K masīva apstaigāšanai, mainot indeksus: 4K vs 16M page faults&lt;br /&gt;
* Vai var uzrakstīt programmu bez main()&lt;br /&gt;
* [https://wordsandbuttons.online/so_you_think_you_know_c.html So you think you know C] - tests ar 5 jautājumiem.&lt;br /&gt;
&lt;br /&gt;
== Literatūra ==&lt;br /&gt;
&lt;br /&gt;
* Advanced Programming in the UNIX(R) Environment, Second Edition, by W. Richard Stevens, Stephen A. Rago. Addison Wesley Professional, 2005, ISBN 0-201-43307-9.  (Indiešu eksemplāram ir ISBN 81-317-0005-4)&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Linux system programming&amp;quot; by Robert Love, O&amp;#039;Reilly Media, 2007, ISBN 0596009585&lt;br /&gt;
&lt;br /&gt;
* [http://www.advancedlinuxprogramming.com/ Advanced Linux Programming] by CodeSourcery LLC,&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Building Embedded Linux Systems&amp;quot; O&amp;#039;Reilly Media, 2008, ISBN 0596529686&lt;br /&gt;
&lt;br /&gt;
* [[Sublime_Text_cheat_sheet]] - Lieliskā Sublime teksta redaktora taustiņu kombinācijas&lt;br /&gt;
&lt;br /&gt;
* [http://fabiensanglard.net/c/ To become a good programmer...] - C grāmatu saraksts&lt;br /&gt;
&lt;br /&gt;
{{ProgrammersResorces}}&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=LU-BST-b&amp;diff=11222</id>
		<title>LU-BST-b</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=LU-BST-b&amp;diff=11222"/>
		<updated>2026-03-18T08:26:39Z</updated>

		<summary type="html">&lt;p&gt;Leo: /* Mājas darbi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Īssaites:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[#Kalendārs | Kalendārs]] | &lt;br /&gt;
[[#Uzdevumi | Uzdevumi]] | &lt;br /&gt;
[[#Resursi | Resursi]] | &lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]] : &lt;br /&gt;
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]]&lt;br /&gt;
(ja ir lekcija)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{LUDFKurss|Bezvadu Sensoru Tīkli|BST|DatZ3070|2DAT3253}}&lt;br /&gt;
* Pasniedzējs: [[User:Leo | Leo Seļāvo]]&lt;br /&gt;
&lt;br /&gt;
====Kursa mērķis un uzdevumi====&lt;br /&gt;
Iepazīties ar bezvadu sensoru tīklu sistēmu darbības un projektēšanas principiem un pielietojumiem.&lt;br /&gt;
* Apgūt sensoru un iegulto sistēmu pamata tehnoloģijas un pielietojumus lietu internetā. &lt;br /&gt;
* Izstrādāt arhitektūru un komunikāciju protokolus bezvadu sensoru sistēmām. &lt;br /&gt;
* Programmēt iegultās sistēmas BST pielietojumam. &lt;br /&gt;
* Analizēt sensoru lasījumus un izdarīt secinājumus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievadlekcijas video&amp;#039;&amp;#039;&amp;#039;:&amp;lt;/big&amp;gt; [https://youtu.be/nwPxnED1M34 No sensoriem līdz stāstam]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Vērtējums kursā ====&lt;br /&gt;
* 30% Praktiskie darbi PD&lt;br /&gt;
* 20% Mājas darbi MD&lt;br /&gt;
* 20% Kontroldarbs KD&lt;br /&gt;
* 30% Projekta prezentācija un demo eksāmenā EKS + PROJ&lt;br /&gt;
&lt;br /&gt;
==== Mājas darbi ====&lt;br /&gt;
* Iesniedzami e-studijās&lt;br /&gt;
* Termiņš 30min pirms lekcijas sākuma, vai arī kā MD nosacījumos.&lt;br /&gt;
** Kavēts termiņš nozīmē -50% no vērtējuma. Pēc nedēļas darbs var tikt nepieņemts.&lt;br /&gt;
&lt;br /&gt;
==== Vidus semestra aptauja ====&lt;br /&gt;
* [https://docs.google.com/document/d/1XpUX_ZRIGsMSBrZpuO7KhmUn-x2emV3B/edit Aptauja]&lt;br /&gt;
&lt;br /&gt;
=Kalendārs=&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4 style = &amp;#039;border-color: #ddd; background-color: #fdfff2;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
! Datums&lt;br /&gt;
! Tēma, saturs&lt;br /&gt;
! Uzdevumi&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====04.02.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievadlekcija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Bezvadu sensoru tīklu pielietojumi un pamatproblēmas. BST kursa forma un prasības.&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/4iazzqk2ykmumsq/00_intro.pdf?raw=1 Ievads BST - slaidi]&lt;br /&gt;
* [https://www.dropbox.com/s/u5fnw7uku1ua1sf/00_Intro_IoT.pdf?raw=1 Ievads IoT - slaidi]&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD1 | PD1]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.02.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Bezvadu sakaru sistēmas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Radio spektrs un ISM josla. Komunikācijas protokoli un modulācija.&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/jujvdabdj03szif/L02_Wireless_systems.pdf?raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD2 | PD2]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.02.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Radio komunikāciju realitātes&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/scl/fi/fgqnlfpo7xurz5mm5atwj/03_radio-realities.pdf?rlkey=x54t0itxkbyuu0705ejoi3vry&amp;amp;st=mcy8s1hc&amp;amp;raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD3 | PD3]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.02.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Iegultās sistēmas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Sensoru mezgla uzbūve.&lt;br /&gt;
&lt;br /&gt;
[[BST-b_HW | Lekcijas pieraksti]]&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/kzcd4mr8mirh2i9/L03_motes.pdf?raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD4 | PD4]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.03.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;MAC protokoli sensoru tīklos&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/le4f7sywa528lnb/L05_Harvard_mac.pdf?raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD5 | PD5]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.03.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;(&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;) &amp;#039;&amp;#039;&amp;#039;KD0: Maršrutizācijas protokoli&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/u1y7n2www1y7vgu/L06_Routing.pdf?raw=1 Maršrutizācija. Slaidi]&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Uzdots: [[#MD_Routing|MD_Routing]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.03.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Laika sinhronizācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/8dmwkihq3gq4gls/L07_Timesync.pdf?raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD6 | PD6 Multihop]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.03.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Lokalizācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://www.dropbox.com/s/jbllq2e4rj5it1y/L08_Localization.pdf?raw=1 Slaidi]&lt;br /&gt;
&lt;br /&gt;
Diskusijas par projektiem&lt;br /&gt;
|&lt;br /&gt;
Sensoru datu analīze, Jupyter notebook&lt;br /&gt;
* [https://jupyter.org Jupyter]&lt;br /&gt;
* [https://anaconda.org/anaconda/python Anaconda Python]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====08.04.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Programmēšanas abstrakcijas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Komponenšu orientēta programmēšana. Skriptēta un enkapsulēta programmēšana. TinyOS, MansOS un SEAL.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://www.dropbox.com/s/xwnr2aterigjp7q/05_component-programming.pdf?raw=1 Komponenšu orientēta programmēšana, TinyOS]&lt;br /&gt;
* [https://www.dropbox.com/s/jalyp6jxv7b2ja6/12_prog-abstractions.pdf?raw=1 Programmēšanas abstrakcijas BST, Mate]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Iesniegt: [[#MD_Routing|MD_Routing]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Uzdots: [[#MD_Proj|MD_Proj]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====15.04.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;KD1&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vidus semestra kontroldarbs KD1. Pieejams eStudijās.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====22.04.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Projektu tēmas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Diskusija par projektu tēmām.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Use case&amp;quot; - par projektiem infekcijas risku mazināšanai.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====29.04.26====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Datu vizualizācija un analīze&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Datu vizualizācija un analīze.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====06.05.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Datu analīze, prakse&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://www.anaconda.com/ Anaconda platforma] datu zinātnei.&lt;br /&gt;
* [https://jupyter.org/ Jupyter Notebook] - vide mazām programmām Python un datu analīzei.&lt;br /&gt;
* [https://www.dataquest.io/blog/jupyter-notebook-tips-tricks-shortcuts/ Jupyter triki]&lt;br /&gt;
&lt;br /&gt;
* [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6480280/ Wireless Sensor Networks for Big Data Systems]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš: [[#MD_Proj|MD_Proj]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Projektu statuss&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====13.05.26====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Drošība un privātums&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://www.dropbox.com/scl/fi/5xkeow5yuaxobewhwrntr/13_security-privacy_v2.pdf?rlkey=w6papger2tw2to9l3kk7w344y&amp;amp;st=1sxvon1n&amp;amp;dl=1 Slaidi]&lt;br /&gt;
* Videolekcija e-studijās.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://cert.lv/lv CERT.lv] - IT drošības incidentu novēršanas institūcija Latvijā.&lt;br /&gt;
* [https://www.thalesgroup.com/en/markets/digital-identity-and-security/iot/magazine/internet-threats IoT Security Issues in 2021: a Business Perspective]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Projekta statusa ziņojumi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====20.05.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Enerģijas ieguve no vides&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/lro0ncpw570neej/15_energy-harvesting.pdf?raw=1 Slaidi]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Projekta statusa ziņojumi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====27.05.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Kopsavilkums&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/qf5yd5toylks4zf/L99_Summary.pdf?raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Projektu statusa ziņojumi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====xx.06.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Eksāmena sākums: xx:xx&lt;br /&gt;
Eksāmena vieta: xxx. aud.&lt;br /&gt;
&lt;br /&gt;
Eksāmena (projekta) rezultāti iesūtāmi e-studijās kā PROJ, tai skaitā:&lt;br /&gt;
* apraksts.pdf - apraksts: problēma, risinājumi, jūsu risinājums, rezultāti un pieredze izstrādājot un testējot projektu. Fails PDF formātā.&lt;br /&gt;
* plakāts.pdf - plakāts par projektu. Fails PDF formātā.&lt;br /&gt;
* Saite uz demonstrācijas video, ja tāds ir.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Iesniegt projekta rezultātus e-studijās.&lt;br /&gt;
* Prezentācija klātienē.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- TESTBED&lt;br /&gt;
=====================================&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;BST Testbed&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
EDI BST [[#Testbed | Testbed apraksts un lietojums]].&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Uzdots: [[#MD_Testbed|MD_Testbed-P1]] - Testbed P1 uzdevums&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
=====================================&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Testbed&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Testbed prakse&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
=====================================&lt;br /&gt;
* Termiņš: [https://doodle.com/poll/627utpttbvqiypue?utm_source=poll&amp;amp;utm_medium=link Pieteikt grupas MD_Testbed uzdevumiem]&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš: [[#MD_Testbed|MD_Testbed-P1]] - Testbed P1 uzdevums&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš: [[#MD_Testbed|MD_Testbed]] - Visi uzdevumi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Uzdevumi =&lt;br /&gt;
== Praktiskie darbi ==&lt;br /&gt;
Praktiskajos darbos būs lietojama [https://github.com/edi-riga/MansOS/wiki MansOS operētājsistēma].&lt;br /&gt;
* Īss apraksts un pamācības pieejamas [https://github.com/edi-riga/MansOS/wiki MansOS wiki].&lt;br /&gt;
&amp;lt;!--https://github.com/IECS/MansOS--&amp;gt;&lt;br /&gt;
Praktisko darbu risinājumi iesūtāmi e-studijās.&lt;br /&gt;
&lt;br /&gt;
===PD1===&lt;br /&gt;
&amp;quot;SOS&amp;quot; morzes ābecē izvadīts uz motes LED&lt;br /&gt;
* E-studijās iesūtīt C programmas kodu.&lt;br /&gt;
&lt;br /&gt;
===PD2===&lt;br /&gt;
Hello World -&amp;gt; no motes uz termināla&lt;br /&gt;
&lt;br /&gt;
===PD3===&lt;br /&gt;
Gaismas sensora lasījums uz termināla&lt;br /&gt;
&lt;br /&gt;
===PD4===&lt;br /&gt;
Darbs grupā pa divi.&lt;br /&gt;
&lt;br /&gt;
Gaismas sensora lasījums pārraidīts ar radio un saņemts uz citas motes un izvadīts uz termināla.&lt;br /&gt;
&lt;br /&gt;
Risinājumam jābūt noturīgam pret citiem raidītājiem šajā pašā radio kanālā. Jāparāda tikai sava risinājuma sūtītās ziņas.&lt;br /&gt;
&lt;br /&gt;
Iesūtīt pirmkodu, kā arī failu apraksts.pdf ar testu rezultātiem un to aprakstu.&lt;br /&gt;
&lt;br /&gt;
===PD5===&lt;br /&gt;
Darbs grupā pa divi.&lt;br /&gt;
&lt;br /&gt;
Noteikt radio raidīšanas attālumu TmoteSky motēm.&lt;br /&gt;
* Izveidot raidītāja programmu un uztvērēja programmu. &lt;br /&gt;
* Pārvietot motes dažādos attālumos un novērtēt, cik datu pakas tiek saņemtas.&lt;br /&gt;
* Izvērtēt, kāda ietekme ir motes savstarpējai orientācijai starp raidītāju un uztvērēju.&lt;br /&gt;
* Aprakstīt rezultātus un iesniegt PDF dokumentā apraksts.pdf, e-studijās, kā PD5.&lt;br /&gt;
&lt;br /&gt;
===PD6===&lt;br /&gt;
Darbs grupā pa diviem vai trijiem studentiem.&lt;br /&gt;
&lt;br /&gt;
Realizēt &amp;quot;Multihop&amp;quot; tīklu ar TmoteSky motēm.&lt;br /&gt;
* Izveidot programmatūru trīs dažādu sensoru mezglu tipiem, attiecīgos pirmkoda failos:&lt;br /&gt;
*# sensor.c - Sensors - nolasa gaismas sensora vērtību un nosūta pa radio Releja tipa motei.&lt;br /&gt;
*# relay.c - Relejs - mote, kas saņem datus no sensoriem un pārsūta tālāk citām motēm (Relejiem un Vārtejām).&lt;br /&gt;
*# gateway.c - Vārteja - mote, kas saņem radio datus un pārsūta tos uz seriālo portu (USB).&lt;br /&gt;
&lt;br /&gt;
* Katram mezglam (motei) ir unikāls ID. Izdomāt, kā to panākt.&lt;br /&gt;
* Tīklā jābūt vismaz vienam relejam, bet var būt vairāki, lai realizētu garāku komunikācijas ķēdi.&lt;br /&gt;
* Tīklā var būt vairāki Sensoru mezgli. &lt;br /&gt;
* Tīklā ir tikai viena vārteja.&lt;br /&gt;
* Relejam jāignorē tās ziņas, ko tas jau ir kādreiz sūtījis. Šo var realizēt ar motes identifikatora un/vai ziņas kārtas numura iekļaušanu sūtāmajā datu pakā. Tad, piemēram, mote var ignorēt vecākas datu pakas nekā pēdējā, ko tā ir sūtījusi.&lt;br /&gt;
* Vārtejai katra datu paka jānosūta pa USB tikai vienreiz. Ja tā, piemēram, saņem to pašu datu paku atkārtoti, piemēram, no cita Releja, tai tā jāignorē.&lt;br /&gt;
&lt;br /&gt;
* Aprakstīt rezultātus un iesniegt PDF dokumentā apraksts.pdf, e-studijās, kā PD6. Iesniegt arī programmatūras kodu.&lt;br /&gt;
&lt;br /&gt;
==Mājas darbi==&lt;br /&gt;
===MD_Routing===&lt;br /&gt;
Izstrādāt un aprakstīt maršrutizācijas algoritmu, kas atbilst prasībām &lt;br /&gt;
[https://www.dropbox.com/s/yakqcy9e8322tbf/BST_routing_MD.pdf?raw=1 šajos slaidos]&lt;br /&gt;
&lt;br /&gt;
* Aprakstīt izveidoto maršrutizācijas protokolu.&lt;br /&gt;
* Aprakstīt protokola veiktspējas novērtējumu.&lt;br /&gt;
* Sniegt piemēru, kā tas darbojas slaidos dotajā situācijā.&lt;br /&gt;
* Risinājumu iesniegt PDF dokumentā, e-studijās.&lt;br /&gt;
&lt;br /&gt;
===MD1===&lt;br /&gt;
[[#PD5 | PD5]] rezultāti - Izvērtēt sensoru mezglu komunikāciju veiktspēju atkarībā no distances.&lt;br /&gt;
&lt;br /&gt;
Gadījumā, ja jums neizdevās savākt savus datus, tad analīzei var lietot šos, ar attiecīgu atsauci:&lt;br /&gt;
* [https://www.dropbox.com/s/gd434p1wkgcq9gz/merijumi_veldre_kniss.xlsx?dl=1 | Dati1 (excel)] (Rainers, Juris)&lt;br /&gt;
* [https://www.dropbox.com/s/h679d2y84svixs1/BST_PD05_DATA_Audris.zip?dl=1 | Dati2 (zip)] (Audris, Madara)&lt;br /&gt;
&lt;br /&gt;
===MD3===&lt;br /&gt;
Izstrādāt un aprakstīt virtuālas mašīnas valodu bezvadu sensoru mezgliem, līdzīgi kā &lt;br /&gt;
[https://www.dropbox.com/s/pw8hl4zbsbgek65/L09b_prog-abstractions.pdf?raw=1 Mate lekcijas slaidos]. &lt;br /&gt;
&lt;br /&gt;
Aprakstā jāiekļauj: &lt;br /&gt;
* Valodas komandas, arhitektūra, pieņēmumi&lt;br /&gt;
* Komandu kodējums (pa bitiem), komandu tipi vai klases.&lt;br /&gt;
* Divi piemēri programmām, kas kodēti jūsu valodā.&lt;br /&gt;
* Ar ko jūsu risinājums atšķiras no Mate un kādos gadījumos tam ir priekšrocības.&lt;br /&gt;
&lt;br /&gt;
===MD_Proj===&lt;br /&gt;
====Kursa projekta pieteikums====&lt;br /&gt;
&lt;br /&gt;
=====Īss apraksts=====&lt;br /&gt;
&lt;br /&gt;
Izstrādāt projekta pieteikumu, kurā aprakstīt:&lt;br /&gt;
* Problēmu, ko risināsiet ar bezvadu sensoru tīklu palīdzību&lt;br /&gt;
* Motivāciju, kāpēc problēma jārisina&lt;br /&gt;
* Esošos risinājumus šai problēmai vai līdzīgām problēmām&lt;br /&gt;
* Kas nepieciešams jūsu risinājumam: tehnoloģijas, aparatūra&lt;br /&gt;
* Termiņi katrai nedēļai: kas tiks veikts līdz šiem termiņiem projekta izstrādes gaitā.&lt;br /&gt;
&lt;br /&gt;
Aprakstu organizēt kā slaidus, lai ērti prezentēt. Iesniegt aprakstu PDF formātā.&lt;br /&gt;
&lt;br /&gt;
=====Sīkāks apraksts=====&lt;br /&gt;
&lt;br /&gt;
Šoreiz nekas nav jāprogrammē. Bet gan jāuzraksta sava kursa projekta īss apraksts kā slaidu prezentācija un jāiesniedz PDF formātā. Kursa projekta pieteikumu vajadzēs prezentēt lekcijas laikā, katra komanda pastāstīs pārējiem par sava kursa projekta ideju, izveidosim īsu diskusiju.&lt;br /&gt;
&lt;br /&gt;
Obligātās dokumenta nodaļas:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Projekta tēma&amp;#039;&amp;#039;&amp;#039;. Kas ir Jūsu projekts, ko Jūs izstrādāsiet. Šeit var pietikt ar vienu vai dažiem teikumiem&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Projekta komanda&amp;#039;&amp;#039;&amp;#039;, īpaši ja nepieciešams vairāk par vienu dalībnieku. Kas piedalās, kādas lomas katrs izpilda (kurš ko programmēs, kurš projektēs, kurš testēs utt)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Motivācija&amp;#039;&amp;#039;&amp;#039;. Kāpēc Jūs šādu projektu taisāt. Kāds no tā varētu būt labums Jums un pārējiem apkārtējiem cilvēkiem, dabai.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Jūsu pieeja un arhitektūra&amp;#039;&amp;#039;&amp;#039;. Kā realizēsiet projektu. Kāda būs izmantotā aparatūra. Kāda programmatūra. Kāda būs tīkla struktūra. Šeit labi iederas sistēmas arhitektūras bildes, shematiski attēlojumi. Svarīgi norādīt arī nepieciešamo aparatūru, tai skaitā, kādi sensori nepieciešami projekta realizēšanai. Lai varam sākt meklēt nepieciešamos sensorus, motes. Tiek sagaidīts, ka šī ir saturīgākā projekta apraksta daļa.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Sagaidāmais rezultāts&amp;#039;&amp;#039;&amp;#039;. Cik daudz no savas projekta idejas plānojat šī semestra laikā realizēt. Kādus testus veikt. Kā novērtēsit rezultātus.&lt;br /&gt;
&lt;br /&gt;
Papildus tēmas:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kas šajā tēmā pasaulē ir jau izdarīts&amp;#039;&amp;#039;&amp;#039;. Bakalaura studentiem netiek prasīts izdarīt kaut ko universālu, kas pasaulē vēl neeksistē. Tai pat laikā, ir ļoti vēlams, ka veicat izpēti, par to, kas pasaulē Jūsu tēmā ir jau izpildīts. Kaut vai tāpēc, lai izvēlētos labāko risinājumu, lai nav pašiem jāizdomā no nulles&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Idealizācija&amp;#039;&amp;#039;&amp;#039;. Šī projekta ietvaros netiek prasīts, lai Jūs uzbūvējat vispasaules sensoru tīklu ar Google mēroga infrastruktūru. Bet, ja tas būtu iespējams - ko ar Jūsu sensoru tīklu varētu izdarīt? T.i., padomājiet pāri sava viena semestra robežām!&lt;br /&gt;
&lt;br /&gt;
===MD_Testbed===&lt;br /&gt;
Uzdevuma veikšana EDI testbed platformā (Testbed).&lt;br /&gt;
&lt;br /&gt;
Pieslēguma informācija Testbed platformai tiks paziņota individuāli, lekcijā un/vai e-studijās.&lt;br /&gt;
&lt;br /&gt;
Uzdevums ir ievākt informāciju no Testbed sensoriem kas atrodas uz jums izdalītajiem Testbed sensoru mezgliem pēc iespējas ilgāku laika posmu, vismaz 24 stundas, un attēlot datus grafiski. Sīkāks uzdevumu apraksts seko.&lt;br /&gt;
&lt;br /&gt;
====Programma P1====&lt;br /&gt;
Programmas P1 mērķis ir pārbaudīt Testbed darbību un nolasīt log failos saglabātos datus.&lt;br /&gt;
&lt;br /&gt;
* Pieslēgties Testbed &lt;br /&gt;
* Pārbaudīt jums izdalīto sensoru mezglu darbību izveidojot vienkāršu programmu &amp;lt;code&amp;gt;P1.c&amp;lt;/code&amp;gt; kas sūta skaitļus no 1 līdz 100 ar vienas sekundes intervālu uz seriālo portu. Skaitļus sūtīt kā simbolu virkni salasāmā tekstā, piemēram &amp;quot;17&amp;quot;.&lt;br /&gt;
* Darbināt P1 uz visiem sensoru mezgliem vienlaicīgi. Darbināt eksperimentu 10min. Saglabāt Log failus.&lt;br /&gt;
* Novērtēt rezultātus. Piemēram, vai visi sensori darbojās vienlīdz ātri?&lt;br /&gt;
&lt;br /&gt;
====Programma P2====&lt;br /&gt;
Programmas P2 mērķis ir ievākt sensoru datus ilgākā laika posmā.&lt;br /&gt;
&lt;br /&gt;
* Izveidot programmu &amp;lt;code&amp;gt;P2.c&amp;lt;/code&amp;gt; kas reizi 10 sekundēs nolasa sensoru vērtības. &lt;br /&gt;
* Lasāmie sensori ir: Gaismas sensors, temperatūra un gaisa mitrums.&lt;br /&gt;
* Darbināt P2 24 stundas un saglabāt datus Log failos.&lt;br /&gt;
* Analizēt sensoru datus. Uzzīmēt datus grafikā ar x kā laika asi un y kā mērījumu asi. Izdarīt secinājumus.&lt;br /&gt;
&lt;br /&gt;
====Programma P3====&lt;br /&gt;
Programmas P3 mērķis ir novērtēt komunikāciju iespējas Testbed vidē.&lt;br /&gt;
&lt;br /&gt;
* Izveidot programmu &amp;lt;code&amp;gt;P3_send.c&amp;lt;/code&amp;gt;, kas sūta 300 ziņas visiem citiem mezgliem ik pa 100 milisekundēm. Katrā ziņā iekļaut tās kārtas numuru. Datos iekļaut arī savu identifikatoru, lai saņemošais klients var atpazīt datu pakas tipu un mērķi.&lt;br /&gt;
* Izveidot programmu &amp;lt;code&amp;gt;P3_receive.c&amp;lt;/code&amp;gt;, kas saņem ziņas pa radio no citiem mezgliem un pieraksta RSSI vērtības atmiņas buferī. Kad visas atsūtītas, eksportēt datus uz log failu caur seriālo portu.&lt;br /&gt;
* Darbināt P3_send uz viena mezgla un P3_receive uz pārējiem. Saglabāt datus log failā.&lt;br /&gt;
* Atkārtot iepriekšējo eksperimentu tā, lai datu būtu sūtīti no visiem mezgliem.&lt;br /&gt;
* Rezultātā jums jābūt datiem kas apraksta komunikāciju starp jebkuriem diviem mezgliem.&lt;br /&gt;
* Rezultātu analīzē parādiet kā RSSI mainās laikā starp visiem mezgliem. Bez tam, izveidojiet tabulu vai grafu kurā novērtējiet komunikāciju/ saņemtā signāla stiprumu starp visiem mezgliem. Atcerieties, ka saites var būt arī asimetriskas, piemēram, mezgls A &amp;quot;dzird&amp;quot; mezglu B labāk nekā B &amp;quot;dzird&amp;quot; A.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Piezīmes&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Ņemiet vērā, ka var gadīties, ka dažas ziņas mezgli var nesaņemt trokšņu vai citu iemeslu dēļ. Datos tas ir jāredz. Tāpēc saglabājot RSSI jāņem vērā arī saņemtās ziņas kārtas numurs, ko tā sūtīja.&lt;br /&gt;
* Saņemtos RSSI rādījumus jums jāglabā atmiņā, lai tie aizņemtu pēc iespējas mazāk vietas. Sūtot tos uz reizi pa seriālo portu jums var nepietikt laika saņemt visas ziņas. Tāpēc ieteicams datus saglabāt ar seriālo portu tikai pēc tam kad eksperiments beidzies - pēdēja ziņa saņemta (vai nav pienākusi, bet laiks pagājis).&lt;br /&gt;
&lt;br /&gt;
====Iesniegšana====&lt;br /&gt;
Iesniegt rezultātus visiem uzdevumiem e-studijās kā MD_Testbed. &lt;br /&gt;
Tai skaitā, katram uzdevumam P&amp;#039;&amp;#039;X&amp;#039;&amp;#039;, kur &amp;#039;&amp;#039;X&amp;#039;&amp;#039; ir 1, 2 un 3:&lt;br /&gt;
&lt;br /&gt;
* Katram uzdevumam P1, P2 un P3 izveidot direktoriju ar attiecīgu vārdu. Šajās direktorijās izvietot attiecīgo uzdevumu pirmkoda, datu un apraksta failus.&lt;br /&gt;
* Iekopēt direktorijās visu pirmkodu un ievākto datu failus&lt;br /&gt;
* Analīzes rezultātus aprakstīt un grafikus attēlot PDF failā ar nosaukumu P&amp;#039;&amp;#039;X&amp;#039;&amp;#039;.pdf&lt;br /&gt;
* Neaizmirstiet aprakstā norādīt darba autorus un ko katrs darījis, kā arī katra dalībnieka procentuālo ieguldījumu no komandas darba.&lt;br /&gt;
* Visus failus arhivēt kā zip failu un saukt BST_MD_Testbed_Vards_Uzvards.zip, kur, protams, lietots &amp;#039;&amp;#039;jūsu&amp;#039;&amp;#039; vārds un uzvārds.&lt;br /&gt;
* Zip fails jāiesūta e-studijās VISIEM komandas dalībniekiem.&lt;br /&gt;
&lt;br /&gt;
=Testbed=&lt;br /&gt;
&lt;br /&gt;
EDI BST testa vides piekļuve un lietošana.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://docs.google.com/presentation/d/1Qy32wqh3W4ki808hN_FUTMHURcO1F6St3nwovtZLLNQ/edit?usp=sharing Lietošanas pamācība]&lt;br /&gt;
* [https://www.edi.lv/testbed EDI Testbed] portāls&lt;br /&gt;
* Testbed CLI komandu [https://www.dropbox.com/s/gse78nkox8eo523/EDI%20TestBed%20CLI%20cheat%20sheet%202021.pdf?raw=1 Cheatsheet]&lt;br /&gt;
* [https://www.dropbox.com/s/efsx8380cy4y366/EDI_TestBed_CLI_intro_2021.pdf?raw=1 EDI Testbed Prezentācija]&lt;br /&gt;
* Demonstrācijas video pieejams eStudijās&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CLI klientu programmatūra&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
** [https://makonis.edi.lv/s/PtomG54z8i7ozJp Linux]&lt;br /&gt;
** [https://makonis.edi.lv/s/bBAzoknjX23WfPS Windows]&lt;br /&gt;
&lt;br /&gt;
Publikācijas&lt;br /&gt;
* [https://www.researchgate.net/publication/236735509_Wireless_Sensor_Network_Testbeds_A_Survey Wireless Sensor Network Testbeds: A Survey]&lt;br /&gt;
&lt;br /&gt;
= Resursi =&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/edi-riga/MansOS/wiki &amp;#039;&amp;#039;&amp;#039;MansOS&amp;#039;&amp;#039;&amp;#039; operētājsistēma]&lt;br /&gt;
** [[MansOS msp430 procesora rīku instalācija ar Docker]]&lt;br /&gt;
&lt;br /&gt;
* [http://www.catb.org/esr/structure-packing/ The Lost Art of Structure Packing]&lt;br /&gt;
* Grāmata: [https://ptolemy.berkeley.edu/books/leeseshia/ Introduction to Embedded Systems - A Cyber-Physical Systems Approach]&lt;br /&gt;
* [[LU::poster-howto | Ieteikumi plakātu prezentāciju veidošanā]]&lt;br /&gt;
&lt;br /&gt;
* [https://towardsdatascience.com/top-30-data-science-interview-questions-7dd9a96d3f5c Datu zinātne] - 30 intervijas jautājumi&lt;br /&gt;
&lt;br /&gt;
* [https://google.github.io/mediapipe/ Mediapipe] - attēlu apsrādes bibliotēka&lt;br /&gt;
&lt;br /&gt;
== Aparatūra, sensori ==&lt;br /&gt;
* [[DiLab_resursi]] - LU pieejamie sensori un aparatūra&lt;br /&gt;
&lt;br /&gt;
== Saites ==&lt;br /&gt;
* [[LU-BST:links | Bezvadu sensoru tīklu saites]]&lt;br /&gt;
* [https://www.sqimway.com/index.html Bezvadu komunikācijas veidi un frekvences]&lt;br /&gt;
* [http://ss64.com/bash Linux komandu rokasgrāmata]. Komandas, kas mums būs noderīgas: cd, ls, cp, mv, mkdir, df, echo, export, find, grep, less, nano, make, man, ping, rm, ifconfig.&lt;br /&gt;
* [[LU-BST:SwissQM | Kā piedarbināt SwissQM virtuālo mašīnu sensoru tīkliem]] (Paldies Kārlim Visendorfam par aprakstu!)&lt;br /&gt;
* [https://www.ibr.cs.tu-bs.de/dus/publications/spots2006.pdf uPart mote un tās īpašības]&lt;br /&gt;
&lt;br /&gt;
== Interesanti ==&lt;br /&gt;
* [https://www.sparkfun.com/news/6147 Hedy Lamarr and Frequency Hopping Technology] - Holivudas aktrise un FH patenta autore.&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=LU-LSP-b&amp;diff=11221</id>
		<title>LU-LSP-b</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=LU-LSP-b&amp;diff=11221"/>
		<updated>2026-03-18T08:25:22Z</updated>

		<summary type="html">&lt;p&gt;Leo: /* Mājas darbu vērtēšanas kritēriji */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Īssaites:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[#Kalendārs | Kalendārs]] | &lt;br /&gt;
[[#Uzdevumi | Uzdevumi]] | &lt;br /&gt;
[[#Resursi | Resursi]] | &lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]] : &lt;br /&gt;
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]]&lt;br /&gt;
(ja ir lekcija)&lt;br /&gt;
&lt;br /&gt;
{{LUDFKurss|Linux sistēmas programmēšana|LSP|DatZ3122|2DAT3122}}&lt;br /&gt;
* Pasniedzēji:&lt;br /&gt;
** Leo Seļāvo &amp;#039;&amp;#039;(epasts: vards.uzvards @ gmail.com)&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Vērtējums = 15% praktiskie darbi, 35% mājas darbi, 20% kontroldarbs un 30% eksāmens.&lt;br /&gt;
&lt;br /&gt;
* [[LSP kursa atsauksmes]] no iepriekšējiem gadiem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Praktisko un mājas darbu iesniegšana ==== &lt;br /&gt;
* Mājas darbus iesniegt e-studijās vai darbu testēšanas serverī, atkarībā no darba specifikācijas.&lt;br /&gt;
* Faila nosaukumam jābūt formā LSP_MD1_Vards_Uzvards.c - mainot atbilstošo uzdevuma kodu (MD1) un faila formātu pēc nepieciešamības.&lt;br /&gt;
* Nevajag arhivēt failus, ja vien tas nav prasīts uzdevuma nosacījumos&lt;br /&gt;
&lt;br /&gt;
==== Praktisko darbu vērtēšanas kritēriji ====&lt;br /&gt;
* Praktisko darbu mērķis ir nostiprināt un parādīt izpratni par apgūto vielu, attiecīgi darbi ir jārisina &amp;#039;&amp;#039;&amp;#039;patstāvīgi&amp;#039;&amp;#039;&amp;#039;, tomēr jautājumu uzdošana pasniedzējam vai kolēģiem ir vēlama.&lt;br /&gt;
* Maksimālo vērtējumu par praktisko darbu var saņemt, ja tas iesūtīts līdz praktisko darbu lekcijas dienas beigām.&lt;br /&gt;
* Pēc termiņa praktiskie darbi tiek pieņemti vēl tekošo nedēļu (līdz nākamās lekcijas sākumam) un tiks novērtēti, tomēr vairs ne ar maksimālo atzīmi. &lt;br /&gt;
* Praktiskajos darbos un lekcijās atzinīgi vērtējama ir dalība diskusijās, unikālu risinājumu un ideju piedāvāšana, trāpīgu jautājumu uzdošana, atbildēšana uz kolēģu jautājumiem u.t.t., kas var pozitīvi ietekmēt gala atzīmi kursā.&lt;br /&gt;
&lt;br /&gt;
==== Mājas darbu vērtēšanas kritēriji ====&lt;br /&gt;
* Mājas darbu iesniegšanas termiņa laiks ir attiecīgajā datumā līdz pusnaktij.&lt;br /&gt;
* Ja darbs tiek iesniegts ar novēlošanos (kaut vai 1 sekundi!):&lt;br /&gt;
** Tūdaļ pēc termiņa rezultāts tiek samazināts par &amp;#039;&amp;#039;&amp;#039;50%&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
** Nedēļu pēc termiņa darbi vairs netiek pieņemti.&lt;br /&gt;
&lt;br /&gt;
==== Vidus semestra aptauja ====&lt;br /&gt;
* [https://docs.google.com/document/d/1w7qfIQo8ZcKXlhp4mMuB2y9ihOEOl31k/edit Aptauja]&lt;br /&gt;
&lt;br /&gt;
=Kalendārs=&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4 style = &amp;#039;border-color: #ddd;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
! Datums&lt;br /&gt;
! Tēma, saturs&lt;br /&gt;
! Uzdevumi&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====04.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievads kursā&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Unix un Linux operētājsistēmu pamatkoncepcijas. Linux sistēmprogrammētaja rīki (shell, gcc, make, manpages u.c.).&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD0 | MD0 ]]&amp;#039;&amp;#039;&amp;#039; - Programmēšanas stils&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[https://docs.google.com/document/d/1wmhmxU2x93yj5bha98yGwGTvUbQ5Q0ZjOTfcNQ5ndjc/edit?usp=sharing MD_Koks]&amp;#039;&amp;#039;&amp;#039; - Dzimtas koks.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Intro&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* Iekārtot darba vidi (linux, teksta redaktors, kompilators)&lt;br /&gt;
* Izveidot un pašiem nokompilēt &amp;quot;Hello world&amp;quot; C valodā&lt;br /&gt;
* Iepazīties ar UNIX čaulas komandām un uzdot jautājumus par neskaidrībām.&lt;br /&gt;
* Versiju kontroles sistēmas github pamati.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [[LU-LSP-B11:shell-cheatsheet | UNIX čaulas populārākās komandas un lietojumi]]&lt;br /&gt;
* Lasīt [https://www.linux.com/what-is-linux Kas tas ir, Linux?] - tagad vai līdz nākamajai lekcijai&lt;br /&gt;
* Lasīt [https://web.archive.org/web/20160417114016/http://www.physics.drexel.edu/students/courses/Comp_Phys/General/C_basics/#first C valodas pamācību] no Drexel universitātes.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L01 | PD_Intro]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====05.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Programmēšanas valoda C&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vispārīgs pārskats par programmēšanas valodu C. Datu struktūras. C standarti, kompilācija, bibliotēkas, linkošana, skalārie un saliktie tipi (t.sk pointeri un masīvi), funkcijas, nosacījumi, cikli.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Klasiskā C programmēšanas valodas grāmata: Brian W. C. Kernighan &amp;amp; Dennis M. Ritchie, &amp;quot;The C Programming Language -- ANSI C,&amp;quot; Prentice Hall, 1988 &lt;br /&gt;
* [https://web.archive.org/web/20160417114016/http://www.physics.drexel.edu/students/courses/Comp_Phys/General/C_basics/#first C Language Tutorial]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====11.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Darbs ar failiem&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Sistēmas izsaukumi un standarta bibliotēkas funkcijas faila ievadam un izvadam.  Linux piedāvātās programmas darbam ar failu izvadu/ievadu  (&amp;#039;&amp;#039;cat, tail, head, less, telnet&amp;#039;&amp;#039; u.c.).  Failu ievada un izvada ātrdarbības uzlabošana, buferi., ņemot vērā sistēmas arhitektūru.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_File&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Failu kopēšana.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L02 | PD_File]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====12.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Failu sistēma&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Faila izmēra noteikšana.  Failu saites, stingrās un vājās (hard links, soft links).  Failu glabāšana un pieeja operētājsistēmā. &amp;#039;&amp;#039;i-node&amp;#039;&amp;#039; jēdziens. Sistēmas izsaukums stat(). Direktoriju struktūra.  Izsaukumi opendir(), readdir() un closedir().   &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Failu piekļuves režīmi&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Faila piekļuves tiesību režīmi pie open() un umask.  Failu un i-node izsaukumi: chmod(), link(), unlink(), remove(), rename(), symlink(), readlink(), utime(), mkdir(), rmdir(), chdir(), getcwd().  Programma rakstīšanai log failā. Log faili.  Ekskluzīva rakstīšana ar open(...O_SYNC) un fcntl() metodēm.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD3 | MD_Dir]]&amp;#039;&amp;#039;&amp;#039; - Direktoriju koka apstaigāšana.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Dir&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Direktoriju koka apstaigāšana.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L03 | PD_Dir]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[https://docs.google.com/document/d/1wmhmxU2x93yj5bha98yGwGTvUbQ5Q0ZjOTfcNQ5ndjc/edit?usp=sharing MD_Koks]&amp;#039;&amp;#039;&amp;#039; - Dzimtas koks. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====19.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Atmiņas arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Atmiņas arhitektūra. Virtuālā atmiņa. TEXT, DATA, HEAP un STACK segmenti. Koplietošanas atmiņa starp procesiem. Procedūru izsaukumi.  Parametru nodošana caur steku. Steka satura analīze un piekļuve stekam.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Virtuālā atmiņa&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Virtuālās atmiņas lapas.  Page fault un segmentation fault.  Atmiņas aizsardzība. &amp;#039;&amp;#039;setjmp()&amp;#039;&amp;#039; un &amp;#039;&amp;#039;longjmp()&amp;#039;&amp;#039;.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD4 | MD_Mem]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas rezervācijas funkciju salīdzinājums.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_An&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Programmas analīze.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L04 | PD_An]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD3 | MD_Dir]]&amp;#039;&amp;#039;&amp;#039; - Direktoriju koka apstaigāšana.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====26.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Dinamiskā atmiņa&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Dinamiskā atmiņas izdalīšana. Heap, malloc() un free(). Dienesta informācija pie atmiņas izdalīšanas un atbrīvošanas.  Brīvās atmiņas saraksti. Prasības malloc() un free() veiktspējai.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Atmiņas fragmentācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Atmiņas fragmentācija. Atmiņas rezervēšanas (allocation) algoritmi,  kas darbojas uz atmiņas fragmentiem. Atmiņas &amp;#039;spaiņi&amp;#039;.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD5 | MD_Frag]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas fragmentācijas algoritmu novērtējums (&amp;#039;&amp;#039;&amp;#039;grupās&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Malloc :: PD_Heap&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; =&amp;gt; Daudz-uzdevumu vide&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Malloc&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Atmiņas rezervācija.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Heap&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Vienkāršs atmiņas alokators fiksēta izmēra objektiem.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L06 | PD_Malloc]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:L07 | PD_Heap]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD4 | MD_Mem]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas rezervācijas funkciju salīdzinājums. &lt;br /&gt;
TERMIŅŠ pārcelts nedeļu uz priekšu servera ķibeles dēļ.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====05.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Atkļūdošana&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Linux atkļūdošanas rīki un to lietošana.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Game&amp;#039;&amp;#039;&amp;#039; - Kursa projekta tēmas (spēles) izvēle&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
||&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;KD1&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; (&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;)&lt;br /&gt;
|}&lt;br /&gt;
KD1 kontroldarbs. Programmēšanas uzdevums pie datora, izmantojot apgūto vielu.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
| &amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Dbg&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; (&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;)&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Dbg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Atkļūdošanas rīki.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:LA | PD_Dbg]]&amp;#039;&amp;#039;&amp;#039; (Nav obligāti jāiesniedz)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====12.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
| &amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Daudz-uzdevumu vide&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; =&amp;gt; PD_Malloc :: PD_Heap (&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;)&lt;br /&gt;
|}&lt;br /&gt;
Daudz-uzdevumu vide. Procesi un procesu kontrole. Pavedieni (threads).  Kooperējošies procesi un preemptīvā daudz-uzdevumu metode.  Komanda &amp;#039;&amp;#039;&amp;#039;ps&amp;#039;&amp;#039;&amp;#039;.  &amp;#039;&amp;#039;getpid()&amp;#039;&amp;#039; un &amp;#039;&amp;#039;getppid()&amp;#039;&amp;#039;. &amp;#039;&amp;#039;fork()&amp;#039;&amp;#039;, &amp;#039;&amp;#039;exec()&amp;#039;&amp;#039;, &amp;#039;&amp;#039;wait()&amp;#039;&amp;#039;. &amp;#039;&amp;#039;system()&amp;#039;&amp;#039;.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Pavedieni&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Pavedieni. POSIX pavedieni. Mutex. Datu skriešanās (data race condition). Strupceļš (deadlock).&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.cs.cmu.edu/afs/cs/academic/class/15492-f07/www/pthreads.html POSIX thread (pthread) libraries]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD5 | MD_Frag]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas fragmentācijas algoritmu novērtējums (&amp;#039;&amp;#039;&amp;#039;grupās&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Thread&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Programma kas taisa N pavedienus, kur katrs izdrukā M burtus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_KD&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Kontroldarba analīze.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Spec&amp;#039;&amp;#039;&amp;#039; - Spēles noteikumu specifikācija&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:L08 | PD_Thread]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====19.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Procesa dzīves cikls :: Starpprocesu komunikācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Procesa dzīves cikls&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Procesa dzīves cikls: Procesa ielādēšana, uzsākšanās un pieci veidi  kā process var beigties. exit() un _exit().&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Starpprocesu komunikācija&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Starpprocesu komunikācija.  Faili. Pipes. Koplietošanas atmiņa. Komunikācija starp nesaistītiem procesiem. Sockets abstrakcija komunikācijai.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Game&amp;#039;&amp;#039;&amp;#039; - Kursa projekta tēmas (spēles) izvēle&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Sockets :: Servera klienta arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Sockets&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sockets abstrakcija komunikācijai. Klienta un servera arhitektūra.  Iteratīvie un paralēlie serveri. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Servera klienta arhitektūra&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
TBD: Ieskatam servera/klienta komunikācijā [http://selavo.lv/wiki/index.php/LU-LSP-b13:L11 PD11], bet nav jānodod.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Prot1&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, 1. versija&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Spec&amp;#039;&amp;#039;&amp;#039; - Spēles noteikumu specifikācija&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Jmp :: PD_PSpec&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Jmp&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;setjmp()&amp;#039;&amp;#039;,&amp;#039;&amp;#039;longjmp()&amp;#039;&amp;#039; un taimera signāls.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_PSpec&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Darbs pie kursa projekta. Spēles izvēle un specifikācija.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L05 | PD_Jmp]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;PD_PSpec&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====26.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Signāli&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Signāli. Alarm serviss un signāls.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Prot2&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, gala versija&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Prot1&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, 1. versija&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====08.04.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Tekstuālā lietotāja saskarne.&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Tekstuālā lietotāja saskarne. Ncurses bibliotēka.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [https://www.cyberciti.biz/faq/linux-install-ncurses-library-headers-on-debian-ubuntu-centos-fedora/ Ncurses library, installation and use]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spēles noteikumi finalizēti.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====08.04.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Net :: PD_PProt&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Net&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Starpprocesu komunikācija tīklā.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_PProt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Darbs pie kursa projekta. Komunikāciju protokola izstrāde.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L10 | PD_Net]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;PD_PProt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====09.04.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Dēmoni&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Programmas, kas izpildās fonā un ilgtermiņā.  Rezidenta programmas. Init.d. Upstart. Systemd. Sesijas identifikators.&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Prot2&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, gala versija&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====15.04.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Grafiskā lietotāja saskarne&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Grafiskā lietotāja saskarne. OpenGL. X-server.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====15.04.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_KP&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Darbs pie kursa projekta.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;PD_KP&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====16.04.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Konsultācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Atbildes uz studentu jautājumiem&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====xx.xx.26====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;xx:xx&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vieta: xxx.auditorija.&lt;br /&gt;
&lt;br /&gt;
Eksāmena forma: projektu demonstrācija un prezentācija (darbība, pirmkods, diskusijas).&lt;br /&gt;
Pirms eksāmena kodam kopā ar kompilācijas un palaišanas instrukcijām jābūt iesniegtam e-studijās!&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Pirms eksāmena&amp;#039;&amp;#039;&amp;#039; eStudijās jāiesniedz projekta pirmkods zip failā. Tajā jābūt iekļautam arī &amp;#039;&amp;#039;&amp;#039;readme&amp;#039;&amp;#039;&amp;#039; failam.&lt;br /&gt;
&lt;br /&gt;
Eksāmena vērtējuma plāns:&lt;br /&gt;
* Pirmkods, serveris 25%&lt;br /&gt;
* Pirmkods, klients 25%&lt;br /&gt;
* Demo un darbības testēšana 25%&lt;br /&gt;
* Prezentācija (bez slaidiem) 25%&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====xx.04-xx.05.2026====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Sesija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vērtējumu izlikšana&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Uzdevumi=&lt;br /&gt;
== Mājas darbi ==&lt;br /&gt;
&lt;br /&gt;
* [[LU-LSP-b:MD0 | MD0]]: Izlasīt kodēšanas stila dokumentus.&lt;br /&gt;
* [[LU-LSP-b:MD1 | MD_Koks]]: Ģimenes koka ģenerēšanas programma.&lt;br /&gt;
* [[LU-LSP-b:MD3 | MD3]]: Vienādo failu meklēšana direktorijas kokā.&lt;br /&gt;
* [[LU-LSP-b:MD4 | MD4]]: Atmiņas rezervācijas funkciju salīdzināšana.&lt;br /&gt;
* [[LU-LSP-b:MD5 | MD5]]: Atmiņas fragmentācijas algoritmu novērtējums.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [[LU-LSP-b:MD5 | MD5]]: Procedūru izsaukumu steka izdruka. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Eksāmens izpaužas kā kursa projekta aizstāvēšana.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* MD7 - projekta protokola specifikācija. Skatīt arī [[LU-LSP-b13:PD_client_server | PD: Klienta un servera arhitektūra]]&lt;br /&gt;
** [[LU-LSP-b11:PD_client_server | PD: Klienta un servera arhitektūra]] (praktiskā darba piezīmes)&lt;br /&gt;
** [http://selavo.lv/~kursi/LSP/md7 MD7 projekta grupu risinājumi]&lt;br /&gt;
&lt;br /&gt;
Eksāmens izpaužas kā kursa projekta aizstāvēšana.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Resursi=&lt;br /&gt;
== Pamācoši vingrinājumi un piemēri ==&lt;br /&gt;
&lt;br /&gt;
* Failu I/O buferi un sekas: divi raksta, redzam trīs...&lt;br /&gt;
* Aprēķins, cik laika vajag pārkopēt 1 TB pa baitam bez bufera.&lt;br /&gt;
* Paging: piemērs 4K x 4K masīva apstaigāšanai, mainot indeksus: 4K vs 16M page faults&lt;br /&gt;
* Vai var uzrakstīt programmu bez main()&lt;br /&gt;
* [https://wordsandbuttons.online/so_you_think_you_know_c.html So you think you know C] - tests ar 5 jautājumiem.&lt;br /&gt;
&lt;br /&gt;
== Literatūra ==&lt;br /&gt;
&lt;br /&gt;
* Advanced Programming in the UNIX(R) Environment, Second Edition, by W. Richard Stevens, Stephen A. Rago. Addison Wesley Professional, 2005, ISBN 0-201-43307-9.  (Indiešu eksemplāram ir ISBN 81-317-0005-4)&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Linux system programming&amp;quot; by Robert Love, O&amp;#039;Reilly Media, 2007, ISBN 0596009585&lt;br /&gt;
&lt;br /&gt;
* [http://www.advancedlinuxprogramming.com/ Advanced Linux Programming] by CodeSourcery LLC,&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Building Embedded Linux Systems&amp;quot; O&amp;#039;Reilly Media, 2008, ISBN 0596529686&lt;br /&gt;
&lt;br /&gt;
* [[Sublime_Text_cheat_sheet]] - Lieliskā Sublime teksta redaktora taustiņu kombinācijas&lt;br /&gt;
&lt;br /&gt;
* [http://fabiensanglard.net/c/ To become a good programmer...] - C grāmatu saraksts&lt;br /&gt;
&lt;br /&gt;
{{ProgrammersResorces}}&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=LU-DSP-b&amp;diff=11220</id>
		<title>LU-DSP-b</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=LU-DSP-b&amp;diff=11220"/>
		<updated>2026-03-17T20:04:49Z</updated>

		<summary type="html">&lt;p&gt;Leo: /* 18.03.26 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;big&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Īssaites:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[#Kalendārs | Kalendārs]] | &lt;br /&gt;
[[#Uzdevumi | Uzdevumi]] | &lt;br /&gt;
[[#Resursi | Resursi]] | &lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}}]] : &lt;br /&gt;
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}}]]&lt;br /&gt;
(ja ir lekcija)&lt;br /&gt;
&lt;br /&gt;
=Digitālā (ciparu) signālu apstrāde=&lt;br /&gt;
LU DF bakalauru kurss.&lt;br /&gt;
&lt;br /&gt;
* Pasniedzējs Leo Seļāvo [vards.uzvards @gmail.com].&lt;br /&gt;
&lt;br /&gt;
====Mērķi====&lt;br /&gt;
* Iepazīties ar Digitālās Signālu Apstrādes pielietojumiem un principiem. Praktiskas darbības ar signālu apstrādi. Sistēmu Matlab un Octave iepazīšana un programmēšana tajās.&lt;br /&gt;
&lt;br /&gt;
====Motivācija====&lt;br /&gt;
&amp;quot;Think how electronics has changed the world in the last 50 years. DSP will have the same role over the next 50 years. Learn it or be left behind!&amp;quot; - Steve Smith, autors &amp;quot;DSP Guide&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====Mājas darbi un citi iesniedzamie darbi====&lt;br /&gt;
* Iesniegšanas termiņa laiks nozīmē ka &amp;#039;&amp;#039;&amp;#039;uz šo datumu darbam jābūt jau gatavam&amp;#039;&amp;#039;&amp;#039; un iesniegtam. Tātad jāiesniedz ir &amp;#039;&amp;#039;&amp;#039;līdz IEPRIEKŠĒJĀS dienas beigām&amp;#039;&amp;#039;&amp;#039;, ja netiek noteikts cits termiņš. Piemēram, ja termiņš ir ceturtdiena, tad darbs jāiesniedz pirms tās, tātad līdz trešdienas beigām.&lt;br /&gt;
* Ja darbs tiek iesniegts ar novēlošanos, rezultāts tiek samazināts par 50%. Ja darbs iesniegts vairāk kā nedēļu pēc termiņa, &amp;#039;&amp;#039;&amp;#039;pasniedzējs darbu var nepieņemt&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
* Darbi iesniedzami elektroniski, E-studijās, izņemot ja prasīts cits iesniegšanas veids.&lt;br /&gt;
* Teksts noformējams PDF faila formātā. Piemēram MD2 fails būtu sekojošs: &amp;#039;&amp;#039;&amp;#039;DSP_MD2_Vards_Uzvards.pdf&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Ja iesniedzami vairāk par vienu failu, tie arhivējami ZIP formātā, sekojoši: &amp;#039;&amp;#039;&amp;#039;DSP_MD2_Vards_Uzvards.zip&amp;#039;&amp;#039;&amp;#039; Atspiežot šo failu tam jārada direktorija ar tādu pašu nosaukumu, kur atrodas visi faili.&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
* E-pasta Subj. ir sekojošs: &amp;quot;&amp;#039;&amp;#039;&amp;#039;DSP MD1 Vards Uzvards&amp;#039;&amp;#039;&amp;#039;&amp;quot; - piemērs pirmajam mājasdarbam. Vārds uzvārds rakstāmi latīņu burtiem - bez garumzīmēm un tml.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Vērtējums kursā====&lt;br /&gt;
Kursa galējais vērtējums sastāv no sekojošām komponentēm:&lt;br /&gt;
* 10% - dalība lekcijās un diskusijās&lt;br /&gt;
* 20% - mājas darbi, praktiskie darbi un testi&lt;br /&gt;
* 20+20% - divi kontroldarbi semestra vidū&lt;br /&gt;
* 30% - rakstisks gala eksāmens&lt;br /&gt;
* Obligāta kursa aptaujas anketas aizpildīšana LUIS sistēmā&lt;br /&gt;
&lt;br /&gt;
{{DarbuKavejumi}}&lt;br /&gt;
&lt;br /&gt;
=Kalendārs=&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4 style = &amp;#039;border-color: #ddd;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
! Datums&lt;br /&gt;
! Tēma, saturs&lt;br /&gt;
! Uzdevumi&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
==== 04.02.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Digitālā signālu apstrāde, ievads.&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DSP (Digital Signal Processing) ievadlekcija. DSP definīcija un pielietojumi.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://youtu.be/d3gj0t4ddPE Ievadlekcijas video ieraksts]&lt;br /&gt;
* [http://www.dspguide.com/pdfbook.htm DSPGuide grāmatā] 1. nodaļa.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 11.02.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Statistika, varbūtība, trokšņi un gadījumsignāli&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Analogais-ciparu pārveidotājs (ADC jeb ACP modelis) jeb signālu mērīšana (ciparu signāls = signālu diskretizācija + kvantēšana).&lt;br /&gt;
Signālu klasifikācijas un galvenie parametri (vidējā vērtība, vidējā kvadrātiskā vērtība, SNR, enerģija, jauda, min un max vērtība, dinamiskais diapazons u.c.).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.dspguide.com/pdfbook.htm DSPGuide grāmatā] 2-3. nodaļas.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Uzdots [[#MD_Rnd | MD_Rnd]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 18.02.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Matlab un Octave&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Svarīgāko Octave komandu apskats (ar kurām var konstruēt signālapstrādes algoritmus). Praktiskais darbs ar Octave.&lt;br /&gt;
&lt;br /&gt;
* [http://www.octave.org OCTAVE] instalējama Ubuntu sistēmā sekojoši: &lt;br /&gt;
 sudo apt install octave&lt;br /&gt;
* Octave darbināšana&lt;br /&gt;
** grafiskā redaktora režīmā:  &amp;lt;code&amp;gt;octave --gui&amp;lt;/code&amp;gt;&lt;br /&gt;
** terminālī: &amp;lt;code&amp;gt;octave&amp;lt;/code&amp;gt;  vai  &amp;lt;code&amp;gt;octave-cli&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/scl/fi/5ig28rks2jtavtfljybae/L03_Octave_intro.pdf?rlkey=l7kv5v90oseldhe6dj07rqkxd&amp;amp;raw=1 Ievads Octave], slaidi.&lt;br /&gt;
* [https://docs.octave.org/latest/ Octave dokumentācija].&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; [[#MD_Rnd | MD_Rnd]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Uzdots [[#MD_Octave | MD_Octave]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 25.02.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Lineāras sistēmas un signālu klasifikācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Signālu klasifikācija un galvenie parametri (vidējā vērtība, vidējā kvadrātiskā vērtība, SNR, enerģija, jauda, min un max vērtība, dinamiskais diapazons u.c.).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.dspguide.com/CH5.PDF DSPGuide 5. nodaļa]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; [[#MD_Octave | MD_Octave]]&lt;br /&gt;
&lt;br /&gt;
* Uzdots [[#MD_Sys | MD_Sys]] (nav jāiedniedz)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 04.03.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Konvolūcija &amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Konvolūcija un tās īpašības&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.dspguide.com/CH6.PDF 6.nodaļa]&lt;br /&gt;
* [http://www.dspguide.com/CH7.PDF 7.nodaļa]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; [[#MD_Sys | MD_Sys]] (nav jāiesniedz, tiks pārrunāts lekcijā)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 11.03.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
||&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;:  &amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;KD1&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Vidus semestra &amp;#039;&amp;#039;&amp;#039;kontroldarbs KD-1&amp;#039;&amp;#039;&amp;#039;.  &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* 1. - 7. nodaļas no [http://www.dspguide.com/pdfbook.htm DSPGuide grāmatas] un lekcijām.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;KD1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 18.03.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievads digitālajos filtros, &amp;#039;&amp;#039;Moving average&amp;#039;&amp;#039; filtrs&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Digitālie filtri, kustīgā vidējā (moving average) filtrs.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* 14.,15. nodaļas no [http://www.dspguide.com/pdfbook.htm DSPGuide grāmatas] un lekcijām.&lt;br /&gt;
* [https://sengpielaudio.com/TableOfSoundPressureLevels.htm Loudness comparison chart]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Uzdots [[#MD_Audio | MD_Audio]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 25.03.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
| &amp;#039;&amp;#039;Attālināti:&amp;#039;&amp;#039; &amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Prakse ar Octave, skaņa&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;E-studijās video lekcija L07.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Praktiskā nodarbība. Izmantojot Octave, konstruēt algoritmu, kas apstrādā audio failu. &lt;br /&gt;
&lt;br /&gt;
* Uzdevumi, Octave vidē&lt;br /&gt;
** Izgriezt 1 sekundi no skaņas&lt;br /&gt;
** Nospēlēt oktāvu, kur katra nots ir 0.5 sekundes ilga&lt;br /&gt;
** Atskaņot skaņu kas sastāv no 3 sinusoīdām ar maināmu frekvenci un amplitūdu&lt;br /&gt;
** Piemērot ADSR skaņas avotam, piemēram, sinusoīdai&lt;br /&gt;
** Izveidot savu sintētiskās skaņas instrumentu&lt;br /&gt;
&lt;br /&gt;
Resursi:&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Envelope_%28music%29 Envelope, ADSR]&lt;br /&gt;
* [http://digitalsoundandmusic.com/chapters/ch6/ Digital Sound and Music] - Skaņas sintēze - 6.1.7&lt;br /&gt;
&amp;lt;!-- * [https://mybudgetstudio.com/what-is-sound-envelope-adsr-explained-with-example Envelope, ADSR] (depreciated) --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Skaņas faili:&lt;br /&gt;
** [https://www.dropbox.com/s/34ait9wo4b1j1ld/test1.ogg?dl=1 test1.ogg] [https://www.dropbox.com/s/v8wyoidysq94nsh/test1.wav?dl=1 .wav]&lt;br /&gt;
** [https://www.dropbox.com/s/n7k971ppe1zfq9o/test2.ogg?dl=1 test2.ogg] [https://www.dropbox.com/s/vpr9dbd7famcjjk/test2.wav?dl=1 .wav]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots [[#MD_Synth | MD_Synth]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 8.04.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Audio signāli&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Audio uztvere in apstrāde&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.dspguide.com/pdfbook.htm DSPGuide 22. nodaļa]&lt;br /&gt;
* [https://youtu.be/Sn07AMCfaAI?si=Qh0gq93xCC6fzB3z Par skaņas ilūzijām] (Veritasium video)&lt;br /&gt;
* [https://cmtext.indiana.edu/acoustics/chapter1_amplitude.php Ievads dator-muzikā] - no Indiānas Universitātes.&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; [[#MD_Audio | MD_Audio]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 15.04.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Attēlu signāli&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Attēlu uztvere un apstrāde&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.dspguide.com/pdfbook.htm DSPGuide 23., 24., 25. nodaļas]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; [[#MD_Synth | MD_Synth]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
==== 22.04.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Prakse ar Octave, attēli&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Speciāla attēlu apstrāde.&lt;br /&gt;
&lt;br /&gt;
Praktiskā nodarbība.&lt;br /&gt;
Attēlu apstrāde.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots [[#MD_Image | MD_Image]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 29.04.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;KD2&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Vidus semestra kontroldarbs KD2&lt;br /&gt;
* Praktisku uzdevumu risināšana ar Octave.&lt;br /&gt;
* Audio un attēlu apstrāde.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;KD2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 6.05.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Furjē transformācija. Diskrētā Furjē transformācija &amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[#Furjē_transformācija | Video materiāls]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.dspguide.com/CH8.PDF DSPGuide 8. nodaļa]&lt;br /&gt;
* [https://qr.ae/pGpaXf Kā saprast Futjē transformāciju] (Quora)&lt;br /&gt;
* [https://youtu.be/h7apO7q16V0 FFT] un idejas uz ko FFT balstās.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; [[#MD_Image | MD_Image]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 13.05.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;FIR un IIR&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rekursīvie filtri. FIR un IIR signālu filtri.&lt;br /&gt;
Signālu filtrācija frekvenču apgabalā.&lt;br /&gt;
&lt;br /&gt;
Pratiskais darbs: Izmantojot Octave, izveidot Short-time DFT jeb spektrogrammu runas signālam. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.dspguide.com/CH17.PDF DSPGuide 17. nodaļa] - Custom filters&lt;br /&gt;
* [http://www.dspguide.com/CH19.PDF DSPGuide 19. nodaļa] - Recursive filters&lt;br /&gt;
&lt;br /&gt;
* [https://www.youtube.com/watch?v=NvRKtdrssFA Intro to FIR]&lt;br /&gt;
* [https://www.youtube.com/watch?v=uNNNj9AZisM&amp;amp;ab_channel=Phil%E2%80%99sLab FIR Filter Design] (Phil&amp;#039;s Lab)&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 20.05.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Filtru salīdzinājums&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.dspguide.com/CH21.PDF DSPGuide 21. nodaļa - filtru salīdzinājums]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 27.05.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Kopsavilkums&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Visas līdz šim kursā apskatītās nodaļas no [http://www.dspguide.com/pdfbook.htm DSPGuide grāmatas] un lekcijām.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 27.05.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:Laiks: 08:30&lt;br /&gt;
:Vieta: Kursa lekciju telpa   &amp;lt;!--E-studijas un tiešsaiste.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Uzdevumi=&lt;br /&gt;
==MD_Rnd==&lt;br /&gt;
Analizēt nejaušu skaitļu (RND) un to summas histogrammu sekojošiem gadījumiem:&lt;br /&gt;
# RND&lt;br /&gt;
# RND + RND&lt;br /&gt;
# RND + RND + RND + RND&lt;br /&gt;
Pētījumu veikt vismaz 100000 nejaušiem skaitļiem.&lt;br /&gt;
&lt;br /&gt;
Ar RND saprotam funkciju, kas katrā izsaukumā atgriež nejaušu skaitli no 0 līdz 1.0.&lt;br /&gt;
&lt;br /&gt;
Katram no iepriekš minētajiem gadījumiem uzrakstīt programmu, kas izrēķina un uzzīmē histogrammu. &lt;br /&gt;
&lt;br /&gt;
Programmu ieteicams rakstīt [https://www.gnu.org/software/octave/index Octave] vidē, &lt;br /&gt;
bet šoreiz atļauts arī kādā citā jums pazīstamā valodā.&lt;br /&gt;
&lt;br /&gt;
E-studijās kā MD1 iesniegt PDF failu ar risinājumu, kurā katram no gadījumiem doti:&lt;br /&gt;
* Programma, kas ģenerē histogrammu&lt;br /&gt;
* Histogramma&lt;br /&gt;
* Secinājumi, kas sanāca, un kāpēc tā.&lt;br /&gt;
&lt;br /&gt;
==MD_Sys==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mērķis&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
Treniņš lineāru un laika invariantu sistēmu atpazīšanā un pierādīšanā.&lt;br /&gt;
&lt;br /&gt;
====Uzdevums====&lt;br /&gt;
# Pierādīt, ka sekojošas sistēmas ir (vai nav) lineāras. &lt;br /&gt;
# Pierādīt, ka sekojošas sistēmas ir (vai nav) laika invariantas.&lt;br /&gt;
&lt;br /&gt;
* y[n] = x[n] + 3&lt;br /&gt;
* y[n] = x[n] * x[n]&lt;br /&gt;
* y[n] = x[n] + x[n + 1]&lt;br /&gt;
&lt;br /&gt;
Šis uzdevums paredzēts treniņam, un nav obligāti jāiesniedz.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
====Iesniegšana====&lt;br /&gt;
Risinājums jāiesniedz e-Studijās kā PDF fails sadaļā MD_Sys.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MD_Octave==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mērķis&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
Apgūt un praktizēties Octave vides un valodas lietošanā.&lt;br /&gt;
&lt;br /&gt;
Pieejams e-studijās&lt;br /&gt;
&lt;br /&gt;
==MD_Audio==&lt;br /&gt;
Izmantojot Octave, konstruēt algoritmu, kas izgriež pauzes runas signālam. &lt;br /&gt;
&lt;br /&gt;
Pieejams e-studijās&lt;br /&gt;
&lt;br /&gt;
==MD_Synth==&lt;br /&gt;
Izmantojot Octave, uzrakstīt funkcijas vairākiem skaņas efektiem.&lt;br /&gt;
&lt;br /&gt;
Pieejams e-studijās&lt;br /&gt;
&lt;br /&gt;
==MD_Image==&lt;br /&gt;
Izmantojot Octave, uzrakstīt funkcijas attēlu apstrādei.&lt;br /&gt;
&lt;br /&gt;
Pieejams e-studijās&lt;br /&gt;
&lt;br /&gt;
=Resursi=&lt;br /&gt;
&lt;br /&gt;
== Kursa materiāli ==&lt;br /&gt;
* [http://www.dspguide.com/ DSP Guide] gramata tiešsaistē&lt;br /&gt;
:: &amp;quot;The Scientist and Engineer&amp;#039;s Guide to Digital Signal Processing, copyright ©1997-1998 by Steven W. Smith. For more information visit the book&amp;#039;s website at: www.DSPguide.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Octave ====&lt;br /&gt;
* [https://www.dropbox.com/s/vvw92wtspjqg7ki/refcard-a4.pdf?dl=0 Octave 3.0.0 reference card]&lt;br /&gt;
&lt;br /&gt;
* [https://docs.octave.org/latest/Introduction-to-Function-and-Script-Files.html Intro to function and script files]&lt;br /&gt;
* [https://docs.octave.org/latest/Script-Files.html Sccript files]&lt;br /&gt;
* [https://docs.octave.org/latest/Function-Files.html Function files]&lt;br /&gt;
&lt;br /&gt;
==== Furjē transformācija ====&lt;br /&gt;
* [https://youtu.be/ds0cmAV-Yek Furjē sērija, jebkurš signāls no sinusoīdām]&lt;br /&gt;
* [https://youtu.be/ykNtIbtCR-8 Ievada video]&lt;br /&gt;
* [https://youtu.be/spUNpyF58BY Furjē transformācijas vizualizācija]&lt;br /&gt;
* [https://youtu.be/1JnayXHhjlg lekcija par Inverso FT (1.daļa)]&lt;br /&gt;
* [https://youtu.be/kKu6JDqNma8 lekcija par FT (2.daļa)]&lt;br /&gt;
&lt;br /&gt;
* [https://youtu.be/XtypWS8HZco Ievads FFT, The Cooley-Tukey Algorithm]&lt;br /&gt;
* [https://www.algorithm-archive.org/contents/cooley_tukey/cooley_tukey.html Cooley-Tukey apraksts] (Algoritmu arhīvs)&lt;br /&gt;
&lt;br /&gt;
* [https://www.mathworks.com/help/matlab/ref/fft.html FFT pipemērs Matlab sistēmā]&lt;br /&gt;
* [https://upload.wikimedia.org/wikiversity/en/d/dd/Octave.DFT.1.B.FFT.20170706.pdf FFT piemērs Octave sistēmā]&lt;br /&gt;
&lt;br /&gt;
* [https://youtu.be/r7GdEWDHtbQ Furje transformācija, vizualizācija ar apļiem] (Smarter every day)&lt;br /&gt;
* [https://youtu.be/r6sGWTCMz2k But what is a Fourier series? From heat flow to drawing with circles] (3Blue1Brown)&lt;br /&gt;
&lt;br /&gt;
==== FIR &amp;amp; IIR ====&lt;br /&gt;
* [https://www.youtube.com/watch?v=NvRKtdrssFA Intro to FIR]&lt;br /&gt;
&lt;br /&gt;
==== Citi resursi ====&lt;br /&gt;
* [https://ptolemy.berkeley.edu/eecs20/weekly.html Signals and Systems] - kurss Berkeley universitātē&lt;br /&gt;
* [https://dspillustrations.com/pages/index.html Learning DSP illustrated]&lt;br /&gt;
* [https://brilliant.org/wiki/linear-time-invariant-systems/ Lineāras laika invariantas sistēmas] @Brilliant wiki&lt;br /&gt;
* [https://youtu.be/zMkXxI63_Og Laika invariantas sistēmas] - videolekcija ar pierādījumu piemēriem.&lt;br /&gt;
&lt;br /&gt;
* [https://setosa.io/ev/image-kernels/ Attēlu filtru kodoli] - vizuāls skaidrojums&lt;br /&gt;
&lt;br /&gt;
* [https://mybudgetstudio.com/what-is-sound-envelope-adsr-explained-with-example Envelope, ADSR]&lt;br /&gt;
* [http://digitalsoundandmusic.com/chapters/ch1/ Digital sound and music]&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=LU-DIP-m&amp;diff=11219</id>
		<title>LU-DIP-m</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=LU-DIP-m&amp;diff=11219"/>
		<updated>2026-03-05T09:16:22Z</updated>

		<summary type="html">&lt;p&gt;Leo: /* 05.03.26 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Īsceļi:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[#Kalendārs | Kalendārs]] | &lt;br /&gt;
[[#Lekciju video | Video]] |&lt;br /&gt;
[[#PD | PD]] |&lt;br /&gt;
[[#MD | MD]] |&lt;br /&gt;
[[#Informācijas resursi | Resursi]] | &lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}}]] : &lt;br /&gt;
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}}]]&lt;br /&gt;
(ja ir lekcija)&lt;br /&gt;
&lt;br /&gt;
{{LUDFKurss|Digitālā projektēšana [M]|DIP|DatZ7034|2DAT7034|maģistru un doktorantu}}&lt;br /&gt;
&lt;br /&gt;
= Par kursu =&lt;br /&gt;
&lt;br /&gt;
Kursa mērķi ir iepazīstināt ar digitālo iekārtu projektēšanas aspektiem, darba plūsmu, problēmām un risinājumiem. Kursa ietvaros tiek apskatīti digitālu iekārtu un datoru arhitektūras pamata un arī sarežģītākas pakāpes elementi.&lt;br /&gt;
Kursā studenti izstrādā praktiskos darbus un kursa projektu, kura rezultāts ir digitāla iekarta, piemēram procesors, mini dators, grafikas kontrolieris, kalkulators, paralēlas attēlu apstrādes iekārta un citas iekārtas.&lt;br /&gt;
&lt;br /&gt;
=== Administratīvā informācija===&lt;br /&gt;
* Pasniedzējs: Leo Seļāvo &amp;#039;&amp;#039;(epasts: vards.uzvards @ gmail.com)&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Vērtējums = 40% mājas un praktiskie darbi, 10% dalība klasē, 20% KD1 un 30% KD2(eksāmens). --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{KursiMD|DIP|50%|10%}}&lt;br /&gt;
&lt;br /&gt;
=Kalendārs=&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4 style = &amp;#039;border-color: #ddd;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
! Datums&lt;br /&gt;
! Tēma, saturs&lt;br /&gt;
! Uzdevumi&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
==== 05.02.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievads kursā&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Digitālas iekārtas vispārējā arhitektūra un uzbūve.&lt;br /&gt;
Digitālā projektēšana, ievads, darba plūsma. Map, place, route. Laika anotācija - &amp;quot;&amp;quot;Timing back-annotation&amp;quot;&amp;quot;. Simulācija un testēšana dažādos līmeņos.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://youtu.be/sqyLYgVvtr0 Ievads (video)]&lt;br /&gt;
* [https://youtu.be/G6abrFbeazw Kas ir digitālas sistēmas (video)]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
[[#PD1 | PD1]] - LED un slēdžī&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 12.02.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Digitālo iekārtu pamatelementi&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://youtu.be/6340drM2Fm0 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Digitālo iekārtu pamatelementi, tranzistors, invertors, NAND un NOR elementi no tranzistoriem, to loģiskā uzbūve un īpašības.&lt;br /&gt;
Loģiskie elementi, minimālā kopa. Pāreja no loģiskajām izteiksmēm un tabulām uz realizāciju ar loģiskajiem elementiem. Kombinētie loģiskie elementi. Dešifrators, multipleksors, frekvences dalītājs un citi elementi.&lt;br /&gt;
Elementi ar atmiņu.  RS un D trigeri. &amp;quot;&amp;quot;Latch&amp;quot;&amp;quot; un &amp;quot;&amp;quot;D-Flip-flop&amp;quot;&amp;quot;. Reģistri un uz tiem bāzētas iekārtas. Bīdes reģistri. Skaitītāji. Uzstādīšanas un noturēšanas laiku ierobežojumi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;CMOS tehnoloģija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
MOS tranzistora uzbūve un pielietojumi loģisko iekārtu uzbūvē&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://youtu.be/knlFvRxpUuE MOS tranzistors kā pamatelements digitālajām iekārtām (video)]&lt;br /&gt;
* [https://youtu.be/I-l2bQ-C_VU Loģisko elementu uzbūve ar MOS tranzistoriem (video)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 19.02.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Aparatūru aprakstošas valodas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aparatūru aprakstošas valodas (HDL), Verilog. Valodas elementi simulācijai un sintēzei. Uzvedības un struktūras apraksts. Moduļi. Datu tipi, signāli un reģistri.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.ece.umd.edu/class/enee359a/verilog_tutorial.pdf Verilog tutorial] no UMD.&lt;br /&gt;
* [http://www.asic-world.com/verilog/veritut.html Verilog tutorial] no ASIC world.&lt;br /&gt;
* [https://uobdv.github.io/Design-Verification/Supplementary/Verilog.SLIDES.pdf Verilog lekcijas slaidi] no CMU.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots [[#MD_RF | MD_RF]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 26.02.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Instrukciju kopas arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [http://selavo.lv/kursi/dipm/dlx_handout.pdf Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Procesora instrukciju arhitektūra. Instrukciju tipi un kodēšana. Operandi. RISC un CISC arhitektūras. DLX procesora instrukciju arhitektūra. Salīdzinoši piemēri no ARM instrukciju kopas.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; [[#MD_RF | MD_RF]]&lt;br /&gt;
* Uzdots [[#MD_ALU | MD_ALU]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 05.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Risc V arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Vientakts procesora arhitektūra. Instrukciju dešifratora un skaitītāja reģistri. Reģistru fails. Aritmētiski loģiskā iekārta (ALU). Atmiņas saskarne. Instrukciju un datu kešatmiņa.&lt;br /&gt;
&lt;br /&gt;
RISC V procesora arhitektūra un instrukciju kopa.&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/eit5g6x4a7tqhla/riscv-20160507-patterson-160507071645.pdf?raw=1 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* RISC-V arhitektūras procesori un instrukciju kopa.&lt;br /&gt;
* Salīdzinošais ieskats ARM instrukciju kopā.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://riscv.org/ RISCV.org]&lt;br /&gt;
* [https://www.dropbox.com/s/8oy8yqd2bpff9rd/RISCVGreenCardv8-20151013.pdf?raw=1 RISC V Green Card]&lt;br /&gt;
* [https://five-embeddev.com/riscv-isa-manual/latest/instr-table.html RISC-V ISA Manual] - tabula ar instrukcijām un to kodiem.&lt;br /&gt;
* [https://www2.eecs.berkeley.edu/Pubs/TechRpts/2016/EECS-2016-118.pdf Instruction manual] (Berkeley universitāte)&lt;br /&gt;
&lt;br /&gt;
* [https://riscvasm.lucasteske.dev/# RISC-V Online Assembler]&lt;br /&gt;
* [https://www.cs.cornell.edu/courses/cs3410/2019sp/riscv/interpreter/# RISCV Interpreter] online at Cornell&lt;br /&gt;
&lt;br /&gt;
* [http://tice.sea.eseo.fr/riscv/ RISCV datapath vizualizācija]&lt;br /&gt;
&lt;br /&gt;
* [https://circuitdigest.com/article/understanding-risc-v-architecture-and-why-it-could-be-a-replacement-for-arm Risc V un ARM]&lt;br /&gt;
* [https://youtu.be/XMg0qzyMi14 Designing Open Processors at the Barcelona Supercomputing Center (video)]&lt;br /&gt;
&lt;br /&gt;
* Konferences:&lt;br /&gt;
** [https://www.dac.com/ DAC]&lt;br /&gt;
** [https://www.date-conference.com/ DATE]&lt;br /&gt;
** [https://dsd-seaa2021.unipv.it/index.html#call Euromicro DSD]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_ALU | MD_ALU]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_v0 | MD_CPU_v0]]&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 12.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Instrukciju atmiņa. RISC V Asemblers&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Instrukciju atmiņa, reģistrs, dekoderis. PC reģistrs.&lt;br /&gt;
&lt;br /&gt;
RISC V Asemblers. GNU rīki kompilācijai. Qemu simulators.&lt;br /&gt;
&lt;br /&gt;
* GNU asemblera kompilators RISC V arhitektūrai ir pieejams kā riscv64-linux-gnu-as. Ar to ir iespējams kompilēt kodu 32 bitu arhitektūrai RV32i norādot attiecīgu arhitektūras parametru:&lt;br /&gt;
 riscv64-linux-gnu-as -march=rv32e -al test.s&lt;br /&gt;
* Tad kompilēto kodu iespējams dabūt no listinga (to apstrādājot), vai arī no kompilētā elf faila ar objdump.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_v0 | MD_CPU_v0]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_IC | MD_CPU_IC]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 19.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Operatīvā atmiņa&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Operatīvā atmiņa, statiskā un dinamiskā. Atmiņas matricas un uzbūve. Kešatmiņas. Saskarnes starp atmiņu un citām iekārtām.&lt;br /&gt;
&lt;br /&gt;
Resursi:&lt;br /&gt;
* [http://ece-research.unm.edu/jimp/vlsi/slides/chap8_2.html Atmiņas uzbūve] no New Mexico Universitātes, VLSI kursa.&lt;br /&gt;
* [https://www.embedded.com/flash-101-nand-flash-vs-nor-flash/ NAND un NOR zibatmiņa] (embedded.com)&lt;br /&gt;
* [https://www.enterprisestorageforum.com/hardware/slc-vs-mlc-vs-tlc-nand-flash/ SLV, MLC, TLC Flash memory] (Enterprise storage forum)&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_IC | MD_CPU_IC]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_DC | MD_CPU_DC]]&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 26.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Vadības kontrole&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Branch instrukcijas. Jump-and-link instrukcijas. &lt;br /&gt;
To realizācija vientakts procesorā. &lt;br /&gt;
Branch prediction. Heristikas vadības kontroles optimizācijai.&lt;br /&gt;
&lt;br /&gt;
Kešatmiņa. Asociatīvā atmiņa. &lt;br /&gt;
&amp;quot;N-way set associative cache memory&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_DC | MD_CPU_DC]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_Branch | MD_CPU_Branch]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 09.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;GPIO&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
GPIO - General Purpose Input Output. Datu ievads un izvads ar kartētu atmiņu (memory mapped IO). Mikrokontroliera perifērijas iekārtu reģistri. Reģistrs lasīšanas un rakstīšanas virzienam. Saskarnes savietošana ar operatīvās atmiņas saskarni.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots: [[#MD_GPIO | MD_GPIO]]&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 16.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Procesora arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://youtu.be/P2CARhD2k3A Slaidi/video]&lt;br /&gt;
Procesora arhitektūra. Daudz-taktu procesors un konveijera princips.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_Branch | MD_CPU_Branch]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 23.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Metrikas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Digitālas projektēšanas metrikas. Funkcionalitāte. Izmaksas, fiksētās un mainīgās. Uzticamība, izturība. Trokšņu noturība un imunitāte. Veiktspēja. Ātrums un enerģijas patēriņš. Projektēšanas laiks.&lt;br /&gt;
* [https://www.dropbox.com/s/aoyenqlkhaz1yoe/Metrics_Leo.pdf?raw=1 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Resursi:&lt;br /&gt;
* [https://semiengineering.com/from-design-to-deployment-how-silicon-lifecycle-management-optimizes-the-entire-ic-life-span/ Silicon lifecycle...]&lt;br /&gt;
* [https://anysilicon.com/when-and-why-should-you-choose-an-asic/ When and why ASIC...]&lt;br /&gt;
&lt;br /&gt;
* [https://qr.ae/pC3aan Dealing with faults on billion-transistor chips] (Quora)&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 30.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Programmējamās loģikas iekārtas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://youtu.be/JEiLcHtgSlE Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Programmējamās loģikas iekārtas, CPLD un FPGA. FPGA uzbūve. Konfigurējami loģiskie elementi. Ievada un izvada elementi. Komunikācija, maģistrāles.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://www.electronicsforu.com/technology-trends/fpga-vs-cpld-microcontrollers FPGA vs CPLD vs Microcontrollers] (from electronicsforu.com)&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/data_sheets/ds312.pdf Spartan-3E FPGA Family Data Sheet]&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/data_sheets/ds090.pdf CoolRunner II CPLD Family]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 07.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;FPGA kā serviss&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vieslekcija. Attālināta FPGA attīstītājrīku programmēšana un testēšana.&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_GPIO | MD_GPIO]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 14.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;(Vieslekcija)&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FPGA pielietojumi kosmosa tehnoloģijās.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 21.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Superskalāras arhitektūras&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://www.dropbox.com/s/7nrd0ke682oc935/13_Superscalar.pdf?raw=1 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Superskalārie procesori un to uzbūve. Paralēlu ALU izmantošanas stratēģijas.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 28.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Dinamiska instrukciju plānošana&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Instrukciju paralelisms, ciklu atrullēšana, Scoreboarding un Tomasulo arhitektūras.&lt;br /&gt;
&lt;br /&gt;
Slaidi:&lt;br /&gt;
* [https://www.dropbox.com/s/ieks943pmn4ikpm/ECE570_dynamic_scheduling.pdf?raw=1 Scoreboarding algoritms]&lt;br /&gt;
* [https://www.dropbox.com/s/1a1s4d95k5plotb/Lecture04_tomasulo.pdf?raw=1 Tomasulo algoritms]&lt;br /&gt;
&lt;br /&gt;
Resursi:&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Tomasulo%27s_algorithm Par Tomasulo algoritmu] no Wikipedijas&lt;br /&gt;
* [http://nathantypanski.github.io/tomasulo-simulator/ Tomasulo simulators]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://serenefield.com/Blog/posts/HighPerformanceArchitecture/2021-01-28_High-Performance-Computer-Architecture-13---Tomasulo-s-Algorithm-Part-1-8c65788dec07.html Ievads Tomasulo algoritmā] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 28.05.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Kopsavilkums&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Daudzkodolu procesori un CUDA&lt;br /&gt;
* [https://sites.google.com/a/nirmauni.ac.in/cudacodes/cuda-material/tutorial-3 GPU Computing: The Democratization of Parallel Computing] - seminārs, ASPLOS&amp;#039;08&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== xx.06.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
xx:xx Eksāmens.&lt;br /&gt;
&lt;br /&gt;
Projektu demonstrācijas un plakāti.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
Eksāmenā:&lt;br /&gt;
* Risinājuma pirmkods un projekts kā zip fails&lt;br /&gt;
* Dokumentācija jūsu risinājumam &amp;quot;Datasheet&amp;quot;.&lt;br /&gt;
* Jānodod eseja (e-studijās), kurā aprakstīti projekta izaicinājumi un sasniegumi kā arī tehniskā informācija par projektu.&lt;br /&gt;
* Bez tam, jāizveido plakāts, kas būs jāprezentē mutiski un jāatbild uz jautājumiem. PDF formātā (e-studijās).&lt;br /&gt;
** [[LU::poster-howto | Ieteikumi plakāta prezentācijas]] veidošanā&lt;br /&gt;
* Ja projektā ir demonstrējama daļa, tad jāveic arī tā demonstrācija.&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Lekciju video =&lt;br /&gt;
Lekciju [https://www.youtube.com/playlist?list=PL32WMyFDbfNnVb3nFI9Tku5O8ukKBxs6Z videomateriāls ir pieejams Youtube]. Sīkāk, pa tēmām:&lt;br /&gt;
* [https://youtu.be/sqyLYgVvtr0 Ievads kursa pirmajai daļai.]&lt;br /&gt;
* [https://youtu.be/G6abrFbeazw Digitālas sistēmas.]&lt;br /&gt;
* [https://youtu.be/6340drM2Fm0 Loģikas pamatelementi.]&lt;br /&gt;
* [https://youtu.be/knlFvRxpUuE Tranzistora uzbūve.]&lt;br /&gt;
* [https://youtu.be/I-l2bQ-C_VU Tranzistoru lietojumi.]&lt;br /&gt;
* [https://youtu.be/hDOUl1ViMdc Laika atkarīgi elementi.]&lt;br /&gt;
* [https://youtu.be/1spw-GAsDLk Trigeri un &amp;quot;latch&amp;quot; iekārtas.]&lt;br /&gt;
* [https://youtu.be/P2CARhD2k3A CPU uzbūve un konveijera princips.]&lt;br /&gt;
* [https://youtu.be/JEiLcHtgSlE FPGA uzbūve.]&lt;br /&gt;
&lt;br /&gt;
= PD =&lt;br /&gt;
Praktiskie darbi.&lt;br /&gt;
&lt;br /&gt;
===PD1===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LED un slēdži&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* apgūt darba plūsmu ar FPGA shēmas ievadu, kompilāciju un dizaina augžuplādēšanu uz FPGA iekārtas.&lt;br /&gt;
* lietot FPGA ievada un izvada portus (pinus).&lt;br /&gt;
* lietot elementāras loģikas elementus shēmā.&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot digitālu iekārtu, kas izmanto ievada elementus (slēdžus) un izvada elementus (LED).&lt;br /&gt;
* Shēmas ievads&lt;br /&gt;
* Kompilācija&lt;br /&gt;
* Uzlādēšana uz reālas FPGA iekārtas&lt;br /&gt;
* Pārbaude&lt;br /&gt;
&lt;br /&gt;
Iekārtai jāveic sekojošas darbības:&lt;br /&gt;
* SW1 slēdzis ieslēdz un izslēdz LED1 spīddiodi.&lt;br /&gt;
* SW2 un SW3 slēdži veido ievaddatus XOR elementam, kura rezultats tiek izvadīts uz LED2.&lt;br /&gt;
* Spīddiode LED3, kas ieslēdzas un izslēdzas reizi sekundē. SW4 to var apstādināt un iedarbināt.&lt;br /&gt;
&lt;br /&gt;
Praktiskajā darbā izstrādātā iekārta jādemonstrē uz FPGA iekārtas.&lt;br /&gt;
&lt;br /&gt;
Resusrsi:&lt;br /&gt;
* [http://www.xilinx.com/support/documentation/boards_and_kits/ug230.pdf Xilinx Spartan-3E FPGA Starter Kit Board User Guide]&lt;br /&gt;
* [https://eprints.qut.edu.au/76297/1/Spartan3E_Tutorial_1ver2.pdf Spartan 3E Tutorial] no Queensland University of Technology&lt;br /&gt;
&lt;br /&gt;
===PD_Counter===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Skaitītāja simulācija&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* Iepazīties ar FPGA elementu bibliotēkas skaitītāja moduļiem&lt;br /&gt;
* Iemācīties, kā darbināt simulācijas&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izveidot shēmu iekārtai, kas izmantojot takts signālu realizē 4 bitu bināru skaitītāju.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulātoru (ISim vai Modelsim)&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* PDF dokumentu kurā ir gan iekārtas shēma, gan arī simulācijas rezultāti un īss pieredzes apraksts.&lt;br /&gt;
&lt;br /&gt;
===PD_Calc===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kalkulators: stāvokļu diagramma un kontrolieris&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===== Mērķi =====&lt;br /&gt;
* Iepazīties ar galīgo automātu projektēšanu un implementāciju Verilog valodā&lt;br /&gt;
* Projektēt digitālu sistēmu ar kontrolieri&lt;br /&gt;
* Simulēt kontroliera dizainu&lt;br /&gt;
&lt;br /&gt;
===== Uzdevums =====&lt;br /&gt;
Izveidot funkcionālu kalkulatora moduli, kas reaģē uz taustiņu signāliem veic saskaitīšanas un atņemšanas operācijas. &lt;br /&gt;
Kalkulators strādā heksadecimālā sistēmā, tātad, tam ir 16 ciparu taustiņi: 0,1,2...8,9,A,B,C,D,E,F.&lt;br /&gt;
Bez tam ir arī operāciju taustiņi: CLR - nodzēst rezultātu, un operācijas +, - un =.&lt;br /&gt;
Nospiežot katru taustiņu tiek pacelts signāls BtnDown. Atlaižot taustiņu tas tiek nolaists.&lt;br /&gt;
Jāveic sekojoši uzdevumi:&lt;br /&gt;
* Izveidot projektu kalkulatoram ar Verilog vai shēmu diagrammu.&lt;br /&gt;
* Izveidot kontrolieri, kas balstīts uz vienu vai vairākiem galīgiem stāvokļu automātiem.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulātoru Xilinx ISim.&lt;br /&gt;
&lt;br /&gt;
===== Iesniegt =====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* PDF dokumentu kurā ir gan iekārtas shēma, gan arī simulācijas rezultāti un īss pieredzes apraksts.&lt;br /&gt;
* Iekārtas un testēšanas Verilog pirmkoda failus.&lt;br /&gt;
&lt;br /&gt;
===PD_VGA===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Šaha laukums&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* iepazīties ar VGA signālu protokolu&lt;br /&gt;
* izpildīt iekartas dizainu Verilog valodā&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot iekārtu, kas uz monitora ekrāna attēlo 8x8 šaha lauciņu. &lt;br /&gt;
Darba gaita iepazīties ar video signāla formu un laika parametriem. &lt;br /&gt;
Darbu atļauts izpildīt daļēji vai pilnīgi Verilog valodā. &lt;br /&gt;
&lt;br /&gt;
Praktiskajā darbā izstrādātā iekārta jādemonstrē uz Spartan 3E FPGA iekārtas, kam pieslēgts monitors.&lt;br /&gt;
&lt;br /&gt;
Izstrādātā risinājuma pirmkoda faili jāarhivē failā vards_uzvards_PD2.zip un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
===PD_Kbd===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Klaviatūra un Ciparu izvads&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* iepazīties ar PS/2 (klaviatūras) protokolu&lt;br /&gt;
* Izstrādāt stāvokļu mašīnu - galīgo automātu kalkulatora darbībai&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot digitālu iekārtu, kas darbojas kā kalkulators ar skaitļiem heksadecimālajā sistēmā un var izpildīt saskaitīšanas un atņemšanas operācijas.&lt;br /&gt;
&lt;br /&gt;
Skaitļu ievads ir no klaviatūras, kas pieslēdta ar PS/2 portu.&lt;br /&gt;
&lt;br /&gt;
Skaitļu izvads ir uz LCD ekrāna.&lt;br /&gt;
&lt;br /&gt;
Izstrādātā risinājuma pirmkoda faili jāarhivē failā vards_uzvards_PD3.zip un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
= MD =&lt;br /&gt;
Mājas darbi.&lt;br /&gt;
&lt;br /&gt;
===MD1===&lt;br /&gt;
&lt;br /&gt;
Novērtēt Spartan 3E attīstītājrīka un FPGA iespējas. Atbildēt uz jautājumu: vai iespējams uz Spartan 3E realizēt datoru, kas varētu darbināt Linux klases operētājsistēmu? Atbildi &amp;#039;&amp;#039;&amp;#039;pamatot&amp;#039;&amp;#039;&amp;#039;, izvērtējot &amp;#039;&amp;#039;&amp;#039;nepieciešamos un atbilstošos pieejamos resursus&amp;#039;&amp;#039;&amp;#039; gan FPGA, gan perifērijas iekārtu kontekstā.&lt;br /&gt;
&lt;br /&gt;
Atbilde noformējama kā eseja PDF failā vards_uzvards_MD1.pdf un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
===MD2===&lt;br /&gt;
&lt;br /&gt;
Aprakstīt ideju kursā realizējamam projektam, ko izstrādāsiet uz FPGA iekārtas.&lt;br /&gt;
Iekļaut sekojošas sadaļas:&lt;br /&gt;
* Vai tas ir individuāls vai komandas darbs. Ja komandas, tad pievienot dalībnieku sarakstu un to lomu projektā&lt;br /&gt;
* Mērķis un motivācija&lt;br /&gt;
* Nepieciešamie resursi&lt;br /&gt;
* Risinājuma apraksts&lt;br /&gt;
* Realizācijas plāns ar konkrētiem datumiem un starpmērķiem, kas tajos sasniedzami&lt;br /&gt;
&lt;br /&gt;
Atbilde noformējama kā dokuments PDF failā vards_uzvards_MD2.pdf un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MD_OpenGL===&lt;br /&gt;
&lt;br /&gt;
Uzzīmēt un aprakstīt video kontroliera shēmu, kas atbalsta minimālu OpenGL vai līdzīgu instrukciju kopu.&lt;br /&gt;
Instrukcijas tiek nodotas no datora pa seriālo portu. Instrukcijas jāatkodē un jāizpilda, izmainot lokālu video buferi. No bufera attēls jāizvada uz  iebūvēto VGA portu attēla izvadei.&lt;br /&gt;
&lt;br /&gt;
Atbilde noformējama kā dokuments PDF failā vards_uzvards_MDx.pdf un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
===MD_RF===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Reģistru fails un simulācija&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* Pamatelementu un reģistru lietojums Verilog valodā&lt;br /&gt;
* Projekta simulācija&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot 32x32 reģistru failu procesoram. Veikt simulāciju ar ISim, kas pārbauda tā darbību.&lt;br /&gt;
&lt;br /&gt;
* Reģistru failā ir 32 biti&lt;br /&gt;
* Katrs reģistrs ir 32 bitus garš&lt;br /&gt;
* Turpmāk aprakstā  portu/signālu bitu skaits tiek norādīts aiz tiem iekavās.&lt;br /&gt;
* Ir divi porti A(32) un B(32), kas ļauj vienlaicīgi nolasīt divu reģistru vērtības. Lasāmo reģistru adreses tiek norādītas ar AA(5) un AB(5)&lt;br /&gt;
* Ir viens ports D(32), kas ļauj ierakstīt viena reģistra vērtību CLK uzlecošās frontes notikuma brīdī, ja ir iespējota rakstīšana ar signālu WR. Reģistrs, kurā rakstīt, tiek norādīts ar signālu AD(5).&lt;br /&gt;
* Lasīšanas un rakstīšanas darbībām jāvar notikt paralēli, vienlaicīgi.&lt;br /&gt;
&lt;br /&gt;
Demonstrēt iekārtas darbību ar simulatoru ISim [https://www.youtube.com/watch?v=9iQfqhUfAcE (pamācības video)]&lt;br /&gt;
* Simulācijas daļā demonstrēt, kā informācija tiek rakstīta visos reģistros, kā arī lasīta no tiem. Lai veiktu šo simulāciju, izveidot testa moduli (testbench) atsevišķā Verilog failā.&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkodu reģistru failam un tā testa modulim.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_ALU===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Aritmētiski loģiskā ierīce (ALU)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* Izpētīt ISA un izstrādāt specifikāciju atbilstošam procesora ALU&lt;br /&gt;
* ALU izstrāde&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt ALU kas atbilst RISCV R32I instrukciju kopai &lt;br /&gt;
* ALU nepieciešams nodrošināt sekojošu saskarni:&lt;br /&gt;
** A un B ir datu ievadda maģistrāles, 32 biti, vai ideāli, parametrizējamas.&lt;br /&gt;
** OUT ir rezultāts, arī datu maģistrāle&lt;br /&gt;
** OPCODE - ievads, ALU operācijas kods&lt;br /&gt;
** karodziņi, kas indicē:&lt;br /&gt;
*** V - Overflow&lt;br /&gt;
*** Z - Zero&lt;br /&gt;
*** N - Negative&lt;br /&gt;
*** C - Carry&lt;br /&gt;
* Demonstrēt iekārtas darbību vairākām instrukcijām, ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISCV reference card] - instrukciju tipi, kopsavilkums&lt;br /&gt;
* [https://inst.eecs.berkeley.edu/~cs61c/fa17/img/riscvcard.pdf RISCV Reference sheet] - instrukciju saraksts&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISCV specifikācijas protāls un dokumenti]&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda fails ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_v0===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt instrukciju dekoderi un aritmētisko instrukciju datu plūsmu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt instrukciju dekoderi pēc RISC V R32I ISA Green card.&lt;br /&gt;
* Izstrādāt vienkāršu kontrolieri, kas tulko instrukciju operāciju kodus uz ALU operāciju kodiem, un reģistru faila WE (Write Enable) signālu.&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vienkāršas instrukcijas pa vienai.&lt;br /&gt;
&lt;br /&gt;
CPU prototipam (v0) jāsavieno reģistru fails, ALU un instrukciju dekoderis un operāciju kodu kontrolieris tā, lai būtu iespējams ieejā dot vienas instrukcijas 32 bitu kodu, un tā tiktu izpildīta, un rezultāts ierakstīts attiecīgajā reģistrā pēc CLK takts signāla augošās frontes.&lt;br /&gt;
&lt;br /&gt;
* Demonstrēt iekārtas darbību vairākām instrukcijām, ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* RISC V dokumentācija&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_IC===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips ar instrukciju kešatmiņu&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt instrukciju kešatmiņu un RISC V asemblera kompilāciju.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt instrukciju kešatmiņu, instrukciju reģistru, PC reģistru.&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vienkāršas instrukcijas no instrukciju atmiņas. Katrs takts signāls CLK ielasa un izpilda nākamo instrukciju.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu instrukciju testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Instrukciju kešatmiņas modulim ielasīt kompilētu programmu (no teksta faila), Verilog kompilācijas solī.&lt;br /&gt;
&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISC V dokumentācija]&lt;br /&gt;
* [https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md RISC V Assembly manual]&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISC V Green card]&lt;br /&gt;
* [https://riscvasm.lucasteske.dev/# RiscV kompilators online]&lt;br /&gt;
&lt;br /&gt;
GNU asemblera kompilators RISC V arhitektūrai ir pieejams kā riscv64-linux-gnu-as.&lt;br /&gt;
Ar to ir iespējams kompilēt kodu 32 bitu arhitektūrai RV32i norādot attiecīgu arhitektūras parametru:&lt;br /&gt;
 riscv64-linux-gnu-as -march=rv32e -al test.s&lt;br /&gt;
&lt;br /&gt;
Tad kompilēto kodu iespējams dabūt no listinga (to apstrādājot), vai arī no kompilētā elf faila ar objdump.&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog un citi saistītie pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* Testa programma asemblerā&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_DC===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips ar datu kešatmiņu&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt datu kešatmiņu un saskarni ar operatīvo atmiņu.&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt datu kešatmiņu.&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vienkāršas instrukcijas ar atmiņu, piemēram Load un Store.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu instrukciju testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISC V dokumentācija]&lt;br /&gt;
* [https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md RISC V Assembly manual]&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISC V Green card]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_Branch===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips ar Branch un Jump-and-link instrukciju realizāciju&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt Branch un Jump-and-link instrukciju darbības un dizaina principus.&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt Branch instrukcijas saskaņā ar RISC V instrukciju kopu&lt;br /&gt;
** BEQ, BNE, BLT, BGE, BLTU, BGEU.&lt;br /&gt;
* Izstrādāt Jump-and-link instrukcijas saskaņā ar RISC V instrukciju kopu&lt;br /&gt;
** JAL, JALR&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vadības kontroles instrukcijas.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu instrukciju testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISC V dokumentācija]&lt;br /&gt;
* [https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md RISC V Assembly manual]&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISC V Green card]&lt;br /&gt;
* [https://github.com/jameslzhu/riscv-card/blob/master/riscv-card.pdf RISC V unofficial Reference card]&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_GPIO===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Universāls perifērijas datu ievads un izvads (GPIO) &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt datu apmaiņas principus starp mikroprocesoru un perifērijas iekārtām.&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt moduļus pikrokontroliera ārējai iekārtai GPIO, kas spēj nodot un lasīt datus rakstot īpašā adresē.&lt;br /&gt;
** Ieslēgt un izslēgt 8 LED, kas kartēti uz vienu baitu atmiņā. Katram LED atbilst savs bits baitā.&lt;br /&gt;
** Nolasīt 8 slēdžu (Switch) stāvokļus lasot vienu baitu pēc konkrētas atmiņas adreses. Katram slēdzim atbilst savs bits baitā.&lt;br /&gt;
** Realizēt GPIO iekārtas saskarni caur baitu konkrētā adresē operatīvajā atmiņā. Saskarni realizēt ar diviem reģistriem: Datu virziena reģistru un Datu reģistru.&lt;br /&gt;
&lt;br /&gt;
* Dizainu organizēt tā, lai izveidotie GPIO moduļi var tikt pielietoti arī citām perifērijas iekārtām:&lt;br /&gt;
** Konfigurējot piekļuvi ārējām iekārtām caur UCF failu&lt;br /&gt;
** Integrējot citus iekšējos moduļus kas izstrādāti Verilog vai shēmtehnikā.&lt;br /&gt;
&lt;br /&gt;
* Integrēt GPIO jūsu CPU projektā.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu GPIO testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar aparatūru.&lt;br /&gt;
&lt;br /&gt;
Piemēram var apskatīt GPIO organizāciju dažādu mikrokontrolieru dokumentācijā, piemēram Atmega328p.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf Atmega328p mikrokontroliera dokumentācija]&lt;br /&gt;
* [https://github.com/elomage/FPGA-resources/blob/main/ucf_templates/Anvyl.ucf UCF faila piemērs ANVYL attīstītājrīkam]&lt;br /&gt;
* [https://en.wikipedia.org/wiki/General-purpose_input/output General purpose input/output] - Wikipedia&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
= Informācijas resursi =&lt;br /&gt;
&lt;br /&gt;
{{DIP_saites}}&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=LU-BST-b&amp;diff=11218</id>
		<title>LU-BST-b</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=LU-BST-b&amp;diff=11218"/>
		<updated>2026-03-04T13:43:43Z</updated>

		<summary type="html">&lt;p&gt;Leo: /* 11.03.26 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Īssaites:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[#Kalendārs | Kalendārs]] | &lt;br /&gt;
[[#Uzdevumi | Uzdevumi]] | &lt;br /&gt;
[[#Resursi | Resursi]] | &lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]] : &lt;br /&gt;
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]]&lt;br /&gt;
(ja ir lekcija)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{LUDFKurss|Bezvadu Sensoru Tīkli|BST|DatZ3070|2DAT3253}}&lt;br /&gt;
* Pasniedzējs: [[User:Leo | Leo Seļāvo]]&lt;br /&gt;
&lt;br /&gt;
====Kursa mērķis un uzdevumi====&lt;br /&gt;
Iepazīties ar bezvadu sensoru tīklu sistēmu darbības un projektēšanas principiem un pielietojumiem.&lt;br /&gt;
* Apgūt sensoru un iegulto sistēmu pamata tehnoloģijas un pielietojumus lietu internetā. &lt;br /&gt;
* Izstrādāt arhitektūru un komunikāciju protokolus bezvadu sensoru sistēmām. &lt;br /&gt;
* Programmēt iegultās sistēmas BST pielietojumam. &lt;br /&gt;
* Analizēt sensoru lasījumus un izdarīt secinājumus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievadlekcijas video&amp;#039;&amp;#039;&amp;#039;:&amp;lt;/big&amp;gt; [https://youtu.be/nwPxnED1M34 No sensoriem līdz stāstam]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Vērtējums kursā ====&lt;br /&gt;
* 30% Praktiskie darbi PD&lt;br /&gt;
* 20% Mājas darbi MD&lt;br /&gt;
* 20% Kontroldarbs KD&lt;br /&gt;
* 30% Projekta prezentācija un demo eksāmenā EKS + PROJ&lt;br /&gt;
&lt;br /&gt;
==== Mājas darbi ====&lt;br /&gt;
* Iesniedzami e-studijās&lt;br /&gt;
* Termiņš 30min pirms lekcijas sākuma, vai arī kā MD nosacījumos.&lt;br /&gt;
** Kavēts termiņš nozīmē -50% no vērtējuma. Pēc nedēļas darbs var tikt nepieņemts.&lt;br /&gt;
&lt;br /&gt;
=Kalendārs=&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4 style = &amp;#039;border-color: #ddd; background-color: #fdfff2;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
! Datums&lt;br /&gt;
! Tēma, saturs&lt;br /&gt;
! Uzdevumi&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====04.02.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievadlekcija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Bezvadu sensoru tīklu pielietojumi un pamatproblēmas. BST kursa forma un prasības.&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/4iazzqk2ykmumsq/00_intro.pdf?raw=1 Ievads BST - slaidi]&lt;br /&gt;
* [https://www.dropbox.com/s/u5fnw7uku1ua1sf/00_Intro_IoT.pdf?raw=1 Ievads IoT - slaidi]&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD1 | PD1]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.02.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Bezvadu sakaru sistēmas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Radio spektrs un ISM josla. Komunikācijas protokoli un modulācija.&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/jujvdabdj03szif/L02_Wireless_systems.pdf?raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD2 | PD2]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.02.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Radio komunikāciju realitātes&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/scl/fi/fgqnlfpo7xurz5mm5atwj/03_radio-realities.pdf?rlkey=x54t0itxkbyuu0705ejoi3vry&amp;amp;st=mcy8s1hc&amp;amp;raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD3 | PD3]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.02.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Iegultās sistēmas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Sensoru mezgla uzbūve.&lt;br /&gt;
&lt;br /&gt;
[[BST-b_HW | Lekcijas pieraksti]]&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/kzcd4mr8mirh2i9/L03_motes.pdf?raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD4 | PD4]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.03.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;MAC protokoli sensoru tīklos&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/le4f7sywa528lnb/L05_Harvard_mac.pdf?raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD5 | PD5]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.03.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;(&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;) &amp;#039;&amp;#039;&amp;#039;KD0: Maršrutizācijas protokoli&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/u1y7n2www1y7vgu/L06_Routing.pdf?raw=1 Maršrutizācija. Slaidi]&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Uzdots: [[#MD_Routing|MD_Routing]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.03.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Laika sinhronizācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/8dmwkihq3gq4gls/L07_Timesync.pdf?raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD6 | PD6 Multihop]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.03.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Lokalizācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://www.dropbox.com/s/jbllq2e4rj5it1y/L08_Localization.pdf?raw=1 Slaidi]&lt;br /&gt;
&lt;br /&gt;
Diskusijas par projektiem&lt;br /&gt;
|&lt;br /&gt;
Sensoru datu analīze, Jupyter notebook&lt;br /&gt;
* [https://jupyter.org Jupyter]&lt;br /&gt;
* [https://anaconda.org/anaconda/python Anaconda Python]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====08.04.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Programmēšanas abstrakcijas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Komponenšu orientēta programmēšana. Skriptēta un enkapsulēta programmēšana. TinyOS, MansOS un SEAL.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://www.dropbox.com/s/xwnr2aterigjp7q/05_component-programming.pdf?raw=1 Komponenšu orientēta programmēšana, TinyOS]&lt;br /&gt;
* [https://www.dropbox.com/s/jalyp6jxv7b2ja6/12_prog-abstractions.pdf?raw=1 Programmēšanas abstrakcijas BST, Mate]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Iesniegt: [[#MD_Routing|MD_Routing]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Uzdots: [[#MD_Proj|MD_Proj]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====15.04.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;KD1&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vidus semestra kontroldarbs KD1. Pieejams eStudijās.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====22.04.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Projektu tēmas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Diskusija par projektu tēmām.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Use case&amp;quot; - par projektiem infekcijas risku mazināšanai.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====29.04.26====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Datu vizualizācija un analīze&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Datu vizualizācija un analīze.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====06.05.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Datu analīze, prakse&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://www.anaconda.com/ Anaconda platforma] datu zinātnei.&lt;br /&gt;
* [https://jupyter.org/ Jupyter Notebook] - vide mazām programmām Python un datu analīzei.&lt;br /&gt;
* [https://www.dataquest.io/blog/jupyter-notebook-tips-tricks-shortcuts/ Jupyter triki]&lt;br /&gt;
&lt;br /&gt;
* [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6480280/ Wireless Sensor Networks for Big Data Systems]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš: [[#MD_Proj|MD_Proj]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Projektu statuss&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====13.05.26====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Drošība un privātums&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://www.dropbox.com/scl/fi/5xkeow5yuaxobewhwrntr/13_security-privacy_v2.pdf?rlkey=w6papger2tw2to9l3kk7w344y&amp;amp;st=1sxvon1n&amp;amp;dl=1 Slaidi]&lt;br /&gt;
* Videolekcija e-studijās.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://cert.lv/lv CERT.lv] - IT drošības incidentu novēršanas institūcija Latvijā.&lt;br /&gt;
* [https://www.thalesgroup.com/en/markets/digital-identity-and-security/iot/magazine/internet-threats IoT Security Issues in 2021: a Business Perspective]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Projekta statusa ziņojumi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====20.05.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Enerģijas ieguve no vides&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/lro0ncpw570neej/15_energy-harvesting.pdf?raw=1 Slaidi]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Projekta statusa ziņojumi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====27.05.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Kopsavilkums&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/qf5yd5toylks4zf/L99_Summary.pdf?raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Projektu statusa ziņojumi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====xx.06.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Eksāmena sākums: xx:xx&lt;br /&gt;
Eksāmena vieta: xxx. aud.&lt;br /&gt;
&lt;br /&gt;
Eksāmena (projekta) rezultāti iesūtāmi e-studijās kā PROJ, tai skaitā:&lt;br /&gt;
* apraksts.pdf - apraksts: problēma, risinājumi, jūsu risinājums, rezultāti un pieredze izstrādājot un testējot projektu. Fails PDF formātā.&lt;br /&gt;
* plakāts.pdf - plakāts par projektu. Fails PDF formātā.&lt;br /&gt;
* Saite uz demonstrācijas video, ja tāds ir.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Iesniegt projekta rezultātus e-studijās.&lt;br /&gt;
* Prezentācija klātienē.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- TESTBED&lt;br /&gt;
=====================================&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;BST Testbed&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
EDI BST [[#Testbed | Testbed apraksts un lietojums]].&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Uzdots: [[#MD_Testbed|MD_Testbed-P1]] - Testbed P1 uzdevums&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
=====================================&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Testbed&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Testbed prakse&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
=====================================&lt;br /&gt;
* Termiņš: [https://doodle.com/poll/627utpttbvqiypue?utm_source=poll&amp;amp;utm_medium=link Pieteikt grupas MD_Testbed uzdevumiem]&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš: [[#MD_Testbed|MD_Testbed-P1]] - Testbed P1 uzdevums&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš: [[#MD_Testbed|MD_Testbed]] - Visi uzdevumi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Uzdevumi =&lt;br /&gt;
== Praktiskie darbi ==&lt;br /&gt;
Praktiskajos darbos būs lietojama [https://github.com/edi-riga/MansOS/wiki MansOS operētājsistēma].&lt;br /&gt;
* Īss apraksts un pamācības pieejamas [https://github.com/edi-riga/MansOS/wiki MansOS wiki].&lt;br /&gt;
&amp;lt;!--https://github.com/IECS/MansOS--&amp;gt;&lt;br /&gt;
Praktisko darbu risinājumi iesūtāmi e-studijās.&lt;br /&gt;
&lt;br /&gt;
===PD1===&lt;br /&gt;
&amp;quot;SOS&amp;quot; morzes ābecē izvadīts uz motes LED&lt;br /&gt;
* E-studijās iesūtīt C programmas kodu.&lt;br /&gt;
&lt;br /&gt;
===PD2===&lt;br /&gt;
Hello World -&amp;gt; no motes uz termināla&lt;br /&gt;
&lt;br /&gt;
===PD3===&lt;br /&gt;
Gaismas sensora lasījums uz termināla&lt;br /&gt;
&lt;br /&gt;
===PD4===&lt;br /&gt;
Darbs grupā pa divi.&lt;br /&gt;
&lt;br /&gt;
Gaismas sensora lasījums pārraidīts ar radio un saņemts uz citas motes un izvadīts uz termināla.&lt;br /&gt;
&lt;br /&gt;
Risinājumam jābūt noturīgam pret citiem raidītājiem šajā pašā radio kanālā. Jāparāda tikai sava risinājuma sūtītās ziņas.&lt;br /&gt;
&lt;br /&gt;
Iesūtīt pirmkodu, kā arī failu apraksts.pdf ar testu rezultātiem un to aprakstu.&lt;br /&gt;
&lt;br /&gt;
===PD5===&lt;br /&gt;
Darbs grupā pa divi.&lt;br /&gt;
&lt;br /&gt;
Noteikt radio raidīšanas attālumu TmoteSky motēm.&lt;br /&gt;
* Izveidot raidītāja programmu un uztvērēja programmu. &lt;br /&gt;
* Pārvietot motes dažādos attālumos un novērtēt, cik datu pakas tiek saņemtas.&lt;br /&gt;
* Izvērtēt, kāda ietekme ir motes savstarpējai orientācijai starp raidītāju un uztvērēju.&lt;br /&gt;
* Aprakstīt rezultātus un iesniegt PDF dokumentā apraksts.pdf, e-studijās, kā PD5.&lt;br /&gt;
&lt;br /&gt;
===PD6===&lt;br /&gt;
Darbs grupā pa diviem vai trijiem studentiem.&lt;br /&gt;
&lt;br /&gt;
Realizēt &amp;quot;Multihop&amp;quot; tīklu ar TmoteSky motēm.&lt;br /&gt;
* Izveidot programmatūru trīs dažādu sensoru mezglu tipiem, attiecīgos pirmkoda failos:&lt;br /&gt;
*# sensor.c - Sensors - nolasa gaismas sensora vērtību un nosūta pa radio Releja tipa motei.&lt;br /&gt;
*# relay.c - Relejs - mote, kas saņem datus no sensoriem un pārsūta tālāk citām motēm (Relejiem un Vārtejām).&lt;br /&gt;
*# gateway.c - Vārteja - mote, kas saņem radio datus un pārsūta tos uz seriālo portu (USB).&lt;br /&gt;
&lt;br /&gt;
* Katram mezglam (motei) ir unikāls ID. Izdomāt, kā to panākt.&lt;br /&gt;
* Tīklā jābūt vismaz vienam relejam, bet var būt vairāki, lai realizētu garāku komunikācijas ķēdi.&lt;br /&gt;
* Tīklā var būt vairāki Sensoru mezgli. &lt;br /&gt;
* Tīklā ir tikai viena vārteja.&lt;br /&gt;
* Relejam jāignorē tās ziņas, ko tas jau ir kādreiz sūtījis. Šo var realizēt ar motes identifikatora un/vai ziņas kārtas numura iekļaušanu sūtāmajā datu pakā. Tad, piemēram, mote var ignorēt vecākas datu pakas nekā pēdējā, ko tā ir sūtījusi.&lt;br /&gt;
* Vārtejai katra datu paka jānosūta pa USB tikai vienreiz. Ja tā, piemēram, saņem to pašu datu paku atkārtoti, piemēram, no cita Releja, tai tā jāignorē.&lt;br /&gt;
&lt;br /&gt;
* Aprakstīt rezultātus un iesniegt PDF dokumentā apraksts.pdf, e-studijās, kā PD6. Iesniegt arī programmatūras kodu.&lt;br /&gt;
&lt;br /&gt;
==Mājas darbi==&lt;br /&gt;
===MD_Routing===&lt;br /&gt;
Izstrādāt un aprakstīt maršrutizācijas algoritmu, kas atbilst prasībām &lt;br /&gt;
[https://www.dropbox.com/s/yakqcy9e8322tbf/BST_routing_MD.pdf?raw=1 šajos slaidos]&lt;br /&gt;
&lt;br /&gt;
* Aprakstīt izveidoto maršrutizācijas protokolu.&lt;br /&gt;
* Aprakstīt protokola veiktspējas novērtējumu.&lt;br /&gt;
* Sniegt piemēru, kā tas darbojas slaidos dotajā situācijā.&lt;br /&gt;
* Risinājumu iesniegt PDF dokumentā, e-studijās.&lt;br /&gt;
&lt;br /&gt;
===MD1===&lt;br /&gt;
[[#PD5 | PD5]] rezultāti - Izvērtēt sensoru mezglu komunikāciju veiktspēju atkarībā no distances.&lt;br /&gt;
&lt;br /&gt;
Gadījumā, ja jums neizdevās savākt savus datus, tad analīzei var lietot šos, ar attiecīgu atsauci:&lt;br /&gt;
* [https://www.dropbox.com/s/gd434p1wkgcq9gz/merijumi_veldre_kniss.xlsx?dl=1 | Dati1 (excel)] (Rainers, Juris)&lt;br /&gt;
* [https://www.dropbox.com/s/h679d2y84svixs1/BST_PD05_DATA_Audris.zip?dl=1 | Dati2 (zip)] (Audris, Madara)&lt;br /&gt;
&lt;br /&gt;
===MD3===&lt;br /&gt;
Izstrādāt un aprakstīt virtuālas mašīnas valodu bezvadu sensoru mezgliem, līdzīgi kā &lt;br /&gt;
[https://www.dropbox.com/s/pw8hl4zbsbgek65/L09b_prog-abstractions.pdf?raw=1 Mate lekcijas slaidos]. &lt;br /&gt;
&lt;br /&gt;
Aprakstā jāiekļauj: &lt;br /&gt;
* Valodas komandas, arhitektūra, pieņēmumi&lt;br /&gt;
* Komandu kodējums (pa bitiem), komandu tipi vai klases.&lt;br /&gt;
* Divi piemēri programmām, kas kodēti jūsu valodā.&lt;br /&gt;
* Ar ko jūsu risinājums atšķiras no Mate un kādos gadījumos tam ir priekšrocības.&lt;br /&gt;
&lt;br /&gt;
===MD_Proj===&lt;br /&gt;
====Kursa projekta pieteikums====&lt;br /&gt;
&lt;br /&gt;
=====Īss apraksts=====&lt;br /&gt;
&lt;br /&gt;
Izstrādāt projekta pieteikumu, kurā aprakstīt:&lt;br /&gt;
* Problēmu, ko risināsiet ar bezvadu sensoru tīklu palīdzību&lt;br /&gt;
* Motivāciju, kāpēc problēma jārisina&lt;br /&gt;
* Esošos risinājumus šai problēmai vai līdzīgām problēmām&lt;br /&gt;
* Kas nepieciešams jūsu risinājumam: tehnoloģijas, aparatūra&lt;br /&gt;
* Termiņi katrai nedēļai: kas tiks veikts līdz šiem termiņiem projekta izstrādes gaitā.&lt;br /&gt;
&lt;br /&gt;
Aprakstu organizēt kā slaidus, lai ērti prezentēt. Iesniegt aprakstu PDF formātā.&lt;br /&gt;
&lt;br /&gt;
=====Sīkāks apraksts=====&lt;br /&gt;
&lt;br /&gt;
Šoreiz nekas nav jāprogrammē. Bet gan jāuzraksta sava kursa projekta īss apraksts kā slaidu prezentācija un jāiesniedz PDF formātā. Kursa projekta pieteikumu vajadzēs prezentēt lekcijas laikā, katra komanda pastāstīs pārējiem par sava kursa projekta ideju, izveidosim īsu diskusiju.&lt;br /&gt;
&lt;br /&gt;
Obligātās dokumenta nodaļas:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Projekta tēma&amp;#039;&amp;#039;&amp;#039;. Kas ir Jūsu projekts, ko Jūs izstrādāsiet. Šeit var pietikt ar vienu vai dažiem teikumiem&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Projekta komanda&amp;#039;&amp;#039;&amp;#039;, īpaši ja nepieciešams vairāk par vienu dalībnieku. Kas piedalās, kādas lomas katrs izpilda (kurš ko programmēs, kurš projektēs, kurš testēs utt)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Motivācija&amp;#039;&amp;#039;&amp;#039;. Kāpēc Jūs šādu projektu taisāt. Kāds no tā varētu būt labums Jums un pārējiem apkārtējiem cilvēkiem, dabai.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Jūsu pieeja un arhitektūra&amp;#039;&amp;#039;&amp;#039;. Kā realizēsiet projektu. Kāda būs izmantotā aparatūra. Kāda programmatūra. Kāda būs tīkla struktūra. Šeit labi iederas sistēmas arhitektūras bildes, shematiski attēlojumi. Svarīgi norādīt arī nepieciešamo aparatūru, tai skaitā, kādi sensori nepieciešami projekta realizēšanai. Lai varam sākt meklēt nepieciešamos sensorus, motes. Tiek sagaidīts, ka šī ir saturīgākā projekta apraksta daļa.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Sagaidāmais rezultāts&amp;#039;&amp;#039;&amp;#039;. Cik daudz no savas projekta idejas plānojat šī semestra laikā realizēt. Kādus testus veikt. Kā novērtēsit rezultātus.&lt;br /&gt;
&lt;br /&gt;
Papildus tēmas:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kas šajā tēmā pasaulē ir jau izdarīts&amp;#039;&amp;#039;&amp;#039;. Bakalaura studentiem netiek prasīts izdarīt kaut ko universālu, kas pasaulē vēl neeksistē. Tai pat laikā, ir ļoti vēlams, ka veicat izpēti, par to, kas pasaulē Jūsu tēmā ir jau izpildīts. Kaut vai tāpēc, lai izvēlētos labāko risinājumu, lai nav pašiem jāizdomā no nulles&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Idealizācija&amp;#039;&amp;#039;&amp;#039;. Šī projekta ietvaros netiek prasīts, lai Jūs uzbūvējat vispasaules sensoru tīklu ar Google mēroga infrastruktūru. Bet, ja tas būtu iespējams - ko ar Jūsu sensoru tīklu varētu izdarīt? T.i., padomājiet pāri sava viena semestra robežām!&lt;br /&gt;
&lt;br /&gt;
===MD_Testbed===&lt;br /&gt;
Uzdevuma veikšana EDI testbed platformā (Testbed).&lt;br /&gt;
&lt;br /&gt;
Pieslēguma informācija Testbed platformai tiks paziņota individuāli, lekcijā un/vai e-studijās.&lt;br /&gt;
&lt;br /&gt;
Uzdevums ir ievākt informāciju no Testbed sensoriem kas atrodas uz jums izdalītajiem Testbed sensoru mezgliem pēc iespējas ilgāku laika posmu, vismaz 24 stundas, un attēlot datus grafiski. Sīkāks uzdevumu apraksts seko.&lt;br /&gt;
&lt;br /&gt;
====Programma P1====&lt;br /&gt;
Programmas P1 mērķis ir pārbaudīt Testbed darbību un nolasīt log failos saglabātos datus.&lt;br /&gt;
&lt;br /&gt;
* Pieslēgties Testbed &lt;br /&gt;
* Pārbaudīt jums izdalīto sensoru mezglu darbību izveidojot vienkāršu programmu &amp;lt;code&amp;gt;P1.c&amp;lt;/code&amp;gt; kas sūta skaitļus no 1 līdz 100 ar vienas sekundes intervālu uz seriālo portu. Skaitļus sūtīt kā simbolu virkni salasāmā tekstā, piemēram &amp;quot;17&amp;quot;.&lt;br /&gt;
* Darbināt P1 uz visiem sensoru mezgliem vienlaicīgi. Darbināt eksperimentu 10min. Saglabāt Log failus.&lt;br /&gt;
* Novērtēt rezultātus. Piemēram, vai visi sensori darbojās vienlīdz ātri?&lt;br /&gt;
&lt;br /&gt;
====Programma P2====&lt;br /&gt;
Programmas P2 mērķis ir ievākt sensoru datus ilgākā laika posmā.&lt;br /&gt;
&lt;br /&gt;
* Izveidot programmu &amp;lt;code&amp;gt;P2.c&amp;lt;/code&amp;gt; kas reizi 10 sekundēs nolasa sensoru vērtības. &lt;br /&gt;
* Lasāmie sensori ir: Gaismas sensors, temperatūra un gaisa mitrums.&lt;br /&gt;
* Darbināt P2 24 stundas un saglabāt datus Log failos.&lt;br /&gt;
* Analizēt sensoru datus. Uzzīmēt datus grafikā ar x kā laika asi un y kā mērījumu asi. Izdarīt secinājumus.&lt;br /&gt;
&lt;br /&gt;
====Programma P3====&lt;br /&gt;
Programmas P3 mērķis ir novērtēt komunikāciju iespējas Testbed vidē.&lt;br /&gt;
&lt;br /&gt;
* Izveidot programmu &amp;lt;code&amp;gt;P3_send.c&amp;lt;/code&amp;gt;, kas sūta 300 ziņas visiem citiem mezgliem ik pa 100 milisekundēm. Katrā ziņā iekļaut tās kārtas numuru. Datos iekļaut arī savu identifikatoru, lai saņemošais klients var atpazīt datu pakas tipu un mērķi.&lt;br /&gt;
* Izveidot programmu &amp;lt;code&amp;gt;P3_receive.c&amp;lt;/code&amp;gt;, kas saņem ziņas pa radio no citiem mezgliem un pieraksta RSSI vērtības atmiņas buferī. Kad visas atsūtītas, eksportēt datus uz log failu caur seriālo portu.&lt;br /&gt;
* Darbināt P3_send uz viena mezgla un P3_receive uz pārējiem. Saglabāt datus log failā.&lt;br /&gt;
* Atkārtot iepriekšējo eksperimentu tā, lai datu būtu sūtīti no visiem mezgliem.&lt;br /&gt;
* Rezultātā jums jābūt datiem kas apraksta komunikāciju starp jebkuriem diviem mezgliem.&lt;br /&gt;
* Rezultātu analīzē parādiet kā RSSI mainās laikā starp visiem mezgliem. Bez tam, izveidojiet tabulu vai grafu kurā novērtējiet komunikāciju/ saņemtā signāla stiprumu starp visiem mezgliem. Atcerieties, ka saites var būt arī asimetriskas, piemēram, mezgls A &amp;quot;dzird&amp;quot; mezglu B labāk nekā B &amp;quot;dzird&amp;quot; A.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Piezīmes&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Ņemiet vērā, ka var gadīties, ka dažas ziņas mezgli var nesaņemt trokšņu vai citu iemeslu dēļ. Datos tas ir jāredz. Tāpēc saglabājot RSSI jāņem vērā arī saņemtās ziņas kārtas numurs, ko tā sūtīja.&lt;br /&gt;
* Saņemtos RSSI rādījumus jums jāglabā atmiņā, lai tie aizņemtu pēc iespējas mazāk vietas. Sūtot tos uz reizi pa seriālo portu jums var nepietikt laika saņemt visas ziņas. Tāpēc ieteicams datus saglabāt ar seriālo portu tikai pēc tam kad eksperiments beidzies - pēdēja ziņa saņemta (vai nav pienākusi, bet laiks pagājis).&lt;br /&gt;
&lt;br /&gt;
====Iesniegšana====&lt;br /&gt;
Iesniegt rezultātus visiem uzdevumiem e-studijās kā MD_Testbed. &lt;br /&gt;
Tai skaitā, katram uzdevumam P&amp;#039;&amp;#039;X&amp;#039;&amp;#039;, kur &amp;#039;&amp;#039;X&amp;#039;&amp;#039; ir 1, 2 un 3:&lt;br /&gt;
&lt;br /&gt;
* Katram uzdevumam P1, P2 un P3 izveidot direktoriju ar attiecīgu vārdu. Šajās direktorijās izvietot attiecīgo uzdevumu pirmkoda, datu un apraksta failus.&lt;br /&gt;
* Iekopēt direktorijās visu pirmkodu un ievākto datu failus&lt;br /&gt;
* Analīzes rezultātus aprakstīt un grafikus attēlot PDF failā ar nosaukumu P&amp;#039;&amp;#039;X&amp;#039;&amp;#039;.pdf&lt;br /&gt;
* Neaizmirstiet aprakstā norādīt darba autorus un ko katrs darījis, kā arī katra dalībnieka procentuālo ieguldījumu no komandas darba.&lt;br /&gt;
* Visus failus arhivēt kā zip failu un saukt BST_MD_Testbed_Vards_Uzvards.zip, kur, protams, lietots &amp;#039;&amp;#039;jūsu&amp;#039;&amp;#039; vārds un uzvārds.&lt;br /&gt;
* Zip fails jāiesūta e-studijās VISIEM komandas dalībniekiem.&lt;br /&gt;
&lt;br /&gt;
=Testbed=&lt;br /&gt;
&lt;br /&gt;
EDI BST testa vides piekļuve un lietošana.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://docs.google.com/presentation/d/1Qy32wqh3W4ki808hN_FUTMHURcO1F6St3nwovtZLLNQ/edit?usp=sharing Lietošanas pamācība]&lt;br /&gt;
* [https://www.edi.lv/testbed EDI Testbed] portāls&lt;br /&gt;
* Testbed CLI komandu [https://www.dropbox.com/s/gse78nkox8eo523/EDI%20TestBed%20CLI%20cheat%20sheet%202021.pdf?raw=1 Cheatsheet]&lt;br /&gt;
* [https://www.dropbox.com/s/efsx8380cy4y366/EDI_TestBed_CLI_intro_2021.pdf?raw=1 EDI Testbed Prezentācija]&lt;br /&gt;
* Demonstrācijas video pieejams eStudijās&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CLI klientu programmatūra&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
** [https://makonis.edi.lv/s/PtomG54z8i7ozJp Linux]&lt;br /&gt;
** [https://makonis.edi.lv/s/bBAzoknjX23WfPS Windows]&lt;br /&gt;
&lt;br /&gt;
Publikācijas&lt;br /&gt;
* [https://www.researchgate.net/publication/236735509_Wireless_Sensor_Network_Testbeds_A_Survey Wireless Sensor Network Testbeds: A Survey]&lt;br /&gt;
&lt;br /&gt;
= Resursi =&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/edi-riga/MansOS/wiki &amp;#039;&amp;#039;&amp;#039;MansOS&amp;#039;&amp;#039;&amp;#039; operētājsistēma]&lt;br /&gt;
** [[MansOS msp430 procesora rīku instalācija ar Docker]]&lt;br /&gt;
&lt;br /&gt;
* [http://www.catb.org/esr/structure-packing/ The Lost Art of Structure Packing]&lt;br /&gt;
* Grāmata: [https://ptolemy.berkeley.edu/books/leeseshia/ Introduction to Embedded Systems - A Cyber-Physical Systems Approach]&lt;br /&gt;
* [[LU::poster-howto | Ieteikumi plakātu prezentāciju veidošanā]]&lt;br /&gt;
&lt;br /&gt;
* [https://towardsdatascience.com/top-30-data-science-interview-questions-7dd9a96d3f5c Datu zinātne] - 30 intervijas jautājumi&lt;br /&gt;
&lt;br /&gt;
* [https://google.github.io/mediapipe/ Mediapipe] - attēlu apsrādes bibliotēka&lt;br /&gt;
&lt;br /&gt;
== Aparatūra, sensori ==&lt;br /&gt;
* [[DiLab_resursi]] - LU pieejamie sensori un aparatūra&lt;br /&gt;
&lt;br /&gt;
== Saites ==&lt;br /&gt;
* [[LU-BST:links | Bezvadu sensoru tīklu saites]]&lt;br /&gt;
* [https://www.sqimway.com/index.html Bezvadu komunikācijas veidi un frekvences]&lt;br /&gt;
* [http://ss64.com/bash Linux komandu rokasgrāmata]. Komandas, kas mums būs noderīgas: cd, ls, cp, mv, mkdir, df, echo, export, find, grep, less, nano, make, man, ping, rm, ifconfig.&lt;br /&gt;
* [[LU-BST:SwissQM | Kā piedarbināt SwissQM virtuālo mašīnu sensoru tīkliem]] (Paldies Kārlim Visendorfam par aprakstu!)&lt;br /&gt;
* [https://www.ibr.cs.tu-bs.de/dus/publications/spots2006.pdf uPart mote un tās īpašības]&lt;br /&gt;
&lt;br /&gt;
== Interesanti ==&lt;br /&gt;
* [https://www.sparkfun.com/news/6147 Hedy Lamarr and Frequency Hopping Technology] - Holivudas aktrise un FH patenta autore.&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=LU-LSP-b&amp;diff=11217</id>
		<title>LU-LSP-b</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=LU-LSP-b&amp;diff=11217"/>
		<updated>2026-03-04T09:15:00Z</updated>

		<summary type="html">&lt;p&gt;Leo: /* 04.03.26 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Īssaites:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[#Kalendārs | Kalendārs]] | &lt;br /&gt;
[[#Uzdevumi | Uzdevumi]] | &lt;br /&gt;
[[#Resursi | Resursi]] | &lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]] : &lt;br /&gt;
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]]&lt;br /&gt;
(ja ir lekcija)&lt;br /&gt;
&lt;br /&gt;
{{LUDFKurss|Linux sistēmas programmēšana|LSP|DatZ3122|2DAT3122}}&lt;br /&gt;
* Pasniedzēji:&lt;br /&gt;
** Leo Seļāvo &amp;#039;&amp;#039;(epasts: vards.uzvards @ gmail.com)&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Vērtējums = 15% praktiskie darbi, 35% mājas darbi, 20% kontroldarbs un 30% eksāmens.&lt;br /&gt;
&lt;br /&gt;
* [[LSP kursa atsauksmes]] no iepriekšējiem gadiem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Praktisko un mājas darbu iesniegšana ==== &lt;br /&gt;
* Mājas darbus iesniegt e-studijās vai darbu testēšanas serverī, atkarībā no darba specifikācijas.&lt;br /&gt;
* Faila nosaukumam jābūt formā LSP_MD1_Vards_Uzvards.c - mainot atbilstošo uzdevuma kodu (MD1) un faila formātu pēc nepieciešamības.&lt;br /&gt;
* Nevajag arhivēt failus, ja vien tas nav prasīts uzdevuma nosacījumos&lt;br /&gt;
&lt;br /&gt;
==== Praktisko darbu vērtēšanas kritēriji ====&lt;br /&gt;
* Praktisko darbu mērķis ir nostiprināt un parādīt izpratni par apgūto vielu, attiecīgi darbi ir jārisina &amp;#039;&amp;#039;&amp;#039;patstāvīgi&amp;#039;&amp;#039;&amp;#039;, tomēr jautājumu uzdošana pasniedzējam vai kolēģiem ir vēlama.&lt;br /&gt;
* Maksimālo vērtējumu par praktisko darbu var saņemt, ja tas iesūtīts līdz praktisko darbu lekcijas dienas beigām.&lt;br /&gt;
* Pēc termiņa praktiskie darbi tiek pieņemti vēl tekošo nedēļu (līdz nākamās lekcijas sākumam) un tiks novērtēti, tomēr vairs ne ar maksimālo atzīmi. &lt;br /&gt;
* Praktiskajos darbos un lekcijās atzinīgi vērtējama ir dalība diskusijās, unikālu risinājumu un ideju piedāvāšana, trāpīgu jautājumu uzdošana, atbildēšana uz kolēģu jautājumiem u.t.t., kas var pozitīvi ietekmēt gala atzīmi kursā.&lt;br /&gt;
&lt;br /&gt;
==== Mājas darbu vērtēšanas kritēriji ====&lt;br /&gt;
* Mājas darbu iesniegšanas termiņa laiks ir attiecīgajā datumā līdz pusnaktij.&lt;br /&gt;
* Ja darbs tiek iesniegts ar novēlošanos (kaut vai 1 sekundi!):&lt;br /&gt;
** Tūdaļ pēc termiņa rezultāts tiek samazināts par &amp;#039;&amp;#039;&amp;#039;50%&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
** Nedēļu pēc termiņa darbi vairs netiek pieņemti.&lt;br /&gt;
&lt;br /&gt;
=Kalendārs=&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4 style = &amp;#039;border-color: #ddd;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
! Datums&lt;br /&gt;
! Tēma, saturs&lt;br /&gt;
! Uzdevumi&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====04.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievads kursā&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Unix un Linux operētājsistēmu pamatkoncepcijas. Linux sistēmprogrammētaja rīki (shell, gcc, make, manpages u.c.).&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD0 | MD0 ]]&amp;#039;&amp;#039;&amp;#039; - Programmēšanas stils&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[https://docs.google.com/document/d/1wmhmxU2x93yj5bha98yGwGTvUbQ5Q0ZjOTfcNQ5ndjc/edit?usp=sharing MD_Koks]&amp;#039;&amp;#039;&amp;#039; - Dzimtas koks.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Intro&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* Iekārtot darba vidi (linux, teksta redaktors, kompilators)&lt;br /&gt;
* Izveidot un pašiem nokompilēt &amp;quot;Hello world&amp;quot; C valodā&lt;br /&gt;
* Iepazīties ar UNIX čaulas komandām un uzdot jautājumus par neskaidrībām.&lt;br /&gt;
* Versiju kontroles sistēmas github pamati.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [[LU-LSP-B11:shell-cheatsheet | UNIX čaulas populārākās komandas un lietojumi]]&lt;br /&gt;
* Lasīt [https://www.linux.com/what-is-linux Kas tas ir, Linux?] - tagad vai līdz nākamajai lekcijai&lt;br /&gt;
* Lasīt [https://web.archive.org/web/20160417114016/http://www.physics.drexel.edu/students/courses/Comp_Phys/General/C_basics/#first C valodas pamācību] no Drexel universitātes.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L01 | PD_Intro]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====05.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Programmēšanas valoda C&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vispārīgs pārskats par programmēšanas valodu C. Datu struktūras. C standarti, kompilācija, bibliotēkas, linkošana, skalārie un saliktie tipi (t.sk pointeri un masīvi), funkcijas, nosacījumi, cikli.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Klasiskā C programmēšanas valodas grāmata: Brian W. C. Kernighan &amp;amp; Dennis M. Ritchie, &amp;quot;The C Programming Language -- ANSI C,&amp;quot; Prentice Hall, 1988 &lt;br /&gt;
* [https://web.archive.org/web/20160417114016/http://www.physics.drexel.edu/students/courses/Comp_Phys/General/C_basics/#first C Language Tutorial]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====11.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Darbs ar failiem&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Sistēmas izsaukumi un standarta bibliotēkas funkcijas faila ievadam un izvadam.  Linux piedāvātās programmas darbam ar failu izvadu/ievadu  (&amp;#039;&amp;#039;cat, tail, head, less, telnet&amp;#039;&amp;#039; u.c.).  Failu ievada un izvada ātrdarbības uzlabošana, buferi., ņemot vērā sistēmas arhitektūru.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_File&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Failu kopēšana.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L02 | PD_File]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====12.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Failu sistēma&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Faila izmēra noteikšana.  Failu saites, stingrās un vājās (hard links, soft links).  Failu glabāšana un pieeja operētājsistēmā. &amp;#039;&amp;#039;i-node&amp;#039;&amp;#039; jēdziens. Sistēmas izsaukums stat(). Direktoriju struktūra.  Izsaukumi opendir(), readdir() un closedir().   &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Failu piekļuves režīmi&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Faila piekļuves tiesību režīmi pie open() un umask.  Failu un i-node izsaukumi: chmod(), link(), unlink(), remove(), rename(), symlink(), readlink(), utime(), mkdir(), rmdir(), chdir(), getcwd().  Programma rakstīšanai log failā. Log faili.  Ekskluzīva rakstīšana ar open(...O_SYNC) un fcntl() metodēm.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD3 | MD_Dir]]&amp;#039;&amp;#039;&amp;#039; - Direktoriju koka apstaigāšana.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Dir&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Direktoriju koka apstaigāšana.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L03 | PD_Dir]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[https://docs.google.com/document/d/1wmhmxU2x93yj5bha98yGwGTvUbQ5Q0ZjOTfcNQ5ndjc/edit?usp=sharing MD_Koks]&amp;#039;&amp;#039;&amp;#039; - Dzimtas koks. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====19.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Atmiņas arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Atmiņas arhitektūra. Virtuālā atmiņa. TEXT, DATA, HEAP un STACK segmenti. Koplietošanas atmiņa starp procesiem. Procedūru izsaukumi.  Parametru nodošana caur steku. Steka satura analīze un piekļuve stekam.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Virtuālā atmiņa&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Virtuālās atmiņas lapas.  Page fault un segmentation fault.  Atmiņas aizsardzība. &amp;#039;&amp;#039;setjmp()&amp;#039;&amp;#039; un &amp;#039;&amp;#039;longjmp()&amp;#039;&amp;#039;.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD4 | MD_Mem]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas rezervācijas funkciju salīdzinājums.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_An&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Programmas analīze.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L04 | PD_An]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD3 | MD_Dir]]&amp;#039;&amp;#039;&amp;#039; - Direktoriju koka apstaigāšana.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====26.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Dinamiskā atmiņa&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Dinamiskā atmiņas izdalīšana. Heap, malloc() un free(). Dienesta informācija pie atmiņas izdalīšanas un atbrīvošanas.  Brīvās atmiņas saraksti. Prasības malloc() un free() veiktspējai.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Atmiņas fragmentācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Atmiņas fragmentācija. Atmiņas rezervēšanas (allocation) algoritmi,  kas darbojas uz atmiņas fragmentiem. Atmiņas &amp;#039;spaiņi&amp;#039;.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD5 | MD_Frag]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas fragmentācijas algoritmu novērtējums (&amp;#039;&amp;#039;&amp;#039;grupās&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Malloc :: PD_Heap&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; =&amp;gt; Daudz-uzdevumu vide&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Malloc&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Atmiņas rezervācija.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Heap&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Vienkāršs atmiņas alokators fiksēta izmēra objektiem.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L06 | PD_Malloc]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:L07 | PD_Heap]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD4 | MD_Mem]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas rezervācijas funkciju salīdzinājums. &lt;br /&gt;
TERMIŅŠ pārcelts nedeļu uz priekšu servera ķibeles dēļ.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====05.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Atkļūdošana&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Linux atkļūdošanas rīki un to lietošana.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Game&amp;#039;&amp;#039;&amp;#039; - Kursa projekta tēmas (spēles) izvēle&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
||&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;KD1&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; (&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;)&lt;br /&gt;
|}&lt;br /&gt;
KD1 kontroldarbs. Programmēšanas uzdevums pie datora, izmantojot apgūto vielu.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
| &amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Dbg&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; (&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;)&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Dbg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Atkļūdošanas rīki.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:LA | PD_Dbg]]&amp;#039;&amp;#039;&amp;#039; (Nav obligāti jāiesniedz)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====12.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
| &amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Daudz-uzdevumu vide&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; =&amp;gt; PD_Malloc :: PD_Heap (&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;)&lt;br /&gt;
|}&lt;br /&gt;
Daudz-uzdevumu vide. Procesi un procesu kontrole. Pavedieni (threads).  Kooperējošies procesi un preemptīvā daudz-uzdevumu metode.  Komanda &amp;#039;&amp;#039;&amp;#039;ps&amp;#039;&amp;#039;&amp;#039;.  &amp;#039;&amp;#039;getpid()&amp;#039;&amp;#039; un &amp;#039;&amp;#039;getppid()&amp;#039;&amp;#039;. &amp;#039;&amp;#039;fork()&amp;#039;&amp;#039;, &amp;#039;&amp;#039;exec()&amp;#039;&amp;#039;, &amp;#039;&amp;#039;wait()&amp;#039;&amp;#039;. &amp;#039;&amp;#039;system()&amp;#039;&amp;#039;.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Pavedieni&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Pavedieni. POSIX pavedieni. Mutex. Datu skriešanās (data race condition). Strupceļš (deadlock).&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.cs.cmu.edu/afs/cs/academic/class/15492-f07/www/pthreads.html POSIX thread (pthread) libraries]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD5 | MD_Frag]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas fragmentācijas algoritmu novērtējums (&amp;#039;&amp;#039;&amp;#039;grupās&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Thread&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Programma kas taisa N pavedienus, kur katrs izdrukā M burtus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_KD&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Kontroldarba analīze.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Spec&amp;#039;&amp;#039;&amp;#039; - Spēles noteikumu specifikācija&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:L08 | PD_Thread]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====19.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Procesa dzīves cikls :: Starpprocesu komunikācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Procesa dzīves cikls&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Procesa dzīves cikls: Procesa ielādēšana, uzsākšanās un pieci veidi  kā process var beigties. exit() un _exit().&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Starpprocesu komunikācija&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Starpprocesu komunikācija.  Faili. Pipes. Koplietošanas atmiņa. Komunikācija starp nesaistītiem procesiem. Sockets abstrakcija komunikācijai.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Game&amp;#039;&amp;#039;&amp;#039; - Kursa projekta tēmas (spēles) izvēle&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Sockets :: Servera klienta arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Sockets&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sockets abstrakcija komunikācijai. Klienta un servera arhitektūra.  Iteratīvie un paralēlie serveri. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Servera klienta arhitektūra&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
TBD: Ieskatam servera/klienta komunikācijā [http://selavo.lv/wiki/index.php/LU-LSP-b13:L11 PD11], bet nav jānodod.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Prot1&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, 1. versija&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Spec&amp;#039;&amp;#039;&amp;#039; - Spēles noteikumu specifikācija&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Jmp :: PD_PSpec&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Jmp&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;setjmp()&amp;#039;&amp;#039;,&amp;#039;&amp;#039;longjmp()&amp;#039;&amp;#039; un taimera signāls.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_PSpec&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Darbs pie kursa projekta. Spēles izvēle un specifikācija.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L05 | PD_Jmp]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;PD_PSpec&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====26.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Signāli&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Signāli. Alarm serviss un signāls.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Prot2&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, gala versija&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Prot1&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, 1. versija&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====08.04.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Tekstuālā lietotāja saskarne.&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Tekstuālā lietotāja saskarne. Ncurses bibliotēka.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [https://www.cyberciti.biz/faq/linux-install-ncurses-library-headers-on-debian-ubuntu-centos-fedora/ Ncurses library, installation and use]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spēles noteikumi finalizēti.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====08.04.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Net :: PD_PProt&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Net&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Starpprocesu komunikācija tīklā.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_PProt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Darbs pie kursa projekta. Komunikāciju protokola izstrāde.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L10 | PD_Net]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;PD_PProt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====09.04.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Dēmoni&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Programmas, kas izpildās fonā un ilgtermiņā.  Rezidenta programmas. Init.d. Upstart. Systemd. Sesijas identifikators.&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Prot2&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, gala versija&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====15.04.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Grafiskā lietotāja saskarne&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Grafiskā lietotāja saskarne. OpenGL. X-server.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====15.04.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_KP&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Darbs pie kursa projekta.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;PD_KP&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====16.04.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Konsultācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Atbildes uz studentu jautājumiem&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====xx.xx.26====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;xx:xx&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vieta: xxx.auditorija.&lt;br /&gt;
&lt;br /&gt;
Eksāmena forma: projektu demonstrācija un prezentācija (darbība, pirmkods, diskusijas).&lt;br /&gt;
Pirms eksāmena kodam kopā ar kompilācijas un palaišanas instrukcijām jābūt iesniegtam e-studijās!&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Pirms eksāmena&amp;#039;&amp;#039;&amp;#039; eStudijās jāiesniedz projekta pirmkods zip failā. Tajā jābūt iekļautam arī &amp;#039;&amp;#039;&amp;#039;readme&amp;#039;&amp;#039;&amp;#039; failam.&lt;br /&gt;
&lt;br /&gt;
Eksāmena vērtējuma plāns:&lt;br /&gt;
* Pirmkods, serveris 25%&lt;br /&gt;
* Pirmkods, klients 25%&lt;br /&gt;
* Demo un darbības testēšana 25%&lt;br /&gt;
* Prezentācija (bez slaidiem) 25%&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====xx.04-xx.05.2026====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Sesija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vērtējumu izlikšana&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Uzdevumi=&lt;br /&gt;
== Mājas darbi ==&lt;br /&gt;
&lt;br /&gt;
* [[LU-LSP-b:MD0 | MD0]]: Izlasīt kodēšanas stila dokumentus.&lt;br /&gt;
* [[LU-LSP-b:MD1 | MD_Koks]]: Ģimenes koka ģenerēšanas programma.&lt;br /&gt;
* [[LU-LSP-b:MD3 | MD3]]: Vienādo failu meklēšana direktorijas kokā.&lt;br /&gt;
* [[LU-LSP-b:MD4 | MD4]]: Atmiņas rezervācijas funkciju salīdzināšana.&lt;br /&gt;
* [[LU-LSP-b:MD5 | MD5]]: Atmiņas fragmentācijas algoritmu novērtējums.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [[LU-LSP-b:MD5 | MD5]]: Procedūru izsaukumu steka izdruka. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Eksāmens izpaužas kā kursa projekta aizstāvēšana.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* MD7 - projekta protokola specifikācija. Skatīt arī [[LU-LSP-b13:PD_client_server | PD: Klienta un servera arhitektūra]]&lt;br /&gt;
** [[LU-LSP-b11:PD_client_server | PD: Klienta un servera arhitektūra]] (praktiskā darba piezīmes)&lt;br /&gt;
** [http://selavo.lv/~kursi/LSP/md7 MD7 projekta grupu risinājumi]&lt;br /&gt;
&lt;br /&gt;
Eksāmens izpaužas kā kursa projekta aizstāvēšana.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Resursi=&lt;br /&gt;
== Pamācoši vingrinājumi un piemēri ==&lt;br /&gt;
&lt;br /&gt;
* Failu I/O buferi un sekas: divi raksta, redzam trīs...&lt;br /&gt;
* Aprēķins, cik laika vajag pārkopēt 1 TB pa baitam bez bufera.&lt;br /&gt;
* Paging: piemērs 4K x 4K masīva apstaigāšanai, mainot indeksus: 4K vs 16M page faults&lt;br /&gt;
* Vai var uzrakstīt programmu bez main()&lt;br /&gt;
* [https://wordsandbuttons.online/so_you_think_you_know_c.html So you think you know C] - tests ar 5 jautājumiem.&lt;br /&gt;
&lt;br /&gt;
== Literatūra ==&lt;br /&gt;
&lt;br /&gt;
* Advanced Programming in the UNIX(R) Environment, Second Edition, by W. Richard Stevens, Stephen A. Rago. Addison Wesley Professional, 2005, ISBN 0-201-43307-9.  (Indiešu eksemplāram ir ISBN 81-317-0005-4)&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Linux system programming&amp;quot; by Robert Love, O&amp;#039;Reilly Media, 2007, ISBN 0596009585&lt;br /&gt;
&lt;br /&gt;
* [http://www.advancedlinuxprogramming.com/ Advanced Linux Programming] by CodeSourcery LLC,&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Building Embedded Linux Systems&amp;quot; O&amp;#039;Reilly Media, 2008, ISBN 0596529686&lt;br /&gt;
&lt;br /&gt;
* [[Sublime_Text_cheat_sheet]] - Lieliskā Sublime teksta redaktora taustiņu kombinācijas&lt;br /&gt;
&lt;br /&gt;
* [http://fabiensanglard.net/c/ To become a good programmer...] - C grāmatu saraksts&lt;br /&gt;
&lt;br /&gt;
{{ProgrammersResorces}}&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=LU-DIP-m&amp;diff=11216</id>
		<title>LU-DIP-m</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=LU-DIP-m&amp;diff=11216"/>
		<updated>2026-02-26T12:00:41Z</updated>

		<summary type="html">&lt;p&gt;Leo: /* MD_RF */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Īsceļi:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[#Kalendārs | Kalendārs]] | &lt;br /&gt;
[[#Lekciju video | Video]] |&lt;br /&gt;
[[#PD | PD]] |&lt;br /&gt;
[[#MD | MD]] |&lt;br /&gt;
[[#Informācijas resursi | Resursi]] | &lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}}]] : &lt;br /&gt;
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}}]]&lt;br /&gt;
(ja ir lekcija)&lt;br /&gt;
&lt;br /&gt;
{{LUDFKurss|Digitālā projektēšana [M]|DIP|DatZ7034|2DAT7034|maģistru un doktorantu}}&lt;br /&gt;
&lt;br /&gt;
= Par kursu =&lt;br /&gt;
&lt;br /&gt;
Kursa mērķi ir iepazīstināt ar digitālo iekārtu projektēšanas aspektiem, darba plūsmu, problēmām un risinājumiem. Kursa ietvaros tiek apskatīti digitālu iekārtu un datoru arhitektūras pamata un arī sarežģītākas pakāpes elementi.&lt;br /&gt;
Kursā studenti izstrādā praktiskos darbus un kursa projektu, kura rezultāts ir digitāla iekarta, piemēram procesors, mini dators, grafikas kontrolieris, kalkulators, paralēlas attēlu apstrādes iekārta un citas iekārtas.&lt;br /&gt;
&lt;br /&gt;
=== Administratīvā informācija===&lt;br /&gt;
* Pasniedzējs: Leo Seļāvo &amp;#039;&amp;#039;(epasts: vards.uzvards @ gmail.com)&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Vērtējums = 40% mājas un praktiskie darbi, 10% dalība klasē, 20% KD1 un 30% KD2(eksāmens). --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{KursiMD|DIP|50%|10%}}&lt;br /&gt;
&lt;br /&gt;
=Kalendārs=&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4 style = &amp;#039;border-color: #ddd;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
! Datums&lt;br /&gt;
! Tēma, saturs&lt;br /&gt;
! Uzdevumi&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
==== 05.02.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievads kursā&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Digitālas iekārtas vispārējā arhitektūra un uzbūve.&lt;br /&gt;
Digitālā projektēšana, ievads, darba plūsma. Map, place, route. Laika anotācija - &amp;quot;&amp;quot;Timing back-annotation&amp;quot;&amp;quot;. Simulācija un testēšana dažādos līmeņos.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://youtu.be/sqyLYgVvtr0 Ievads (video)]&lt;br /&gt;
* [https://youtu.be/G6abrFbeazw Kas ir digitālas sistēmas (video)]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
[[#PD1 | PD1]] - LED un slēdžī&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 12.02.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Digitālo iekārtu pamatelementi&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://youtu.be/6340drM2Fm0 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Digitālo iekārtu pamatelementi, tranzistors, invertors, NAND un NOR elementi no tranzistoriem, to loģiskā uzbūve un īpašības.&lt;br /&gt;
Loģiskie elementi, minimālā kopa. Pāreja no loģiskajām izteiksmēm un tabulām uz realizāciju ar loģiskajiem elementiem. Kombinētie loģiskie elementi. Dešifrators, multipleksors, frekvences dalītājs un citi elementi.&lt;br /&gt;
Elementi ar atmiņu.  RS un D trigeri. &amp;quot;&amp;quot;Latch&amp;quot;&amp;quot; un &amp;quot;&amp;quot;D-Flip-flop&amp;quot;&amp;quot;. Reģistri un uz tiem bāzētas iekārtas. Bīdes reģistri. Skaitītāji. Uzstādīšanas un noturēšanas laiku ierobežojumi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;CMOS tehnoloģija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
MOS tranzistora uzbūve un pielietojumi loģisko iekārtu uzbūvē&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://youtu.be/knlFvRxpUuE MOS tranzistors kā pamatelements digitālajām iekārtām (video)]&lt;br /&gt;
* [https://youtu.be/I-l2bQ-C_VU Loģisko elementu uzbūve ar MOS tranzistoriem (video)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 19.02.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Aparatūru aprakstošas valodas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aparatūru aprakstošas valodas (HDL), Verilog. Valodas elementi simulācijai un sintēzei. Uzvedības un struktūras apraksts. Moduļi. Datu tipi, signāli un reģistri.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.ece.umd.edu/class/enee359a/verilog_tutorial.pdf Verilog tutorial] no UMD.&lt;br /&gt;
* [http://www.asic-world.com/verilog/veritut.html Verilog tutorial] no ASIC world.&lt;br /&gt;
* [https://uobdv.github.io/Design-Verification/Supplementary/Verilog.SLIDES.pdf Verilog lekcijas slaidi] no CMU.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots [[#MD_RF | MD_RF]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 26.02.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Instrukciju kopas arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [http://selavo.lv/kursi/dipm/dlx_handout.pdf Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Procesora instrukciju arhitektūra. Instrukciju tipi un kodēšana. Operandi. RISC un CISC arhitektūras. DLX procesora instrukciju arhitektūra. Salīdzinoši piemēri no ARM instrukciju kopas.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; [[#MD_RF | MD_RF]]&lt;br /&gt;
* Uzdots [[#MD_ALU | MD_ALU]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 05.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Risc V arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Vientakts procesora arhitektūra. Instrukciju dešifratora un skaitītāja reģistri. Reģistru fails. Aritmētiski loģiskā iekārta (ALU). Atmiņas saskarne. Instrukciju un datu kešatmiņa.&lt;br /&gt;
&lt;br /&gt;
RISC V procesora arhitektūra un instrukciju kopa.&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/eit5g6x4a7tqhla/riscv-20160507-patterson-160507071645.pdf?raw=1 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* RISC-V arhitektūras procesori un instrukciju kopa.&lt;br /&gt;
* Salīdzinošais ieskats ARM instrukciju kopā.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://riscv.org/ RISCV.org]&lt;br /&gt;
* [https://www.dropbox.com/s/8oy8yqd2bpff9rd/RISCVGreenCardv8-20151013.pdf?raw=1 RISC V Green Card]&lt;br /&gt;
* [https://five-embeddev.com/riscv-isa-manual/latest/instr-table.html RISC-V ISA Manual] - tabula ar instrukcijām un to kodiem.&lt;br /&gt;
&lt;br /&gt;
* [https://riscvasm.lucasteske.dev/# RISC-V Online Assembler]&lt;br /&gt;
* [https://www.cs.cornell.edu/courses/cs3410/2019sp/riscv/interpreter/# RISCV Interpreter] online at Cornell&lt;br /&gt;
&lt;br /&gt;
* [http://tice.sea.eseo.fr/riscv/ RISCV datapath vizualizācija]&lt;br /&gt;
&lt;br /&gt;
* [https://circuitdigest.com/article/understanding-risc-v-architecture-and-why-it-could-be-a-replacement-for-arm Risc V un ARM]&lt;br /&gt;
* [https://youtu.be/XMg0qzyMi14 Designing Open Processors at the Barcelona Supercomputing Center (video)]&lt;br /&gt;
&lt;br /&gt;
* Konferences:&lt;br /&gt;
** [https://www.dac.com/ DAC]&lt;br /&gt;
** [https://www.date-conference.com/ DATE]&lt;br /&gt;
** [https://dsd-seaa2021.unipv.it/index.html#call Euromicro DSD]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_ALU | MD_ALU]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_v0 | MD_CPU_v0]]&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 12.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Instrukciju atmiņa. RISC V Asemblers&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Instrukciju atmiņa, reģistrs, dekoderis. PC reģistrs.&lt;br /&gt;
&lt;br /&gt;
RISC V Asemblers. GNU rīki kompilācijai. Qemu simulators.&lt;br /&gt;
&lt;br /&gt;
* GNU asemblera kompilators RISC V arhitektūrai ir pieejams kā riscv64-linux-gnu-as. Ar to ir iespējams kompilēt kodu 32 bitu arhitektūrai RV32i norādot attiecīgu arhitektūras parametru:&lt;br /&gt;
 riscv64-linux-gnu-as -march=rv32e -al test.s&lt;br /&gt;
* Tad kompilēto kodu iespējams dabūt no listinga (to apstrādājot), vai arī no kompilētā elf faila ar objdump.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_v0 | MD_CPU_v0]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_IC | MD_CPU_IC]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 19.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Operatīvā atmiņa&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Operatīvā atmiņa, statiskā un dinamiskā. Atmiņas matricas un uzbūve. Kešatmiņas. Saskarnes starp atmiņu un citām iekārtām.&lt;br /&gt;
&lt;br /&gt;
Resursi:&lt;br /&gt;
* [http://ece-research.unm.edu/jimp/vlsi/slides/chap8_2.html Atmiņas uzbūve] no New Mexico Universitātes, VLSI kursa.&lt;br /&gt;
* [https://www.embedded.com/flash-101-nand-flash-vs-nor-flash/ NAND un NOR zibatmiņa] (embedded.com)&lt;br /&gt;
* [https://www.enterprisestorageforum.com/hardware/slc-vs-mlc-vs-tlc-nand-flash/ SLV, MLC, TLC Flash memory] (Enterprise storage forum)&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_IC | MD_CPU_IC]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_DC | MD_CPU_DC]]&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 26.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Vadības kontrole&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Branch instrukcijas. Jump-and-link instrukcijas. &lt;br /&gt;
To realizācija vientakts procesorā. &lt;br /&gt;
Branch prediction. Heristikas vadības kontroles optimizācijai.&lt;br /&gt;
&lt;br /&gt;
Kešatmiņa. Asociatīvā atmiņa. &lt;br /&gt;
&amp;quot;N-way set associative cache memory&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_DC | MD_CPU_DC]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_Branch | MD_CPU_Branch]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 09.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;GPIO&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
GPIO - General Purpose Input Output. Datu ievads un izvads ar kartētu atmiņu (memory mapped IO). Mikrokontroliera perifērijas iekārtu reģistri. Reģistrs lasīšanas un rakstīšanas virzienam. Saskarnes savietošana ar operatīvās atmiņas saskarni.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots: [[#MD_GPIO | MD_GPIO]]&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 16.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Procesora arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://youtu.be/P2CARhD2k3A Slaidi/video]&lt;br /&gt;
Procesora arhitektūra. Daudz-taktu procesors un konveijera princips.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_Branch | MD_CPU_Branch]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 23.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Metrikas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Digitālas projektēšanas metrikas. Funkcionalitāte. Izmaksas, fiksētās un mainīgās. Uzticamība, izturība. Trokšņu noturība un imunitāte. Veiktspēja. Ātrums un enerģijas patēriņš. Projektēšanas laiks.&lt;br /&gt;
* [https://www.dropbox.com/s/aoyenqlkhaz1yoe/Metrics_Leo.pdf?raw=1 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Resursi:&lt;br /&gt;
* [https://semiengineering.com/from-design-to-deployment-how-silicon-lifecycle-management-optimizes-the-entire-ic-life-span/ Silicon lifecycle...]&lt;br /&gt;
* [https://anysilicon.com/when-and-why-should-you-choose-an-asic/ When and why ASIC...]&lt;br /&gt;
&lt;br /&gt;
* [https://qr.ae/pC3aan Dealing with faults on billion-transistor chips] (Quora)&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 30.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Programmējamās loģikas iekārtas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://youtu.be/JEiLcHtgSlE Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Programmējamās loģikas iekārtas, CPLD un FPGA. FPGA uzbūve. Konfigurējami loģiskie elementi. Ievada un izvada elementi. Komunikācija, maģistrāles.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://www.electronicsforu.com/technology-trends/fpga-vs-cpld-microcontrollers FPGA vs CPLD vs Microcontrollers] (from electronicsforu.com)&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/data_sheets/ds312.pdf Spartan-3E FPGA Family Data Sheet]&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/data_sheets/ds090.pdf CoolRunner II CPLD Family]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 07.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;FPGA kā serviss&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vieslekcija. Attālināta FPGA attīstītājrīku programmēšana un testēšana.&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_GPIO | MD_GPIO]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 14.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;(Vieslekcija)&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FPGA pielietojumi kosmosa tehnoloģijās.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 21.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Superskalāras arhitektūras&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://www.dropbox.com/s/7nrd0ke682oc935/13_Superscalar.pdf?raw=1 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Superskalārie procesori un to uzbūve. Paralēlu ALU izmantošanas stratēģijas.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 28.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Dinamiska instrukciju plānošana&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Instrukciju paralelisms, ciklu atrullēšana, Scoreboarding un Tomasulo arhitektūras.&lt;br /&gt;
&lt;br /&gt;
Slaidi:&lt;br /&gt;
* [https://www.dropbox.com/s/ieks943pmn4ikpm/ECE570_dynamic_scheduling.pdf?raw=1 Scoreboarding algoritms]&lt;br /&gt;
* [https://www.dropbox.com/s/1a1s4d95k5plotb/Lecture04_tomasulo.pdf?raw=1 Tomasulo algoritms]&lt;br /&gt;
&lt;br /&gt;
Resursi:&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Tomasulo%27s_algorithm Par Tomasulo algoritmu] no Wikipedijas&lt;br /&gt;
* [http://nathantypanski.github.io/tomasulo-simulator/ Tomasulo simulators]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://serenefield.com/Blog/posts/HighPerformanceArchitecture/2021-01-28_High-Performance-Computer-Architecture-13---Tomasulo-s-Algorithm-Part-1-8c65788dec07.html Ievads Tomasulo algoritmā] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 28.05.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Kopsavilkums&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Daudzkodolu procesori un CUDA&lt;br /&gt;
* [https://sites.google.com/a/nirmauni.ac.in/cudacodes/cuda-material/tutorial-3 GPU Computing: The Democratization of Parallel Computing] - seminārs, ASPLOS&amp;#039;08&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== xx.06.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
xx:xx Eksāmens.&lt;br /&gt;
&lt;br /&gt;
Projektu demonstrācijas un plakāti.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
Eksāmenā:&lt;br /&gt;
* Risinājuma pirmkods un projekts kā zip fails&lt;br /&gt;
* Dokumentācija jūsu risinājumam &amp;quot;Datasheet&amp;quot;.&lt;br /&gt;
* Jānodod eseja (e-studijās), kurā aprakstīti projekta izaicinājumi un sasniegumi kā arī tehniskā informācija par projektu.&lt;br /&gt;
* Bez tam, jāizveido plakāts, kas būs jāprezentē mutiski un jāatbild uz jautājumiem. PDF formātā (e-studijās).&lt;br /&gt;
** [[LU::poster-howto | Ieteikumi plakāta prezentācijas]] veidošanā&lt;br /&gt;
* Ja projektā ir demonstrējama daļa, tad jāveic arī tā demonstrācija.&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Lekciju video =&lt;br /&gt;
Lekciju [https://www.youtube.com/playlist?list=PL32WMyFDbfNnVb3nFI9Tku5O8ukKBxs6Z videomateriāls ir pieejams Youtube]. Sīkāk, pa tēmām:&lt;br /&gt;
* [https://youtu.be/sqyLYgVvtr0 Ievads kursa pirmajai daļai.]&lt;br /&gt;
* [https://youtu.be/G6abrFbeazw Digitālas sistēmas.]&lt;br /&gt;
* [https://youtu.be/6340drM2Fm0 Loģikas pamatelementi.]&lt;br /&gt;
* [https://youtu.be/knlFvRxpUuE Tranzistora uzbūve.]&lt;br /&gt;
* [https://youtu.be/I-l2bQ-C_VU Tranzistoru lietojumi.]&lt;br /&gt;
* [https://youtu.be/hDOUl1ViMdc Laika atkarīgi elementi.]&lt;br /&gt;
* [https://youtu.be/1spw-GAsDLk Trigeri un &amp;quot;latch&amp;quot; iekārtas.]&lt;br /&gt;
* [https://youtu.be/P2CARhD2k3A CPU uzbūve un konveijera princips.]&lt;br /&gt;
* [https://youtu.be/JEiLcHtgSlE FPGA uzbūve.]&lt;br /&gt;
&lt;br /&gt;
= PD =&lt;br /&gt;
Praktiskie darbi.&lt;br /&gt;
&lt;br /&gt;
===PD1===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LED un slēdži&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* apgūt darba plūsmu ar FPGA shēmas ievadu, kompilāciju un dizaina augžuplādēšanu uz FPGA iekārtas.&lt;br /&gt;
* lietot FPGA ievada un izvada portus (pinus).&lt;br /&gt;
* lietot elementāras loģikas elementus shēmā.&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot digitālu iekārtu, kas izmanto ievada elementus (slēdžus) un izvada elementus (LED).&lt;br /&gt;
* Shēmas ievads&lt;br /&gt;
* Kompilācija&lt;br /&gt;
* Uzlādēšana uz reālas FPGA iekārtas&lt;br /&gt;
* Pārbaude&lt;br /&gt;
&lt;br /&gt;
Iekārtai jāveic sekojošas darbības:&lt;br /&gt;
* SW1 slēdzis ieslēdz un izslēdz LED1 spīddiodi.&lt;br /&gt;
* SW2 un SW3 slēdži veido ievaddatus XOR elementam, kura rezultats tiek izvadīts uz LED2.&lt;br /&gt;
* Spīddiode LED3, kas ieslēdzas un izslēdzas reizi sekundē. SW4 to var apstādināt un iedarbināt.&lt;br /&gt;
&lt;br /&gt;
Praktiskajā darbā izstrādātā iekārta jādemonstrē uz FPGA iekārtas.&lt;br /&gt;
&lt;br /&gt;
Resusrsi:&lt;br /&gt;
* [http://www.xilinx.com/support/documentation/boards_and_kits/ug230.pdf Xilinx Spartan-3E FPGA Starter Kit Board User Guide]&lt;br /&gt;
* [https://eprints.qut.edu.au/76297/1/Spartan3E_Tutorial_1ver2.pdf Spartan 3E Tutorial] no Queensland University of Technology&lt;br /&gt;
&lt;br /&gt;
===PD_Counter===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Skaitītāja simulācija&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* Iepazīties ar FPGA elementu bibliotēkas skaitītāja moduļiem&lt;br /&gt;
* Iemācīties, kā darbināt simulācijas&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izveidot shēmu iekārtai, kas izmantojot takts signālu realizē 4 bitu bināru skaitītāju.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulātoru (ISim vai Modelsim)&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* PDF dokumentu kurā ir gan iekārtas shēma, gan arī simulācijas rezultāti un īss pieredzes apraksts.&lt;br /&gt;
&lt;br /&gt;
===PD_Calc===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kalkulators: stāvokļu diagramma un kontrolieris&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===== Mērķi =====&lt;br /&gt;
* Iepazīties ar galīgo automātu projektēšanu un implementāciju Verilog valodā&lt;br /&gt;
* Projektēt digitālu sistēmu ar kontrolieri&lt;br /&gt;
* Simulēt kontroliera dizainu&lt;br /&gt;
&lt;br /&gt;
===== Uzdevums =====&lt;br /&gt;
Izveidot funkcionālu kalkulatora moduli, kas reaģē uz taustiņu signāliem veic saskaitīšanas un atņemšanas operācijas. &lt;br /&gt;
Kalkulators strādā heksadecimālā sistēmā, tātad, tam ir 16 ciparu taustiņi: 0,1,2...8,9,A,B,C,D,E,F.&lt;br /&gt;
Bez tam ir arī operāciju taustiņi: CLR - nodzēst rezultātu, un operācijas +, - un =.&lt;br /&gt;
Nospiežot katru taustiņu tiek pacelts signāls BtnDown. Atlaižot taustiņu tas tiek nolaists.&lt;br /&gt;
Jāveic sekojoši uzdevumi:&lt;br /&gt;
* Izveidot projektu kalkulatoram ar Verilog vai shēmu diagrammu.&lt;br /&gt;
* Izveidot kontrolieri, kas balstīts uz vienu vai vairākiem galīgiem stāvokļu automātiem.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulātoru Xilinx ISim.&lt;br /&gt;
&lt;br /&gt;
===== Iesniegt =====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* PDF dokumentu kurā ir gan iekārtas shēma, gan arī simulācijas rezultāti un īss pieredzes apraksts.&lt;br /&gt;
* Iekārtas un testēšanas Verilog pirmkoda failus.&lt;br /&gt;
&lt;br /&gt;
===PD_VGA===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Šaha laukums&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* iepazīties ar VGA signālu protokolu&lt;br /&gt;
* izpildīt iekartas dizainu Verilog valodā&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot iekārtu, kas uz monitora ekrāna attēlo 8x8 šaha lauciņu. &lt;br /&gt;
Darba gaita iepazīties ar video signāla formu un laika parametriem. &lt;br /&gt;
Darbu atļauts izpildīt daļēji vai pilnīgi Verilog valodā. &lt;br /&gt;
&lt;br /&gt;
Praktiskajā darbā izstrādātā iekārta jādemonstrē uz Spartan 3E FPGA iekārtas, kam pieslēgts monitors.&lt;br /&gt;
&lt;br /&gt;
Izstrādātā risinājuma pirmkoda faili jāarhivē failā vards_uzvards_PD2.zip un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
===PD_Kbd===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Klaviatūra un Ciparu izvads&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* iepazīties ar PS/2 (klaviatūras) protokolu&lt;br /&gt;
* Izstrādāt stāvokļu mašīnu - galīgo automātu kalkulatora darbībai&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot digitālu iekārtu, kas darbojas kā kalkulators ar skaitļiem heksadecimālajā sistēmā un var izpildīt saskaitīšanas un atņemšanas operācijas.&lt;br /&gt;
&lt;br /&gt;
Skaitļu ievads ir no klaviatūras, kas pieslēdta ar PS/2 portu.&lt;br /&gt;
&lt;br /&gt;
Skaitļu izvads ir uz LCD ekrāna.&lt;br /&gt;
&lt;br /&gt;
Izstrādātā risinājuma pirmkoda faili jāarhivē failā vards_uzvards_PD3.zip un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
= MD =&lt;br /&gt;
Mājas darbi.&lt;br /&gt;
&lt;br /&gt;
===MD1===&lt;br /&gt;
&lt;br /&gt;
Novērtēt Spartan 3E attīstītājrīka un FPGA iespējas. Atbildēt uz jautājumu: vai iespējams uz Spartan 3E realizēt datoru, kas varētu darbināt Linux klases operētājsistēmu? Atbildi &amp;#039;&amp;#039;&amp;#039;pamatot&amp;#039;&amp;#039;&amp;#039;, izvērtējot &amp;#039;&amp;#039;&amp;#039;nepieciešamos un atbilstošos pieejamos resursus&amp;#039;&amp;#039;&amp;#039; gan FPGA, gan perifērijas iekārtu kontekstā.&lt;br /&gt;
&lt;br /&gt;
Atbilde noformējama kā eseja PDF failā vards_uzvards_MD1.pdf un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
===MD2===&lt;br /&gt;
&lt;br /&gt;
Aprakstīt ideju kursā realizējamam projektam, ko izstrādāsiet uz FPGA iekārtas.&lt;br /&gt;
Iekļaut sekojošas sadaļas:&lt;br /&gt;
* Vai tas ir individuāls vai komandas darbs. Ja komandas, tad pievienot dalībnieku sarakstu un to lomu projektā&lt;br /&gt;
* Mērķis un motivācija&lt;br /&gt;
* Nepieciešamie resursi&lt;br /&gt;
* Risinājuma apraksts&lt;br /&gt;
* Realizācijas plāns ar konkrētiem datumiem un starpmērķiem, kas tajos sasniedzami&lt;br /&gt;
&lt;br /&gt;
Atbilde noformējama kā dokuments PDF failā vards_uzvards_MD2.pdf un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MD_OpenGL===&lt;br /&gt;
&lt;br /&gt;
Uzzīmēt un aprakstīt video kontroliera shēmu, kas atbalsta minimālu OpenGL vai līdzīgu instrukciju kopu.&lt;br /&gt;
Instrukcijas tiek nodotas no datora pa seriālo portu. Instrukcijas jāatkodē un jāizpilda, izmainot lokālu video buferi. No bufera attēls jāizvada uz  iebūvēto VGA portu attēla izvadei.&lt;br /&gt;
&lt;br /&gt;
Atbilde noformējama kā dokuments PDF failā vards_uzvards_MDx.pdf un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
===MD_RF===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Reģistru fails un simulācija&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* Pamatelementu un reģistru lietojums Verilog valodā&lt;br /&gt;
* Projekta simulācija&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot 32x32 reģistru failu procesoram. Veikt simulāciju ar ISim, kas pārbauda tā darbību.&lt;br /&gt;
&lt;br /&gt;
* Reģistru failā ir 32 biti&lt;br /&gt;
* Katrs reģistrs ir 32 bitus garš&lt;br /&gt;
* Turpmāk aprakstā  portu/signālu bitu skaits tiek norādīts aiz tiem iekavās.&lt;br /&gt;
* Ir divi porti A(32) un B(32), kas ļauj vienlaicīgi nolasīt divu reģistru vērtības. Lasāmo reģistru adreses tiek norādītas ar AA(5) un AB(5)&lt;br /&gt;
* Ir viens ports D(32), kas ļauj ierakstīt viena reģistra vērtību CLK uzlecošās frontes notikuma brīdī, ja ir iespējota rakstīšana ar signālu WR. Reģistrs, kurā rakstīt, tiek norādīts ar signālu AD(5).&lt;br /&gt;
* Lasīšanas un rakstīšanas darbībām jāvar notikt paralēli, vienlaicīgi.&lt;br /&gt;
&lt;br /&gt;
Demonstrēt iekārtas darbību ar simulatoru ISim [https://www.youtube.com/watch?v=9iQfqhUfAcE (pamācības video)]&lt;br /&gt;
* Simulācijas daļā demonstrēt, kā informācija tiek rakstīta visos reģistros, kā arī lasīta no tiem. Lai veiktu šo simulāciju, izveidot testa moduli (testbench) atsevišķā Verilog failā.&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkodu reģistru failam un tā testa modulim.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_ALU===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Aritmētiski loģiskā ierīce (ALU)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* Izpētīt ISA un izstrādāt specifikāciju atbilstošam procesora ALU&lt;br /&gt;
* ALU izstrāde&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt ALU kas atbilst RISCV R32I instrukciju kopai &lt;br /&gt;
* ALU nepieciešams nodrošināt sekojošu saskarni:&lt;br /&gt;
** A un B ir datu ievadda maģistrāles, 32 biti, vai ideāli, parametrizējamas.&lt;br /&gt;
** OUT ir rezultāts, arī datu maģistrāle&lt;br /&gt;
** OPCODE - ievads, ALU operācijas kods&lt;br /&gt;
** karodziņi, kas indicē:&lt;br /&gt;
*** V - Overflow&lt;br /&gt;
*** Z - Zero&lt;br /&gt;
*** N - Negative&lt;br /&gt;
*** C - Carry&lt;br /&gt;
* Demonstrēt iekārtas darbību vairākām instrukcijām, ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISCV reference card] - instrukciju tipi, kopsavilkums&lt;br /&gt;
* [https://inst.eecs.berkeley.edu/~cs61c/fa17/img/riscvcard.pdf RISCV Reference sheet] - instrukciju saraksts&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISCV specifikācijas protāls un dokumenti]&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda fails ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_v0===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt instrukciju dekoderi un aritmētisko instrukciju datu plūsmu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt instrukciju dekoderi pēc RISC V R32I ISA Green card.&lt;br /&gt;
* Izstrādāt vienkāršu kontrolieri, kas tulko instrukciju operāciju kodus uz ALU operāciju kodiem, un reģistru faila WE (Write Enable) signālu.&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vienkāršas instrukcijas pa vienai.&lt;br /&gt;
&lt;br /&gt;
CPU prototipam (v0) jāsavieno reģistru fails, ALU un instrukciju dekoderis un operāciju kodu kontrolieris tā, lai būtu iespējams ieejā dot vienas instrukcijas 32 bitu kodu, un tā tiktu izpildīta, un rezultāts ierakstīts attiecīgajā reģistrā pēc CLK takts signāla augošās frontes.&lt;br /&gt;
&lt;br /&gt;
* Demonstrēt iekārtas darbību vairākām instrukcijām, ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* RISC V dokumentācija&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_IC===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips ar instrukciju kešatmiņu&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt instrukciju kešatmiņu un RISC V asemblera kompilāciju.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt instrukciju kešatmiņu, instrukciju reģistru, PC reģistru.&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vienkāršas instrukcijas no instrukciju atmiņas. Katrs takts signāls CLK ielasa un izpilda nākamo instrukciju.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu instrukciju testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Instrukciju kešatmiņas modulim ielasīt kompilētu programmu (no teksta faila), Verilog kompilācijas solī.&lt;br /&gt;
&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISC V dokumentācija]&lt;br /&gt;
* [https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md RISC V Assembly manual]&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISC V Green card]&lt;br /&gt;
* [https://riscvasm.lucasteske.dev/# RiscV kompilators online]&lt;br /&gt;
&lt;br /&gt;
GNU asemblera kompilators RISC V arhitektūrai ir pieejams kā riscv64-linux-gnu-as.&lt;br /&gt;
Ar to ir iespējams kompilēt kodu 32 bitu arhitektūrai RV32i norādot attiecīgu arhitektūras parametru:&lt;br /&gt;
 riscv64-linux-gnu-as -march=rv32e -al test.s&lt;br /&gt;
&lt;br /&gt;
Tad kompilēto kodu iespējams dabūt no listinga (to apstrādājot), vai arī no kompilētā elf faila ar objdump.&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog un citi saistītie pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* Testa programma asemblerā&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_DC===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips ar datu kešatmiņu&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt datu kešatmiņu un saskarni ar operatīvo atmiņu.&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt datu kešatmiņu.&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vienkāršas instrukcijas ar atmiņu, piemēram Load un Store.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu instrukciju testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISC V dokumentācija]&lt;br /&gt;
* [https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md RISC V Assembly manual]&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISC V Green card]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_Branch===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips ar Branch un Jump-and-link instrukciju realizāciju&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt Branch un Jump-and-link instrukciju darbības un dizaina principus.&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt Branch instrukcijas saskaņā ar RISC V instrukciju kopu&lt;br /&gt;
** BEQ, BNE, BLT, BGE, BLTU, BGEU.&lt;br /&gt;
* Izstrādāt Jump-and-link instrukcijas saskaņā ar RISC V instrukciju kopu&lt;br /&gt;
** JAL, JALR&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vadības kontroles instrukcijas.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu instrukciju testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISC V dokumentācija]&lt;br /&gt;
* [https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md RISC V Assembly manual]&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISC V Green card]&lt;br /&gt;
* [https://github.com/jameslzhu/riscv-card/blob/master/riscv-card.pdf RISC V unofficial Reference card]&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_GPIO===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Universāls perifērijas datu ievads un izvads (GPIO) &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt datu apmaiņas principus starp mikroprocesoru un perifērijas iekārtām.&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt moduļus pikrokontroliera ārējai iekārtai GPIO, kas spēj nodot un lasīt datus rakstot īpašā adresē.&lt;br /&gt;
** Ieslēgt un izslēgt 8 LED, kas kartēti uz vienu baitu atmiņā. Katram LED atbilst savs bits baitā.&lt;br /&gt;
** Nolasīt 8 slēdžu (Switch) stāvokļus lasot vienu baitu pēc konkrētas atmiņas adreses. Katram slēdzim atbilst savs bits baitā.&lt;br /&gt;
** Realizēt GPIO iekārtas saskarni caur baitu konkrētā adresē operatīvajā atmiņā. Saskarni realizēt ar diviem reģistriem: Datu virziena reģistru un Datu reģistru.&lt;br /&gt;
&lt;br /&gt;
* Dizainu organizēt tā, lai izveidotie GPIO moduļi var tikt pielietoti arī citām perifērijas iekārtām:&lt;br /&gt;
** Konfigurējot piekļuvi ārējām iekārtām caur UCF failu&lt;br /&gt;
** Integrējot citus iekšējos moduļus kas izstrādāti Verilog vai shēmtehnikā.&lt;br /&gt;
&lt;br /&gt;
* Integrēt GPIO jūsu CPU projektā.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu GPIO testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar aparatūru.&lt;br /&gt;
&lt;br /&gt;
Piemēram var apskatīt GPIO organizāciju dažādu mikrokontrolieru dokumentācijā, piemēram Atmega328p.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf Atmega328p mikrokontroliera dokumentācija]&lt;br /&gt;
* [https://github.com/elomage/FPGA-resources/blob/main/ucf_templates/Anvyl.ucf UCF faila piemērs ANVYL attīstītājrīkam]&lt;br /&gt;
* [https://en.wikipedia.org/wiki/General-purpose_input/output General purpose input/output] - Wikipedia&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
= Informācijas resursi =&lt;br /&gt;
&lt;br /&gt;
{{DIP_saites}}&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=LU-DIP-m&amp;diff=11215</id>
		<title>LU-DIP-m</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=LU-DIP-m&amp;diff=11215"/>
		<updated>2026-02-26T12:00:13Z</updated>

		<summary type="html">&lt;p&gt;Leo: /* MD_ALU */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Īsceļi:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[#Kalendārs | Kalendārs]] | &lt;br /&gt;
[[#Lekciju video | Video]] |&lt;br /&gt;
[[#PD | PD]] |&lt;br /&gt;
[[#MD | MD]] |&lt;br /&gt;
[[#Informācijas resursi | Resursi]] | &lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}}]] : &lt;br /&gt;
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}}]]&lt;br /&gt;
(ja ir lekcija)&lt;br /&gt;
&lt;br /&gt;
{{LUDFKurss|Digitālā projektēšana [M]|DIP|DatZ7034|2DAT7034|maģistru un doktorantu}}&lt;br /&gt;
&lt;br /&gt;
= Par kursu =&lt;br /&gt;
&lt;br /&gt;
Kursa mērķi ir iepazīstināt ar digitālo iekārtu projektēšanas aspektiem, darba plūsmu, problēmām un risinājumiem. Kursa ietvaros tiek apskatīti digitālu iekārtu un datoru arhitektūras pamata un arī sarežģītākas pakāpes elementi.&lt;br /&gt;
Kursā studenti izstrādā praktiskos darbus un kursa projektu, kura rezultāts ir digitāla iekarta, piemēram procesors, mini dators, grafikas kontrolieris, kalkulators, paralēlas attēlu apstrādes iekārta un citas iekārtas.&lt;br /&gt;
&lt;br /&gt;
=== Administratīvā informācija===&lt;br /&gt;
* Pasniedzējs: Leo Seļāvo &amp;#039;&amp;#039;(epasts: vards.uzvards @ gmail.com)&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Vērtējums = 40% mājas un praktiskie darbi, 10% dalība klasē, 20% KD1 un 30% KD2(eksāmens). --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{KursiMD|DIP|50%|10%}}&lt;br /&gt;
&lt;br /&gt;
=Kalendārs=&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4 style = &amp;#039;border-color: #ddd;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
! Datums&lt;br /&gt;
! Tēma, saturs&lt;br /&gt;
! Uzdevumi&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
==== 05.02.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievads kursā&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Digitālas iekārtas vispārējā arhitektūra un uzbūve.&lt;br /&gt;
Digitālā projektēšana, ievads, darba plūsma. Map, place, route. Laika anotācija - &amp;quot;&amp;quot;Timing back-annotation&amp;quot;&amp;quot;. Simulācija un testēšana dažādos līmeņos.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://youtu.be/sqyLYgVvtr0 Ievads (video)]&lt;br /&gt;
* [https://youtu.be/G6abrFbeazw Kas ir digitālas sistēmas (video)]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
[[#PD1 | PD1]] - LED un slēdžī&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 12.02.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Digitālo iekārtu pamatelementi&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://youtu.be/6340drM2Fm0 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Digitālo iekārtu pamatelementi, tranzistors, invertors, NAND un NOR elementi no tranzistoriem, to loģiskā uzbūve un īpašības.&lt;br /&gt;
Loģiskie elementi, minimālā kopa. Pāreja no loģiskajām izteiksmēm un tabulām uz realizāciju ar loģiskajiem elementiem. Kombinētie loģiskie elementi. Dešifrators, multipleksors, frekvences dalītājs un citi elementi.&lt;br /&gt;
Elementi ar atmiņu.  RS un D trigeri. &amp;quot;&amp;quot;Latch&amp;quot;&amp;quot; un &amp;quot;&amp;quot;D-Flip-flop&amp;quot;&amp;quot;. Reģistri un uz tiem bāzētas iekārtas. Bīdes reģistri. Skaitītāji. Uzstādīšanas un noturēšanas laiku ierobežojumi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;CMOS tehnoloģija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
MOS tranzistora uzbūve un pielietojumi loģisko iekārtu uzbūvē&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://youtu.be/knlFvRxpUuE MOS tranzistors kā pamatelements digitālajām iekārtām (video)]&lt;br /&gt;
* [https://youtu.be/I-l2bQ-C_VU Loģisko elementu uzbūve ar MOS tranzistoriem (video)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 19.02.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Aparatūru aprakstošas valodas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aparatūru aprakstošas valodas (HDL), Verilog. Valodas elementi simulācijai un sintēzei. Uzvedības un struktūras apraksts. Moduļi. Datu tipi, signāli un reģistri.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.ece.umd.edu/class/enee359a/verilog_tutorial.pdf Verilog tutorial] no UMD.&lt;br /&gt;
* [http://www.asic-world.com/verilog/veritut.html Verilog tutorial] no ASIC world.&lt;br /&gt;
* [https://uobdv.github.io/Design-Verification/Supplementary/Verilog.SLIDES.pdf Verilog lekcijas slaidi] no CMU.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots [[#MD_RF | MD_RF]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 26.02.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Instrukciju kopas arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [http://selavo.lv/kursi/dipm/dlx_handout.pdf Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Procesora instrukciju arhitektūra. Instrukciju tipi un kodēšana. Operandi. RISC un CISC arhitektūras. DLX procesora instrukciju arhitektūra. Salīdzinoši piemēri no ARM instrukciju kopas.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; [[#MD_RF | MD_RF]]&lt;br /&gt;
* Uzdots [[#MD_ALU | MD_ALU]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 05.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Risc V arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Vientakts procesora arhitektūra. Instrukciju dešifratora un skaitītāja reģistri. Reģistru fails. Aritmētiski loģiskā iekārta (ALU). Atmiņas saskarne. Instrukciju un datu kešatmiņa.&lt;br /&gt;
&lt;br /&gt;
RISC V procesora arhitektūra un instrukciju kopa.&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/eit5g6x4a7tqhla/riscv-20160507-patterson-160507071645.pdf?raw=1 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* RISC-V arhitektūras procesori un instrukciju kopa.&lt;br /&gt;
* Salīdzinošais ieskats ARM instrukciju kopā.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://riscv.org/ RISCV.org]&lt;br /&gt;
* [https://www.dropbox.com/s/8oy8yqd2bpff9rd/RISCVGreenCardv8-20151013.pdf?raw=1 RISC V Green Card]&lt;br /&gt;
* [https://five-embeddev.com/riscv-isa-manual/latest/instr-table.html RISC-V ISA Manual] - tabula ar instrukcijām un to kodiem.&lt;br /&gt;
&lt;br /&gt;
* [https://riscvasm.lucasteske.dev/# RISC-V Online Assembler]&lt;br /&gt;
* [https://www.cs.cornell.edu/courses/cs3410/2019sp/riscv/interpreter/# RISCV Interpreter] online at Cornell&lt;br /&gt;
&lt;br /&gt;
* [http://tice.sea.eseo.fr/riscv/ RISCV datapath vizualizācija]&lt;br /&gt;
&lt;br /&gt;
* [https://circuitdigest.com/article/understanding-risc-v-architecture-and-why-it-could-be-a-replacement-for-arm Risc V un ARM]&lt;br /&gt;
* [https://youtu.be/XMg0qzyMi14 Designing Open Processors at the Barcelona Supercomputing Center (video)]&lt;br /&gt;
&lt;br /&gt;
* Konferences:&lt;br /&gt;
** [https://www.dac.com/ DAC]&lt;br /&gt;
** [https://www.date-conference.com/ DATE]&lt;br /&gt;
** [https://dsd-seaa2021.unipv.it/index.html#call Euromicro DSD]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_ALU | MD_ALU]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_v0 | MD_CPU_v0]]&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 12.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Instrukciju atmiņa. RISC V Asemblers&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Instrukciju atmiņa, reģistrs, dekoderis. PC reģistrs.&lt;br /&gt;
&lt;br /&gt;
RISC V Asemblers. GNU rīki kompilācijai. Qemu simulators.&lt;br /&gt;
&lt;br /&gt;
* GNU asemblera kompilators RISC V arhitektūrai ir pieejams kā riscv64-linux-gnu-as. Ar to ir iespējams kompilēt kodu 32 bitu arhitektūrai RV32i norādot attiecīgu arhitektūras parametru:&lt;br /&gt;
 riscv64-linux-gnu-as -march=rv32e -al test.s&lt;br /&gt;
* Tad kompilēto kodu iespējams dabūt no listinga (to apstrādājot), vai arī no kompilētā elf faila ar objdump.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_v0 | MD_CPU_v0]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_IC | MD_CPU_IC]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 19.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Operatīvā atmiņa&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Operatīvā atmiņa, statiskā un dinamiskā. Atmiņas matricas un uzbūve. Kešatmiņas. Saskarnes starp atmiņu un citām iekārtām.&lt;br /&gt;
&lt;br /&gt;
Resursi:&lt;br /&gt;
* [http://ece-research.unm.edu/jimp/vlsi/slides/chap8_2.html Atmiņas uzbūve] no New Mexico Universitātes, VLSI kursa.&lt;br /&gt;
* [https://www.embedded.com/flash-101-nand-flash-vs-nor-flash/ NAND un NOR zibatmiņa] (embedded.com)&lt;br /&gt;
* [https://www.enterprisestorageforum.com/hardware/slc-vs-mlc-vs-tlc-nand-flash/ SLV, MLC, TLC Flash memory] (Enterprise storage forum)&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_IC | MD_CPU_IC]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_DC | MD_CPU_DC]]&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 26.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Vadības kontrole&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Branch instrukcijas. Jump-and-link instrukcijas. &lt;br /&gt;
To realizācija vientakts procesorā. &lt;br /&gt;
Branch prediction. Heristikas vadības kontroles optimizācijai.&lt;br /&gt;
&lt;br /&gt;
Kešatmiņa. Asociatīvā atmiņa. &lt;br /&gt;
&amp;quot;N-way set associative cache memory&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_DC | MD_CPU_DC]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_Branch | MD_CPU_Branch]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 09.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;GPIO&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
GPIO - General Purpose Input Output. Datu ievads un izvads ar kartētu atmiņu (memory mapped IO). Mikrokontroliera perifērijas iekārtu reģistri. Reģistrs lasīšanas un rakstīšanas virzienam. Saskarnes savietošana ar operatīvās atmiņas saskarni.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots: [[#MD_GPIO | MD_GPIO]]&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 16.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Procesora arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://youtu.be/P2CARhD2k3A Slaidi/video]&lt;br /&gt;
Procesora arhitektūra. Daudz-taktu procesors un konveijera princips.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_Branch | MD_CPU_Branch]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 23.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Metrikas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Digitālas projektēšanas metrikas. Funkcionalitāte. Izmaksas, fiksētās un mainīgās. Uzticamība, izturība. Trokšņu noturība un imunitāte. Veiktspēja. Ātrums un enerģijas patēriņš. Projektēšanas laiks.&lt;br /&gt;
* [https://www.dropbox.com/s/aoyenqlkhaz1yoe/Metrics_Leo.pdf?raw=1 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Resursi:&lt;br /&gt;
* [https://semiengineering.com/from-design-to-deployment-how-silicon-lifecycle-management-optimizes-the-entire-ic-life-span/ Silicon lifecycle...]&lt;br /&gt;
* [https://anysilicon.com/when-and-why-should-you-choose-an-asic/ When and why ASIC...]&lt;br /&gt;
&lt;br /&gt;
* [https://qr.ae/pC3aan Dealing with faults on billion-transistor chips] (Quora)&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 30.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Programmējamās loģikas iekārtas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://youtu.be/JEiLcHtgSlE Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Programmējamās loģikas iekārtas, CPLD un FPGA. FPGA uzbūve. Konfigurējami loģiskie elementi. Ievada un izvada elementi. Komunikācija, maģistrāles.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://www.electronicsforu.com/technology-trends/fpga-vs-cpld-microcontrollers FPGA vs CPLD vs Microcontrollers] (from electronicsforu.com)&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/data_sheets/ds312.pdf Spartan-3E FPGA Family Data Sheet]&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/data_sheets/ds090.pdf CoolRunner II CPLD Family]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 07.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;FPGA kā serviss&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vieslekcija. Attālināta FPGA attīstītājrīku programmēšana un testēšana.&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_GPIO | MD_GPIO]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 14.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;(Vieslekcija)&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FPGA pielietojumi kosmosa tehnoloģijās.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 21.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Superskalāras arhitektūras&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://www.dropbox.com/s/7nrd0ke682oc935/13_Superscalar.pdf?raw=1 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Superskalārie procesori un to uzbūve. Paralēlu ALU izmantošanas stratēģijas.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 28.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Dinamiska instrukciju plānošana&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Instrukciju paralelisms, ciklu atrullēšana, Scoreboarding un Tomasulo arhitektūras.&lt;br /&gt;
&lt;br /&gt;
Slaidi:&lt;br /&gt;
* [https://www.dropbox.com/s/ieks943pmn4ikpm/ECE570_dynamic_scheduling.pdf?raw=1 Scoreboarding algoritms]&lt;br /&gt;
* [https://www.dropbox.com/s/1a1s4d95k5plotb/Lecture04_tomasulo.pdf?raw=1 Tomasulo algoritms]&lt;br /&gt;
&lt;br /&gt;
Resursi:&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Tomasulo%27s_algorithm Par Tomasulo algoritmu] no Wikipedijas&lt;br /&gt;
* [http://nathantypanski.github.io/tomasulo-simulator/ Tomasulo simulators]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://serenefield.com/Blog/posts/HighPerformanceArchitecture/2021-01-28_High-Performance-Computer-Architecture-13---Tomasulo-s-Algorithm-Part-1-8c65788dec07.html Ievads Tomasulo algoritmā] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 28.05.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Kopsavilkums&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Daudzkodolu procesori un CUDA&lt;br /&gt;
* [https://sites.google.com/a/nirmauni.ac.in/cudacodes/cuda-material/tutorial-3 GPU Computing: The Democratization of Parallel Computing] - seminārs, ASPLOS&amp;#039;08&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== xx.06.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
xx:xx Eksāmens.&lt;br /&gt;
&lt;br /&gt;
Projektu demonstrācijas un plakāti.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
Eksāmenā:&lt;br /&gt;
* Risinājuma pirmkods un projekts kā zip fails&lt;br /&gt;
* Dokumentācija jūsu risinājumam &amp;quot;Datasheet&amp;quot;.&lt;br /&gt;
* Jānodod eseja (e-studijās), kurā aprakstīti projekta izaicinājumi un sasniegumi kā arī tehniskā informācija par projektu.&lt;br /&gt;
* Bez tam, jāizveido plakāts, kas būs jāprezentē mutiski un jāatbild uz jautājumiem. PDF formātā (e-studijās).&lt;br /&gt;
** [[LU::poster-howto | Ieteikumi plakāta prezentācijas]] veidošanā&lt;br /&gt;
* Ja projektā ir demonstrējama daļa, tad jāveic arī tā demonstrācija.&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Lekciju video =&lt;br /&gt;
Lekciju [https://www.youtube.com/playlist?list=PL32WMyFDbfNnVb3nFI9Tku5O8ukKBxs6Z videomateriāls ir pieejams Youtube]. Sīkāk, pa tēmām:&lt;br /&gt;
* [https://youtu.be/sqyLYgVvtr0 Ievads kursa pirmajai daļai.]&lt;br /&gt;
* [https://youtu.be/G6abrFbeazw Digitālas sistēmas.]&lt;br /&gt;
* [https://youtu.be/6340drM2Fm0 Loģikas pamatelementi.]&lt;br /&gt;
* [https://youtu.be/knlFvRxpUuE Tranzistora uzbūve.]&lt;br /&gt;
* [https://youtu.be/I-l2bQ-C_VU Tranzistoru lietojumi.]&lt;br /&gt;
* [https://youtu.be/hDOUl1ViMdc Laika atkarīgi elementi.]&lt;br /&gt;
* [https://youtu.be/1spw-GAsDLk Trigeri un &amp;quot;latch&amp;quot; iekārtas.]&lt;br /&gt;
* [https://youtu.be/P2CARhD2k3A CPU uzbūve un konveijera princips.]&lt;br /&gt;
* [https://youtu.be/JEiLcHtgSlE FPGA uzbūve.]&lt;br /&gt;
&lt;br /&gt;
= PD =&lt;br /&gt;
Praktiskie darbi.&lt;br /&gt;
&lt;br /&gt;
===PD1===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LED un slēdži&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* apgūt darba plūsmu ar FPGA shēmas ievadu, kompilāciju un dizaina augžuplādēšanu uz FPGA iekārtas.&lt;br /&gt;
* lietot FPGA ievada un izvada portus (pinus).&lt;br /&gt;
* lietot elementāras loģikas elementus shēmā.&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot digitālu iekārtu, kas izmanto ievada elementus (slēdžus) un izvada elementus (LED).&lt;br /&gt;
* Shēmas ievads&lt;br /&gt;
* Kompilācija&lt;br /&gt;
* Uzlādēšana uz reālas FPGA iekārtas&lt;br /&gt;
* Pārbaude&lt;br /&gt;
&lt;br /&gt;
Iekārtai jāveic sekojošas darbības:&lt;br /&gt;
* SW1 slēdzis ieslēdz un izslēdz LED1 spīddiodi.&lt;br /&gt;
* SW2 un SW3 slēdži veido ievaddatus XOR elementam, kura rezultats tiek izvadīts uz LED2.&lt;br /&gt;
* Spīddiode LED3, kas ieslēdzas un izslēdzas reizi sekundē. SW4 to var apstādināt un iedarbināt.&lt;br /&gt;
&lt;br /&gt;
Praktiskajā darbā izstrādātā iekārta jādemonstrē uz FPGA iekārtas.&lt;br /&gt;
&lt;br /&gt;
Resusrsi:&lt;br /&gt;
* [http://www.xilinx.com/support/documentation/boards_and_kits/ug230.pdf Xilinx Spartan-3E FPGA Starter Kit Board User Guide]&lt;br /&gt;
* [https://eprints.qut.edu.au/76297/1/Spartan3E_Tutorial_1ver2.pdf Spartan 3E Tutorial] no Queensland University of Technology&lt;br /&gt;
&lt;br /&gt;
===PD_Counter===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Skaitītāja simulācija&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* Iepazīties ar FPGA elementu bibliotēkas skaitītāja moduļiem&lt;br /&gt;
* Iemācīties, kā darbināt simulācijas&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izveidot shēmu iekārtai, kas izmantojot takts signālu realizē 4 bitu bināru skaitītāju.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulātoru (ISim vai Modelsim)&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* PDF dokumentu kurā ir gan iekārtas shēma, gan arī simulācijas rezultāti un īss pieredzes apraksts.&lt;br /&gt;
&lt;br /&gt;
===PD_Calc===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kalkulators: stāvokļu diagramma un kontrolieris&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===== Mērķi =====&lt;br /&gt;
* Iepazīties ar galīgo automātu projektēšanu un implementāciju Verilog valodā&lt;br /&gt;
* Projektēt digitālu sistēmu ar kontrolieri&lt;br /&gt;
* Simulēt kontroliera dizainu&lt;br /&gt;
&lt;br /&gt;
===== Uzdevums =====&lt;br /&gt;
Izveidot funkcionālu kalkulatora moduli, kas reaģē uz taustiņu signāliem veic saskaitīšanas un atņemšanas operācijas. &lt;br /&gt;
Kalkulators strādā heksadecimālā sistēmā, tātad, tam ir 16 ciparu taustiņi: 0,1,2...8,9,A,B,C,D,E,F.&lt;br /&gt;
Bez tam ir arī operāciju taustiņi: CLR - nodzēst rezultātu, un operācijas +, - un =.&lt;br /&gt;
Nospiežot katru taustiņu tiek pacelts signāls BtnDown. Atlaižot taustiņu tas tiek nolaists.&lt;br /&gt;
Jāveic sekojoši uzdevumi:&lt;br /&gt;
* Izveidot projektu kalkulatoram ar Verilog vai shēmu diagrammu.&lt;br /&gt;
* Izveidot kontrolieri, kas balstīts uz vienu vai vairākiem galīgiem stāvokļu automātiem.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulātoru Xilinx ISim.&lt;br /&gt;
&lt;br /&gt;
===== Iesniegt =====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* PDF dokumentu kurā ir gan iekārtas shēma, gan arī simulācijas rezultāti un īss pieredzes apraksts.&lt;br /&gt;
* Iekārtas un testēšanas Verilog pirmkoda failus.&lt;br /&gt;
&lt;br /&gt;
===PD_VGA===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Šaha laukums&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* iepazīties ar VGA signālu protokolu&lt;br /&gt;
* izpildīt iekartas dizainu Verilog valodā&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot iekārtu, kas uz monitora ekrāna attēlo 8x8 šaha lauciņu. &lt;br /&gt;
Darba gaita iepazīties ar video signāla formu un laika parametriem. &lt;br /&gt;
Darbu atļauts izpildīt daļēji vai pilnīgi Verilog valodā. &lt;br /&gt;
&lt;br /&gt;
Praktiskajā darbā izstrādātā iekārta jādemonstrē uz Spartan 3E FPGA iekārtas, kam pieslēgts monitors.&lt;br /&gt;
&lt;br /&gt;
Izstrādātā risinājuma pirmkoda faili jāarhivē failā vards_uzvards_PD2.zip un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
===PD_Kbd===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Klaviatūra un Ciparu izvads&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* iepazīties ar PS/2 (klaviatūras) protokolu&lt;br /&gt;
* Izstrādāt stāvokļu mašīnu - galīgo automātu kalkulatora darbībai&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot digitālu iekārtu, kas darbojas kā kalkulators ar skaitļiem heksadecimālajā sistēmā un var izpildīt saskaitīšanas un atņemšanas operācijas.&lt;br /&gt;
&lt;br /&gt;
Skaitļu ievads ir no klaviatūras, kas pieslēdta ar PS/2 portu.&lt;br /&gt;
&lt;br /&gt;
Skaitļu izvads ir uz LCD ekrāna.&lt;br /&gt;
&lt;br /&gt;
Izstrādātā risinājuma pirmkoda faili jāarhivē failā vards_uzvards_PD3.zip un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
= MD =&lt;br /&gt;
Mājas darbi.&lt;br /&gt;
&lt;br /&gt;
===MD1===&lt;br /&gt;
&lt;br /&gt;
Novērtēt Spartan 3E attīstītājrīka un FPGA iespējas. Atbildēt uz jautājumu: vai iespējams uz Spartan 3E realizēt datoru, kas varētu darbināt Linux klases operētājsistēmu? Atbildi &amp;#039;&amp;#039;&amp;#039;pamatot&amp;#039;&amp;#039;&amp;#039;, izvērtējot &amp;#039;&amp;#039;&amp;#039;nepieciešamos un atbilstošos pieejamos resursus&amp;#039;&amp;#039;&amp;#039; gan FPGA, gan perifērijas iekārtu kontekstā.&lt;br /&gt;
&lt;br /&gt;
Atbilde noformējama kā eseja PDF failā vards_uzvards_MD1.pdf un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
===MD2===&lt;br /&gt;
&lt;br /&gt;
Aprakstīt ideju kursā realizējamam projektam, ko izstrādāsiet uz FPGA iekārtas.&lt;br /&gt;
Iekļaut sekojošas sadaļas:&lt;br /&gt;
* Vai tas ir individuāls vai komandas darbs. Ja komandas, tad pievienot dalībnieku sarakstu un to lomu projektā&lt;br /&gt;
* Mērķis un motivācija&lt;br /&gt;
* Nepieciešamie resursi&lt;br /&gt;
* Risinājuma apraksts&lt;br /&gt;
* Realizācijas plāns ar konkrētiem datumiem un starpmērķiem, kas tajos sasniedzami&lt;br /&gt;
&lt;br /&gt;
Atbilde noformējama kā dokuments PDF failā vards_uzvards_MD2.pdf un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MD_OpenGL===&lt;br /&gt;
&lt;br /&gt;
Uzzīmēt un aprakstīt video kontroliera shēmu, kas atbalsta minimālu OpenGL vai līdzīgu instrukciju kopu.&lt;br /&gt;
Instrukcijas tiek nodotas no datora pa seriālo portu. Instrukcijas jāatkodē un jāizpilda, izmainot lokālu video buferi. No bufera attēls jāizvada uz  iebūvēto VGA portu attēla izvadei.&lt;br /&gt;
&lt;br /&gt;
Atbilde noformējama kā dokuments PDF failā vards_uzvards_MDx.pdf un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
===MD_RF===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Reģistru fails un simulācija&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* Pamatelementu un reģistru lietojums Verilog valodā&lt;br /&gt;
* Projekta simulācija&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot 32x32 reģistru failu procesoram. Veikt simulāciju ar ISim, kas pārbauda tā darbību.&lt;br /&gt;
&lt;br /&gt;
* Reģistru failā ir 32 biti&lt;br /&gt;
* Katrs reģistrs ir 32 bitus garš&lt;br /&gt;
* Turpmāk aprakstā  portu/signālu bitu skaits tiek norādīts aiz tiem iekavās.&lt;br /&gt;
* Ir divi porti A(32) un B(32), kas ļauj vienlaicīgi nolasīt divu reģistru vērtības. Lasāmo reģistru adreses tiek norādītas ar AA(5) un AB(5)&lt;br /&gt;
* Ir viens ports D(32), kas ļauj ierakstīt viena reģistra vērtību CLK uzlecošās frontes notikuma brīdī, ja ir iespējota rakstīšana ar signālu WR. Reģistrs, kurā rakstīt, tiek norādīts ar signālu AD(5).&lt;br /&gt;
* Lasīšanas un rakstīšanas darbībām jāvar notikt paralēli, vienlaicīgi.&lt;br /&gt;
&lt;br /&gt;
Demonstrēt iekārtas darbību ar simulatoru ISim [https://www.youtube.com/watch?v=9iQfqhUfAcE (pamācības video)]&lt;br /&gt;
* Simulācijas daļā demonstrēt, kā informācija tiek rakstīta visos reģistros, kā arī lasīta no tiem. Lai veiktu šo simulāciju, izveidot testa moduli (testbench) atsevišķā Verilog failā.&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkodu reģistru failam un tā testa modulim.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_ALU===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Aritmētiski loģiskā ierīce (ALU)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* Izpētīt ISA un izstrādāt specifikāciju atbilstošam procesora ALU&lt;br /&gt;
* ALU izstrāde&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt ALU kas atbilst RISCV R32I instrukciju kopai &lt;br /&gt;
* ALU nepieciešams nodrošināt sekojošu saskarni:&lt;br /&gt;
** A un B ir datu ievadda maģistrāles, 32 biti, vai ideāli, parametrizējamas.&lt;br /&gt;
** OUT ir rezultāts, arī datu maģistrāle&lt;br /&gt;
** OPCODE - ievads, ALU operācijas kods&lt;br /&gt;
** karodziņi, kas indicē:&lt;br /&gt;
*** V - Overflow&lt;br /&gt;
*** Z - Zero&lt;br /&gt;
*** N - Negative&lt;br /&gt;
*** C - Carry&lt;br /&gt;
* Demonstrēt iekārtas darbību vairākām instrukcijām, ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISCV reference card] - instrukciju tipi, kopsavilkums&lt;br /&gt;
* [https://inst.eecs.berkeley.edu/~cs61c/fa17/img/riscvcard.pdf RISCV Reference sheet] - instrukciju saraksts&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISCV specifikācijas protāls un dokumenti]&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda fails ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_v0===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt instrukciju dekoderi un aritmētisko instrukciju datu plūsmu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt instrukciju dekoderi pēc RISC V R32I ISA Green card.&lt;br /&gt;
* Izstrādāt vienkāršu kontrolieri, kas tulko instrukciju operāciju kodus uz ALU operāciju kodiem, un reģistru faila WE (Write Enable) signālu.&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vienkāršas instrukcijas pa vienai.&lt;br /&gt;
&lt;br /&gt;
CPU prototipam (v0) jāsavieno reģistru fails, ALU un instrukciju dekoderis un operāciju kodu kontrolieris tā, lai būtu iespējams ieejā dot vienas instrukcijas 32 bitu kodu, un tā tiktu izpildīta, un rezultāts ierakstīts attiecīgajā reģistrā pēc CLK takts signāla augošās frontes.&lt;br /&gt;
&lt;br /&gt;
* Demonstrēt iekārtas darbību vairākām instrukcijām, ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* RISC V dokumentācija&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_IC===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips ar instrukciju kešatmiņu&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt instrukciju kešatmiņu un RISC V asemblera kompilāciju.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt instrukciju kešatmiņu, instrukciju reģistru, PC reģistru.&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vienkāršas instrukcijas no instrukciju atmiņas. Katrs takts signāls CLK ielasa un izpilda nākamo instrukciju.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu instrukciju testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Instrukciju kešatmiņas modulim ielasīt kompilētu programmu (no teksta faila), Verilog kompilācijas solī.&lt;br /&gt;
&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISC V dokumentācija]&lt;br /&gt;
* [https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md RISC V Assembly manual]&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISC V Green card]&lt;br /&gt;
* [https://riscvasm.lucasteske.dev/# RiscV kompilators online]&lt;br /&gt;
&lt;br /&gt;
GNU asemblera kompilators RISC V arhitektūrai ir pieejams kā riscv64-linux-gnu-as.&lt;br /&gt;
Ar to ir iespējams kompilēt kodu 32 bitu arhitektūrai RV32i norādot attiecīgu arhitektūras parametru:&lt;br /&gt;
 riscv64-linux-gnu-as -march=rv32e -al test.s&lt;br /&gt;
&lt;br /&gt;
Tad kompilēto kodu iespējams dabūt no listinga (to apstrādājot), vai arī no kompilētā elf faila ar objdump.&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog un citi saistītie pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* Testa programma asemblerā&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_DC===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips ar datu kešatmiņu&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt datu kešatmiņu un saskarni ar operatīvo atmiņu.&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt datu kešatmiņu.&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vienkāršas instrukcijas ar atmiņu, piemēram Load un Store.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu instrukciju testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISC V dokumentācija]&lt;br /&gt;
* [https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md RISC V Assembly manual]&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISC V Green card]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_Branch===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips ar Branch un Jump-and-link instrukciju realizāciju&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt Branch un Jump-and-link instrukciju darbības un dizaina principus.&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt Branch instrukcijas saskaņā ar RISC V instrukciju kopu&lt;br /&gt;
** BEQ, BNE, BLT, BGE, BLTU, BGEU.&lt;br /&gt;
* Izstrādāt Jump-and-link instrukcijas saskaņā ar RISC V instrukciju kopu&lt;br /&gt;
** JAL, JALR&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vadības kontroles instrukcijas.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu instrukciju testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISC V dokumentācija]&lt;br /&gt;
* [https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md RISC V Assembly manual]&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISC V Green card]&lt;br /&gt;
* [https://github.com/jameslzhu/riscv-card/blob/master/riscv-card.pdf RISC V unofficial Reference card]&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_GPIO===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Universāls perifērijas datu ievads un izvads (GPIO) &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt datu apmaiņas principus starp mikroprocesoru un perifērijas iekārtām.&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt moduļus pikrokontroliera ārējai iekārtai GPIO, kas spēj nodot un lasīt datus rakstot īpašā adresē.&lt;br /&gt;
** Ieslēgt un izslēgt 8 LED, kas kartēti uz vienu baitu atmiņā. Katram LED atbilst savs bits baitā.&lt;br /&gt;
** Nolasīt 8 slēdžu (Switch) stāvokļus lasot vienu baitu pēc konkrētas atmiņas adreses. Katram slēdzim atbilst savs bits baitā.&lt;br /&gt;
** Realizēt GPIO iekārtas saskarni caur baitu konkrētā adresē operatīvajā atmiņā. Saskarni realizēt ar diviem reģistriem: Datu virziena reģistru un Datu reģistru.&lt;br /&gt;
&lt;br /&gt;
* Dizainu organizēt tā, lai izveidotie GPIO moduļi var tikt pielietoti arī citām perifērijas iekārtām:&lt;br /&gt;
** Konfigurējot piekļuvi ārējām iekārtām caur UCF failu&lt;br /&gt;
** Integrējot citus iekšējos moduļus kas izstrādāti Verilog vai shēmtehnikā.&lt;br /&gt;
&lt;br /&gt;
* Integrēt GPIO jūsu CPU projektā.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu GPIO testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar aparatūru.&lt;br /&gt;
&lt;br /&gt;
Piemēram var apskatīt GPIO organizāciju dažādu mikrokontrolieru dokumentācijā, piemēram Atmega328p.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf Atmega328p mikrokontroliera dokumentācija]&lt;br /&gt;
* [https://github.com/elomage/FPGA-resources/blob/main/ucf_templates/Anvyl.ucf UCF faila piemērs ANVYL attīstītājrīkam]&lt;br /&gt;
* [https://en.wikipedia.org/wiki/General-purpose_input/output General purpose input/output] - Wikipedia&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
= Informācijas resursi =&lt;br /&gt;
&lt;br /&gt;
{{DIP_saites}}&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=LU-DIP-m&amp;diff=11214</id>
		<title>LU-DIP-m</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=LU-DIP-m&amp;diff=11214"/>
		<updated>2026-02-26T11:59:33Z</updated>

		<summary type="html">&lt;p&gt;Leo: /* PD_RF */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Īsceļi:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[#Kalendārs | Kalendārs]] | &lt;br /&gt;
[[#Lekciju video | Video]] |&lt;br /&gt;
[[#PD | PD]] |&lt;br /&gt;
[[#MD | MD]] |&lt;br /&gt;
[[#Informācijas resursi | Resursi]] | &lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}}]] : &lt;br /&gt;
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}}]]&lt;br /&gt;
(ja ir lekcija)&lt;br /&gt;
&lt;br /&gt;
{{LUDFKurss|Digitālā projektēšana [M]|DIP|DatZ7034|2DAT7034|maģistru un doktorantu}}&lt;br /&gt;
&lt;br /&gt;
= Par kursu =&lt;br /&gt;
&lt;br /&gt;
Kursa mērķi ir iepazīstināt ar digitālo iekārtu projektēšanas aspektiem, darba plūsmu, problēmām un risinājumiem. Kursa ietvaros tiek apskatīti digitālu iekārtu un datoru arhitektūras pamata un arī sarežģītākas pakāpes elementi.&lt;br /&gt;
Kursā studenti izstrādā praktiskos darbus un kursa projektu, kura rezultāts ir digitāla iekarta, piemēram procesors, mini dators, grafikas kontrolieris, kalkulators, paralēlas attēlu apstrādes iekārta un citas iekārtas.&lt;br /&gt;
&lt;br /&gt;
=== Administratīvā informācija===&lt;br /&gt;
* Pasniedzējs: Leo Seļāvo &amp;#039;&amp;#039;(epasts: vards.uzvards @ gmail.com)&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Vērtējums = 40% mājas un praktiskie darbi, 10% dalība klasē, 20% KD1 un 30% KD2(eksāmens). --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{KursiMD|DIP|50%|10%}}&lt;br /&gt;
&lt;br /&gt;
=Kalendārs=&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4 style = &amp;#039;border-color: #ddd;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
! Datums&lt;br /&gt;
! Tēma, saturs&lt;br /&gt;
! Uzdevumi&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
==== 05.02.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievads kursā&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Digitālas iekārtas vispārējā arhitektūra un uzbūve.&lt;br /&gt;
Digitālā projektēšana, ievads, darba plūsma. Map, place, route. Laika anotācija - &amp;quot;&amp;quot;Timing back-annotation&amp;quot;&amp;quot;. Simulācija un testēšana dažādos līmeņos.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://youtu.be/sqyLYgVvtr0 Ievads (video)]&lt;br /&gt;
* [https://youtu.be/G6abrFbeazw Kas ir digitālas sistēmas (video)]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
[[#PD1 | PD1]] - LED un slēdžī&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 12.02.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Digitālo iekārtu pamatelementi&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://youtu.be/6340drM2Fm0 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Digitālo iekārtu pamatelementi, tranzistors, invertors, NAND un NOR elementi no tranzistoriem, to loģiskā uzbūve un īpašības.&lt;br /&gt;
Loģiskie elementi, minimālā kopa. Pāreja no loģiskajām izteiksmēm un tabulām uz realizāciju ar loģiskajiem elementiem. Kombinētie loģiskie elementi. Dešifrators, multipleksors, frekvences dalītājs un citi elementi.&lt;br /&gt;
Elementi ar atmiņu.  RS un D trigeri. &amp;quot;&amp;quot;Latch&amp;quot;&amp;quot; un &amp;quot;&amp;quot;D-Flip-flop&amp;quot;&amp;quot;. Reģistri un uz tiem bāzētas iekārtas. Bīdes reģistri. Skaitītāji. Uzstādīšanas un noturēšanas laiku ierobežojumi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;CMOS tehnoloģija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
MOS tranzistora uzbūve un pielietojumi loģisko iekārtu uzbūvē&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://youtu.be/knlFvRxpUuE MOS tranzistors kā pamatelements digitālajām iekārtām (video)]&lt;br /&gt;
* [https://youtu.be/I-l2bQ-C_VU Loģisko elementu uzbūve ar MOS tranzistoriem (video)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 19.02.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Aparatūru aprakstošas valodas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aparatūru aprakstošas valodas (HDL), Verilog. Valodas elementi simulācijai un sintēzei. Uzvedības un struktūras apraksts. Moduļi. Datu tipi, signāli un reģistri.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.ece.umd.edu/class/enee359a/verilog_tutorial.pdf Verilog tutorial] no UMD.&lt;br /&gt;
* [http://www.asic-world.com/verilog/veritut.html Verilog tutorial] no ASIC world.&lt;br /&gt;
* [https://uobdv.github.io/Design-Verification/Supplementary/Verilog.SLIDES.pdf Verilog lekcijas slaidi] no CMU.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots [[#MD_RF | MD_RF]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 26.02.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Instrukciju kopas arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [http://selavo.lv/kursi/dipm/dlx_handout.pdf Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Procesora instrukciju arhitektūra. Instrukciju tipi un kodēšana. Operandi. RISC un CISC arhitektūras. DLX procesora instrukciju arhitektūra. Salīdzinoši piemēri no ARM instrukciju kopas.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; [[#MD_RF | MD_RF]]&lt;br /&gt;
* Uzdots [[#MD_ALU | MD_ALU]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 05.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Risc V arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Vientakts procesora arhitektūra. Instrukciju dešifratora un skaitītāja reģistri. Reģistru fails. Aritmētiski loģiskā iekārta (ALU). Atmiņas saskarne. Instrukciju un datu kešatmiņa.&lt;br /&gt;
&lt;br /&gt;
RISC V procesora arhitektūra un instrukciju kopa.&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/eit5g6x4a7tqhla/riscv-20160507-patterson-160507071645.pdf?raw=1 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* RISC-V arhitektūras procesori un instrukciju kopa.&lt;br /&gt;
* Salīdzinošais ieskats ARM instrukciju kopā.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://riscv.org/ RISCV.org]&lt;br /&gt;
* [https://www.dropbox.com/s/8oy8yqd2bpff9rd/RISCVGreenCardv8-20151013.pdf?raw=1 RISC V Green Card]&lt;br /&gt;
* [https://five-embeddev.com/riscv-isa-manual/latest/instr-table.html RISC-V ISA Manual] - tabula ar instrukcijām un to kodiem.&lt;br /&gt;
&lt;br /&gt;
* [https://riscvasm.lucasteske.dev/# RISC-V Online Assembler]&lt;br /&gt;
* [https://www.cs.cornell.edu/courses/cs3410/2019sp/riscv/interpreter/# RISCV Interpreter] online at Cornell&lt;br /&gt;
&lt;br /&gt;
* [http://tice.sea.eseo.fr/riscv/ RISCV datapath vizualizācija]&lt;br /&gt;
&lt;br /&gt;
* [https://circuitdigest.com/article/understanding-risc-v-architecture-and-why-it-could-be-a-replacement-for-arm Risc V un ARM]&lt;br /&gt;
* [https://youtu.be/XMg0qzyMi14 Designing Open Processors at the Barcelona Supercomputing Center (video)]&lt;br /&gt;
&lt;br /&gt;
* Konferences:&lt;br /&gt;
** [https://www.dac.com/ DAC]&lt;br /&gt;
** [https://www.date-conference.com/ DATE]&lt;br /&gt;
** [https://dsd-seaa2021.unipv.it/index.html#call Euromicro DSD]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_ALU | MD_ALU]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_v0 | MD_CPU_v0]]&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 12.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Instrukciju atmiņa. RISC V Asemblers&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Instrukciju atmiņa, reģistrs, dekoderis. PC reģistrs.&lt;br /&gt;
&lt;br /&gt;
RISC V Asemblers. GNU rīki kompilācijai. Qemu simulators.&lt;br /&gt;
&lt;br /&gt;
* GNU asemblera kompilators RISC V arhitektūrai ir pieejams kā riscv64-linux-gnu-as. Ar to ir iespējams kompilēt kodu 32 bitu arhitektūrai RV32i norādot attiecīgu arhitektūras parametru:&lt;br /&gt;
 riscv64-linux-gnu-as -march=rv32e -al test.s&lt;br /&gt;
* Tad kompilēto kodu iespējams dabūt no listinga (to apstrādājot), vai arī no kompilētā elf faila ar objdump.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_v0 | MD_CPU_v0]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_IC | MD_CPU_IC]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 19.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Operatīvā atmiņa&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Operatīvā atmiņa, statiskā un dinamiskā. Atmiņas matricas un uzbūve. Kešatmiņas. Saskarnes starp atmiņu un citām iekārtām.&lt;br /&gt;
&lt;br /&gt;
Resursi:&lt;br /&gt;
* [http://ece-research.unm.edu/jimp/vlsi/slides/chap8_2.html Atmiņas uzbūve] no New Mexico Universitātes, VLSI kursa.&lt;br /&gt;
* [https://www.embedded.com/flash-101-nand-flash-vs-nor-flash/ NAND un NOR zibatmiņa] (embedded.com)&lt;br /&gt;
* [https://www.enterprisestorageforum.com/hardware/slc-vs-mlc-vs-tlc-nand-flash/ SLV, MLC, TLC Flash memory] (Enterprise storage forum)&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_IC | MD_CPU_IC]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_DC | MD_CPU_DC]]&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 26.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Vadības kontrole&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Branch instrukcijas. Jump-and-link instrukcijas. &lt;br /&gt;
To realizācija vientakts procesorā. &lt;br /&gt;
Branch prediction. Heristikas vadības kontroles optimizācijai.&lt;br /&gt;
&lt;br /&gt;
Kešatmiņa. Asociatīvā atmiņa. &lt;br /&gt;
&amp;quot;N-way set associative cache memory&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_DC | MD_CPU_DC]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_Branch | MD_CPU_Branch]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 09.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;GPIO&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
GPIO - General Purpose Input Output. Datu ievads un izvads ar kartētu atmiņu (memory mapped IO). Mikrokontroliera perifērijas iekārtu reģistri. Reģistrs lasīšanas un rakstīšanas virzienam. Saskarnes savietošana ar operatīvās atmiņas saskarni.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots: [[#MD_GPIO | MD_GPIO]]&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 16.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Procesora arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://youtu.be/P2CARhD2k3A Slaidi/video]&lt;br /&gt;
Procesora arhitektūra. Daudz-taktu procesors un konveijera princips.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_Branch | MD_CPU_Branch]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 23.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Metrikas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Digitālas projektēšanas metrikas. Funkcionalitāte. Izmaksas, fiksētās un mainīgās. Uzticamība, izturība. Trokšņu noturība un imunitāte. Veiktspēja. Ātrums un enerģijas patēriņš. Projektēšanas laiks.&lt;br /&gt;
* [https://www.dropbox.com/s/aoyenqlkhaz1yoe/Metrics_Leo.pdf?raw=1 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Resursi:&lt;br /&gt;
* [https://semiengineering.com/from-design-to-deployment-how-silicon-lifecycle-management-optimizes-the-entire-ic-life-span/ Silicon lifecycle...]&lt;br /&gt;
* [https://anysilicon.com/when-and-why-should-you-choose-an-asic/ When and why ASIC...]&lt;br /&gt;
&lt;br /&gt;
* [https://qr.ae/pC3aan Dealing with faults on billion-transistor chips] (Quora)&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 30.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Programmējamās loģikas iekārtas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://youtu.be/JEiLcHtgSlE Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Programmējamās loģikas iekārtas, CPLD un FPGA. FPGA uzbūve. Konfigurējami loģiskie elementi. Ievada un izvada elementi. Komunikācija, maģistrāles.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://www.electronicsforu.com/technology-trends/fpga-vs-cpld-microcontrollers FPGA vs CPLD vs Microcontrollers] (from electronicsforu.com)&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/data_sheets/ds312.pdf Spartan-3E FPGA Family Data Sheet]&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/data_sheets/ds090.pdf CoolRunner II CPLD Family]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 07.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;FPGA kā serviss&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vieslekcija. Attālināta FPGA attīstītājrīku programmēšana un testēšana.&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_GPIO | MD_GPIO]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 14.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;(Vieslekcija)&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FPGA pielietojumi kosmosa tehnoloģijās.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 21.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Superskalāras arhitektūras&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://www.dropbox.com/s/7nrd0ke682oc935/13_Superscalar.pdf?raw=1 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Superskalārie procesori un to uzbūve. Paralēlu ALU izmantošanas stratēģijas.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 28.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Dinamiska instrukciju plānošana&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Instrukciju paralelisms, ciklu atrullēšana, Scoreboarding un Tomasulo arhitektūras.&lt;br /&gt;
&lt;br /&gt;
Slaidi:&lt;br /&gt;
* [https://www.dropbox.com/s/ieks943pmn4ikpm/ECE570_dynamic_scheduling.pdf?raw=1 Scoreboarding algoritms]&lt;br /&gt;
* [https://www.dropbox.com/s/1a1s4d95k5plotb/Lecture04_tomasulo.pdf?raw=1 Tomasulo algoritms]&lt;br /&gt;
&lt;br /&gt;
Resursi:&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Tomasulo%27s_algorithm Par Tomasulo algoritmu] no Wikipedijas&lt;br /&gt;
* [http://nathantypanski.github.io/tomasulo-simulator/ Tomasulo simulators]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://serenefield.com/Blog/posts/HighPerformanceArchitecture/2021-01-28_High-Performance-Computer-Architecture-13---Tomasulo-s-Algorithm-Part-1-8c65788dec07.html Ievads Tomasulo algoritmā] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 28.05.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Kopsavilkums&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Daudzkodolu procesori un CUDA&lt;br /&gt;
* [https://sites.google.com/a/nirmauni.ac.in/cudacodes/cuda-material/tutorial-3 GPU Computing: The Democratization of Parallel Computing] - seminārs, ASPLOS&amp;#039;08&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== xx.06.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
xx:xx Eksāmens.&lt;br /&gt;
&lt;br /&gt;
Projektu demonstrācijas un plakāti.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
Eksāmenā:&lt;br /&gt;
* Risinājuma pirmkods un projekts kā zip fails&lt;br /&gt;
* Dokumentācija jūsu risinājumam &amp;quot;Datasheet&amp;quot;.&lt;br /&gt;
* Jānodod eseja (e-studijās), kurā aprakstīti projekta izaicinājumi un sasniegumi kā arī tehniskā informācija par projektu.&lt;br /&gt;
* Bez tam, jāizveido plakāts, kas būs jāprezentē mutiski un jāatbild uz jautājumiem. PDF formātā (e-studijās).&lt;br /&gt;
** [[LU::poster-howto | Ieteikumi plakāta prezentācijas]] veidošanā&lt;br /&gt;
* Ja projektā ir demonstrējama daļa, tad jāveic arī tā demonstrācija.&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Lekciju video =&lt;br /&gt;
Lekciju [https://www.youtube.com/playlist?list=PL32WMyFDbfNnVb3nFI9Tku5O8ukKBxs6Z videomateriāls ir pieejams Youtube]. Sīkāk, pa tēmām:&lt;br /&gt;
* [https://youtu.be/sqyLYgVvtr0 Ievads kursa pirmajai daļai.]&lt;br /&gt;
* [https://youtu.be/G6abrFbeazw Digitālas sistēmas.]&lt;br /&gt;
* [https://youtu.be/6340drM2Fm0 Loģikas pamatelementi.]&lt;br /&gt;
* [https://youtu.be/knlFvRxpUuE Tranzistora uzbūve.]&lt;br /&gt;
* [https://youtu.be/I-l2bQ-C_VU Tranzistoru lietojumi.]&lt;br /&gt;
* [https://youtu.be/hDOUl1ViMdc Laika atkarīgi elementi.]&lt;br /&gt;
* [https://youtu.be/1spw-GAsDLk Trigeri un &amp;quot;latch&amp;quot; iekārtas.]&lt;br /&gt;
* [https://youtu.be/P2CARhD2k3A CPU uzbūve un konveijera princips.]&lt;br /&gt;
* [https://youtu.be/JEiLcHtgSlE FPGA uzbūve.]&lt;br /&gt;
&lt;br /&gt;
= PD =&lt;br /&gt;
Praktiskie darbi.&lt;br /&gt;
&lt;br /&gt;
===PD1===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LED un slēdži&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* apgūt darba plūsmu ar FPGA shēmas ievadu, kompilāciju un dizaina augžuplādēšanu uz FPGA iekārtas.&lt;br /&gt;
* lietot FPGA ievada un izvada portus (pinus).&lt;br /&gt;
* lietot elementāras loģikas elementus shēmā.&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot digitālu iekārtu, kas izmanto ievada elementus (slēdžus) un izvada elementus (LED).&lt;br /&gt;
* Shēmas ievads&lt;br /&gt;
* Kompilācija&lt;br /&gt;
* Uzlādēšana uz reālas FPGA iekārtas&lt;br /&gt;
* Pārbaude&lt;br /&gt;
&lt;br /&gt;
Iekārtai jāveic sekojošas darbības:&lt;br /&gt;
* SW1 slēdzis ieslēdz un izslēdz LED1 spīddiodi.&lt;br /&gt;
* SW2 un SW3 slēdži veido ievaddatus XOR elementam, kura rezultats tiek izvadīts uz LED2.&lt;br /&gt;
* Spīddiode LED3, kas ieslēdzas un izslēdzas reizi sekundē. SW4 to var apstādināt un iedarbināt.&lt;br /&gt;
&lt;br /&gt;
Praktiskajā darbā izstrādātā iekārta jādemonstrē uz FPGA iekārtas.&lt;br /&gt;
&lt;br /&gt;
Resusrsi:&lt;br /&gt;
* [http://www.xilinx.com/support/documentation/boards_and_kits/ug230.pdf Xilinx Spartan-3E FPGA Starter Kit Board User Guide]&lt;br /&gt;
* [https://eprints.qut.edu.au/76297/1/Spartan3E_Tutorial_1ver2.pdf Spartan 3E Tutorial] no Queensland University of Technology&lt;br /&gt;
&lt;br /&gt;
===PD_Counter===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Skaitītāja simulācija&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* Iepazīties ar FPGA elementu bibliotēkas skaitītāja moduļiem&lt;br /&gt;
* Iemācīties, kā darbināt simulācijas&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izveidot shēmu iekārtai, kas izmantojot takts signālu realizē 4 bitu bināru skaitītāju.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulātoru (ISim vai Modelsim)&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* PDF dokumentu kurā ir gan iekārtas shēma, gan arī simulācijas rezultāti un īss pieredzes apraksts.&lt;br /&gt;
&lt;br /&gt;
===PD_Calc===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kalkulators: stāvokļu diagramma un kontrolieris&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===== Mērķi =====&lt;br /&gt;
* Iepazīties ar galīgo automātu projektēšanu un implementāciju Verilog valodā&lt;br /&gt;
* Projektēt digitālu sistēmu ar kontrolieri&lt;br /&gt;
* Simulēt kontroliera dizainu&lt;br /&gt;
&lt;br /&gt;
===== Uzdevums =====&lt;br /&gt;
Izveidot funkcionālu kalkulatora moduli, kas reaģē uz taustiņu signāliem veic saskaitīšanas un atņemšanas operācijas. &lt;br /&gt;
Kalkulators strādā heksadecimālā sistēmā, tātad, tam ir 16 ciparu taustiņi: 0,1,2...8,9,A,B,C,D,E,F.&lt;br /&gt;
Bez tam ir arī operāciju taustiņi: CLR - nodzēst rezultātu, un operācijas +, - un =.&lt;br /&gt;
Nospiežot katru taustiņu tiek pacelts signāls BtnDown. Atlaižot taustiņu tas tiek nolaists.&lt;br /&gt;
Jāveic sekojoši uzdevumi:&lt;br /&gt;
* Izveidot projektu kalkulatoram ar Verilog vai shēmu diagrammu.&lt;br /&gt;
* Izveidot kontrolieri, kas balstīts uz vienu vai vairākiem galīgiem stāvokļu automātiem.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulātoru Xilinx ISim.&lt;br /&gt;
&lt;br /&gt;
===== Iesniegt =====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* PDF dokumentu kurā ir gan iekārtas shēma, gan arī simulācijas rezultāti un īss pieredzes apraksts.&lt;br /&gt;
* Iekārtas un testēšanas Verilog pirmkoda failus.&lt;br /&gt;
&lt;br /&gt;
===PD_VGA===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Šaha laukums&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* iepazīties ar VGA signālu protokolu&lt;br /&gt;
* izpildīt iekartas dizainu Verilog valodā&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot iekārtu, kas uz monitora ekrāna attēlo 8x8 šaha lauciņu. &lt;br /&gt;
Darba gaita iepazīties ar video signāla formu un laika parametriem. &lt;br /&gt;
Darbu atļauts izpildīt daļēji vai pilnīgi Verilog valodā. &lt;br /&gt;
&lt;br /&gt;
Praktiskajā darbā izstrādātā iekārta jādemonstrē uz Spartan 3E FPGA iekārtas, kam pieslēgts monitors.&lt;br /&gt;
&lt;br /&gt;
Izstrādātā risinājuma pirmkoda faili jāarhivē failā vards_uzvards_PD2.zip un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
===PD_Kbd===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Klaviatūra un Ciparu izvads&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* iepazīties ar PS/2 (klaviatūras) protokolu&lt;br /&gt;
* Izstrādāt stāvokļu mašīnu - galīgo automātu kalkulatora darbībai&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot digitālu iekārtu, kas darbojas kā kalkulators ar skaitļiem heksadecimālajā sistēmā un var izpildīt saskaitīšanas un atņemšanas operācijas.&lt;br /&gt;
&lt;br /&gt;
Skaitļu ievads ir no klaviatūras, kas pieslēdta ar PS/2 portu.&lt;br /&gt;
&lt;br /&gt;
Skaitļu izvads ir uz LCD ekrāna.&lt;br /&gt;
&lt;br /&gt;
Izstrādātā risinājuma pirmkoda faili jāarhivē failā vards_uzvards_PD3.zip un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
= MD =&lt;br /&gt;
Mājas darbi.&lt;br /&gt;
&lt;br /&gt;
===MD1===&lt;br /&gt;
&lt;br /&gt;
Novērtēt Spartan 3E attīstītājrīka un FPGA iespējas. Atbildēt uz jautājumu: vai iespējams uz Spartan 3E realizēt datoru, kas varētu darbināt Linux klases operētājsistēmu? Atbildi &amp;#039;&amp;#039;&amp;#039;pamatot&amp;#039;&amp;#039;&amp;#039;, izvērtējot &amp;#039;&amp;#039;&amp;#039;nepieciešamos un atbilstošos pieejamos resursus&amp;#039;&amp;#039;&amp;#039; gan FPGA, gan perifērijas iekārtu kontekstā.&lt;br /&gt;
&lt;br /&gt;
Atbilde noformējama kā eseja PDF failā vards_uzvards_MD1.pdf un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
===MD2===&lt;br /&gt;
&lt;br /&gt;
Aprakstīt ideju kursā realizējamam projektam, ko izstrādāsiet uz FPGA iekārtas.&lt;br /&gt;
Iekļaut sekojošas sadaļas:&lt;br /&gt;
* Vai tas ir individuāls vai komandas darbs. Ja komandas, tad pievienot dalībnieku sarakstu un to lomu projektā&lt;br /&gt;
* Mērķis un motivācija&lt;br /&gt;
* Nepieciešamie resursi&lt;br /&gt;
* Risinājuma apraksts&lt;br /&gt;
* Realizācijas plāns ar konkrētiem datumiem un starpmērķiem, kas tajos sasniedzami&lt;br /&gt;
&lt;br /&gt;
Atbilde noformējama kā dokuments PDF failā vards_uzvards_MD2.pdf un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MD_OpenGL===&lt;br /&gt;
&lt;br /&gt;
Uzzīmēt un aprakstīt video kontroliera shēmu, kas atbalsta minimālu OpenGL vai līdzīgu instrukciju kopu.&lt;br /&gt;
Instrukcijas tiek nodotas no datora pa seriālo portu. Instrukcijas jāatkodē un jāizpilda, izmainot lokālu video buferi. No bufera attēls jāizvada uz  iebūvēto VGA portu attēla izvadei.&lt;br /&gt;
&lt;br /&gt;
Atbilde noformējama kā dokuments PDF failā vards_uzvards_MDx.pdf un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
===MD_ALU===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Aritmētiski loģiskā ierīce (ALU)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* Izpētīt ISA un izstrādāt specifikāciju atbilstošam procesora ALU&lt;br /&gt;
* ALU izstrāde&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt ALU kas atbilst RISCV R32I instrukciju kopai &lt;br /&gt;
* ALU nepieciešams nodrošināt sekojošu saskarni:&lt;br /&gt;
** A un B ir datu ievadda maģistrāles, 32 biti, vai ideāli, parametrizējamas.&lt;br /&gt;
** OUT ir rezultāts, arī datu maģistrāle&lt;br /&gt;
** OPCODE - ievads, ALU operācijas kods&lt;br /&gt;
** karodziņi, kas indicē:&lt;br /&gt;
*** V - Overflow&lt;br /&gt;
*** Z - Zero&lt;br /&gt;
*** N - Negative&lt;br /&gt;
*** C - Carry&lt;br /&gt;
* Demonstrēt iekārtas darbību vairākām instrukcijām, ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISCV reference card] - instrukciju tipi, kopsavilkums&lt;br /&gt;
* [https://inst.eecs.berkeley.edu/~cs61c/fa17/img/riscvcard.pdf RISCV Reference sheet] - instrukciju saraksts&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISCV specifikācijas protāls un dokumenti]&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda fails ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_v0===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt instrukciju dekoderi un aritmētisko instrukciju datu plūsmu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt instrukciju dekoderi pēc RISC V R32I ISA Green card.&lt;br /&gt;
* Izstrādāt vienkāršu kontrolieri, kas tulko instrukciju operāciju kodus uz ALU operāciju kodiem, un reģistru faila WE (Write Enable) signālu.&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vienkāršas instrukcijas pa vienai.&lt;br /&gt;
&lt;br /&gt;
CPU prototipam (v0) jāsavieno reģistru fails, ALU un instrukciju dekoderis un operāciju kodu kontrolieris tā, lai būtu iespējams ieejā dot vienas instrukcijas 32 bitu kodu, un tā tiktu izpildīta, un rezultāts ierakstīts attiecīgajā reģistrā pēc CLK takts signāla augošās frontes.&lt;br /&gt;
&lt;br /&gt;
* Demonstrēt iekārtas darbību vairākām instrukcijām, ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* RISC V dokumentācija&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_IC===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips ar instrukciju kešatmiņu&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt instrukciju kešatmiņu un RISC V asemblera kompilāciju.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt instrukciju kešatmiņu, instrukciju reģistru, PC reģistru.&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vienkāršas instrukcijas no instrukciju atmiņas. Katrs takts signāls CLK ielasa un izpilda nākamo instrukciju.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu instrukciju testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Instrukciju kešatmiņas modulim ielasīt kompilētu programmu (no teksta faila), Verilog kompilācijas solī.&lt;br /&gt;
&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISC V dokumentācija]&lt;br /&gt;
* [https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md RISC V Assembly manual]&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISC V Green card]&lt;br /&gt;
* [https://riscvasm.lucasteske.dev/# RiscV kompilators online]&lt;br /&gt;
&lt;br /&gt;
GNU asemblera kompilators RISC V arhitektūrai ir pieejams kā riscv64-linux-gnu-as.&lt;br /&gt;
Ar to ir iespējams kompilēt kodu 32 bitu arhitektūrai RV32i norādot attiecīgu arhitektūras parametru:&lt;br /&gt;
 riscv64-linux-gnu-as -march=rv32e -al test.s&lt;br /&gt;
&lt;br /&gt;
Tad kompilēto kodu iespējams dabūt no listinga (to apstrādājot), vai arī no kompilētā elf faila ar objdump.&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog un citi saistītie pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* Testa programma asemblerā&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_DC===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips ar datu kešatmiņu&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt datu kešatmiņu un saskarni ar operatīvo atmiņu.&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt datu kešatmiņu.&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vienkāršas instrukcijas ar atmiņu, piemēram Load un Store.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu instrukciju testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISC V dokumentācija]&lt;br /&gt;
* [https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md RISC V Assembly manual]&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISC V Green card]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_Branch===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips ar Branch un Jump-and-link instrukciju realizāciju&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt Branch un Jump-and-link instrukciju darbības un dizaina principus.&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt Branch instrukcijas saskaņā ar RISC V instrukciju kopu&lt;br /&gt;
** BEQ, BNE, BLT, BGE, BLTU, BGEU.&lt;br /&gt;
* Izstrādāt Jump-and-link instrukcijas saskaņā ar RISC V instrukciju kopu&lt;br /&gt;
** JAL, JALR&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vadības kontroles instrukcijas.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu instrukciju testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISC V dokumentācija]&lt;br /&gt;
* [https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md RISC V Assembly manual]&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISC V Green card]&lt;br /&gt;
* [https://github.com/jameslzhu/riscv-card/blob/master/riscv-card.pdf RISC V unofficial Reference card]&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_GPIO===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Universāls perifērijas datu ievads un izvads (GPIO) &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt datu apmaiņas principus starp mikroprocesoru un perifērijas iekārtām.&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt moduļus pikrokontroliera ārējai iekārtai GPIO, kas spēj nodot un lasīt datus rakstot īpašā adresē.&lt;br /&gt;
** Ieslēgt un izslēgt 8 LED, kas kartēti uz vienu baitu atmiņā. Katram LED atbilst savs bits baitā.&lt;br /&gt;
** Nolasīt 8 slēdžu (Switch) stāvokļus lasot vienu baitu pēc konkrētas atmiņas adreses. Katram slēdzim atbilst savs bits baitā.&lt;br /&gt;
** Realizēt GPIO iekārtas saskarni caur baitu konkrētā adresē operatīvajā atmiņā. Saskarni realizēt ar diviem reģistriem: Datu virziena reģistru un Datu reģistru.&lt;br /&gt;
&lt;br /&gt;
* Dizainu organizēt tā, lai izveidotie GPIO moduļi var tikt pielietoti arī citām perifērijas iekārtām:&lt;br /&gt;
** Konfigurējot piekļuvi ārējām iekārtām caur UCF failu&lt;br /&gt;
** Integrējot citus iekšējos moduļus kas izstrādāti Verilog vai shēmtehnikā.&lt;br /&gt;
&lt;br /&gt;
* Integrēt GPIO jūsu CPU projektā.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu GPIO testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar aparatūru.&lt;br /&gt;
&lt;br /&gt;
Piemēram var apskatīt GPIO organizāciju dažādu mikrokontrolieru dokumentācijā, piemēram Atmega328p.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf Atmega328p mikrokontroliera dokumentācija]&lt;br /&gt;
* [https://github.com/elomage/FPGA-resources/blob/main/ucf_templates/Anvyl.ucf UCF faila piemērs ANVYL attīstītājrīkam]&lt;br /&gt;
* [https://en.wikipedia.org/wiki/General-purpose_input/output General purpose input/output] - Wikipedia&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
= Informācijas resursi =&lt;br /&gt;
&lt;br /&gt;
{{DIP_saites}}&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=LU-DIP-m&amp;diff=11213</id>
		<title>LU-DIP-m</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=LU-DIP-m&amp;diff=11213"/>
		<updated>2026-02-26T11:58:23Z</updated>

		<summary type="html">&lt;p&gt;Leo: /* 26.02.26 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Īsceļi:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[#Kalendārs | Kalendārs]] | &lt;br /&gt;
[[#Lekciju video | Video]] |&lt;br /&gt;
[[#PD | PD]] |&lt;br /&gt;
[[#MD | MD]] |&lt;br /&gt;
[[#Informācijas resursi | Resursi]] | &lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}}]] : &lt;br /&gt;
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}}]]&lt;br /&gt;
(ja ir lekcija)&lt;br /&gt;
&lt;br /&gt;
{{LUDFKurss|Digitālā projektēšana [M]|DIP|DatZ7034|2DAT7034|maģistru un doktorantu}}&lt;br /&gt;
&lt;br /&gt;
= Par kursu =&lt;br /&gt;
&lt;br /&gt;
Kursa mērķi ir iepazīstināt ar digitālo iekārtu projektēšanas aspektiem, darba plūsmu, problēmām un risinājumiem. Kursa ietvaros tiek apskatīti digitālu iekārtu un datoru arhitektūras pamata un arī sarežģītākas pakāpes elementi.&lt;br /&gt;
Kursā studenti izstrādā praktiskos darbus un kursa projektu, kura rezultāts ir digitāla iekarta, piemēram procesors, mini dators, grafikas kontrolieris, kalkulators, paralēlas attēlu apstrādes iekārta un citas iekārtas.&lt;br /&gt;
&lt;br /&gt;
=== Administratīvā informācija===&lt;br /&gt;
* Pasniedzējs: Leo Seļāvo &amp;#039;&amp;#039;(epasts: vards.uzvards @ gmail.com)&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Vērtējums = 40% mājas un praktiskie darbi, 10% dalība klasē, 20% KD1 un 30% KD2(eksāmens). --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{KursiMD|DIP|50%|10%}}&lt;br /&gt;
&lt;br /&gt;
=Kalendārs=&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4 style = &amp;#039;border-color: #ddd;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
! Datums&lt;br /&gt;
! Tēma, saturs&lt;br /&gt;
! Uzdevumi&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
==== 05.02.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievads kursā&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Digitālas iekārtas vispārējā arhitektūra un uzbūve.&lt;br /&gt;
Digitālā projektēšana, ievads, darba plūsma. Map, place, route. Laika anotācija - &amp;quot;&amp;quot;Timing back-annotation&amp;quot;&amp;quot;. Simulācija un testēšana dažādos līmeņos.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://youtu.be/sqyLYgVvtr0 Ievads (video)]&lt;br /&gt;
* [https://youtu.be/G6abrFbeazw Kas ir digitālas sistēmas (video)]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
[[#PD1 | PD1]] - LED un slēdžī&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 12.02.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Digitālo iekārtu pamatelementi&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://youtu.be/6340drM2Fm0 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Digitālo iekārtu pamatelementi, tranzistors, invertors, NAND un NOR elementi no tranzistoriem, to loģiskā uzbūve un īpašības.&lt;br /&gt;
Loģiskie elementi, minimālā kopa. Pāreja no loģiskajām izteiksmēm un tabulām uz realizāciju ar loģiskajiem elementiem. Kombinētie loģiskie elementi. Dešifrators, multipleksors, frekvences dalītājs un citi elementi.&lt;br /&gt;
Elementi ar atmiņu.  RS un D trigeri. &amp;quot;&amp;quot;Latch&amp;quot;&amp;quot; un &amp;quot;&amp;quot;D-Flip-flop&amp;quot;&amp;quot;. Reģistri un uz tiem bāzētas iekārtas. Bīdes reģistri. Skaitītāji. Uzstādīšanas un noturēšanas laiku ierobežojumi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;CMOS tehnoloģija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
MOS tranzistora uzbūve un pielietojumi loģisko iekārtu uzbūvē&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://youtu.be/knlFvRxpUuE MOS tranzistors kā pamatelements digitālajām iekārtām (video)]&lt;br /&gt;
* [https://youtu.be/I-l2bQ-C_VU Loģisko elementu uzbūve ar MOS tranzistoriem (video)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 19.02.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Aparatūru aprakstošas valodas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aparatūru aprakstošas valodas (HDL), Verilog. Valodas elementi simulācijai un sintēzei. Uzvedības un struktūras apraksts. Moduļi. Datu tipi, signāli un reģistri.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.ece.umd.edu/class/enee359a/verilog_tutorial.pdf Verilog tutorial] no UMD.&lt;br /&gt;
* [http://www.asic-world.com/verilog/veritut.html Verilog tutorial] no ASIC world.&lt;br /&gt;
* [https://uobdv.github.io/Design-Verification/Supplementary/Verilog.SLIDES.pdf Verilog lekcijas slaidi] no CMU.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots [[#MD_RF | MD_RF]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 26.02.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Instrukciju kopas arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [http://selavo.lv/kursi/dipm/dlx_handout.pdf Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Procesora instrukciju arhitektūra. Instrukciju tipi un kodēšana. Operandi. RISC un CISC arhitektūras. DLX procesora instrukciju arhitektūra. Salīdzinoši piemēri no ARM instrukciju kopas.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; [[#MD_RF | MD_RF]]&lt;br /&gt;
* Uzdots [[#MD_ALU | MD_ALU]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 05.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Risc V arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Vientakts procesora arhitektūra. Instrukciju dešifratora un skaitītāja reģistri. Reģistru fails. Aritmētiski loģiskā iekārta (ALU). Atmiņas saskarne. Instrukciju un datu kešatmiņa.&lt;br /&gt;
&lt;br /&gt;
RISC V procesora arhitektūra un instrukciju kopa.&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/eit5g6x4a7tqhla/riscv-20160507-patterson-160507071645.pdf?raw=1 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* RISC-V arhitektūras procesori un instrukciju kopa.&lt;br /&gt;
* Salīdzinošais ieskats ARM instrukciju kopā.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://riscv.org/ RISCV.org]&lt;br /&gt;
* [https://www.dropbox.com/s/8oy8yqd2bpff9rd/RISCVGreenCardv8-20151013.pdf?raw=1 RISC V Green Card]&lt;br /&gt;
* [https://five-embeddev.com/riscv-isa-manual/latest/instr-table.html RISC-V ISA Manual] - tabula ar instrukcijām un to kodiem.&lt;br /&gt;
&lt;br /&gt;
* [https://riscvasm.lucasteske.dev/# RISC-V Online Assembler]&lt;br /&gt;
* [https://www.cs.cornell.edu/courses/cs3410/2019sp/riscv/interpreter/# RISCV Interpreter] online at Cornell&lt;br /&gt;
&lt;br /&gt;
* [http://tice.sea.eseo.fr/riscv/ RISCV datapath vizualizācija]&lt;br /&gt;
&lt;br /&gt;
* [https://circuitdigest.com/article/understanding-risc-v-architecture-and-why-it-could-be-a-replacement-for-arm Risc V un ARM]&lt;br /&gt;
* [https://youtu.be/XMg0qzyMi14 Designing Open Processors at the Barcelona Supercomputing Center (video)]&lt;br /&gt;
&lt;br /&gt;
* Konferences:&lt;br /&gt;
** [https://www.dac.com/ DAC]&lt;br /&gt;
** [https://www.date-conference.com/ DATE]&lt;br /&gt;
** [https://dsd-seaa2021.unipv.it/index.html#call Euromicro DSD]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_ALU | MD_ALU]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_v0 | MD_CPU_v0]]&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 12.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Instrukciju atmiņa. RISC V Asemblers&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Instrukciju atmiņa, reģistrs, dekoderis. PC reģistrs.&lt;br /&gt;
&lt;br /&gt;
RISC V Asemblers. GNU rīki kompilācijai. Qemu simulators.&lt;br /&gt;
&lt;br /&gt;
* GNU asemblera kompilators RISC V arhitektūrai ir pieejams kā riscv64-linux-gnu-as. Ar to ir iespējams kompilēt kodu 32 bitu arhitektūrai RV32i norādot attiecīgu arhitektūras parametru:&lt;br /&gt;
 riscv64-linux-gnu-as -march=rv32e -al test.s&lt;br /&gt;
* Tad kompilēto kodu iespējams dabūt no listinga (to apstrādājot), vai arī no kompilētā elf faila ar objdump.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_v0 | MD_CPU_v0]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_IC | MD_CPU_IC]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 19.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Operatīvā atmiņa&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Operatīvā atmiņa, statiskā un dinamiskā. Atmiņas matricas un uzbūve. Kešatmiņas. Saskarnes starp atmiņu un citām iekārtām.&lt;br /&gt;
&lt;br /&gt;
Resursi:&lt;br /&gt;
* [http://ece-research.unm.edu/jimp/vlsi/slides/chap8_2.html Atmiņas uzbūve] no New Mexico Universitātes, VLSI kursa.&lt;br /&gt;
* [https://www.embedded.com/flash-101-nand-flash-vs-nor-flash/ NAND un NOR zibatmiņa] (embedded.com)&lt;br /&gt;
* [https://www.enterprisestorageforum.com/hardware/slc-vs-mlc-vs-tlc-nand-flash/ SLV, MLC, TLC Flash memory] (Enterprise storage forum)&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_IC | MD_CPU_IC]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_DC | MD_CPU_DC]]&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 26.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Vadības kontrole&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Branch instrukcijas. Jump-and-link instrukcijas. &lt;br /&gt;
To realizācija vientakts procesorā. &lt;br /&gt;
Branch prediction. Heristikas vadības kontroles optimizācijai.&lt;br /&gt;
&lt;br /&gt;
Kešatmiņa. Asociatīvā atmiņa. &lt;br /&gt;
&amp;quot;N-way set associative cache memory&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_DC | MD_CPU_DC]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_Branch | MD_CPU_Branch]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 09.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;GPIO&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
GPIO - General Purpose Input Output. Datu ievads un izvads ar kartētu atmiņu (memory mapped IO). Mikrokontroliera perifērijas iekārtu reģistri. Reģistrs lasīšanas un rakstīšanas virzienam. Saskarnes savietošana ar operatīvās atmiņas saskarni.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots: [[#MD_GPIO | MD_GPIO]]&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 16.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Procesora arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://youtu.be/P2CARhD2k3A Slaidi/video]&lt;br /&gt;
Procesora arhitektūra. Daudz-taktu procesors un konveijera princips.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_Branch | MD_CPU_Branch]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 23.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Metrikas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Digitālas projektēšanas metrikas. Funkcionalitāte. Izmaksas, fiksētās un mainīgās. Uzticamība, izturība. Trokšņu noturība un imunitāte. Veiktspēja. Ātrums un enerģijas patēriņš. Projektēšanas laiks.&lt;br /&gt;
* [https://www.dropbox.com/s/aoyenqlkhaz1yoe/Metrics_Leo.pdf?raw=1 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Resursi:&lt;br /&gt;
* [https://semiengineering.com/from-design-to-deployment-how-silicon-lifecycle-management-optimizes-the-entire-ic-life-span/ Silicon lifecycle...]&lt;br /&gt;
* [https://anysilicon.com/when-and-why-should-you-choose-an-asic/ When and why ASIC...]&lt;br /&gt;
&lt;br /&gt;
* [https://qr.ae/pC3aan Dealing with faults on billion-transistor chips] (Quora)&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 30.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Programmējamās loģikas iekārtas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://youtu.be/JEiLcHtgSlE Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Programmējamās loģikas iekārtas, CPLD un FPGA. FPGA uzbūve. Konfigurējami loģiskie elementi. Ievada un izvada elementi. Komunikācija, maģistrāles.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://www.electronicsforu.com/technology-trends/fpga-vs-cpld-microcontrollers FPGA vs CPLD vs Microcontrollers] (from electronicsforu.com)&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/data_sheets/ds312.pdf Spartan-3E FPGA Family Data Sheet]&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/data_sheets/ds090.pdf CoolRunner II CPLD Family]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 07.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;FPGA kā serviss&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vieslekcija. Attālināta FPGA attīstītājrīku programmēšana un testēšana.&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_GPIO | MD_GPIO]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 14.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;(Vieslekcija)&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FPGA pielietojumi kosmosa tehnoloģijās.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 21.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Superskalāras arhitektūras&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://www.dropbox.com/s/7nrd0ke682oc935/13_Superscalar.pdf?raw=1 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Superskalārie procesori un to uzbūve. Paralēlu ALU izmantošanas stratēģijas.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 28.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Dinamiska instrukciju plānošana&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Instrukciju paralelisms, ciklu atrullēšana, Scoreboarding un Tomasulo arhitektūras.&lt;br /&gt;
&lt;br /&gt;
Slaidi:&lt;br /&gt;
* [https://www.dropbox.com/s/ieks943pmn4ikpm/ECE570_dynamic_scheduling.pdf?raw=1 Scoreboarding algoritms]&lt;br /&gt;
* [https://www.dropbox.com/s/1a1s4d95k5plotb/Lecture04_tomasulo.pdf?raw=1 Tomasulo algoritms]&lt;br /&gt;
&lt;br /&gt;
Resursi:&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Tomasulo%27s_algorithm Par Tomasulo algoritmu] no Wikipedijas&lt;br /&gt;
* [http://nathantypanski.github.io/tomasulo-simulator/ Tomasulo simulators]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://serenefield.com/Blog/posts/HighPerformanceArchitecture/2021-01-28_High-Performance-Computer-Architecture-13---Tomasulo-s-Algorithm-Part-1-8c65788dec07.html Ievads Tomasulo algoritmā] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 28.05.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Kopsavilkums&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Daudzkodolu procesori un CUDA&lt;br /&gt;
* [https://sites.google.com/a/nirmauni.ac.in/cudacodes/cuda-material/tutorial-3 GPU Computing: The Democratization of Parallel Computing] - seminārs, ASPLOS&amp;#039;08&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== xx.06.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
xx:xx Eksāmens.&lt;br /&gt;
&lt;br /&gt;
Projektu demonstrācijas un plakāti.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
Eksāmenā:&lt;br /&gt;
* Risinājuma pirmkods un projekts kā zip fails&lt;br /&gt;
* Dokumentācija jūsu risinājumam &amp;quot;Datasheet&amp;quot;.&lt;br /&gt;
* Jānodod eseja (e-studijās), kurā aprakstīti projekta izaicinājumi un sasniegumi kā arī tehniskā informācija par projektu.&lt;br /&gt;
* Bez tam, jāizveido plakāts, kas būs jāprezentē mutiski un jāatbild uz jautājumiem. PDF formātā (e-studijās).&lt;br /&gt;
** [[LU::poster-howto | Ieteikumi plakāta prezentācijas]] veidošanā&lt;br /&gt;
* Ja projektā ir demonstrējama daļa, tad jāveic arī tā demonstrācija.&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Lekciju video =&lt;br /&gt;
Lekciju [https://www.youtube.com/playlist?list=PL32WMyFDbfNnVb3nFI9Tku5O8ukKBxs6Z videomateriāls ir pieejams Youtube]. Sīkāk, pa tēmām:&lt;br /&gt;
* [https://youtu.be/sqyLYgVvtr0 Ievads kursa pirmajai daļai.]&lt;br /&gt;
* [https://youtu.be/G6abrFbeazw Digitālas sistēmas.]&lt;br /&gt;
* [https://youtu.be/6340drM2Fm0 Loģikas pamatelementi.]&lt;br /&gt;
* [https://youtu.be/knlFvRxpUuE Tranzistora uzbūve.]&lt;br /&gt;
* [https://youtu.be/I-l2bQ-C_VU Tranzistoru lietojumi.]&lt;br /&gt;
* [https://youtu.be/hDOUl1ViMdc Laika atkarīgi elementi.]&lt;br /&gt;
* [https://youtu.be/1spw-GAsDLk Trigeri un &amp;quot;latch&amp;quot; iekārtas.]&lt;br /&gt;
* [https://youtu.be/P2CARhD2k3A CPU uzbūve un konveijera princips.]&lt;br /&gt;
* [https://youtu.be/JEiLcHtgSlE FPGA uzbūve.]&lt;br /&gt;
&lt;br /&gt;
= PD =&lt;br /&gt;
Praktiskie darbi.&lt;br /&gt;
&lt;br /&gt;
===PD1===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LED un slēdži&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* apgūt darba plūsmu ar FPGA shēmas ievadu, kompilāciju un dizaina augžuplādēšanu uz FPGA iekārtas.&lt;br /&gt;
* lietot FPGA ievada un izvada portus (pinus).&lt;br /&gt;
* lietot elementāras loģikas elementus shēmā.&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot digitālu iekārtu, kas izmanto ievada elementus (slēdžus) un izvada elementus (LED).&lt;br /&gt;
* Shēmas ievads&lt;br /&gt;
* Kompilācija&lt;br /&gt;
* Uzlādēšana uz reālas FPGA iekārtas&lt;br /&gt;
* Pārbaude&lt;br /&gt;
&lt;br /&gt;
Iekārtai jāveic sekojošas darbības:&lt;br /&gt;
* SW1 slēdzis ieslēdz un izslēdz LED1 spīddiodi.&lt;br /&gt;
* SW2 un SW3 slēdži veido ievaddatus XOR elementam, kura rezultats tiek izvadīts uz LED2.&lt;br /&gt;
* Spīddiode LED3, kas ieslēdzas un izslēdzas reizi sekundē. SW4 to var apstādināt un iedarbināt.&lt;br /&gt;
&lt;br /&gt;
Praktiskajā darbā izstrādātā iekārta jādemonstrē uz FPGA iekārtas.&lt;br /&gt;
&lt;br /&gt;
Resusrsi:&lt;br /&gt;
* [http://www.xilinx.com/support/documentation/boards_and_kits/ug230.pdf Xilinx Spartan-3E FPGA Starter Kit Board User Guide]&lt;br /&gt;
* [https://eprints.qut.edu.au/76297/1/Spartan3E_Tutorial_1ver2.pdf Spartan 3E Tutorial] no Queensland University of Technology&lt;br /&gt;
&lt;br /&gt;
===PD_Counter===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Skaitītāja simulācija&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* Iepazīties ar FPGA elementu bibliotēkas skaitītāja moduļiem&lt;br /&gt;
* Iemācīties, kā darbināt simulācijas&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izveidot shēmu iekārtai, kas izmantojot takts signālu realizē 4 bitu bināru skaitītāju.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulātoru (ISim vai Modelsim)&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* PDF dokumentu kurā ir gan iekārtas shēma, gan arī simulācijas rezultāti un īss pieredzes apraksts.&lt;br /&gt;
&lt;br /&gt;
===PD_RF===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Reģistru fails un simulācija&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* Pamatelementu un reģistru lietojums Verilog valodā&lt;br /&gt;
* Projekta simulācija&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot 32x32 reģistru failu procesoram. Veikt simulāciju ar ISim, kas pārbauda tā darbību.&lt;br /&gt;
&lt;br /&gt;
* Reģistru failā ir 32 biti&lt;br /&gt;
* Katrs reģistrs ir 32 bitus garš&lt;br /&gt;
* Turpmāk aprakstā  portu/signālu bitu skaits tiek norādīts aiz tiem iekavās.&lt;br /&gt;
* Ir divi porti A(32) un B(32), kas ļauj vienlaicīgi nolasīt divu reģistru vērtības. Lasāmo reģistru adreses tiek norādītas ar AA(5) un AB(5)&lt;br /&gt;
* Ir viens ports D(32), kas ļauj ierakstīt viena reģistra vērtību CLK uzlecošās frontes notikuma brīdī, ja ir iespējota rakstīšana ar signālu WR. Reģistrs, kurā rakstīt, tiek norādīts ar signālu AD(5).&lt;br /&gt;
* Lasīšanas un rakstīšanas darbībām jāvar notikt paralēli, vienlaicīgi.&lt;br /&gt;
&lt;br /&gt;
Demonstrēt iekārtas darbību ar simulatoru ISim [https://www.youtube.com/watch?v=9iQfqhUfAcE (pamācības video)]&lt;br /&gt;
* Simulācijas daļā demonstrēt, kā informācija tiek rakstīta visos reģistros, kā arī lasīta no tiem. Lai veiktu šo simulāciju, izveidot testa moduli (testbench) atsevišķā Verilog failā.&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkodu reģistru failam un tā testa modulim.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===PD_Calc===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kalkulators: stāvokļu diagramma un kontrolieris&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===== Mērķi =====&lt;br /&gt;
* Iepazīties ar galīgo automātu projektēšanu un implementāciju Verilog valodā&lt;br /&gt;
* Projektēt digitālu sistēmu ar kontrolieri&lt;br /&gt;
* Simulēt kontroliera dizainu&lt;br /&gt;
&lt;br /&gt;
===== Uzdevums =====&lt;br /&gt;
Izveidot funkcionālu kalkulatora moduli, kas reaģē uz taustiņu signāliem veic saskaitīšanas un atņemšanas operācijas. &lt;br /&gt;
Kalkulators strādā heksadecimālā sistēmā, tātad, tam ir 16 ciparu taustiņi: 0,1,2...8,9,A,B,C,D,E,F.&lt;br /&gt;
Bez tam ir arī operāciju taustiņi: CLR - nodzēst rezultātu, un operācijas +, - un =.&lt;br /&gt;
Nospiežot katru taustiņu tiek pacelts signāls BtnDown. Atlaižot taustiņu tas tiek nolaists.&lt;br /&gt;
Jāveic sekojoši uzdevumi:&lt;br /&gt;
* Izveidot projektu kalkulatoram ar Verilog vai shēmu diagrammu.&lt;br /&gt;
* Izveidot kontrolieri, kas balstīts uz vienu vai vairākiem galīgiem stāvokļu automātiem.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulātoru Xilinx ISim.&lt;br /&gt;
&lt;br /&gt;
===== Iesniegt =====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* PDF dokumentu kurā ir gan iekārtas shēma, gan arī simulācijas rezultāti un īss pieredzes apraksts.&lt;br /&gt;
* Iekārtas un testēšanas Verilog pirmkoda failus.&lt;br /&gt;
&lt;br /&gt;
===PD_VGA===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Šaha laukums&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* iepazīties ar VGA signālu protokolu&lt;br /&gt;
* izpildīt iekartas dizainu Verilog valodā&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot iekārtu, kas uz monitora ekrāna attēlo 8x8 šaha lauciņu. &lt;br /&gt;
Darba gaita iepazīties ar video signāla formu un laika parametriem. &lt;br /&gt;
Darbu atļauts izpildīt daļēji vai pilnīgi Verilog valodā. &lt;br /&gt;
&lt;br /&gt;
Praktiskajā darbā izstrādātā iekārta jādemonstrē uz Spartan 3E FPGA iekārtas, kam pieslēgts monitors.&lt;br /&gt;
&lt;br /&gt;
Izstrādātā risinājuma pirmkoda faili jāarhivē failā vards_uzvards_PD2.zip un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
===PD_Kbd===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Klaviatūra un Ciparu izvads&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* iepazīties ar PS/2 (klaviatūras) protokolu&lt;br /&gt;
* Izstrādāt stāvokļu mašīnu - galīgo automātu kalkulatora darbībai&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot digitālu iekārtu, kas darbojas kā kalkulators ar skaitļiem heksadecimālajā sistēmā un var izpildīt saskaitīšanas un atņemšanas operācijas.&lt;br /&gt;
&lt;br /&gt;
Skaitļu ievads ir no klaviatūras, kas pieslēdta ar PS/2 portu.&lt;br /&gt;
&lt;br /&gt;
Skaitļu izvads ir uz LCD ekrāna.&lt;br /&gt;
&lt;br /&gt;
Izstrādātā risinājuma pirmkoda faili jāarhivē failā vards_uzvards_PD3.zip un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
= MD =&lt;br /&gt;
Mājas darbi.&lt;br /&gt;
&lt;br /&gt;
===MD1===&lt;br /&gt;
&lt;br /&gt;
Novērtēt Spartan 3E attīstītājrīka un FPGA iespējas. Atbildēt uz jautājumu: vai iespējams uz Spartan 3E realizēt datoru, kas varētu darbināt Linux klases operētājsistēmu? Atbildi &amp;#039;&amp;#039;&amp;#039;pamatot&amp;#039;&amp;#039;&amp;#039;, izvērtējot &amp;#039;&amp;#039;&amp;#039;nepieciešamos un atbilstošos pieejamos resursus&amp;#039;&amp;#039;&amp;#039; gan FPGA, gan perifērijas iekārtu kontekstā.&lt;br /&gt;
&lt;br /&gt;
Atbilde noformējama kā eseja PDF failā vards_uzvards_MD1.pdf un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
===MD2===&lt;br /&gt;
&lt;br /&gt;
Aprakstīt ideju kursā realizējamam projektam, ko izstrādāsiet uz FPGA iekārtas.&lt;br /&gt;
Iekļaut sekojošas sadaļas:&lt;br /&gt;
* Vai tas ir individuāls vai komandas darbs. Ja komandas, tad pievienot dalībnieku sarakstu un to lomu projektā&lt;br /&gt;
* Mērķis un motivācija&lt;br /&gt;
* Nepieciešamie resursi&lt;br /&gt;
* Risinājuma apraksts&lt;br /&gt;
* Realizācijas plāns ar konkrētiem datumiem un starpmērķiem, kas tajos sasniedzami&lt;br /&gt;
&lt;br /&gt;
Atbilde noformējama kā dokuments PDF failā vards_uzvards_MD2.pdf un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MD_OpenGL===&lt;br /&gt;
&lt;br /&gt;
Uzzīmēt un aprakstīt video kontroliera shēmu, kas atbalsta minimālu OpenGL vai līdzīgu instrukciju kopu.&lt;br /&gt;
Instrukcijas tiek nodotas no datora pa seriālo portu. Instrukcijas jāatkodē un jāizpilda, izmainot lokālu video buferi. No bufera attēls jāizvada uz  iebūvēto VGA portu attēla izvadei.&lt;br /&gt;
&lt;br /&gt;
Atbilde noformējama kā dokuments PDF failā vards_uzvards_MDx.pdf un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
===MD_ALU===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Aritmētiski loģiskā ierīce (ALU)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* Izpētīt ISA un izstrādāt specifikāciju atbilstošam procesora ALU&lt;br /&gt;
* ALU izstrāde&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt ALU kas atbilst RISCV R32I instrukciju kopai &lt;br /&gt;
* ALU nepieciešams nodrošināt sekojošu saskarni:&lt;br /&gt;
** A un B ir datu ievadda maģistrāles, 32 biti, vai ideāli, parametrizējamas.&lt;br /&gt;
** OUT ir rezultāts, arī datu maģistrāle&lt;br /&gt;
** OPCODE - ievads, ALU operācijas kods&lt;br /&gt;
** karodziņi, kas indicē:&lt;br /&gt;
*** V - Overflow&lt;br /&gt;
*** Z - Zero&lt;br /&gt;
*** N - Negative&lt;br /&gt;
*** C - Carry&lt;br /&gt;
* Demonstrēt iekārtas darbību vairākām instrukcijām, ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISCV reference card] - instrukciju tipi, kopsavilkums&lt;br /&gt;
* [https://inst.eecs.berkeley.edu/~cs61c/fa17/img/riscvcard.pdf RISCV Reference sheet] - instrukciju saraksts&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISCV specifikācijas protāls un dokumenti]&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda fails ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_v0===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt instrukciju dekoderi un aritmētisko instrukciju datu plūsmu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt instrukciju dekoderi pēc RISC V R32I ISA Green card.&lt;br /&gt;
* Izstrādāt vienkāršu kontrolieri, kas tulko instrukciju operāciju kodus uz ALU operāciju kodiem, un reģistru faila WE (Write Enable) signālu.&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vienkāršas instrukcijas pa vienai.&lt;br /&gt;
&lt;br /&gt;
CPU prototipam (v0) jāsavieno reģistru fails, ALU un instrukciju dekoderis un operāciju kodu kontrolieris tā, lai būtu iespējams ieejā dot vienas instrukcijas 32 bitu kodu, un tā tiktu izpildīta, un rezultāts ierakstīts attiecīgajā reģistrā pēc CLK takts signāla augošās frontes.&lt;br /&gt;
&lt;br /&gt;
* Demonstrēt iekārtas darbību vairākām instrukcijām, ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* RISC V dokumentācija&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_IC===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips ar instrukciju kešatmiņu&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt instrukciju kešatmiņu un RISC V asemblera kompilāciju.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt instrukciju kešatmiņu, instrukciju reģistru, PC reģistru.&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vienkāršas instrukcijas no instrukciju atmiņas. Katrs takts signāls CLK ielasa un izpilda nākamo instrukciju.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu instrukciju testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Instrukciju kešatmiņas modulim ielasīt kompilētu programmu (no teksta faila), Verilog kompilācijas solī.&lt;br /&gt;
&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISC V dokumentācija]&lt;br /&gt;
* [https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md RISC V Assembly manual]&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISC V Green card]&lt;br /&gt;
* [https://riscvasm.lucasteske.dev/# RiscV kompilators online]&lt;br /&gt;
&lt;br /&gt;
GNU asemblera kompilators RISC V arhitektūrai ir pieejams kā riscv64-linux-gnu-as.&lt;br /&gt;
Ar to ir iespējams kompilēt kodu 32 bitu arhitektūrai RV32i norādot attiecīgu arhitektūras parametru:&lt;br /&gt;
 riscv64-linux-gnu-as -march=rv32e -al test.s&lt;br /&gt;
&lt;br /&gt;
Tad kompilēto kodu iespējams dabūt no listinga (to apstrādājot), vai arī no kompilētā elf faila ar objdump.&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog un citi saistītie pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* Testa programma asemblerā&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_DC===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips ar datu kešatmiņu&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt datu kešatmiņu un saskarni ar operatīvo atmiņu.&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt datu kešatmiņu.&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vienkāršas instrukcijas ar atmiņu, piemēram Load un Store.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu instrukciju testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISC V dokumentācija]&lt;br /&gt;
* [https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md RISC V Assembly manual]&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISC V Green card]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_Branch===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips ar Branch un Jump-and-link instrukciju realizāciju&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt Branch un Jump-and-link instrukciju darbības un dizaina principus.&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt Branch instrukcijas saskaņā ar RISC V instrukciju kopu&lt;br /&gt;
** BEQ, BNE, BLT, BGE, BLTU, BGEU.&lt;br /&gt;
* Izstrādāt Jump-and-link instrukcijas saskaņā ar RISC V instrukciju kopu&lt;br /&gt;
** JAL, JALR&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vadības kontroles instrukcijas.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu instrukciju testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISC V dokumentācija]&lt;br /&gt;
* [https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md RISC V Assembly manual]&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISC V Green card]&lt;br /&gt;
* [https://github.com/jameslzhu/riscv-card/blob/master/riscv-card.pdf RISC V unofficial Reference card]&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_GPIO===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Universāls perifērijas datu ievads un izvads (GPIO) &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt datu apmaiņas principus starp mikroprocesoru un perifērijas iekārtām.&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt moduļus pikrokontroliera ārējai iekārtai GPIO, kas spēj nodot un lasīt datus rakstot īpašā adresē.&lt;br /&gt;
** Ieslēgt un izslēgt 8 LED, kas kartēti uz vienu baitu atmiņā. Katram LED atbilst savs bits baitā.&lt;br /&gt;
** Nolasīt 8 slēdžu (Switch) stāvokļus lasot vienu baitu pēc konkrētas atmiņas adreses. Katram slēdzim atbilst savs bits baitā.&lt;br /&gt;
** Realizēt GPIO iekārtas saskarni caur baitu konkrētā adresē operatīvajā atmiņā. Saskarni realizēt ar diviem reģistriem: Datu virziena reģistru un Datu reģistru.&lt;br /&gt;
&lt;br /&gt;
* Dizainu organizēt tā, lai izveidotie GPIO moduļi var tikt pielietoti arī citām perifērijas iekārtām:&lt;br /&gt;
** Konfigurējot piekļuvi ārējām iekārtām caur UCF failu&lt;br /&gt;
** Integrējot citus iekšējos moduļus kas izstrādāti Verilog vai shēmtehnikā.&lt;br /&gt;
&lt;br /&gt;
* Integrēt GPIO jūsu CPU projektā.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu GPIO testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar aparatūru.&lt;br /&gt;
&lt;br /&gt;
Piemēram var apskatīt GPIO organizāciju dažādu mikrokontrolieru dokumentācijā, piemēram Atmega328p.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf Atmega328p mikrokontroliera dokumentācija]&lt;br /&gt;
* [https://github.com/elomage/FPGA-resources/blob/main/ucf_templates/Anvyl.ucf UCF faila piemērs ANVYL attīstītājrīkam]&lt;br /&gt;
* [https://en.wikipedia.org/wiki/General-purpose_input/output General purpose input/output] - Wikipedia&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
= Informācijas resursi =&lt;br /&gt;
&lt;br /&gt;
{{DIP_saites}}&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=LU-DIP-m&amp;diff=11212</id>
		<title>LU-DIP-m</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=LU-DIP-m&amp;diff=11212"/>
		<updated>2026-02-26T11:58:06Z</updated>

		<summary type="html">&lt;p&gt;Leo: /* 19.02.26 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Īsceļi:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[#Kalendārs | Kalendārs]] | &lt;br /&gt;
[[#Lekciju video | Video]] |&lt;br /&gt;
[[#PD | PD]] |&lt;br /&gt;
[[#MD | MD]] |&lt;br /&gt;
[[#Informācijas resursi | Resursi]] | &lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}}]] : &lt;br /&gt;
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}}]]&lt;br /&gt;
(ja ir lekcija)&lt;br /&gt;
&lt;br /&gt;
{{LUDFKurss|Digitālā projektēšana [M]|DIP|DatZ7034|2DAT7034|maģistru un doktorantu}}&lt;br /&gt;
&lt;br /&gt;
= Par kursu =&lt;br /&gt;
&lt;br /&gt;
Kursa mērķi ir iepazīstināt ar digitālo iekārtu projektēšanas aspektiem, darba plūsmu, problēmām un risinājumiem. Kursa ietvaros tiek apskatīti digitālu iekārtu un datoru arhitektūras pamata un arī sarežģītākas pakāpes elementi.&lt;br /&gt;
Kursā studenti izstrādā praktiskos darbus un kursa projektu, kura rezultāts ir digitāla iekarta, piemēram procesors, mini dators, grafikas kontrolieris, kalkulators, paralēlas attēlu apstrādes iekārta un citas iekārtas.&lt;br /&gt;
&lt;br /&gt;
=== Administratīvā informācija===&lt;br /&gt;
* Pasniedzējs: Leo Seļāvo &amp;#039;&amp;#039;(epasts: vards.uzvards @ gmail.com)&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Vērtējums = 40% mājas un praktiskie darbi, 10% dalība klasē, 20% KD1 un 30% KD2(eksāmens). --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{KursiMD|DIP|50%|10%}}&lt;br /&gt;
&lt;br /&gt;
=Kalendārs=&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4 style = &amp;#039;border-color: #ddd;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
! Datums&lt;br /&gt;
! Tēma, saturs&lt;br /&gt;
! Uzdevumi&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
==== 05.02.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievads kursā&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Digitālas iekārtas vispārējā arhitektūra un uzbūve.&lt;br /&gt;
Digitālā projektēšana, ievads, darba plūsma. Map, place, route. Laika anotācija - &amp;quot;&amp;quot;Timing back-annotation&amp;quot;&amp;quot;. Simulācija un testēšana dažādos līmeņos.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://youtu.be/sqyLYgVvtr0 Ievads (video)]&lt;br /&gt;
* [https://youtu.be/G6abrFbeazw Kas ir digitālas sistēmas (video)]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
[[#PD1 | PD1]] - LED un slēdžī&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 12.02.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Digitālo iekārtu pamatelementi&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://youtu.be/6340drM2Fm0 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Digitālo iekārtu pamatelementi, tranzistors, invertors, NAND un NOR elementi no tranzistoriem, to loģiskā uzbūve un īpašības.&lt;br /&gt;
Loģiskie elementi, minimālā kopa. Pāreja no loģiskajām izteiksmēm un tabulām uz realizāciju ar loģiskajiem elementiem. Kombinētie loģiskie elementi. Dešifrators, multipleksors, frekvences dalītājs un citi elementi.&lt;br /&gt;
Elementi ar atmiņu.  RS un D trigeri. &amp;quot;&amp;quot;Latch&amp;quot;&amp;quot; un &amp;quot;&amp;quot;D-Flip-flop&amp;quot;&amp;quot;. Reģistri un uz tiem bāzētas iekārtas. Bīdes reģistri. Skaitītāji. Uzstādīšanas un noturēšanas laiku ierobežojumi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;CMOS tehnoloģija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
MOS tranzistora uzbūve un pielietojumi loģisko iekārtu uzbūvē&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://youtu.be/knlFvRxpUuE MOS tranzistors kā pamatelements digitālajām iekārtām (video)]&lt;br /&gt;
* [https://youtu.be/I-l2bQ-C_VU Loģisko elementu uzbūve ar MOS tranzistoriem (video)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 19.02.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Aparatūru aprakstošas valodas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aparatūru aprakstošas valodas (HDL), Verilog. Valodas elementi simulācijai un sintēzei. Uzvedības un struktūras apraksts. Moduļi. Datu tipi, signāli un reģistri.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.ece.umd.edu/class/enee359a/verilog_tutorial.pdf Verilog tutorial] no UMD.&lt;br /&gt;
* [http://www.asic-world.com/verilog/veritut.html Verilog tutorial] no ASIC world.&lt;br /&gt;
* [https://uobdv.github.io/Design-Verification/Supplementary/Verilog.SLIDES.pdf Verilog lekcijas slaidi] no CMU.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots [[#MD_RF | MD_RF]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 26.02.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Instrukciju kopas arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [http://selavo.lv/kursi/dipm/dlx_handout.pdf Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Procesora instrukciju arhitektūra. Instrukciju tipi un kodēšana. Operandi. RISC un CISC arhitektūras. DLX procesora instrukciju arhitektūra. Salīdzinoši piemēri no ARM instrukciju kopas.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; [[#PD_RF | PD_RF]]&lt;br /&gt;
* Uzdots [[#MD_ALU | MD_ALU]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 05.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Risc V arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Vientakts procesora arhitektūra. Instrukciju dešifratora un skaitītāja reģistri. Reģistru fails. Aritmētiski loģiskā iekārta (ALU). Atmiņas saskarne. Instrukciju un datu kešatmiņa.&lt;br /&gt;
&lt;br /&gt;
RISC V procesora arhitektūra un instrukciju kopa.&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/eit5g6x4a7tqhla/riscv-20160507-patterson-160507071645.pdf?raw=1 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* RISC-V arhitektūras procesori un instrukciju kopa.&lt;br /&gt;
* Salīdzinošais ieskats ARM instrukciju kopā.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://riscv.org/ RISCV.org]&lt;br /&gt;
* [https://www.dropbox.com/s/8oy8yqd2bpff9rd/RISCVGreenCardv8-20151013.pdf?raw=1 RISC V Green Card]&lt;br /&gt;
* [https://five-embeddev.com/riscv-isa-manual/latest/instr-table.html RISC-V ISA Manual] - tabula ar instrukcijām un to kodiem.&lt;br /&gt;
&lt;br /&gt;
* [https://riscvasm.lucasteske.dev/# RISC-V Online Assembler]&lt;br /&gt;
* [https://www.cs.cornell.edu/courses/cs3410/2019sp/riscv/interpreter/# RISCV Interpreter] online at Cornell&lt;br /&gt;
&lt;br /&gt;
* [http://tice.sea.eseo.fr/riscv/ RISCV datapath vizualizācija]&lt;br /&gt;
&lt;br /&gt;
* [https://circuitdigest.com/article/understanding-risc-v-architecture-and-why-it-could-be-a-replacement-for-arm Risc V un ARM]&lt;br /&gt;
* [https://youtu.be/XMg0qzyMi14 Designing Open Processors at the Barcelona Supercomputing Center (video)]&lt;br /&gt;
&lt;br /&gt;
* Konferences:&lt;br /&gt;
** [https://www.dac.com/ DAC]&lt;br /&gt;
** [https://www.date-conference.com/ DATE]&lt;br /&gt;
** [https://dsd-seaa2021.unipv.it/index.html#call Euromicro DSD]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_ALU | MD_ALU]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_v0 | MD_CPU_v0]]&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 12.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Instrukciju atmiņa. RISC V Asemblers&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Instrukciju atmiņa, reģistrs, dekoderis. PC reģistrs.&lt;br /&gt;
&lt;br /&gt;
RISC V Asemblers. GNU rīki kompilācijai. Qemu simulators.&lt;br /&gt;
&lt;br /&gt;
* GNU asemblera kompilators RISC V arhitektūrai ir pieejams kā riscv64-linux-gnu-as. Ar to ir iespējams kompilēt kodu 32 bitu arhitektūrai RV32i norādot attiecīgu arhitektūras parametru:&lt;br /&gt;
 riscv64-linux-gnu-as -march=rv32e -al test.s&lt;br /&gt;
* Tad kompilēto kodu iespējams dabūt no listinga (to apstrādājot), vai arī no kompilētā elf faila ar objdump.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_v0 | MD_CPU_v0]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_IC | MD_CPU_IC]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 19.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Operatīvā atmiņa&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Operatīvā atmiņa, statiskā un dinamiskā. Atmiņas matricas un uzbūve. Kešatmiņas. Saskarnes starp atmiņu un citām iekārtām.&lt;br /&gt;
&lt;br /&gt;
Resursi:&lt;br /&gt;
* [http://ece-research.unm.edu/jimp/vlsi/slides/chap8_2.html Atmiņas uzbūve] no New Mexico Universitātes, VLSI kursa.&lt;br /&gt;
* [https://www.embedded.com/flash-101-nand-flash-vs-nor-flash/ NAND un NOR zibatmiņa] (embedded.com)&lt;br /&gt;
* [https://www.enterprisestorageforum.com/hardware/slc-vs-mlc-vs-tlc-nand-flash/ SLV, MLC, TLC Flash memory] (Enterprise storage forum)&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_IC | MD_CPU_IC]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_DC | MD_CPU_DC]]&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 26.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Vadības kontrole&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Branch instrukcijas. Jump-and-link instrukcijas. &lt;br /&gt;
To realizācija vientakts procesorā. &lt;br /&gt;
Branch prediction. Heristikas vadības kontroles optimizācijai.&lt;br /&gt;
&lt;br /&gt;
Kešatmiņa. Asociatīvā atmiņa. &lt;br /&gt;
&amp;quot;N-way set associative cache memory&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_DC | MD_CPU_DC]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_Branch | MD_CPU_Branch]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 09.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;GPIO&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
GPIO - General Purpose Input Output. Datu ievads un izvads ar kartētu atmiņu (memory mapped IO). Mikrokontroliera perifērijas iekārtu reģistri. Reģistrs lasīšanas un rakstīšanas virzienam. Saskarnes savietošana ar operatīvās atmiņas saskarni.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots: [[#MD_GPIO | MD_GPIO]]&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 16.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Procesora arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://youtu.be/P2CARhD2k3A Slaidi/video]&lt;br /&gt;
Procesora arhitektūra. Daudz-taktu procesors un konveijera princips.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_Branch | MD_CPU_Branch]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 23.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Metrikas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Digitālas projektēšanas metrikas. Funkcionalitāte. Izmaksas, fiksētās un mainīgās. Uzticamība, izturība. Trokšņu noturība un imunitāte. Veiktspēja. Ātrums un enerģijas patēriņš. Projektēšanas laiks.&lt;br /&gt;
* [https://www.dropbox.com/s/aoyenqlkhaz1yoe/Metrics_Leo.pdf?raw=1 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Resursi:&lt;br /&gt;
* [https://semiengineering.com/from-design-to-deployment-how-silicon-lifecycle-management-optimizes-the-entire-ic-life-span/ Silicon lifecycle...]&lt;br /&gt;
* [https://anysilicon.com/when-and-why-should-you-choose-an-asic/ When and why ASIC...]&lt;br /&gt;
&lt;br /&gt;
* [https://qr.ae/pC3aan Dealing with faults on billion-transistor chips] (Quora)&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 30.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Programmējamās loģikas iekārtas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://youtu.be/JEiLcHtgSlE Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Programmējamās loģikas iekārtas, CPLD un FPGA. FPGA uzbūve. Konfigurējami loģiskie elementi. Ievada un izvada elementi. Komunikācija, maģistrāles.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://www.electronicsforu.com/technology-trends/fpga-vs-cpld-microcontrollers FPGA vs CPLD vs Microcontrollers] (from electronicsforu.com)&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/data_sheets/ds312.pdf Spartan-3E FPGA Family Data Sheet]&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/data_sheets/ds090.pdf CoolRunner II CPLD Family]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 07.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;FPGA kā serviss&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vieslekcija. Attālināta FPGA attīstītājrīku programmēšana un testēšana.&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_GPIO | MD_GPIO]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 14.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;(Vieslekcija)&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FPGA pielietojumi kosmosa tehnoloģijās.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 21.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Superskalāras arhitektūras&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://www.dropbox.com/s/7nrd0ke682oc935/13_Superscalar.pdf?raw=1 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Superskalārie procesori un to uzbūve. Paralēlu ALU izmantošanas stratēģijas.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 28.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Dinamiska instrukciju plānošana&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Instrukciju paralelisms, ciklu atrullēšana, Scoreboarding un Tomasulo arhitektūras.&lt;br /&gt;
&lt;br /&gt;
Slaidi:&lt;br /&gt;
* [https://www.dropbox.com/s/ieks943pmn4ikpm/ECE570_dynamic_scheduling.pdf?raw=1 Scoreboarding algoritms]&lt;br /&gt;
* [https://www.dropbox.com/s/1a1s4d95k5plotb/Lecture04_tomasulo.pdf?raw=1 Tomasulo algoritms]&lt;br /&gt;
&lt;br /&gt;
Resursi:&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Tomasulo%27s_algorithm Par Tomasulo algoritmu] no Wikipedijas&lt;br /&gt;
* [http://nathantypanski.github.io/tomasulo-simulator/ Tomasulo simulators]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://serenefield.com/Blog/posts/HighPerformanceArchitecture/2021-01-28_High-Performance-Computer-Architecture-13---Tomasulo-s-Algorithm-Part-1-8c65788dec07.html Ievads Tomasulo algoritmā] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 28.05.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Kopsavilkums&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Daudzkodolu procesori un CUDA&lt;br /&gt;
* [https://sites.google.com/a/nirmauni.ac.in/cudacodes/cuda-material/tutorial-3 GPU Computing: The Democratization of Parallel Computing] - seminārs, ASPLOS&amp;#039;08&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== xx.06.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
xx:xx Eksāmens.&lt;br /&gt;
&lt;br /&gt;
Projektu demonstrācijas un plakāti.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
Eksāmenā:&lt;br /&gt;
* Risinājuma pirmkods un projekts kā zip fails&lt;br /&gt;
* Dokumentācija jūsu risinājumam &amp;quot;Datasheet&amp;quot;.&lt;br /&gt;
* Jānodod eseja (e-studijās), kurā aprakstīti projekta izaicinājumi un sasniegumi kā arī tehniskā informācija par projektu.&lt;br /&gt;
* Bez tam, jāizveido plakāts, kas būs jāprezentē mutiski un jāatbild uz jautājumiem. PDF formātā (e-studijās).&lt;br /&gt;
** [[LU::poster-howto | Ieteikumi plakāta prezentācijas]] veidošanā&lt;br /&gt;
* Ja projektā ir demonstrējama daļa, tad jāveic arī tā demonstrācija.&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Lekciju video =&lt;br /&gt;
Lekciju [https://www.youtube.com/playlist?list=PL32WMyFDbfNnVb3nFI9Tku5O8ukKBxs6Z videomateriāls ir pieejams Youtube]. Sīkāk, pa tēmām:&lt;br /&gt;
* [https://youtu.be/sqyLYgVvtr0 Ievads kursa pirmajai daļai.]&lt;br /&gt;
* [https://youtu.be/G6abrFbeazw Digitālas sistēmas.]&lt;br /&gt;
* [https://youtu.be/6340drM2Fm0 Loģikas pamatelementi.]&lt;br /&gt;
* [https://youtu.be/knlFvRxpUuE Tranzistora uzbūve.]&lt;br /&gt;
* [https://youtu.be/I-l2bQ-C_VU Tranzistoru lietojumi.]&lt;br /&gt;
* [https://youtu.be/hDOUl1ViMdc Laika atkarīgi elementi.]&lt;br /&gt;
* [https://youtu.be/1spw-GAsDLk Trigeri un &amp;quot;latch&amp;quot; iekārtas.]&lt;br /&gt;
* [https://youtu.be/P2CARhD2k3A CPU uzbūve un konveijera princips.]&lt;br /&gt;
* [https://youtu.be/JEiLcHtgSlE FPGA uzbūve.]&lt;br /&gt;
&lt;br /&gt;
= PD =&lt;br /&gt;
Praktiskie darbi.&lt;br /&gt;
&lt;br /&gt;
===PD1===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LED un slēdži&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* apgūt darba plūsmu ar FPGA shēmas ievadu, kompilāciju un dizaina augžuplādēšanu uz FPGA iekārtas.&lt;br /&gt;
* lietot FPGA ievada un izvada portus (pinus).&lt;br /&gt;
* lietot elementāras loģikas elementus shēmā.&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot digitālu iekārtu, kas izmanto ievada elementus (slēdžus) un izvada elementus (LED).&lt;br /&gt;
* Shēmas ievads&lt;br /&gt;
* Kompilācija&lt;br /&gt;
* Uzlādēšana uz reālas FPGA iekārtas&lt;br /&gt;
* Pārbaude&lt;br /&gt;
&lt;br /&gt;
Iekārtai jāveic sekojošas darbības:&lt;br /&gt;
* SW1 slēdzis ieslēdz un izslēdz LED1 spīddiodi.&lt;br /&gt;
* SW2 un SW3 slēdži veido ievaddatus XOR elementam, kura rezultats tiek izvadīts uz LED2.&lt;br /&gt;
* Spīddiode LED3, kas ieslēdzas un izslēdzas reizi sekundē. SW4 to var apstādināt un iedarbināt.&lt;br /&gt;
&lt;br /&gt;
Praktiskajā darbā izstrādātā iekārta jādemonstrē uz FPGA iekārtas.&lt;br /&gt;
&lt;br /&gt;
Resusrsi:&lt;br /&gt;
* [http://www.xilinx.com/support/documentation/boards_and_kits/ug230.pdf Xilinx Spartan-3E FPGA Starter Kit Board User Guide]&lt;br /&gt;
* [https://eprints.qut.edu.au/76297/1/Spartan3E_Tutorial_1ver2.pdf Spartan 3E Tutorial] no Queensland University of Technology&lt;br /&gt;
&lt;br /&gt;
===PD_Counter===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Skaitītāja simulācija&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* Iepazīties ar FPGA elementu bibliotēkas skaitītāja moduļiem&lt;br /&gt;
* Iemācīties, kā darbināt simulācijas&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izveidot shēmu iekārtai, kas izmantojot takts signālu realizē 4 bitu bināru skaitītāju.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulātoru (ISim vai Modelsim)&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* PDF dokumentu kurā ir gan iekārtas shēma, gan arī simulācijas rezultāti un īss pieredzes apraksts.&lt;br /&gt;
&lt;br /&gt;
===PD_RF===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Reģistru fails un simulācija&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* Pamatelementu un reģistru lietojums Verilog valodā&lt;br /&gt;
* Projekta simulācija&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot 32x32 reģistru failu procesoram. Veikt simulāciju ar ISim, kas pārbauda tā darbību.&lt;br /&gt;
&lt;br /&gt;
* Reģistru failā ir 32 biti&lt;br /&gt;
* Katrs reģistrs ir 32 bitus garš&lt;br /&gt;
* Turpmāk aprakstā  portu/signālu bitu skaits tiek norādīts aiz tiem iekavās.&lt;br /&gt;
* Ir divi porti A(32) un B(32), kas ļauj vienlaicīgi nolasīt divu reģistru vērtības. Lasāmo reģistru adreses tiek norādītas ar AA(5) un AB(5)&lt;br /&gt;
* Ir viens ports D(32), kas ļauj ierakstīt viena reģistra vērtību CLK uzlecošās frontes notikuma brīdī, ja ir iespējota rakstīšana ar signālu WR. Reģistrs, kurā rakstīt, tiek norādīts ar signālu AD(5).&lt;br /&gt;
* Lasīšanas un rakstīšanas darbībām jāvar notikt paralēli, vienlaicīgi.&lt;br /&gt;
&lt;br /&gt;
Demonstrēt iekārtas darbību ar simulatoru ISim [https://www.youtube.com/watch?v=9iQfqhUfAcE (pamācības video)]&lt;br /&gt;
* Simulācijas daļā demonstrēt, kā informācija tiek rakstīta visos reģistros, kā arī lasīta no tiem. Lai veiktu šo simulāciju, izveidot testa moduli (testbench) atsevišķā Verilog failā.&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkodu reģistru failam un tā testa modulim.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===PD_Calc===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kalkulators: stāvokļu diagramma un kontrolieris&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===== Mērķi =====&lt;br /&gt;
* Iepazīties ar galīgo automātu projektēšanu un implementāciju Verilog valodā&lt;br /&gt;
* Projektēt digitālu sistēmu ar kontrolieri&lt;br /&gt;
* Simulēt kontroliera dizainu&lt;br /&gt;
&lt;br /&gt;
===== Uzdevums =====&lt;br /&gt;
Izveidot funkcionālu kalkulatora moduli, kas reaģē uz taustiņu signāliem veic saskaitīšanas un atņemšanas operācijas. &lt;br /&gt;
Kalkulators strādā heksadecimālā sistēmā, tātad, tam ir 16 ciparu taustiņi: 0,1,2...8,9,A,B,C,D,E,F.&lt;br /&gt;
Bez tam ir arī operāciju taustiņi: CLR - nodzēst rezultātu, un operācijas +, - un =.&lt;br /&gt;
Nospiežot katru taustiņu tiek pacelts signāls BtnDown. Atlaižot taustiņu tas tiek nolaists.&lt;br /&gt;
Jāveic sekojoši uzdevumi:&lt;br /&gt;
* Izveidot projektu kalkulatoram ar Verilog vai shēmu diagrammu.&lt;br /&gt;
* Izveidot kontrolieri, kas balstīts uz vienu vai vairākiem galīgiem stāvokļu automātiem.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulātoru Xilinx ISim.&lt;br /&gt;
&lt;br /&gt;
===== Iesniegt =====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* PDF dokumentu kurā ir gan iekārtas shēma, gan arī simulācijas rezultāti un īss pieredzes apraksts.&lt;br /&gt;
* Iekārtas un testēšanas Verilog pirmkoda failus.&lt;br /&gt;
&lt;br /&gt;
===PD_VGA===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Šaha laukums&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* iepazīties ar VGA signālu protokolu&lt;br /&gt;
* izpildīt iekartas dizainu Verilog valodā&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot iekārtu, kas uz monitora ekrāna attēlo 8x8 šaha lauciņu. &lt;br /&gt;
Darba gaita iepazīties ar video signāla formu un laika parametriem. &lt;br /&gt;
Darbu atļauts izpildīt daļēji vai pilnīgi Verilog valodā. &lt;br /&gt;
&lt;br /&gt;
Praktiskajā darbā izstrādātā iekārta jādemonstrē uz Spartan 3E FPGA iekārtas, kam pieslēgts monitors.&lt;br /&gt;
&lt;br /&gt;
Izstrādātā risinājuma pirmkoda faili jāarhivē failā vards_uzvards_PD2.zip un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
===PD_Kbd===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Klaviatūra un Ciparu izvads&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* iepazīties ar PS/2 (klaviatūras) protokolu&lt;br /&gt;
* Izstrādāt stāvokļu mašīnu - galīgo automātu kalkulatora darbībai&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot digitālu iekārtu, kas darbojas kā kalkulators ar skaitļiem heksadecimālajā sistēmā un var izpildīt saskaitīšanas un atņemšanas operācijas.&lt;br /&gt;
&lt;br /&gt;
Skaitļu ievads ir no klaviatūras, kas pieslēdta ar PS/2 portu.&lt;br /&gt;
&lt;br /&gt;
Skaitļu izvads ir uz LCD ekrāna.&lt;br /&gt;
&lt;br /&gt;
Izstrādātā risinājuma pirmkoda faili jāarhivē failā vards_uzvards_PD3.zip un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
= MD =&lt;br /&gt;
Mājas darbi.&lt;br /&gt;
&lt;br /&gt;
===MD1===&lt;br /&gt;
&lt;br /&gt;
Novērtēt Spartan 3E attīstītājrīka un FPGA iespējas. Atbildēt uz jautājumu: vai iespējams uz Spartan 3E realizēt datoru, kas varētu darbināt Linux klases operētājsistēmu? Atbildi &amp;#039;&amp;#039;&amp;#039;pamatot&amp;#039;&amp;#039;&amp;#039;, izvērtējot &amp;#039;&amp;#039;&amp;#039;nepieciešamos un atbilstošos pieejamos resursus&amp;#039;&amp;#039;&amp;#039; gan FPGA, gan perifērijas iekārtu kontekstā.&lt;br /&gt;
&lt;br /&gt;
Atbilde noformējama kā eseja PDF failā vards_uzvards_MD1.pdf un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
===MD2===&lt;br /&gt;
&lt;br /&gt;
Aprakstīt ideju kursā realizējamam projektam, ko izstrādāsiet uz FPGA iekārtas.&lt;br /&gt;
Iekļaut sekojošas sadaļas:&lt;br /&gt;
* Vai tas ir individuāls vai komandas darbs. Ja komandas, tad pievienot dalībnieku sarakstu un to lomu projektā&lt;br /&gt;
* Mērķis un motivācija&lt;br /&gt;
* Nepieciešamie resursi&lt;br /&gt;
* Risinājuma apraksts&lt;br /&gt;
* Realizācijas plāns ar konkrētiem datumiem un starpmērķiem, kas tajos sasniedzami&lt;br /&gt;
&lt;br /&gt;
Atbilde noformējama kā dokuments PDF failā vards_uzvards_MD2.pdf un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MD_OpenGL===&lt;br /&gt;
&lt;br /&gt;
Uzzīmēt un aprakstīt video kontroliera shēmu, kas atbalsta minimālu OpenGL vai līdzīgu instrukciju kopu.&lt;br /&gt;
Instrukcijas tiek nodotas no datora pa seriālo portu. Instrukcijas jāatkodē un jāizpilda, izmainot lokālu video buferi. No bufera attēls jāizvada uz  iebūvēto VGA portu attēla izvadei.&lt;br /&gt;
&lt;br /&gt;
Atbilde noformējama kā dokuments PDF failā vards_uzvards_MDx.pdf un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
===MD_ALU===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Aritmētiski loģiskā ierīce (ALU)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* Izpētīt ISA un izstrādāt specifikāciju atbilstošam procesora ALU&lt;br /&gt;
* ALU izstrāde&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt ALU kas atbilst RISCV R32I instrukciju kopai &lt;br /&gt;
* ALU nepieciešams nodrošināt sekojošu saskarni:&lt;br /&gt;
** A un B ir datu ievadda maģistrāles, 32 biti, vai ideāli, parametrizējamas.&lt;br /&gt;
** OUT ir rezultāts, arī datu maģistrāle&lt;br /&gt;
** OPCODE - ievads, ALU operācijas kods&lt;br /&gt;
** karodziņi, kas indicē:&lt;br /&gt;
*** V - Overflow&lt;br /&gt;
*** Z - Zero&lt;br /&gt;
*** N - Negative&lt;br /&gt;
*** C - Carry&lt;br /&gt;
* Demonstrēt iekārtas darbību vairākām instrukcijām, ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISCV reference card] - instrukciju tipi, kopsavilkums&lt;br /&gt;
* [https://inst.eecs.berkeley.edu/~cs61c/fa17/img/riscvcard.pdf RISCV Reference sheet] - instrukciju saraksts&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISCV specifikācijas protāls un dokumenti]&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda fails ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_v0===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt instrukciju dekoderi un aritmētisko instrukciju datu plūsmu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt instrukciju dekoderi pēc RISC V R32I ISA Green card.&lt;br /&gt;
* Izstrādāt vienkāršu kontrolieri, kas tulko instrukciju operāciju kodus uz ALU operāciju kodiem, un reģistru faila WE (Write Enable) signālu.&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vienkāršas instrukcijas pa vienai.&lt;br /&gt;
&lt;br /&gt;
CPU prototipam (v0) jāsavieno reģistru fails, ALU un instrukciju dekoderis un operāciju kodu kontrolieris tā, lai būtu iespējams ieejā dot vienas instrukcijas 32 bitu kodu, un tā tiktu izpildīta, un rezultāts ierakstīts attiecīgajā reģistrā pēc CLK takts signāla augošās frontes.&lt;br /&gt;
&lt;br /&gt;
* Demonstrēt iekārtas darbību vairākām instrukcijām, ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* RISC V dokumentācija&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_IC===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips ar instrukciju kešatmiņu&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt instrukciju kešatmiņu un RISC V asemblera kompilāciju.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt instrukciju kešatmiņu, instrukciju reģistru, PC reģistru.&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vienkāršas instrukcijas no instrukciju atmiņas. Katrs takts signāls CLK ielasa un izpilda nākamo instrukciju.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu instrukciju testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Instrukciju kešatmiņas modulim ielasīt kompilētu programmu (no teksta faila), Verilog kompilācijas solī.&lt;br /&gt;
&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISC V dokumentācija]&lt;br /&gt;
* [https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md RISC V Assembly manual]&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISC V Green card]&lt;br /&gt;
* [https://riscvasm.lucasteske.dev/# RiscV kompilators online]&lt;br /&gt;
&lt;br /&gt;
GNU asemblera kompilators RISC V arhitektūrai ir pieejams kā riscv64-linux-gnu-as.&lt;br /&gt;
Ar to ir iespējams kompilēt kodu 32 bitu arhitektūrai RV32i norādot attiecīgu arhitektūras parametru:&lt;br /&gt;
 riscv64-linux-gnu-as -march=rv32e -al test.s&lt;br /&gt;
&lt;br /&gt;
Tad kompilēto kodu iespējams dabūt no listinga (to apstrādājot), vai arī no kompilētā elf faila ar objdump.&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog un citi saistītie pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* Testa programma asemblerā&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_DC===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips ar datu kešatmiņu&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt datu kešatmiņu un saskarni ar operatīvo atmiņu.&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt datu kešatmiņu.&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vienkāršas instrukcijas ar atmiņu, piemēram Load un Store.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu instrukciju testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISC V dokumentācija]&lt;br /&gt;
* [https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md RISC V Assembly manual]&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISC V Green card]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_Branch===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips ar Branch un Jump-and-link instrukciju realizāciju&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt Branch un Jump-and-link instrukciju darbības un dizaina principus.&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt Branch instrukcijas saskaņā ar RISC V instrukciju kopu&lt;br /&gt;
** BEQ, BNE, BLT, BGE, BLTU, BGEU.&lt;br /&gt;
* Izstrādāt Jump-and-link instrukcijas saskaņā ar RISC V instrukciju kopu&lt;br /&gt;
** JAL, JALR&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vadības kontroles instrukcijas.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu instrukciju testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISC V dokumentācija]&lt;br /&gt;
* [https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md RISC V Assembly manual]&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISC V Green card]&lt;br /&gt;
* [https://github.com/jameslzhu/riscv-card/blob/master/riscv-card.pdf RISC V unofficial Reference card]&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_GPIO===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Universāls perifērijas datu ievads un izvads (GPIO) &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt datu apmaiņas principus starp mikroprocesoru un perifērijas iekārtām.&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt moduļus pikrokontroliera ārējai iekārtai GPIO, kas spēj nodot un lasīt datus rakstot īpašā adresē.&lt;br /&gt;
** Ieslēgt un izslēgt 8 LED, kas kartēti uz vienu baitu atmiņā. Katram LED atbilst savs bits baitā.&lt;br /&gt;
** Nolasīt 8 slēdžu (Switch) stāvokļus lasot vienu baitu pēc konkrētas atmiņas adreses. Katram slēdzim atbilst savs bits baitā.&lt;br /&gt;
** Realizēt GPIO iekārtas saskarni caur baitu konkrētā adresē operatīvajā atmiņā. Saskarni realizēt ar diviem reģistriem: Datu virziena reģistru un Datu reģistru.&lt;br /&gt;
&lt;br /&gt;
* Dizainu organizēt tā, lai izveidotie GPIO moduļi var tikt pielietoti arī citām perifērijas iekārtām:&lt;br /&gt;
** Konfigurējot piekļuvi ārējām iekārtām caur UCF failu&lt;br /&gt;
** Integrējot citus iekšējos moduļus kas izstrādāti Verilog vai shēmtehnikā.&lt;br /&gt;
&lt;br /&gt;
* Integrēt GPIO jūsu CPU projektā.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu GPIO testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar aparatūru.&lt;br /&gt;
&lt;br /&gt;
Piemēram var apskatīt GPIO organizāciju dažādu mikrokontrolieru dokumentācijā, piemēram Atmega328p.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf Atmega328p mikrokontroliera dokumentācija]&lt;br /&gt;
* [https://github.com/elomage/FPGA-resources/blob/main/ucf_templates/Anvyl.ucf UCF faila piemērs ANVYL attīstītājrīkam]&lt;br /&gt;
* [https://en.wikipedia.org/wiki/General-purpose_input/output General purpose input/output] - Wikipedia&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
= Informācijas resursi =&lt;br /&gt;
&lt;br /&gt;
{{DIP_saites}}&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=BST-b_HW&amp;diff=11211</id>
		<title>BST-b HW</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=BST-b_HW&amp;diff=11211"/>
		<updated>2026-02-25T14:58:51Z</updated>

		<summary type="html">&lt;p&gt;Leo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sensoru mezgla aparatūra (WSN/IoT)&lt;br /&gt;
&lt;br /&gt;
(90 minūšu lekcijas plāns)&lt;br /&gt;
&lt;br /&gt;
0-5 min -- Motivācija&lt;br /&gt;
&lt;br /&gt;
* Kāpēc aparatūra ir kritiski svarīga WSN/IoT (enerģija, uzticamība, mērogojamība).&lt;br /&gt;
* Parādīt viena īsta mezgla modeli vai foto un pajautāt: &amp;quot;Kādas sastāvdaļas tur noteikti ir iekšā?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5-18 min -- Arhitektūra + datu/enerģijas plūsmas&lt;br /&gt;
&lt;br /&gt;
* Pamatbloki: sensors =&amp;gt; AFE/ADC =&amp;gt; MCU/memory =&amp;gt; radio/antenna; Barošana.&lt;br /&gt;
* Papildus: clocking, reset, power domains, debug port.&lt;br /&gt;
* Tipisks darbības modelis: wake =&amp;gt; sample =&amp;gt; process =&amp;gt; transmit =&amp;gt; sleep.&lt;br /&gt;
&lt;br /&gt;
18-35 min -- Sensors + AFE + ADC (ar tipiskām problēmām)&lt;br /&gt;
&lt;br /&gt;
* AFE bloki: pastiprināšana (amplification), filtrēšana (filtering), ierosme (excitation), multipleksēšana (multiplexing).&lt;br /&gt;
* Aliasing un anti-alias filtri (tikai konceptuāli).&lt;br /&gt;
* Troksnis/drifts un kalibrācija (ražotnē vs ekspluatācijā).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Aktivitāte&amp;#039;&amp;#039;&amp;#039; (5 min): studenti nosaka, kuri parametri ir svarīgākie (a) temperatūras datu reģistratoram, (b) vibrāciju monitoram.&lt;br /&gt;
&lt;br /&gt;
35-48 min -- MCU/SoC, memory un interfaces (kompromisi)&lt;br /&gt;
&lt;br /&gt;
* MCU low-power modes; wake latency vs power.&lt;br /&gt;
* DMA/interrupt-driven dizains vs polling.&lt;br /&gt;
* Ārējā zibatmiņa buferēšanai/OTA; brownout apsvērumi.&lt;br /&gt;
* Saskarnes &amp;quot;zemūdens akmeņi&amp;quot;: I²C pull-ups un power patēriņš; level shifting.&lt;br /&gt;
&lt;br /&gt;
48-63 min -- Radio + antenna + link budget + coexistence&lt;br /&gt;
&lt;br /&gt;
* Link budget kā intuīcija: Tx power - path loss + antenna gains - margins ≥ sensitivity.&lt;br /&gt;
* Coexistence pārskats (2.4 GHz traucējumi).&lt;br /&gt;
* Board-level antenna placement pamatnoteikumi (&amp;quot;rules of thumb&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
63-80 min -- Power subsystem + battery life &amp;quot;lab-on-paper&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Baterijas (CR2032 vs Li-ion vs AA) un to īpašības: temperatūra, self-discharge.&lt;br /&gt;
* Regulatori: efektivitāte pie dažādām slodzēm; quiescent current.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Aktivitāte&amp;#039;&amp;#039;&amp;#039; (10-12 min): grupās, izrēķināt power budget + lifetime estimate + &amp;quot;ko mainīt, lai dubultotu darbības laiku?&amp;quot;&lt;br /&gt;
* Peak current diskusija (nepieciešami atsaites kondensatori, jāņem vērā bateriju iekšējā pretestība).&lt;br /&gt;
&lt;br /&gt;
80-88 min -- Reliability + packaging + protection + security anchors&lt;br /&gt;
&lt;br /&gt;
* ESD, konektori, mitruma iekļūšana; watchdog un brownout.&lt;br /&gt;
* Īsi: secure element/unique ID/secure boot (kāpēc tas ir svarīgi IoT aparatūrā).&lt;br /&gt;
&lt;br /&gt;
88-90 min -- Noslēgums&lt;br /&gt;
&lt;br /&gt;
* Kopsavilkums: &amp;quot;labas sensor mezgla aparatūras&amp;quot; kontrolsaraksts.&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=BST-b_HW&amp;diff=11210</id>
		<title>BST-b HW</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=BST-b_HW&amp;diff=11210"/>
		<updated>2026-02-25T11:56:34Z</updated>

		<summary type="html">&lt;p&gt;Leo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sensor mezgla aparatūra (WSN/IoT) — 90 minūšu lekcijas plāns&lt;br /&gt;
&lt;br /&gt;
0–5 min — Motivācija + mācību rezultāti&lt;br /&gt;
&lt;br /&gt;
* Kāpēc aparatūra ir kritiski svarīga WSN/IoT (enerģija, uzticamība, mērogojamība).&lt;br /&gt;
* Parādīt viena īsta mezgla modeli vai foto un pajautāt: “Kādas sastāvdaļas tur noteikti ir iekšā?”&lt;br /&gt;
&lt;br /&gt;
5–18 min — Arhitektūra + datu/enerģijas plūsmas&lt;br /&gt;
&lt;br /&gt;
* Pamatbloki: sensors → AFE/ADC → MCU/memory → radio/antenna; Barošana.&lt;br /&gt;
* Papildus: clocking, reset, power domains, debug port.&lt;br /&gt;
* Tipisks darbības modelis: wake → sample → process → transmit → sleep.&lt;br /&gt;
&lt;br /&gt;
18–35 min — Sensors + AFE + ADC (ar tipiskām problēmām)&lt;br /&gt;
&lt;br /&gt;
* AFE bloki: pastiprināšana (amplification), filtrēšana (filtering), ierosme (excitation), multipleksēšana (multiplexing).&lt;br /&gt;
* Aliasing un anti-alias filtri (tikai konceptuāli).&lt;br /&gt;
* Troksnis/drifts un kalibrācija (ražotnē vs ekspluatācijā).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Aktivitāte&amp;#039;&amp;#039;&amp;#039; (5 min): studenti nosaka, kuri parametri ir svarīgākie (a) temperatūras datu reģistratoram, (b) vibrāciju monitoram.&lt;br /&gt;
&lt;br /&gt;
35–48 min — MCU/SoC, memory un interfaces (kompromisi)&lt;br /&gt;
&lt;br /&gt;
* MCU low-power modes; wake latency vs power.&lt;br /&gt;
* DMA/interrupt-driven dizains vs polling.&lt;br /&gt;
* Ārējā zibatmiņa buferēšanai/OTA; brownout apsvērumi.&lt;br /&gt;
* Saskarnes “zemūdens akmeņi”: I²C pull-ups un power patēriņš; level shifting.&lt;br /&gt;
&lt;br /&gt;
48–63 min — Radio + antenna + link budget + coexistence&lt;br /&gt;
&lt;br /&gt;
* Link budget kā intuīcija: Tx power – path loss + antenna gains – margins ≥ sensitivity.&lt;br /&gt;
* Coexistence pārskats (2.4 GHz traucējumi).&lt;br /&gt;
* Board-level antenna placement pamatnoteikumi (“rules of thumb”).&lt;br /&gt;
&lt;br /&gt;
63–80 min — Power subsystem + battery life ‘lab-on-paper’&lt;br /&gt;
&lt;br /&gt;
* Baterijas (CR2032 vs Li-ion vs AA) un to īpašības: temperatūra, self-discharge.&lt;br /&gt;
* Regulatori: efektivitāte pie dažādām slodzēm; quiescent current.&lt;br /&gt;
* Galvenā &amp;#039;&amp;#039;&amp;#039;aktivitāte&amp;#039;&amp;#039;&amp;#039; (10–12 min): grupās izrēķina power budget + lifetime estimate + “ko mainīt, lai dubultotu darbības laiku?”&lt;br /&gt;
* Peak current diskusija (nepieciešami atsaites kondensatori, jāņem vērā bateriju iekšējā pretestība).&lt;br /&gt;
&lt;br /&gt;
80–88 min — Reliability + packaging + protection + security anchors&lt;br /&gt;
&lt;br /&gt;
* ESD, konektori, mitruma iekļūšana; watchdog un brownout.&lt;br /&gt;
* Īsi: secure element/unique ID/secure boot (kāpēc tas ir svarīgi IoT aparatūrā).&lt;br /&gt;
&lt;br /&gt;
88–90 min — Noslēgums&lt;br /&gt;
&lt;br /&gt;
* Kopsavilkums: “labas sensor mezgla aparatūras” kontrolsaraksts.&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=BST-b_HW&amp;diff=11209</id>
		<title>BST-b HW</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=BST-b_HW&amp;diff=11209"/>
		<updated>2026-02-25T11:49:46Z</updated>

		<summary type="html">&lt;p&gt;Leo: Created page with &amp;quot;Sensor mezgla aparatūra (WSN/IoT) — 90 minūšu lekcijas plāns  0–5 min — Motivācija + mācību rezultāti  * Kāpēc aparatūra ir kritiski svarīga WSN/IoT (enerģi...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sensor mezgla aparatūra (WSN/IoT) — 90 minūšu lekcijas plāns&lt;br /&gt;
&lt;br /&gt;
0–5 min — Motivācija + mācību rezultāti&lt;br /&gt;
&lt;br /&gt;
* Kāpēc aparatūra ir kritiski svarīga WSN/IoT (enerģija, uzticamība, mērogojamība).&lt;br /&gt;
* Parādīt viena īsta mezgla modeli vai foto un pajautāt: “Kādas sastāvdaļas tur noteikti ir iekšā?”&lt;br /&gt;
&lt;br /&gt;
5–18 min — Arhitektūra + datu/enerģijas plūsmas&lt;br /&gt;
&lt;br /&gt;
* Pamatbloki: sensors → AFE/ADC → MCU/memory → radio/antenna; Barošana.&lt;br /&gt;
* Papildus: clocking, reset, power domains, debug port.&lt;br /&gt;
* Tipisks darbības modelis: wake → sample → process → transmit → sleep.&lt;br /&gt;
&lt;br /&gt;
18–35 min — Sensors + AFE + ADC (ar tipiskām problēmām)&lt;br /&gt;
&lt;br /&gt;
* AFE bloki: pastiprināšana (amplification), filtrēšana (filtering), ierosme (excitation), multipleksēšana (multiplexing).&lt;br /&gt;
* Aliasing un anti-alias filtri (tikai konceptuāli).&lt;br /&gt;
* Noise/drift un calibration (ražotnē vs ekspluatācijā).&lt;br /&gt;
* Īss uzdevums (5 min): studenti nosaka, kuri parametri ir svarīgākie (a) temperatūras datu reģistratoram, (b) vibrāciju monitoram.&lt;br /&gt;
&lt;br /&gt;
35–48 min — MCU/SoC, memory un interfaces (kompromisi)&lt;br /&gt;
&lt;br /&gt;
* MCU low-power modes; wake latency vs power.&lt;br /&gt;
* DMA/interrupt-driven dizains vs polling.&lt;br /&gt;
* Ārējā zibatmiņa buferēšanai/OTA; brownout apsvērumi.&lt;br /&gt;
* Saskarnes “zemūdens akmeņi”: I²C pull-ups un power patēriņš; level shifting.&lt;br /&gt;
&lt;br /&gt;
48–63 min — Radio + antenna + link budget + coexistence&lt;br /&gt;
&lt;br /&gt;
* Link budget kā intuīcija: Tx power – path loss + antenna gains – margins ≥ sensitivity.&lt;br /&gt;
* Coexistence pārskats (2.4 GHz traucējumi).&lt;br /&gt;
* Board-level antenna placement pamatnoteikumi (“rules of thumb”).&lt;br /&gt;
&lt;br /&gt;
63–80 min — Power subsystem + battery life ‘lab-on-paper’&lt;br /&gt;
&lt;br /&gt;
* Baterijas (CR2032 vs Li-ion vs AA) un to īpašības: temperatūra, self-discharge.&lt;br /&gt;
* Regulatori: efektivitāte pie dažādām slodzēm; quiescent current.&lt;br /&gt;
* Galvenā &amp;#039;&amp;#039;&amp;#039;aktivitāte&amp;#039;&amp;#039;&amp;#039; (10–12 min): grupās izrēķina power budget + lifetime estimate + “ko mainīt, lai dubultotu darbības laiku?”&lt;br /&gt;
* Iekļaut peak current diskusiju (nepieciešami decoupling capacitors, jāņem vērā battery internal resistance).&lt;br /&gt;
&lt;br /&gt;
80–88 min — Reliability + packaging + protection + security anchors&lt;br /&gt;
&lt;br /&gt;
* ESD, konektori, mitruma iekļūšana; watchdog un brownout.&lt;br /&gt;
* Īsi: secure element/unique ID/secure boot (kāpēc tas ir svarīgi IoT aparatūrā).&lt;br /&gt;
&lt;br /&gt;
88–90 min — Noslēgums&lt;br /&gt;
&lt;br /&gt;
* Kopsavilkums: “labas sensor mezgla aparatūras” kontrolsaraksts.&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=LU-BST-b&amp;diff=11208</id>
		<title>LU-BST-b</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=LU-BST-b&amp;diff=11208"/>
		<updated>2026-02-25T11:42:04Z</updated>

		<summary type="html">&lt;p&gt;Leo: /* 25.02.26 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Īssaites:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[#Kalendārs | Kalendārs]] | &lt;br /&gt;
[[#Uzdevumi | Uzdevumi]] | &lt;br /&gt;
[[#Resursi | Resursi]] | &lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]] : &lt;br /&gt;
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]]&lt;br /&gt;
(ja ir lekcija)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{LUDFKurss|Bezvadu Sensoru Tīkli|BST|DatZ3070|2DAT3253}}&lt;br /&gt;
* Pasniedzējs: [[User:Leo | Leo Seļāvo]]&lt;br /&gt;
&lt;br /&gt;
====Kursa mērķis un uzdevumi====&lt;br /&gt;
Iepazīties ar bezvadu sensoru tīklu sistēmu darbības un projektēšanas principiem un pielietojumiem.&lt;br /&gt;
* Apgūt sensoru un iegulto sistēmu pamata tehnoloģijas un pielietojumus lietu internetā. &lt;br /&gt;
* Izstrādāt arhitektūru un komunikāciju protokolus bezvadu sensoru sistēmām. &lt;br /&gt;
* Programmēt iegultās sistēmas BST pielietojumam. &lt;br /&gt;
* Analizēt sensoru lasījumus un izdarīt secinājumus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievadlekcijas video&amp;#039;&amp;#039;&amp;#039;:&amp;lt;/big&amp;gt; [https://youtu.be/nwPxnED1M34 No sensoriem līdz stāstam]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Vērtējums kursā ====&lt;br /&gt;
* 30% Praktiskie darbi PD&lt;br /&gt;
* 20% Mājas darbi MD&lt;br /&gt;
* 20% Kontroldarbs KD&lt;br /&gt;
* 30% Projekta prezentācija un demo eksāmenā EKS + PROJ&lt;br /&gt;
&lt;br /&gt;
==== Mājas darbi ====&lt;br /&gt;
* Iesniedzami e-studijās&lt;br /&gt;
* Termiņš 30min pirms lekcijas sākuma, vai arī kā MD nosacījumos.&lt;br /&gt;
** Kavēts termiņš nozīmē -50% no vērtējuma. Pēc nedēļas darbs var tikt nepieņemts.&lt;br /&gt;
&lt;br /&gt;
=Kalendārs=&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4 style = &amp;#039;border-color: #ddd; background-color: #fdfff2;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
! Datums&lt;br /&gt;
! Tēma, saturs&lt;br /&gt;
! Uzdevumi&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====04.02.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievadlekcija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Bezvadu sensoru tīklu pielietojumi un pamatproblēmas. BST kursa forma un prasības.&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/4iazzqk2ykmumsq/00_intro.pdf?raw=1 Ievads BST - slaidi]&lt;br /&gt;
* [https://www.dropbox.com/s/u5fnw7uku1ua1sf/00_Intro_IoT.pdf?raw=1 Ievads IoT - slaidi]&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD1 | PD1]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.02.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Bezvadu sakaru sistēmas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Radio spektrs un ISM josla. Komunikācijas protokoli un modulācija.&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/jujvdabdj03szif/L02_Wireless_systems.pdf?raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD2 | PD2]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.02.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Radio komunikāciju realitātes&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/scl/fi/fgqnlfpo7xurz5mm5atwj/03_radio-realities.pdf?rlkey=x54t0itxkbyuu0705ejoi3vry&amp;amp;st=mcy8s1hc&amp;amp;raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD3 | PD3]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.02.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Iegultās sistēmas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Sensoru mezgla uzbūve.&lt;br /&gt;
&lt;br /&gt;
[[BST-b_HW | Lekcijas pieraksti]]&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/kzcd4mr8mirh2i9/L03_motes.pdf?raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD4 | PD4]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.03.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;MAC protokoli sensoru tīklos&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/le4f7sywa528lnb/L05_Harvard_mac.pdf?raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD5 | PD5]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.03.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;(&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;) &amp;#039;&amp;#039;&amp;#039;KD0: Maršrutizācijas protokoli&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/u1y7n2www1y7vgu/L06_Routing.pdf?raw=1 Maršrutizācija. Slaidi]&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Uzdots: [[#MD_Routing|Routing]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.03.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Laika sinhronizācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/8dmwkihq3gq4gls/L07_Timesync.pdf?raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD6 | PD6 Multihop]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.03.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Lokalizācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://www.dropbox.com/s/jbllq2e4rj5it1y/L08_Localization.pdf?raw=1 Slaidi]&lt;br /&gt;
&lt;br /&gt;
Diskusijas par projektiem&lt;br /&gt;
|&lt;br /&gt;
Sensoru datu analīze, Jupyter notebook&lt;br /&gt;
* [https://jupyter.org Jupyter]&lt;br /&gt;
* [https://anaconda.org/anaconda/python Anaconda Python]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====08.04.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Programmēšanas abstrakcijas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Komponenšu orientēta programmēšana. Skriptēta un enkapsulēta programmēšana. TinyOS, MansOS un SEAL.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://www.dropbox.com/s/xwnr2aterigjp7q/05_component-programming.pdf?raw=1 Komponenšu orientēta programmēšana, TinyOS]&lt;br /&gt;
* [https://www.dropbox.com/s/jalyp6jxv7b2ja6/12_prog-abstractions.pdf?raw=1 Programmēšanas abstrakcijas BST, Mate]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Iesniegt: [[#MD_Routing|MD_Routing]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Uzdots: [[#MD_Proj|MD_Proj]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====15.04.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;KD1&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vidus semestra kontroldarbs KD1. Pieejams eStudijās.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====22.04.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Projektu tēmas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Diskusija par projektu tēmām.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Use case&amp;quot; - par projektiem infekcijas risku mazināšanai.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====29.04.26====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Datu vizualizācija un analīze&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Datu vizualizācija un analīze.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====06.05.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Datu analīze, prakse&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://www.anaconda.com/ Anaconda platforma] datu zinātnei.&lt;br /&gt;
* [https://jupyter.org/ Jupyter Notebook] - vide mazām programmām Python un datu analīzei.&lt;br /&gt;
* [https://www.dataquest.io/blog/jupyter-notebook-tips-tricks-shortcuts/ Jupyter triki]&lt;br /&gt;
&lt;br /&gt;
* [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6480280/ Wireless Sensor Networks for Big Data Systems]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš: [[#MD_Proj|MD_Proj]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Projektu statuss&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====13.05.26====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Drošība un privātums&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://www.dropbox.com/scl/fi/5xkeow5yuaxobewhwrntr/13_security-privacy_v2.pdf?rlkey=w6papger2tw2to9l3kk7w344y&amp;amp;st=1sxvon1n&amp;amp;dl=1 Slaidi]&lt;br /&gt;
* Videolekcija e-studijās.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://cert.lv/lv CERT.lv] - IT drošības incidentu novēršanas institūcija Latvijā.&lt;br /&gt;
* [https://www.thalesgroup.com/en/markets/digital-identity-and-security/iot/magazine/internet-threats IoT Security Issues in 2021: a Business Perspective]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Projekta statusa ziņojumi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====20.05.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Enerģijas ieguve no vides&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/lro0ncpw570neej/15_energy-harvesting.pdf?raw=1 Slaidi]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Projekta statusa ziņojumi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====27.05.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Kopsavilkums&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/qf5yd5toylks4zf/L99_Summary.pdf?raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Projektu statusa ziņojumi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====xx.06.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Eksāmena sākums: xx:xx&lt;br /&gt;
Eksāmena vieta: xxx. aud.&lt;br /&gt;
&lt;br /&gt;
Eksāmena (projekta) rezultāti iesūtāmi e-studijās kā PROJ, tai skaitā:&lt;br /&gt;
* apraksts.pdf - apraksts: problēma, risinājumi, jūsu risinājums, rezultāti un pieredze izstrādājot un testējot projektu. Fails PDF formātā.&lt;br /&gt;
* plakāts.pdf - plakāts par projektu. Fails PDF formātā.&lt;br /&gt;
* Saite uz demonstrācijas video, ja tāds ir.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Iesniegt projekta rezultātus e-studijās.&lt;br /&gt;
* Prezentācija klātienē.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- TESTBED&lt;br /&gt;
=====================================&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;BST Testbed&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
EDI BST [[#Testbed | Testbed apraksts un lietojums]].&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Uzdots: [[#MD_Testbed|MD_Testbed-P1]] - Testbed P1 uzdevums&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
=====================================&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Testbed&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Testbed prakse&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
=====================================&lt;br /&gt;
* Termiņš: [https://doodle.com/poll/627utpttbvqiypue?utm_source=poll&amp;amp;utm_medium=link Pieteikt grupas MD_Testbed uzdevumiem]&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš: [[#MD_Testbed|MD_Testbed-P1]] - Testbed P1 uzdevums&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš: [[#MD_Testbed|MD_Testbed]] - Visi uzdevumi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Uzdevumi =&lt;br /&gt;
== Praktiskie darbi ==&lt;br /&gt;
Praktiskajos darbos būs lietojama [https://github.com/edi-riga/MansOS/wiki MansOS operētājsistēma].&lt;br /&gt;
* Īss apraksts un pamācības pieejamas [https://github.com/edi-riga/MansOS/wiki MansOS wiki].&lt;br /&gt;
&amp;lt;!--https://github.com/IECS/MansOS--&amp;gt;&lt;br /&gt;
Praktisko darbu risinājumi iesūtāmi e-studijās.&lt;br /&gt;
&lt;br /&gt;
===PD1===&lt;br /&gt;
&amp;quot;SOS&amp;quot; morzes ābecē izvadīts uz motes LED&lt;br /&gt;
* E-studijās iesūtīt C programmas kodu.&lt;br /&gt;
&lt;br /&gt;
===PD2===&lt;br /&gt;
Hello World -&amp;gt; no motes uz termināla&lt;br /&gt;
&lt;br /&gt;
===PD3===&lt;br /&gt;
Gaismas sensora lasījums uz termināla&lt;br /&gt;
&lt;br /&gt;
===PD4===&lt;br /&gt;
Darbs grupā pa divi.&lt;br /&gt;
&lt;br /&gt;
Gaismas sensora lasījums pārraidīts ar radio un saņemts uz citas motes un izvadīts uz termināla.&lt;br /&gt;
&lt;br /&gt;
Risinājumam jābūt noturīgam pret citiem raidītājiem šajā pašā radio kanālā. Jāparāda tikai sava risinājuma sūtītās ziņas.&lt;br /&gt;
&lt;br /&gt;
Iesūtīt pirmkodu, kā arī failu apraksts.pdf ar testu rezultātiem un to aprakstu.&lt;br /&gt;
&lt;br /&gt;
===PD5===&lt;br /&gt;
Darbs grupā pa divi.&lt;br /&gt;
&lt;br /&gt;
Noteikt radio raidīšanas attālumu TmoteSky motēm.&lt;br /&gt;
* Izveidot raidītāja programmu un uztvērēja programmu. &lt;br /&gt;
* Pārvietot motes dažādos attālumos un novērtēt, cik datu pakas tiek saņemtas.&lt;br /&gt;
* Izvērtēt, kāda ietekme ir motes savstarpējai orientācijai starp raidītāju un uztvērēju.&lt;br /&gt;
* Aprakstīt rezultātus un iesniegt PDF dokumentā apraksts.pdf, e-studijās, kā PD5.&lt;br /&gt;
&lt;br /&gt;
===PD6===&lt;br /&gt;
Darbs grupā pa diviem vai trijiem studentiem.&lt;br /&gt;
&lt;br /&gt;
Realizēt &amp;quot;Multihop&amp;quot; tīklu ar TmoteSky motēm.&lt;br /&gt;
* Izveidot programmatūru trīs dažādu sensoru mezglu tipiem, attiecīgos pirmkoda failos:&lt;br /&gt;
*# sensor.c - Sensors - nolasa gaismas sensora vērtību un nosūta pa radio Releja tipa motei.&lt;br /&gt;
*# relay.c - Relejs - mote, kas saņem datus no sensoriem un pārsūta tālāk citām motēm (Relejiem un Vārtejām).&lt;br /&gt;
*# gateway.c - Vārteja - mote, kas saņem radio datus un pārsūta tos uz seriālo portu (USB).&lt;br /&gt;
&lt;br /&gt;
* Katram mezglam (motei) ir unikāls ID. Izdomāt, kā to panākt.&lt;br /&gt;
* Tīklā jābūt vismaz vienam relejam, bet var būt vairāki, lai realizētu garāku komunikācijas ķēdi.&lt;br /&gt;
* Tīklā var būt vairāki Sensoru mezgli. &lt;br /&gt;
* Tīklā ir tikai viena vārteja.&lt;br /&gt;
* Relejam jāignorē tās ziņas, ko tas jau ir kādreiz sūtījis. Šo var realizēt ar motes identifikatora un/vai ziņas kārtas numura iekļaušanu sūtāmajā datu pakā. Tad, piemēram, mote var ignorēt vecākas datu pakas nekā pēdējā, ko tā ir sūtījusi.&lt;br /&gt;
* Vārtejai katra datu paka jānosūta pa USB tikai vienreiz. Ja tā, piemēram, saņem to pašu datu paku atkārtoti, piemēram, no cita Releja, tai tā jāignorē.&lt;br /&gt;
&lt;br /&gt;
* Aprakstīt rezultātus un iesniegt PDF dokumentā apraksts.pdf, e-studijās, kā PD6. Iesniegt arī programmatūras kodu.&lt;br /&gt;
&lt;br /&gt;
==Mājas darbi==&lt;br /&gt;
===MD_Routing===&lt;br /&gt;
Izstrādāt un aprakstīt maršrutizācijas algoritmu, kas atbilst prasībām &lt;br /&gt;
[https://www.dropbox.com/s/yakqcy9e8322tbf/BST_routing_MD.pdf?raw=1 šajos slaidos]&lt;br /&gt;
&lt;br /&gt;
* Aprakstīt izveidoto maršrutizācijas protokolu.&lt;br /&gt;
* Aprakstīt protokola veiktspējas novērtējumu.&lt;br /&gt;
* Sniegt piemēru, kā tas darbojas slaidos dotajā situācijā.&lt;br /&gt;
* Risinājumu iesniegt PDF dokumentā, e-studijās.&lt;br /&gt;
&lt;br /&gt;
===MD1===&lt;br /&gt;
[[#PD5 | PD5]] rezultāti - Izvērtēt sensoru mezglu komunikāciju veiktspēju atkarībā no distances.&lt;br /&gt;
&lt;br /&gt;
Gadījumā, ja jums neizdevās savākt savus datus, tad analīzei var lietot šos, ar attiecīgu atsauci:&lt;br /&gt;
* [https://www.dropbox.com/s/gd434p1wkgcq9gz/merijumi_veldre_kniss.xlsx?dl=1 | Dati1 (excel)] (Rainers, Juris)&lt;br /&gt;
* [https://www.dropbox.com/s/h679d2y84svixs1/BST_PD05_DATA_Audris.zip?dl=1 | Dati2 (zip)] (Audris, Madara)&lt;br /&gt;
&lt;br /&gt;
===MD3===&lt;br /&gt;
Izstrādāt un aprakstīt virtuālas mašīnas valodu bezvadu sensoru mezgliem, līdzīgi kā &lt;br /&gt;
[https://www.dropbox.com/s/pw8hl4zbsbgek65/L09b_prog-abstractions.pdf?raw=1 Mate lekcijas slaidos]. &lt;br /&gt;
&lt;br /&gt;
Aprakstā jāiekļauj: &lt;br /&gt;
* Valodas komandas, arhitektūra, pieņēmumi&lt;br /&gt;
* Komandu kodējums (pa bitiem), komandu tipi vai klases.&lt;br /&gt;
* Divi piemēri programmām, kas kodēti jūsu valodā.&lt;br /&gt;
* Ar ko jūsu risinājums atšķiras no Mate un kādos gadījumos tam ir priekšrocības.&lt;br /&gt;
&lt;br /&gt;
===MD_Proj===&lt;br /&gt;
====Kursa projekta pieteikums====&lt;br /&gt;
&lt;br /&gt;
=====Īss apraksts=====&lt;br /&gt;
&lt;br /&gt;
Izstrādāt projekta pieteikumu, kurā aprakstīt:&lt;br /&gt;
* Problēmu, ko risināsiet ar bezvadu sensoru tīklu palīdzību&lt;br /&gt;
* Motivāciju, kāpēc problēma jārisina&lt;br /&gt;
* Esošos risinājumus šai problēmai vai līdzīgām problēmām&lt;br /&gt;
* Kas nepieciešams jūsu risinājumam: tehnoloģijas, aparatūra&lt;br /&gt;
* Termiņi katrai nedēļai: kas tiks veikts līdz šiem termiņiem projekta izstrādes gaitā.&lt;br /&gt;
&lt;br /&gt;
Aprakstu organizēt kā slaidus, lai ērti prezentēt. Iesniegt aprakstu PDF formātā.&lt;br /&gt;
&lt;br /&gt;
=====Sīkāks apraksts=====&lt;br /&gt;
&lt;br /&gt;
Šoreiz nekas nav jāprogrammē. Bet gan jāuzraksta sava kursa projekta īss apraksts kā slaidu prezentācija un jāiesniedz PDF formātā. Kursa projekta pieteikumu vajadzēs prezentēt lekcijas laikā, katra komanda pastāstīs pārējiem par sava kursa projekta ideju, izveidosim īsu diskusiju.&lt;br /&gt;
&lt;br /&gt;
Obligātās dokumenta nodaļas:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Projekta tēma&amp;#039;&amp;#039;&amp;#039;. Kas ir Jūsu projekts, ko Jūs izstrādāsiet. Šeit var pietikt ar vienu vai dažiem teikumiem&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Projekta komanda&amp;#039;&amp;#039;&amp;#039;, īpaši ja nepieciešams vairāk par vienu dalībnieku. Kas piedalās, kādas lomas katrs izpilda (kurš ko programmēs, kurš projektēs, kurš testēs utt)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Motivācija&amp;#039;&amp;#039;&amp;#039;. Kāpēc Jūs šādu projektu taisāt. Kāds no tā varētu būt labums Jums un pārējiem apkārtējiem cilvēkiem, dabai.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Jūsu pieeja un arhitektūra&amp;#039;&amp;#039;&amp;#039;. Kā realizēsiet projektu. Kāda būs izmantotā aparatūra. Kāda programmatūra. Kāda būs tīkla struktūra. Šeit labi iederas sistēmas arhitektūras bildes, shematiski attēlojumi. Svarīgi norādīt arī nepieciešamo aparatūru, tai skaitā, kādi sensori nepieciešami projekta realizēšanai. Lai varam sākt meklēt nepieciešamos sensorus, motes. Tiek sagaidīts, ka šī ir saturīgākā projekta apraksta daļa.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Sagaidāmais rezultāts&amp;#039;&amp;#039;&amp;#039;. Cik daudz no savas projekta idejas plānojat šī semestra laikā realizēt. Kādus testus veikt. Kā novērtēsit rezultātus.&lt;br /&gt;
&lt;br /&gt;
Papildus tēmas:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kas šajā tēmā pasaulē ir jau izdarīts&amp;#039;&amp;#039;&amp;#039;. Bakalaura studentiem netiek prasīts izdarīt kaut ko universālu, kas pasaulē vēl neeksistē. Tai pat laikā, ir ļoti vēlams, ka veicat izpēti, par to, kas pasaulē Jūsu tēmā ir jau izpildīts. Kaut vai tāpēc, lai izvēlētos labāko risinājumu, lai nav pašiem jāizdomā no nulles&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Idealizācija&amp;#039;&amp;#039;&amp;#039;. Šī projekta ietvaros netiek prasīts, lai Jūs uzbūvējat vispasaules sensoru tīklu ar Google mēroga infrastruktūru. Bet, ja tas būtu iespējams - ko ar Jūsu sensoru tīklu varētu izdarīt? T.i., padomājiet pāri sava viena semestra robežām!&lt;br /&gt;
&lt;br /&gt;
===MD_Testbed===&lt;br /&gt;
Uzdevuma veikšana EDI testbed platformā (Testbed).&lt;br /&gt;
&lt;br /&gt;
Pieslēguma informācija Testbed platformai tiks paziņota individuāli, lekcijā un/vai e-studijās.&lt;br /&gt;
&lt;br /&gt;
Uzdevums ir ievākt informāciju no Testbed sensoriem kas atrodas uz jums izdalītajiem Testbed sensoru mezgliem pēc iespējas ilgāku laika posmu, vismaz 24 stundas, un attēlot datus grafiski. Sīkāks uzdevumu apraksts seko.&lt;br /&gt;
&lt;br /&gt;
====Programma P1====&lt;br /&gt;
Programmas P1 mērķis ir pārbaudīt Testbed darbību un nolasīt log failos saglabātos datus.&lt;br /&gt;
&lt;br /&gt;
* Pieslēgties Testbed &lt;br /&gt;
* Pārbaudīt jums izdalīto sensoru mezglu darbību izveidojot vienkāršu programmu &amp;lt;code&amp;gt;P1.c&amp;lt;/code&amp;gt; kas sūta skaitļus no 1 līdz 100 ar vienas sekundes intervālu uz seriālo portu. Skaitļus sūtīt kā simbolu virkni salasāmā tekstā, piemēram &amp;quot;17&amp;quot;.&lt;br /&gt;
* Darbināt P1 uz visiem sensoru mezgliem vienlaicīgi. Darbināt eksperimentu 10min. Saglabāt Log failus.&lt;br /&gt;
* Novērtēt rezultātus. Piemēram, vai visi sensori darbojās vienlīdz ātri?&lt;br /&gt;
&lt;br /&gt;
====Programma P2====&lt;br /&gt;
Programmas P2 mērķis ir ievākt sensoru datus ilgākā laika posmā.&lt;br /&gt;
&lt;br /&gt;
* Izveidot programmu &amp;lt;code&amp;gt;P2.c&amp;lt;/code&amp;gt; kas reizi 10 sekundēs nolasa sensoru vērtības. &lt;br /&gt;
* Lasāmie sensori ir: Gaismas sensors, temperatūra un gaisa mitrums.&lt;br /&gt;
* Darbināt P2 24 stundas un saglabāt datus Log failos.&lt;br /&gt;
* Analizēt sensoru datus. Uzzīmēt datus grafikā ar x kā laika asi un y kā mērījumu asi. Izdarīt secinājumus.&lt;br /&gt;
&lt;br /&gt;
====Programma P3====&lt;br /&gt;
Programmas P3 mērķis ir novērtēt komunikāciju iespējas Testbed vidē.&lt;br /&gt;
&lt;br /&gt;
* Izveidot programmu &amp;lt;code&amp;gt;P3_send.c&amp;lt;/code&amp;gt;, kas sūta 300 ziņas visiem citiem mezgliem ik pa 100 milisekundēm. Katrā ziņā iekļaut tās kārtas numuru. Datos iekļaut arī savu identifikatoru, lai saņemošais klients var atpazīt datu pakas tipu un mērķi.&lt;br /&gt;
* Izveidot programmu &amp;lt;code&amp;gt;P3_receive.c&amp;lt;/code&amp;gt;, kas saņem ziņas pa radio no citiem mezgliem un pieraksta RSSI vērtības atmiņas buferī. Kad visas atsūtītas, eksportēt datus uz log failu caur seriālo portu.&lt;br /&gt;
* Darbināt P3_send uz viena mezgla un P3_receive uz pārējiem. Saglabāt datus log failā.&lt;br /&gt;
* Atkārtot iepriekšējo eksperimentu tā, lai datu būtu sūtīti no visiem mezgliem.&lt;br /&gt;
* Rezultātā jums jābūt datiem kas apraksta komunikāciju starp jebkuriem diviem mezgliem.&lt;br /&gt;
* Rezultātu analīzē parādiet kā RSSI mainās laikā starp visiem mezgliem. Bez tam, izveidojiet tabulu vai grafu kurā novērtējiet komunikāciju/ saņemtā signāla stiprumu starp visiem mezgliem. Atcerieties, ka saites var būt arī asimetriskas, piemēram, mezgls A &amp;quot;dzird&amp;quot; mezglu B labāk nekā B &amp;quot;dzird&amp;quot; A.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Piezīmes&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Ņemiet vērā, ka var gadīties, ka dažas ziņas mezgli var nesaņemt trokšņu vai citu iemeslu dēļ. Datos tas ir jāredz. Tāpēc saglabājot RSSI jāņem vērā arī saņemtās ziņas kārtas numurs, ko tā sūtīja.&lt;br /&gt;
* Saņemtos RSSI rādījumus jums jāglabā atmiņā, lai tie aizņemtu pēc iespējas mazāk vietas. Sūtot tos uz reizi pa seriālo portu jums var nepietikt laika saņemt visas ziņas. Tāpēc ieteicams datus saglabāt ar seriālo portu tikai pēc tam kad eksperiments beidzies - pēdēja ziņa saņemta (vai nav pienākusi, bet laiks pagājis).&lt;br /&gt;
&lt;br /&gt;
====Iesniegšana====&lt;br /&gt;
Iesniegt rezultātus visiem uzdevumiem e-studijās kā MD_Testbed. &lt;br /&gt;
Tai skaitā, katram uzdevumam P&amp;#039;&amp;#039;X&amp;#039;&amp;#039;, kur &amp;#039;&amp;#039;X&amp;#039;&amp;#039; ir 1, 2 un 3:&lt;br /&gt;
&lt;br /&gt;
* Katram uzdevumam P1, P2 un P3 izveidot direktoriju ar attiecīgu vārdu. Šajās direktorijās izvietot attiecīgo uzdevumu pirmkoda, datu un apraksta failus.&lt;br /&gt;
* Iekopēt direktorijās visu pirmkodu un ievākto datu failus&lt;br /&gt;
* Analīzes rezultātus aprakstīt un grafikus attēlot PDF failā ar nosaukumu P&amp;#039;&amp;#039;X&amp;#039;&amp;#039;.pdf&lt;br /&gt;
* Neaizmirstiet aprakstā norādīt darba autorus un ko katrs darījis, kā arī katra dalībnieka procentuālo ieguldījumu no komandas darba.&lt;br /&gt;
* Visus failus arhivēt kā zip failu un saukt BST_MD_Testbed_Vards_Uzvards.zip, kur, protams, lietots &amp;#039;&amp;#039;jūsu&amp;#039;&amp;#039; vārds un uzvārds.&lt;br /&gt;
* Zip fails jāiesūta e-studijās VISIEM komandas dalībniekiem.&lt;br /&gt;
&lt;br /&gt;
=Testbed=&lt;br /&gt;
&lt;br /&gt;
EDI BST testa vides piekļuve un lietošana.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://docs.google.com/presentation/d/1Qy32wqh3W4ki808hN_FUTMHURcO1F6St3nwovtZLLNQ/edit?usp=sharing Lietošanas pamācība]&lt;br /&gt;
* [https://www.edi.lv/testbed EDI Testbed] portāls&lt;br /&gt;
* Testbed CLI komandu [https://www.dropbox.com/s/gse78nkox8eo523/EDI%20TestBed%20CLI%20cheat%20sheet%202021.pdf?raw=1 Cheatsheet]&lt;br /&gt;
* [https://www.dropbox.com/s/efsx8380cy4y366/EDI_TestBed_CLI_intro_2021.pdf?raw=1 EDI Testbed Prezentācija]&lt;br /&gt;
* Demonstrācijas video pieejams eStudijās&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CLI klientu programmatūra&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
** [https://makonis.edi.lv/s/PtomG54z8i7ozJp Linux]&lt;br /&gt;
** [https://makonis.edi.lv/s/bBAzoknjX23WfPS Windows]&lt;br /&gt;
&lt;br /&gt;
Publikācijas&lt;br /&gt;
* [https://www.researchgate.net/publication/236735509_Wireless_Sensor_Network_Testbeds_A_Survey Wireless Sensor Network Testbeds: A Survey]&lt;br /&gt;
&lt;br /&gt;
= Resursi =&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/edi-riga/MansOS/wiki &amp;#039;&amp;#039;&amp;#039;MansOS&amp;#039;&amp;#039;&amp;#039; operētājsistēma]&lt;br /&gt;
** [[MansOS msp430 procesora rīku instalācija ar Docker]]&lt;br /&gt;
&lt;br /&gt;
* [http://www.catb.org/esr/structure-packing/ The Lost Art of Structure Packing]&lt;br /&gt;
* Grāmata: [https://ptolemy.berkeley.edu/books/leeseshia/ Introduction to Embedded Systems - A Cyber-Physical Systems Approach]&lt;br /&gt;
* [[LU::poster-howto | Ieteikumi plakātu prezentāciju veidošanā]]&lt;br /&gt;
&lt;br /&gt;
* [https://towardsdatascience.com/top-30-data-science-interview-questions-7dd9a96d3f5c Datu zinātne] - 30 intervijas jautājumi&lt;br /&gt;
&lt;br /&gt;
* [https://google.github.io/mediapipe/ Mediapipe] - attēlu apsrādes bibliotēka&lt;br /&gt;
&lt;br /&gt;
== Aparatūra, sensori ==&lt;br /&gt;
* [[DiLab_resursi]] - LU pieejamie sensori un aparatūra&lt;br /&gt;
&lt;br /&gt;
== Saites ==&lt;br /&gt;
* [[LU-BST:links | Bezvadu sensoru tīklu saites]]&lt;br /&gt;
* [https://www.sqimway.com/index.html Bezvadu komunikācijas veidi un frekvences]&lt;br /&gt;
* [http://ss64.com/bash Linux komandu rokasgrāmata]. Komandas, kas mums būs noderīgas: cd, ls, cp, mv, mkdir, df, echo, export, find, grep, less, nano, make, man, ping, rm, ifconfig.&lt;br /&gt;
* [[LU-BST:SwissQM | Kā piedarbināt SwissQM virtuālo mašīnu sensoru tīkliem]] (Paldies Kārlim Visendorfam par aprakstu!)&lt;br /&gt;
* [https://www.ibr.cs.tu-bs.de/dus/publications/spots2006.pdf uPart mote un tās īpašības]&lt;br /&gt;
&lt;br /&gt;
== Interesanti ==&lt;br /&gt;
* [https://www.sparkfun.com/news/6147 Hedy Lamarr and Frequency Hopping Technology] - Holivudas aktrise un FH patenta autore.&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=LU-DIP-m&amp;diff=11207</id>
		<title>LU-DIP-m</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=LU-DIP-m&amp;diff=11207"/>
		<updated>2026-02-19T10:56:16Z</updated>

		<summary type="html">&lt;p&gt;Leo: /* 23.04.26 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Īsceļi:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[#Kalendārs | Kalendārs]] | &lt;br /&gt;
[[#Lekciju video | Video]] |&lt;br /&gt;
[[#PD | PD]] |&lt;br /&gt;
[[#MD | MD]] |&lt;br /&gt;
[[#Informācijas resursi | Resursi]] | &lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}}]] : &lt;br /&gt;
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}}]]&lt;br /&gt;
(ja ir lekcija)&lt;br /&gt;
&lt;br /&gt;
{{LUDFKurss|Digitālā projektēšana [M]|DIP|DatZ7034|2DAT7034|maģistru un doktorantu}}&lt;br /&gt;
&lt;br /&gt;
= Par kursu =&lt;br /&gt;
&lt;br /&gt;
Kursa mērķi ir iepazīstināt ar digitālo iekārtu projektēšanas aspektiem, darba plūsmu, problēmām un risinājumiem. Kursa ietvaros tiek apskatīti digitālu iekārtu un datoru arhitektūras pamata un arī sarežģītākas pakāpes elementi.&lt;br /&gt;
Kursā studenti izstrādā praktiskos darbus un kursa projektu, kura rezultāts ir digitāla iekarta, piemēram procesors, mini dators, grafikas kontrolieris, kalkulators, paralēlas attēlu apstrādes iekārta un citas iekārtas.&lt;br /&gt;
&lt;br /&gt;
=== Administratīvā informācija===&lt;br /&gt;
* Pasniedzējs: Leo Seļāvo &amp;#039;&amp;#039;(epasts: vards.uzvards @ gmail.com)&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Vērtējums = 40% mājas un praktiskie darbi, 10% dalība klasē, 20% KD1 un 30% KD2(eksāmens). --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{KursiMD|DIP|50%|10%}}&lt;br /&gt;
&lt;br /&gt;
=Kalendārs=&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4 style = &amp;#039;border-color: #ddd;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
! Datums&lt;br /&gt;
! Tēma, saturs&lt;br /&gt;
! Uzdevumi&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
==== 05.02.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievads kursā&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Digitālas iekārtas vispārējā arhitektūra un uzbūve.&lt;br /&gt;
Digitālā projektēšana, ievads, darba plūsma. Map, place, route. Laika anotācija - &amp;quot;&amp;quot;Timing back-annotation&amp;quot;&amp;quot;. Simulācija un testēšana dažādos līmeņos.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://youtu.be/sqyLYgVvtr0 Ievads (video)]&lt;br /&gt;
* [https://youtu.be/G6abrFbeazw Kas ir digitālas sistēmas (video)]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
[[#PD1 | PD1]] - LED un slēdžī&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 12.02.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Digitālo iekārtu pamatelementi&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://youtu.be/6340drM2Fm0 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Digitālo iekārtu pamatelementi, tranzistors, invertors, NAND un NOR elementi no tranzistoriem, to loģiskā uzbūve un īpašības.&lt;br /&gt;
Loģiskie elementi, minimālā kopa. Pāreja no loģiskajām izteiksmēm un tabulām uz realizāciju ar loģiskajiem elementiem. Kombinētie loģiskie elementi. Dešifrators, multipleksors, frekvences dalītājs un citi elementi.&lt;br /&gt;
Elementi ar atmiņu.  RS un D trigeri. &amp;quot;&amp;quot;Latch&amp;quot;&amp;quot; un &amp;quot;&amp;quot;D-Flip-flop&amp;quot;&amp;quot;. Reģistri un uz tiem bāzētas iekārtas. Bīdes reģistri. Skaitītāji. Uzstādīšanas un noturēšanas laiku ierobežojumi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;CMOS tehnoloģija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
MOS tranzistora uzbūve un pielietojumi loģisko iekārtu uzbūvē&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://youtu.be/knlFvRxpUuE MOS tranzistors kā pamatelements digitālajām iekārtām (video)]&lt;br /&gt;
* [https://youtu.be/I-l2bQ-C_VU Loģisko elementu uzbūve ar MOS tranzistoriem (video)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 19.02.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Aparatūru aprakstošas valodas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aparatūru aprakstošas valodas (HDL), Verilog. Valodas elementi simulācijai un sintēzei. Uzvedības un struktūras apraksts. Moduļi. Datu tipi, signāli un reģistri.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.ece.umd.edu/class/enee359a/verilog_tutorial.pdf Verilog tutorial] no UMD.&lt;br /&gt;
* [http://www.asic-world.com/verilog/veritut.html Verilog tutorial] no ASIC world.&lt;br /&gt;
* [https://uobdv.github.io/Design-Verification/Supplementary/Verilog.SLIDES.pdf Verilog lekcijas slaidi] no CMU.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots [[#PD_RF | PD_RF]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 26.02.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Instrukciju kopas arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [http://selavo.lv/kursi/dipm/dlx_handout.pdf Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Procesora instrukciju arhitektūra. Instrukciju tipi un kodēšana. Operandi. RISC un CISC arhitektūras. DLX procesora instrukciju arhitektūra. Salīdzinoši piemēri no ARM instrukciju kopas.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; [[#PD_RF | PD_RF]]&lt;br /&gt;
* Uzdots [[#MD_ALU | MD_ALU]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 05.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Risc V arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Vientakts procesora arhitektūra. Instrukciju dešifratora un skaitītāja reģistri. Reģistru fails. Aritmētiski loģiskā iekārta (ALU). Atmiņas saskarne. Instrukciju un datu kešatmiņa.&lt;br /&gt;
&lt;br /&gt;
RISC V procesora arhitektūra un instrukciju kopa.&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/eit5g6x4a7tqhla/riscv-20160507-patterson-160507071645.pdf?raw=1 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* RISC-V arhitektūras procesori un instrukciju kopa.&lt;br /&gt;
* Salīdzinošais ieskats ARM instrukciju kopā.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://riscv.org/ RISCV.org]&lt;br /&gt;
* [https://www.dropbox.com/s/8oy8yqd2bpff9rd/RISCVGreenCardv8-20151013.pdf?raw=1 RISC V Green Card]&lt;br /&gt;
* [https://five-embeddev.com/riscv-isa-manual/latest/instr-table.html RISC-V ISA Manual] - tabula ar instrukcijām un to kodiem.&lt;br /&gt;
&lt;br /&gt;
* [https://riscvasm.lucasteske.dev/# RISC-V Online Assembler]&lt;br /&gt;
* [https://www.cs.cornell.edu/courses/cs3410/2019sp/riscv/interpreter/# RISCV Interpreter] online at Cornell&lt;br /&gt;
&lt;br /&gt;
* [http://tice.sea.eseo.fr/riscv/ RISCV datapath vizualizācija]&lt;br /&gt;
&lt;br /&gt;
* [https://circuitdigest.com/article/understanding-risc-v-architecture-and-why-it-could-be-a-replacement-for-arm Risc V un ARM]&lt;br /&gt;
* [https://youtu.be/XMg0qzyMi14 Designing Open Processors at the Barcelona Supercomputing Center (video)]&lt;br /&gt;
&lt;br /&gt;
* Konferences:&lt;br /&gt;
** [https://www.dac.com/ DAC]&lt;br /&gt;
** [https://www.date-conference.com/ DATE]&lt;br /&gt;
** [https://dsd-seaa2021.unipv.it/index.html#call Euromicro DSD]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_ALU | MD_ALU]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_v0 | MD_CPU_v0]]&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 12.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Instrukciju atmiņa. RISC V Asemblers&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Instrukciju atmiņa, reģistrs, dekoderis. PC reģistrs.&lt;br /&gt;
&lt;br /&gt;
RISC V Asemblers. GNU rīki kompilācijai. Qemu simulators.&lt;br /&gt;
&lt;br /&gt;
* GNU asemblera kompilators RISC V arhitektūrai ir pieejams kā riscv64-linux-gnu-as. Ar to ir iespējams kompilēt kodu 32 bitu arhitektūrai RV32i norādot attiecīgu arhitektūras parametru:&lt;br /&gt;
 riscv64-linux-gnu-as -march=rv32e -al test.s&lt;br /&gt;
* Tad kompilēto kodu iespējams dabūt no listinga (to apstrādājot), vai arī no kompilētā elf faila ar objdump.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_v0 | MD_CPU_v0]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_IC | MD_CPU_IC]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 19.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Operatīvā atmiņa&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Operatīvā atmiņa, statiskā un dinamiskā. Atmiņas matricas un uzbūve. Kešatmiņas. Saskarnes starp atmiņu un citām iekārtām.&lt;br /&gt;
&lt;br /&gt;
Resursi:&lt;br /&gt;
* [http://ece-research.unm.edu/jimp/vlsi/slides/chap8_2.html Atmiņas uzbūve] no New Mexico Universitātes, VLSI kursa.&lt;br /&gt;
* [https://www.embedded.com/flash-101-nand-flash-vs-nor-flash/ NAND un NOR zibatmiņa] (embedded.com)&lt;br /&gt;
* [https://www.enterprisestorageforum.com/hardware/slc-vs-mlc-vs-tlc-nand-flash/ SLV, MLC, TLC Flash memory] (Enterprise storage forum)&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_IC | MD_CPU_IC]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_DC | MD_CPU_DC]]&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 26.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Vadības kontrole&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Branch instrukcijas. Jump-and-link instrukcijas. &lt;br /&gt;
To realizācija vientakts procesorā. &lt;br /&gt;
Branch prediction. Heristikas vadības kontroles optimizācijai.&lt;br /&gt;
&lt;br /&gt;
Kešatmiņa. Asociatīvā atmiņa. &lt;br /&gt;
&amp;quot;N-way set associative cache memory&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_DC | MD_CPU_DC]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_Branch | MD_CPU_Branch]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 09.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;GPIO&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
GPIO - General Purpose Input Output. Datu ievads un izvads ar kartētu atmiņu (memory mapped IO). Mikrokontroliera perifērijas iekārtu reģistri. Reģistrs lasīšanas un rakstīšanas virzienam. Saskarnes savietošana ar operatīvās atmiņas saskarni.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots: [[#MD_GPIO | MD_GPIO]]&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 16.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Procesora arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://youtu.be/P2CARhD2k3A Slaidi/video]&lt;br /&gt;
Procesora arhitektūra. Daudz-taktu procesors un konveijera princips.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_Branch | MD_CPU_Branch]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 23.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Metrikas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Digitālas projektēšanas metrikas. Funkcionalitāte. Izmaksas, fiksētās un mainīgās. Uzticamība, izturība. Trokšņu noturība un imunitāte. Veiktspēja. Ātrums un enerģijas patēriņš. Projektēšanas laiks.&lt;br /&gt;
* [https://www.dropbox.com/s/aoyenqlkhaz1yoe/Metrics_Leo.pdf?raw=1 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Resursi:&lt;br /&gt;
* [https://semiengineering.com/from-design-to-deployment-how-silicon-lifecycle-management-optimizes-the-entire-ic-life-span/ Silicon lifecycle...]&lt;br /&gt;
* [https://anysilicon.com/when-and-why-should-you-choose-an-asic/ When and why ASIC...]&lt;br /&gt;
&lt;br /&gt;
* [https://qr.ae/pC3aan Dealing with faults on billion-transistor chips] (Quora)&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 30.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Programmējamās loģikas iekārtas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://youtu.be/JEiLcHtgSlE Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Programmējamās loģikas iekārtas, CPLD un FPGA. FPGA uzbūve. Konfigurējami loģiskie elementi. Ievada un izvada elementi. Komunikācija, maģistrāles.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://www.electronicsforu.com/technology-trends/fpga-vs-cpld-microcontrollers FPGA vs CPLD vs Microcontrollers] (from electronicsforu.com)&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/data_sheets/ds312.pdf Spartan-3E FPGA Family Data Sheet]&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/data_sheets/ds090.pdf CoolRunner II CPLD Family]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 07.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;FPGA kā serviss&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vieslekcija. Attālināta FPGA attīstītājrīku programmēšana un testēšana.&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_GPIO | MD_GPIO]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 14.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;(Vieslekcija)&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FPGA pielietojumi kosmosa tehnoloģijās.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 21.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Superskalāras arhitektūras&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://www.dropbox.com/s/7nrd0ke682oc935/13_Superscalar.pdf?raw=1 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Superskalārie procesori un to uzbūve. Paralēlu ALU izmantošanas stratēģijas.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 28.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Dinamiska instrukciju plānošana&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Instrukciju paralelisms, ciklu atrullēšana, Scoreboarding un Tomasulo arhitektūras.&lt;br /&gt;
&lt;br /&gt;
Slaidi:&lt;br /&gt;
* [https://www.dropbox.com/s/ieks943pmn4ikpm/ECE570_dynamic_scheduling.pdf?raw=1 Scoreboarding algoritms]&lt;br /&gt;
* [https://www.dropbox.com/s/1a1s4d95k5plotb/Lecture04_tomasulo.pdf?raw=1 Tomasulo algoritms]&lt;br /&gt;
&lt;br /&gt;
Resursi:&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Tomasulo%27s_algorithm Par Tomasulo algoritmu] no Wikipedijas&lt;br /&gt;
* [http://nathantypanski.github.io/tomasulo-simulator/ Tomasulo simulators]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://serenefield.com/Blog/posts/HighPerformanceArchitecture/2021-01-28_High-Performance-Computer-Architecture-13---Tomasulo-s-Algorithm-Part-1-8c65788dec07.html Ievads Tomasulo algoritmā] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 28.05.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Kopsavilkums&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Daudzkodolu procesori un CUDA&lt;br /&gt;
* [https://sites.google.com/a/nirmauni.ac.in/cudacodes/cuda-material/tutorial-3 GPU Computing: The Democratization of Parallel Computing] - seminārs, ASPLOS&amp;#039;08&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== xx.06.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
xx:xx Eksāmens.&lt;br /&gt;
&lt;br /&gt;
Projektu demonstrācijas un plakāti.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
Eksāmenā:&lt;br /&gt;
* Risinājuma pirmkods un projekts kā zip fails&lt;br /&gt;
* Dokumentācija jūsu risinājumam &amp;quot;Datasheet&amp;quot;.&lt;br /&gt;
* Jānodod eseja (e-studijās), kurā aprakstīti projekta izaicinājumi un sasniegumi kā arī tehniskā informācija par projektu.&lt;br /&gt;
* Bez tam, jāizveido plakāts, kas būs jāprezentē mutiski un jāatbild uz jautājumiem. PDF formātā (e-studijās).&lt;br /&gt;
** [[LU::poster-howto | Ieteikumi plakāta prezentācijas]] veidošanā&lt;br /&gt;
* Ja projektā ir demonstrējama daļa, tad jāveic arī tā demonstrācija.&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Lekciju video =&lt;br /&gt;
Lekciju [https://www.youtube.com/playlist?list=PL32WMyFDbfNnVb3nFI9Tku5O8ukKBxs6Z videomateriāls ir pieejams Youtube]. Sīkāk, pa tēmām:&lt;br /&gt;
* [https://youtu.be/sqyLYgVvtr0 Ievads kursa pirmajai daļai.]&lt;br /&gt;
* [https://youtu.be/G6abrFbeazw Digitālas sistēmas.]&lt;br /&gt;
* [https://youtu.be/6340drM2Fm0 Loģikas pamatelementi.]&lt;br /&gt;
* [https://youtu.be/knlFvRxpUuE Tranzistora uzbūve.]&lt;br /&gt;
* [https://youtu.be/I-l2bQ-C_VU Tranzistoru lietojumi.]&lt;br /&gt;
* [https://youtu.be/hDOUl1ViMdc Laika atkarīgi elementi.]&lt;br /&gt;
* [https://youtu.be/1spw-GAsDLk Trigeri un &amp;quot;latch&amp;quot; iekārtas.]&lt;br /&gt;
* [https://youtu.be/P2CARhD2k3A CPU uzbūve un konveijera princips.]&lt;br /&gt;
* [https://youtu.be/JEiLcHtgSlE FPGA uzbūve.]&lt;br /&gt;
&lt;br /&gt;
= PD =&lt;br /&gt;
Praktiskie darbi.&lt;br /&gt;
&lt;br /&gt;
===PD1===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LED un slēdži&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* apgūt darba plūsmu ar FPGA shēmas ievadu, kompilāciju un dizaina augžuplādēšanu uz FPGA iekārtas.&lt;br /&gt;
* lietot FPGA ievada un izvada portus (pinus).&lt;br /&gt;
* lietot elementāras loģikas elementus shēmā.&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot digitālu iekārtu, kas izmanto ievada elementus (slēdžus) un izvada elementus (LED).&lt;br /&gt;
* Shēmas ievads&lt;br /&gt;
* Kompilācija&lt;br /&gt;
* Uzlādēšana uz reālas FPGA iekārtas&lt;br /&gt;
* Pārbaude&lt;br /&gt;
&lt;br /&gt;
Iekārtai jāveic sekojošas darbības:&lt;br /&gt;
* SW1 slēdzis ieslēdz un izslēdz LED1 spīddiodi.&lt;br /&gt;
* SW2 un SW3 slēdži veido ievaddatus XOR elementam, kura rezultats tiek izvadīts uz LED2.&lt;br /&gt;
* Spīddiode LED3, kas ieslēdzas un izslēdzas reizi sekundē. SW4 to var apstādināt un iedarbināt.&lt;br /&gt;
&lt;br /&gt;
Praktiskajā darbā izstrādātā iekārta jādemonstrē uz FPGA iekārtas.&lt;br /&gt;
&lt;br /&gt;
Resusrsi:&lt;br /&gt;
* [http://www.xilinx.com/support/documentation/boards_and_kits/ug230.pdf Xilinx Spartan-3E FPGA Starter Kit Board User Guide]&lt;br /&gt;
* [https://eprints.qut.edu.au/76297/1/Spartan3E_Tutorial_1ver2.pdf Spartan 3E Tutorial] no Queensland University of Technology&lt;br /&gt;
&lt;br /&gt;
===PD_Counter===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Skaitītāja simulācija&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* Iepazīties ar FPGA elementu bibliotēkas skaitītāja moduļiem&lt;br /&gt;
* Iemācīties, kā darbināt simulācijas&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izveidot shēmu iekārtai, kas izmantojot takts signālu realizē 4 bitu bināru skaitītāju.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulātoru (ISim vai Modelsim)&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* PDF dokumentu kurā ir gan iekārtas shēma, gan arī simulācijas rezultāti un īss pieredzes apraksts.&lt;br /&gt;
&lt;br /&gt;
===PD_RF===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Reģistru fails un simulācija&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* Pamatelementu un reģistru lietojums Verilog valodā&lt;br /&gt;
* Projekta simulācija&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot 32x32 reģistru failu procesoram. Veikt simulāciju ar ISim, kas pārbauda tā darbību.&lt;br /&gt;
&lt;br /&gt;
* Reģistru failā ir 32 biti&lt;br /&gt;
* Katrs reģistrs ir 32 bitus garš&lt;br /&gt;
* Turpmāk aprakstā  portu/signālu bitu skaits tiek norādīts aiz tiem iekavās.&lt;br /&gt;
* Ir divi porti A(32) un B(32), kas ļauj vienlaicīgi nolasīt divu reģistru vērtības. Lasāmo reģistru adreses tiek norādītas ar AA(5) un AB(5)&lt;br /&gt;
* Ir viens ports D(32), kas ļauj ierakstīt viena reģistra vērtību CLK uzlecošās frontes notikuma brīdī, ja ir iespējota rakstīšana ar signālu WR. Reģistrs, kurā rakstīt, tiek norādīts ar signālu AD(5).&lt;br /&gt;
* Lasīšanas un rakstīšanas darbībām jāvar notikt paralēli, vienlaicīgi.&lt;br /&gt;
&lt;br /&gt;
Demonstrēt iekārtas darbību ar simulatoru ISim [https://www.youtube.com/watch?v=9iQfqhUfAcE (pamācības video)]&lt;br /&gt;
* Simulācijas daļā demonstrēt, kā informācija tiek rakstīta visos reģistros, kā arī lasīta no tiem. Lai veiktu šo simulāciju, izveidot testa moduli (testbench) atsevišķā Verilog failā.&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkodu reģistru failam un tā testa modulim.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===PD_Calc===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kalkulators: stāvokļu diagramma un kontrolieris&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===== Mērķi =====&lt;br /&gt;
* Iepazīties ar galīgo automātu projektēšanu un implementāciju Verilog valodā&lt;br /&gt;
* Projektēt digitālu sistēmu ar kontrolieri&lt;br /&gt;
* Simulēt kontroliera dizainu&lt;br /&gt;
&lt;br /&gt;
===== Uzdevums =====&lt;br /&gt;
Izveidot funkcionālu kalkulatora moduli, kas reaģē uz taustiņu signāliem veic saskaitīšanas un atņemšanas operācijas. &lt;br /&gt;
Kalkulators strādā heksadecimālā sistēmā, tātad, tam ir 16 ciparu taustiņi: 0,1,2...8,9,A,B,C,D,E,F.&lt;br /&gt;
Bez tam ir arī operāciju taustiņi: CLR - nodzēst rezultātu, un operācijas +, - un =.&lt;br /&gt;
Nospiežot katru taustiņu tiek pacelts signāls BtnDown. Atlaižot taustiņu tas tiek nolaists.&lt;br /&gt;
Jāveic sekojoši uzdevumi:&lt;br /&gt;
* Izveidot projektu kalkulatoram ar Verilog vai shēmu diagrammu.&lt;br /&gt;
* Izveidot kontrolieri, kas balstīts uz vienu vai vairākiem galīgiem stāvokļu automātiem.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulātoru Xilinx ISim.&lt;br /&gt;
&lt;br /&gt;
===== Iesniegt =====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* PDF dokumentu kurā ir gan iekārtas shēma, gan arī simulācijas rezultāti un īss pieredzes apraksts.&lt;br /&gt;
* Iekārtas un testēšanas Verilog pirmkoda failus.&lt;br /&gt;
&lt;br /&gt;
===PD_VGA===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Šaha laukums&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* iepazīties ar VGA signālu protokolu&lt;br /&gt;
* izpildīt iekartas dizainu Verilog valodā&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot iekārtu, kas uz monitora ekrāna attēlo 8x8 šaha lauciņu. &lt;br /&gt;
Darba gaita iepazīties ar video signāla formu un laika parametriem. &lt;br /&gt;
Darbu atļauts izpildīt daļēji vai pilnīgi Verilog valodā. &lt;br /&gt;
&lt;br /&gt;
Praktiskajā darbā izstrādātā iekārta jādemonstrē uz Spartan 3E FPGA iekārtas, kam pieslēgts monitors.&lt;br /&gt;
&lt;br /&gt;
Izstrādātā risinājuma pirmkoda faili jāarhivē failā vards_uzvards_PD2.zip un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
===PD_Kbd===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Klaviatūra un Ciparu izvads&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* iepazīties ar PS/2 (klaviatūras) protokolu&lt;br /&gt;
* Izstrādāt stāvokļu mašīnu - galīgo automātu kalkulatora darbībai&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot digitālu iekārtu, kas darbojas kā kalkulators ar skaitļiem heksadecimālajā sistēmā un var izpildīt saskaitīšanas un atņemšanas operācijas.&lt;br /&gt;
&lt;br /&gt;
Skaitļu ievads ir no klaviatūras, kas pieslēdta ar PS/2 portu.&lt;br /&gt;
&lt;br /&gt;
Skaitļu izvads ir uz LCD ekrāna.&lt;br /&gt;
&lt;br /&gt;
Izstrādātā risinājuma pirmkoda faili jāarhivē failā vards_uzvards_PD3.zip un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
= MD =&lt;br /&gt;
Mājas darbi.&lt;br /&gt;
&lt;br /&gt;
===MD1===&lt;br /&gt;
&lt;br /&gt;
Novērtēt Spartan 3E attīstītājrīka un FPGA iespējas. Atbildēt uz jautājumu: vai iespējams uz Spartan 3E realizēt datoru, kas varētu darbināt Linux klases operētājsistēmu? Atbildi &amp;#039;&amp;#039;&amp;#039;pamatot&amp;#039;&amp;#039;&amp;#039;, izvērtējot &amp;#039;&amp;#039;&amp;#039;nepieciešamos un atbilstošos pieejamos resursus&amp;#039;&amp;#039;&amp;#039; gan FPGA, gan perifērijas iekārtu kontekstā.&lt;br /&gt;
&lt;br /&gt;
Atbilde noformējama kā eseja PDF failā vards_uzvards_MD1.pdf un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
===MD2===&lt;br /&gt;
&lt;br /&gt;
Aprakstīt ideju kursā realizējamam projektam, ko izstrādāsiet uz FPGA iekārtas.&lt;br /&gt;
Iekļaut sekojošas sadaļas:&lt;br /&gt;
* Vai tas ir individuāls vai komandas darbs. Ja komandas, tad pievienot dalībnieku sarakstu un to lomu projektā&lt;br /&gt;
* Mērķis un motivācija&lt;br /&gt;
* Nepieciešamie resursi&lt;br /&gt;
* Risinājuma apraksts&lt;br /&gt;
* Realizācijas plāns ar konkrētiem datumiem un starpmērķiem, kas tajos sasniedzami&lt;br /&gt;
&lt;br /&gt;
Atbilde noformējama kā dokuments PDF failā vards_uzvards_MD2.pdf un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MD_OpenGL===&lt;br /&gt;
&lt;br /&gt;
Uzzīmēt un aprakstīt video kontroliera shēmu, kas atbalsta minimālu OpenGL vai līdzīgu instrukciju kopu.&lt;br /&gt;
Instrukcijas tiek nodotas no datora pa seriālo portu. Instrukcijas jāatkodē un jāizpilda, izmainot lokālu video buferi. No bufera attēls jāizvada uz  iebūvēto VGA portu attēla izvadei.&lt;br /&gt;
&lt;br /&gt;
Atbilde noformējama kā dokuments PDF failā vards_uzvards_MDx.pdf un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
===MD_ALU===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Aritmētiski loģiskā ierīce (ALU)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* Izpētīt ISA un izstrādāt specifikāciju atbilstošam procesora ALU&lt;br /&gt;
* ALU izstrāde&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt ALU kas atbilst RISCV R32I instrukciju kopai &lt;br /&gt;
* ALU nepieciešams nodrošināt sekojošu saskarni:&lt;br /&gt;
** A un B ir datu ievadda maģistrāles, 32 biti, vai ideāli, parametrizējamas.&lt;br /&gt;
** OUT ir rezultāts, arī datu maģistrāle&lt;br /&gt;
** OPCODE - ievads, ALU operācijas kods&lt;br /&gt;
** karodziņi, kas indicē:&lt;br /&gt;
*** V - Overflow&lt;br /&gt;
*** Z - Zero&lt;br /&gt;
*** N - Negative&lt;br /&gt;
*** C - Carry&lt;br /&gt;
* Demonstrēt iekārtas darbību vairākām instrukcijām, ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISCV reference card] - instrukciju tipi, kopsavilkums&lt;br /&gt;
* [https://inst.eecs.berkeley.edu/~cs61c/fa17/img/riscvcard.pdf RISCV Reference sheet] - instrukciju saraksts&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISCV specifikācijas protāls un dokumenti]&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda fails ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_v0===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt instrukciju dekoderi un aritmētisko instrukciju datu plūsmu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt instrukciju dekoderi pēc RISC V R32I ISA Green card.&lt;br /&gt;
* Izstrādāt vienkāršu kontrolieri, kas tulko instrukciju operāciju kodus uz ALU operāciju kodiem, un reģistru faila WE (Write Enable) signālu.&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vienkāršas instrukcijas pa vienai.&lt;br /&gt;
&lt;br /&gt;
CPU prototipam (v0) jāsavieno reģistru fails, ALU un instrukciju dekoderis un operāciju kodu kontrolieris tā, lai būtu iespējams ieejā dot vienas instrukcijas 32 bitu kodu, un tā tiktu izpildīta, un rezultāts ierakstīts attiecīgajā reģistrā pēc CLK takts signāla augošās frontes.&lt;br /&gt;
&lt;br /&gt;
* Demonstrēt iekārtas darbību vairākām instrukcijām, ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* RISC V dokumentācija&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_IC===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips ar instrukciju kešatmiņu&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt instrukciju kešatmiņu un RISC V asemblera kompilāciju.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt instrukciju kešatmiņu, instrukciju reģistru, PC reģistru.&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vienkāršas instrukcijas no instrukciju atmiņas. Katrs takts signāls CLK ielasa un izpilda nākamo instrukciju.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu instrukciju testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Instrukciju kešatmiņas modulim ielasīt kompilētu programmu (no teksta faila), Verilog kompilācijas solī.&lt;br /&gt;
&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISC V dokumentācija]&lt;br /&gt;
* [https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md RISC V Assembly manual]&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISC V Green card]&lt;br /&gt;
* [https://riscvasm.lucasteske.dev/# RiscV kompilators online]&lt;br /&gt;
&lt;br /&gt;
GNU asemblera kompilators RISC V arhitektūrai ir pieejams kā riscv64-linux-gnu-as.&lt;br /&gt;
Ar to ir iespējams kompilēt kodu 32 bitu arhitektūrai RV32i norādot attiecīgu arhitektūras parametru:&lt;br /&gt;
 riscv64-linux-gnu-as -march=rv32e -al test.s&lt;br /&gt;
&lt;br /&gt;
Tad kompilēto kodu iespējams dabūt no listinga (to apstrādājot), vai arī no kompilētā elf faila ar objdump.&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog un citi saistītie pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* Testa programma asemblerā&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_DC===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips ar datu kešatmiņu&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt datu kešatmiņu un saskarni ar operatīvo atmiņu.&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt datu kešatmiņu.&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vienkāršas instrukcijas ar atmiņu, piemēram Load un Store.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu instrukciju testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISC V dokumentācija]&lt;br /&gt;
* [https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md RISC V Assembly manual]&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISC V Green card]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_Branch===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips ar Branch un Jump-and-link instrukciju realizāciju&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt Branch un Jump-and-link instrukciju darbības un dizaina principus.&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt Branch instrukcijas saskaņā ar RISC V instrukciju kopu&lt;br /&gt;
** BEQ, BNE, BLT, BGE, BLTU, BGEU.&lt;br /&gt;
* Izstrādāt Jump-and-link instrukcijas saskaņā ar RISC V instrukciju kopu&lt;br /&gt;
** JAL, JALR&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vadības kontroles instrukcijas.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu instrukciju testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISC V dokumentācija]&lt;br /&gt;
* [https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md RISC V Assembly manual]&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISC V Green card]&lt;br /&gt;
* [https://github.com/jameslzhu/riscv-card/blob/master/riscv-card.pdf RISC V unofficial Reference card]&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_GPIO===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Universāls perifērijas datu ievads un izvads (GPIO) &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt datu apmaiņas principus starp mikroprocesoru un perifērijas iekārtām.&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt moduļus pikrokontroliera ārējai iekārtai GPIO, kas spēj nodot un lasīt datus rakstot īpašā adresē.&lt;br /&gt;
** Ieslēgt un izslēgt 8 LED, kas kartēti uz vienu baitu atmiņā. Katram LED atbilst savs bits baitā.&lt;br /&gt;
** Nolasīt 8 slēdžu (Switch) stāvokļus lasot vienu baitu pēc konkrētas atmiņas adreses. Katram slēdzim atbilst savs bits baitā.&lt;br /&gt;
** Realizēt GPIO iekārtas saskarni caur baitu konkrētā adresē operatīvajā atmiņā. Saskarni realizēt ar diviem reģistriem: Datu virziena reģistru un Datu reģistru.&lt;br /&gt;
&lt;br /&gt;
* Dizainu organizēt tā, lai izveidotie GPIO moduļi var tikt pielietoti arī citām perifērijas iekārtām:&lt;br /&gt;
** Konfigurējot piekļuvi ārējām iekārtām caur UCF failu&lt;br /&gt;
** Integrējot citus iekšējos moduļus kas izstrādāti Verilog vai shēmtehnikā.&lt;br /&gt;
&lt;br /&gt;
* Integrēt GPIO jūsu CPU projektā.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu GPIO testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar aparatūru.&lt;br /&gt;
&lt;br /&gt;
Piemēram var apskatīt GPIO organizāciju dažādu mikrokontrolieru dokumentācijā, piemēram Atmega328p.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf Atmega328p mikrokontroliera dokumentācija]&lt;br /&gt;
* [https://github.com/elomage/FPGA-resources/blob/main/ucf_templates/Anvyl.ucf UCF faila piemērs ANVYL attīstītājrīkam]&lt;br /&gt;
* [https://en.wikipedia.org/wiki/General-purpose_input/output General purpose input/output] - Wikipedia&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
= Informācijas resursi =&lt;br /&gt;
&lt;br /&gt;
{{DIP_saites}}&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=LU-DIP-m&amp;diff=11206</id>
		<title>LU-DIP-m</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=LU-DIP-m&amp;diff=11206"/>
		<updated>2026-02-19T10:31:46Z</updated>

		<summary type="html">&lt;p&gt;Leo: /* PD_RF */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Īsceļi:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[#Kalendārs | Kalendārs]] | &lt;br /&gt;
[[#Lekciju video | Video]] |&lt;br /&gt;
[[#PD | PD]] |&lt;br /&gt;
[[#MD | MD]] |&lt;br /&gt;
[[#Informācijas resursi | Resursi]] | &lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}}]] : &lt;br /&gt;
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}}]]&lt;br /&gt;
(ja ir lekcija)&lt;br /&gt;
&lt;br /&gt;
{{LUDFKurss|Digitālā projektēšana [M]|DIP|DatZ7034|2DAT7034|maģistru un doktorantu}}&lt;br /&gt;
&lt;br /&gt;
= Par kursu =&lt;br /&gt;
&lt;br /&gt;
Kursa mērķi ir iepazīstināt ar digitālo iekārtu projektēšanas aspektiem, darba plūsmu, problēmām un risinājumiem. Kursa ietvaros tiek apskatīti digitālu iekārtu un datoru arhitektūras pamata un arī sarežģītākas pakāpes elementi.&lt;br /&gt;
Kursā studenti izstrādā praktiskos darbus un kursa projektu, kura rezultāts ir digitāla iekarta, piemēram procesors, mini dators, grafikas kontrolieris, kalkulators, paralēlas attēlu apstrādes iekārta un citas iekārtas.&lt;br /&gt;
&lt;br /&gt;
=== Administratīvā informācija===&lt;br /&gt;
* Pasniedzējs: Leo Seļāvo &amp;#039;&amp;#039;(epasts: vards.uzvards @ gmail.com)&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Vērtējums = 40% mājas un praktiskie darbi, 10% dalība klasē, 20% KD1 un 30% KD2(eksāmens). --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{KursiMD|DIP|50%|10%}}&lt;br /&gt;
&lt;br /&gt;
=Kalendārs=&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4 style = &amp;#039;border-color: #ddd;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
! Datums&lt;br /&gt;
! Tēma, saturs&lt;br /&gt;
! Uzdevumi&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
==== 05.02.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievads kursā&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Digitālas iekārtas vispārējā arhitektūra un uzbūve.&lt;br /&gt;
Digitālā projektēšana, ievads, darba plūsma. Map, place, route. Laika anotācija - &amp;quot;&amp;quot;Timing back-annotation&amp;quot;&amp;quot;. Simulācija un testēšana dažādos līmeņos.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://youtu.be/sqyLYgVvtr0 Ievads (video)]&lt;br /&gt;
* [https://youtu.be/G6abrFbeazw Kas ir digitālas sistēmas (video)]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
[[#PD1 | PD1]] - LED un slēdžī&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 12.02.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Digitālo iekārtu pamatelementi&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://youtu.be/6340drM2Fm0 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Digitālo iekārtu pamatelementi, tranzistors, invertors, NAND un NOR elementi no tranzistoriem, to loģiskā uzbūve un īpašības.&lt;br /&gt;
Loģiskie elementi, minimālā kopa. Pāreja no loģiskajām izteiksmēm un tabulām uz realizāciju ar loģiskajiem elementiem. Kombinētie loģiskie elementi. Dešifrators, multipleksors, frekvences dalītājs un citi elementi.&lt;br /&gt;
Elementi ar atmiņu.  RS un D trigeri. &amp;quot;&amp;quot;Latch&amp;quot;&amp;quot; un &amp;quot;&amp;quot;D-Flip-flop&amp;quot;&amp;quot;. Reģistri un uz tiem bāzētas iekārtas. Bīdes reģistri. Skaitītāji. Uzstādīšanas un noturēšanas laiku ierobežojumi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;CMOS tehnoloģija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
MOS tranzistora uzbūve un pielietojumi loģisko iekārtu uzbūvē&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://youtu.be/knlFvRxpUuE MOS tranzistors kā pamatelements digitālajām iekārtām (video)]&lt;br /&gt;
* [https://youtu.be/I-l2bQ-C_VU Loģisko elementu uzbūve ar MOS tranzistoriem (video)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 19.02.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Aparatūru aprakstošas valodas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aparatūru aprakstošas valodas (HDL), Verilog. Valodas elementi simulācijai un sintēzei. Uzvedības un struktūras apraksts. Moduļi. Datu tipi, signāli un reģistri.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.ece.umd.edu/class/enee359a/verilog_tutorial.pdf Verilog tutorial] no UMD.&lt;br /&gt;
* [http://www.asic-world.com/verilog/veritut.html Verilog tutorial] no ASIC world.&lt;br /&gt;
* [https://uobdv.github.io/Design-Verification/Supplementary/Verilog.SLIDES.pdf Verilog lekcijas slaidi] no CMU.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots [[#PD_RF | PD_RF]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 26.02.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Instrukciju kopas arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [http://selavo.lv/kursi/dipm/dlx_handout.pdf Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Procesora instrukciju arhitektūra. Instrukciju tipi un kodēšana. Operandi. RISC un CISC arhitektūras. DLX procesora instrukciju arhitektūra. Salīdzinoši piemēri no ARM instrukciju kopas.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; [[#PD_RF | PD_RF]]&lt;br /&gt;
* Uzdots [[#MD_ALU | MD_ALU]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 05.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Risc V arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Vientakts procesora arhitektūra. Instrukciju dešifratora un skaitītāja reģistri. Reģistru fails. Aritmētiski loģiskā iekārta (ALU). Atmiņas saskarne. Instrukciju un datu kešatmiņa.&lt;br /&gt;
&lt;br /&gt;
RISC V procesora arhitektūra un instrukciju kopa.&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/eit5g6x4a7tqhla/riscv-20160507-patterson-160507071645.pdf?raw=1 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* RISC-V arhitektūras procesori un instrukciju kopa.&lt;br /&gt;
* Salīdzinošais ieskats ARM instrukciju kopā.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://riscv.org/ RISCV.org]&lt;br /&gt;
* [https://www.dropbox.com/s/8oy8yqd2bpff9rd/RISCVGreenCardv8-20151013.pdf?raw=1 RISC V Green Card]&lt;br /&gt;
* [https://five-embeddev.com/riscv-isa-manual/latest/instr-table.html RISC-V ISA Manual] - tabula ar instrukcijām un to kodiem.&lt;br /&gt;
&lt;br /&gt;
* [https://riscvasm.lucasteske.dev/# RISC-V Online Assembler]&lt;br /&gt;
* [https://www.cs.cornell.edu/courses/cs3410/2019sp/riscv/interpreter/# RISCV Interpreter] online at Cornell&lt;br /&gt;
&lt;br /&gt;
* [http://tice.sea.eseo.fr/riscv/ RISCV datapath vizualizācija]&lt;br /&gt;
&lt;br /&gt;
* [https://circuitdigest.com/article/understanding-risc-v-architecture-and-why-it-could-be-a-replacement-for-arm Risc V un ARM]&lt;br /&gt;
* [https://youtu.be/XMg0qzyMi14 Designing Open Processors at the Barcelona Supercomputing Center (video)]&lt;br /&gt;
&lt;br /&gt;
* Konferences:&lt;br /&gt;
** [https://www.dac.com/ DAC]&lt;br /&gt;
** [https://www.date-conference.com/ DATE]&lt;br /&gt;
** [https://dsd-seaa2021.unipv.it/index.html#call Euromicro DSD]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_ALU | MD_ALU]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_v0 | MD_CPU_v0]]&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 12.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Instrukciju atmiņa. RISC V Asemblers&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Instrukciju atmiņa, reģistrs, dekoderis. PC reģistrs.&lt;br /&gt;
&lt;br /&gt;
RISC V Asemblers. GNU rīki kompilācijai. Qemu simulators.&lt;br /&gt;
&lt;br /&gt;
* GNU asemblera kompilators RISC V arhitektūrai ir pieejams kā riscv64-linux-gnu-as. Ar to ir iespējams kompilēt kodu 32 bitu arhitektūrai RV32i norādot attiecīgu arhitektūras parametru:&lt;br /&gt;
 riscv64-linux-gnu-as -march=rv32e -al test.s&lt;br /&gt;
* Tad kompilēto kodu iespējams dabūt no listinga (to apstrādājot), vai arī no kompilētā elf faila ar objdump.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_v0 | MD_CPU_v0]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_IC | MD_CPU_IC]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 19.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Operatīvā atmiņa&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Operatīvā atmiņa, statiskā un dinamiskā. Atmiņas matricas un uzbūve. Kešatmiņas. Saskarnes starp atmiņu un citām iekārtām.&lt;br /&gt;
&lt;br /&gt;
Resursi:&lt;br /&gt;
* [http://ece-research.unm.edu/jimp/vlsi/slides/chap8_2.html Atmiņas uzbūve] no New Mexico Universitātes, VLSI kursa.&lt;br /&gt;
* [https://www.embedded.com/flash-101-nand-flash-vs-nor-flash/ NAND un NOR zibatmiņa] (embedded.com)&lt;br /&gt;
* [https://www.enterprisestorageforum.com/hardware/slc-vs-mlc-vs-tlc-nand-flash/ SLV, MLC, TLC Flash memory] (Enterprise storage forum)&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_IC | MD_CPU_IC]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_DC | MD_CPU_DC]]&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 26.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Vadības kontrole&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Branch instrukcijas. Jump-and-link instrukcijas. &lt;br /&gt;
To realizācija vientakts procesorā. &lt;br /&gt;
Branch prediction. Heristikas vadības kontroles optimizācijai.&lt;br /&gt;
&lt;br /&gt;
Kešatmiņa. Asociatīvā atmiņa. &lt;br /&gt;
&amp;quot;N-way set associative cache memory&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_DC | MD_CPU_DC]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_Branch | MD_CPU_Branch]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 09.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;GPIO&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
GPIO - General Purpose Input Output. Datu ievads un izvads ar kartētu atmiņu (memory mapped IO). Mikrokontroliera perifērijas iekārtu reģistri. Reģistrs lasīšanas un rakstīšanas virzienam. Saskarnes savietošana ar operatīvās atmiņas saskarni.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots: [[#MD_GPIO | MD_GPIO]]&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 16.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Procesora arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://youtu.be/P2CARhD2k3A Slaidi/video]&lt;br /&gt;
Procesora arhitektūra. Daudz-taktu procesors un konveijera princips.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_Branch | MD_CPU_Branch]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 23.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Metrikas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Digitālas projektēšanas metrikas. Funkcionalitāte. Izmaksas, fiksētās un mainīgās. Uzticamība, izturība. Trokšņu noturība un imunitāte. Veiktspēja. Ātrums un enerģijas patēriņš. Projektēšanas laiks.&lt;br /&gt;
* [https://www.dropbox.com/s/aoyenqlkhaz1yoe/Metrics_Leo.pdf?raw=1 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Resursi:&lt;br /&gt;
* [https://semiengineering.com/from-design-to-deployment-how-silicon-lifecycle-management-optimizes-the-entire-ic-life-span/ Silicon lifecycle...]&lt;br /&gt;
* [https://anysilicon.com/when-and-why-should-you-choose-an-asic/ When and why ASIC...]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 30.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Programmējamās loģikas iekārtas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://youtu.be/JEiLcHtgSlE Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Programmējamās loģikas iekārtas, CPLD un FPGA. FPGA uzbūve. Konfigurējami loģiskie elementi. Ievada un izvada elementi. Komunikācija, maģistrāles.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://www.electronicsforu.com/technology-trends/fpga-vs-cpld-microcontrollers FPGA vs CPLD vs Microcontrollers] (from electronicsforu.com)&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/data_sheets/ds312.pdf Spartan-3E FPGA Family Data Sheet]&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/data_sheets/ds090.pdf CoolRunner II CPLD Family]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 07.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;FPGA kā serviss&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vieslekcija. Attālināta FPGA attīstītājrīku programmēšana un testēšana.&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_GPIO | MD_GPIO]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 14.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;(Vieslekcija)&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FPGA pielietojumi kosmosa tehnoloģijās.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 21.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Superskalāras arhitektūras&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://www.dropbox.com/s/7nrd0ke682oc935/13_Superscalar.pdf?raw=1 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Superskalārie procesori un to uzbūve. Paralēlu ALU izmantošanas stratēģijas.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 28.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Dinamiska instrukciju plānošana&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Instrukciju paralelisms, ciklu atrullēšana, Scoreboarding un Tomasulo arhitektūras.&lt;br /&gt;
&lt;br /&gt;
Slaidi:&lt;br /&gt;
* [https://www.dropbox.com/s/ieks943pmn4ikpm/ECE570_dynamic_scheduling.pdf?raw=1 Scoreboarding algoritms]&lt;br /&gt;
* [https://www.dropbox.com/s/1a1s4d95k5plotb/Lecture04_tomasulo.pdf?raw=1 Tomasulo algoritms]&lt;br /&gt;
&lt;br /&gt;
Resursi:&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Tomasulo%27s_algorithm Par Tomasulo algoritmu] no Wikipedijas&lt;br /&gt;
* [http://nathantypanski.github.io/tomasulo-simulator/ Tomasulo simulators]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://serenefield.com/Blog/posts/HighPerformanceArchitecture/2021-01-28_High-Performance-Computer-Architecture-13---Tomasulo-s-Algorithm-Part-1-8c65788dec07.html Ievads Tomasulo algoritmā] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 28.05.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Kopsavilkums&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Daudzkodolu procesori un CUDA&lt;br /&gt;
* [https://sites.google.com/a/nirmauni.ac.in/cudacodes/cuda-material/tutorial-3 GPU Computing: The Democratization of Parallel Computing] - seminārs, ASPLOS&amp;#039;08&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== xx.06.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
xx:xx Eksāmens.&lt;br /&gt;
&lt;br /&gt;
Projektu demonstrācijas un plakāti.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
Eksāmenā:&lt;br /&gt;
* Risinājuma pirmkods un projekts kā zip fails&lt;br /&gt;
* Dokumentācija jūsu risinājumam &amp;quot;Datasheet&amp;quot;.&lt;br /&gt;
* Jānodod eseja (e-studijās), kurā aprakstīti projekta izaicinājumi un sasniegumi kā arī tehniskā informācija par projektu.&lt;br /&gt;
* Bez tam, jāizveido plakāts, kas būs jāprezentē mutiski un jāatbild uz jautājumiem. PDF formātā (e-studijās).&lt;br /&gt;
** [[LU::poster-howto | Ieteikumi plakāta prezentācijas]] veidošanā&lt;br /&gt;
* Ja projektā ir demonstrējama daļa, tad jāveic arī tā demonstrācija.&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Lekciju video =&lt;br /&gt;
Lekciju [https://www.youtube.com/playlist?list=PL32WMyFDbfNnVb3nFI9Tku5O8ukKBxs6Z videomateriāls ir pieejams Youtube]. Sīkāk, pa tēmām:&lt;br /&gt;
* [https://youtu.be/sqyLYgVvtr0 Ievads kursa pirmajai daļai.]&lt;br /&gt;
* [https://youtu.be/G6abrFbeazw Digitālas sistēmas.]&lt;br /&gt;
* [https://youtu.be/6340drM2Fm0 Loģikas pamatelementi.]&lt;br /&gt;
* [https://youtu.be/knlFvRxpUuE Tranzistora uzbūve.]&lt;br /&gt;
* [https://youtu.be/I-l2bQ-C_VU Tranzistoru lietojumi.]&lt;br /&gt;
* [https://youtu.be/hDOUl1ViMdc Laika atkarīgi elementi.]&lt;br /&gt;
* [https://youtu.be/1spw-GAsDLk Trigeri un &amp;quot;latch&amp;quot; iekārtas.]&lt;br /&gt;
* [https://youtu.be/P2CARhD2k3A CPU uzbūve un konveijera princips.]&lt;br /&gt;
* [https://youtu.be/JEiLcHtgSlE FPGA uzbūve.]&lt;br /&gt;
&lt;br /&gt;
= PD =&lt;br /&gt;
Praktiskie darbi.&lt;br /&gt;
&lt;br /&gt;
===PD1===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LED un slēdži&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* apgūt darba plūsmu ar FPGA shēmas ievadu, kompilāciju un dizaina augžuplādēšanu uz FPGA iekārtas.&lt;br /&gt;
* lietot FPGA ievada un izvada portus (pinus).&lt;br /&gt;
* lietot elementāras loģikas elementus shēmā.&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot digitālu iekārtu, kas izmanto ievada elementus (slēdžus) un izvada elementus (LED).&lt;br /&gt;
* Shēmas ievads&lt;br /&gt;
* Kompilācija&lt;br /&gt;
* Uzlādēšana uz reālas FPGA iekārtas&lt;br /&gt;
* Pārbaude&lt;br /&gt;
&lt;br /&gt;
Iekārtai jāveic sekojošas darbības:&lt;br /&gt;
* SW1 slēdzis ieslēdz un izslēdz LED1 spīddiodi.&lt;br /&gt;
* SW2 un SW3 slēdži veido ievaddatus XOR elementam, kura rezultats tiek izvadīts uz LED2.&lt;br /&gt;
* Spīddiode LED3, kas ieslēdzas un izslēdzas reizi sekundē. SW4 to var apstādināt un iedarbināt.&lt;br /&gt;
&lt;br /&gt;
Praktiskajā darbā izstrādātā iekārta jādemonstrē uz FPGA iekārtas.&lt;br /&gt;
&lt;br /&gt;
Resusrsi:&lt;br /&gt;
* [http://www.xilinx.com/support/documentation/boards_and_kits/ug230.pdf Xilinx Spartan-3E FPGA Starter Kit Board User Guide]&lt;br /&gt;
* [https://eprints.qut.edu.au/76297/1/Spartan3E_Tutorial_1ver2.pdf Spartan 3E Tutorial] no Queensland University of Technology&lt;br /&gt;
&lt;br /&gt;
===PD_Counter===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Skaitītāja simulācija&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* Iepazīties ar FPGA elementu bibliotēkas skaitītāja moduļiem&lt;br /&gt;
* Iemācīties, kā darbināt simulācijas&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izveidot shēmu iekārtai, kas izmantojot takts signālu realizē 4 bitu bināru skaitītāju.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulātoru (ISim vai Modelsim)&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* PDF dokumentu kurā ir gan iekārtas shēma, gan arī simulācijas rezultāti un īss pieredzes apraksts.&lt;br /&gt;
&lt;br /&gt;
===PD_RF===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Reģistru fails un simulācija&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* Pamatelementu un reģistru lietojums Verilog valodā&lt;br /&gt;
* Projekta simulācija&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot 32x32 reģistru failu procesoram. Veikt simulāciju ar ISim, kas pārbauda tā darbību.&lt;br /&gt;
&lt;br /&gt;
* Reģistru failā ir 32 biti&lt;br /&gt;
* Katrs reģistrs ir 32 bitus garš&lt;br /&gt;
* Turpmāk aprakstā  portu/signālu bitu skaits tiek norādīts aiz tiem iekavās.&lt;br /&gt;
* Ir divi porti A(32) un B(32), kas ļauj vienlaicīgi nolasīt divu reģistru vērtības. Lasāmo reģistru adreses tiek norādītas ar AA(5) un AB(5)&lt;br /&gt;
* Ir viens ports D(32), kas ļauj ierakstīt viena reģistra vērtību CLK uzlecošās frontes notikuma brīdī, ja ir iespējota rakstīšana ar signālu WR. Reģistrs, kurā rakstīt, tiek norādīts ar signālu AD(5).&lt;br /&gt;
* Lasīšanas un rakstīšanas darbībām jāvar notikt paralēli, vienlaicīgi.&lt;br /&gt;
&lt;br /&gt;
Demonstrēt iekārtas darbību ar simulatoru ISim [https://www.youtube.com/watch?v=9iQfqhUfAcE (pamācības video)]&lt;br /&gt;
* Simulācijas daļā demonstrēt, kā informācija tiek rakstīta visos reģistros, kā arī lasīta no tiem. Lai veiktu šo simulāciju, izveidot testa moduli (testbench) atsevišķā Verilog failā.&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkodu reģistru failam un tā testa modulim.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===PD_Calc===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kalkulators: stāvokļu diagramma un kontrolieris&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===== Mērķi =====&lt;br /&gt;
* Iepazīties ar galīgo automātu projektēšanu un implementāciju Verilog valodā&lt;br /&gt;
* Projektēt digitālu sistēmu ar kontrolieri&lt;br /&gt;
* Simulēt kontroliera dizainu&lt;br /&gt;
&lt;br /&gt;
===== Uzdevums =====&lt;br /&gt;
Izveidot funkcionālu kalkulatora moduli, kas reaģē uz taustiņu signāliem veic saskaitīšanas un atņemšanas operācijas. &lt;br /&gt;
Kalkulators strādā heksadecimālā sistēmā, tātad, tam ir 16 ciparu taustiņi: 0,1,2...8,9,A,B,C,D,E,F.&lt;br /&gt;
Bez tam ir arī operāciju taustiņi: CLR - nodzēst rezultātu, un operācijas +, - un =.&lt;br /&gt;
Nospiežot katru taustiņu tiek pacelts signāls BtnDown. Atlaižot taustiņu tas tiek nolaists.&lt;br /&gt;
Jāveic sekojoši uzdevumi:&lt;br /&gt;
* Izveidot projektu kalkulatoram ar Verilog vai shēmu diagrammu.&lt;br /&gt;
* Izveidot kontrolieri, kas balstīts uz vienu vai vairākiem galīgiem stāvokļu automātiem.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulātoru Xilinx ISim.&lt;br /&gt;
&lt;br /&gt;
===== Iesniegt =====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* PDF dokumentu kurā ir gan iekārtas shēma, gan arī simulācijas rezultāti un īss pieredzes apraksts.&lt;br /&gt;
* Iekārtas un testēšanas Verilog pirmkoda failus.&lt;br /&gt;
&lt;br /&gt;
===PD_VGA===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Šaha laukums&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* iepazīties ar VGA signālu protokolu&lt;br /&gt;
* izpildīt iekartas dizainu Verilog valodā&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot iekārtu, kas uz monitora ekrāna attēlo 8x8 šaha lauciņu. &lt;br /&gt;
Darba gaita iepazīties ar video signāla formu un laika parametriem. &lt;br /&gt;
Darbu atļauts izpildīt daļēji vai pilnīgi Verilog valodā. &lt;br /&gt;
&lt;br /&gt;
Praktiskajā darbā izstrādātā iekārta jādemonstrē uz Spartan 3E FPGA iekārtas, kam pieslēgts monitors.&lt;br /&gt;
&lt;br /&gt;
Izstrādātā risinājuma pirmkoda faili jāarhivē failā vards_uzvards_PD2.zip un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
===PD_Kbd===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Klaviatūra un Ciparu izvads&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* iepazīties ar PS/2 (klaviatūras) protokolu&lt;br /&gt;
* Izstrādāt stāvokļu mašīnu - galīgo automātu kalkulatora darbībai&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot digitālu iekārtu, kas darbojas kā kalkulators ar skaitļiem heksadecimālajā sistēmā un var izpildīt saskaitīšanas un atņemšanas operācijas.&lt;br /&gt;
&lt;br /&gt;
Skaitļu ievads ir no klaviatūras, kas pieslēdta ar PS/2 portu.&lt;br /&gt;
&lt;br /&gt;
Skaitļu izvads ir uz LCD ekrāna.&lt;br /&gt;
&lt;br /&gt;
Izstrādātā risinājuma pirmkoda faili jāarhivē failā vards_uzvards_PD3.zip un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
= MD =&lt;br /&gt;
Mājas darbi.&lt;br /&gt;
&lt;br /&gt;
===MD1===&lt;br /&gt;
&lt;br /&gt;
Novērtēt Spartan 3E attīstītājrīka un FPGA iespējas. Atbildēt uz jautājumu: vai iespējams uz Spartan 3E realizēt datoru, kas varētu darbināt Linux klases operētājsistēmu? Atbildi &amp;#039;&amp;#039;&amp;#039;pamatot&amp;#039;&amp;#039;&amp;#039;, izvērtējot &amp;#039;&amp;#039;&amp;#039;nepieciešamos un atbilstošos pieejamos resursus&amp;#039;&amp;#039;&amp;#039; gan FPGA, gan perifērijas iekārtu kontekstā.&lt;br /&gt;
&lt;br /&gt;
Atbilde noformējama kā eseja PDF failā vards_uzvards_MD1.pdf un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
===MD2===&lt;br /&gt;
&lt;br /&gt;
Aprakstīt ideju kursā realizējamam projektam, ko izstrādāsiet uz FPGA iekārtas.&lt;br /&gt;
Iekļaut sekojošas sadaļas:&lt;br /&gt;
* Vai tas ir individuāls vai komandas darbs. Ja komandas, tad pievienot dalībnieku sarakstu un to lomu projektā&lt;br /&gt;
* Mērķis un motivācija&lt;br /&gt;
* Nepieciešamie resursi&lt;br /&gt;
* Risinājuma apraksts&lt;br /&gt;
* Realizācijas plāns ar konkrētiem datumiem un starpmērķiem, kas tajos sasniedzami&lt;br /&gt;
&lt;br /&gt;
Atbilde noformējama kā dokuments PDF failā vards_uzvards_MD2.pdf un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MD_OpenGL===&lt;br /&gt;
&lt;br /&gt;
Uzzīmēt un aprakstīt video kontroliera shēmu, kas atbalsta minimālu OpenGL vai līdzīgu instrukciju kopu.&lt;br /&gt;
Instrukcijas tiek nodotas no datora pa seriālo portu. Instrukcijas jāatkodē un jāizpilda, izmainot lokālu video buferi. No bufera attēls jāizvada uz  iebūvēto VGA portu attēla izvadei.&lt;br /&gt;
&lt;br /&gt;
Atbilde noformējama kā dokuments PDF failā vards_uzvards_MDx.pdf un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
===MD_ALU===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Aritmētiski loģiskā ierīce (ALU)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* Izpētīt ISA un izstrādāt specifikāciju atbilstošam procesora ALU&lt;br /&gt;
* ALU izstrāde&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt ALU kas atbilst RISCV R32I instrukciju kopai &lt;br /&gt;
* ALU nepieciešams nodrošināt sekojošu saskarni:&lt;br /&gt;
** A un B ir datu ievadda maģistrāles, 32 biti, vai ideāli, parametrizējamas.&lt;br /&gt;
** OUT ir rezultāts, arī datu maģistrāle&lt;br /&gt;
** OPCODE - ievads, ALU operācijas kods&lt;br /&gt;
** karodziņi, kas indicē:&lt;br /&gt;
*** V - Overflow&lt;br /&gt;
*** Z - Zero&lt;br /&gt;
*** N - Negative&lt;br /&gt;
*** C - Carry&lt;br /&gt;
* Demonstrēt iekārtas darbību vairākām instrukcijām, ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISCV reference card] - instrukciju tipi, kopsavilkums&lt;br /&gt;
* [https://inst.eecs.berkeley.edu/~cs61c/fa17/img/riscvcard.pdf RISCV Reference sheet] - instrukciju saraksts&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISCV specifikācijas protāls un dokumenti]&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda fails ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_v0===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt instrukciju dekoderi un aritmētisko instrukciju datu plūsmu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt instrukciju dekoderi pēc RISC V R32I ISA Green card.&lt;br /&gt;
* Izstrādāt vienkāršu kontrolieri, kas tulko instrukciju operāciju kodus uz ALU operāciju kodiem, un reģistru faila WE (Write Enable) signālu.&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vienkāršas instrukcijas pa vienai.&lt;br /&gt;
&lt;br /&gt;
CPU prototipam (v0) jāsavieno reģistru fails, ALU un instrukciju dekoderis un operāciju kodu kontrolieris tā, lai būtu iespējams ieejā dot vienas instrukcijas 32 bitu kodu, un tā tiktu izpildīta, un rezultāts ierakstīts attiecīgajā reģistrā pēc CLK takts signāla augošās frontes.&lt;br /&gt;
&lt;br /&gt;
* Demonstrēt iekārtas darbību vairākām instrukcijām, ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* RISC V dokumentācija&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_IC===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips ar instrukciju kešatmiņu&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt instrukciju kešatmiņu un RISC V asemblera kompilāciju.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt instrukciju kešatmiņu, instrukciju reģistru, PC reģistru.&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vienkāršas instrukcijas no instrukciju atmiņas. Katrs takts signāls CLK ielasa un izpilda nākamo instrukciju.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu instrukciju testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Instrukciju kešatmiņas modulim ielasīt kompilētu programmu (no teksta faila), Verilog kompilācijas solī.&lt;br /&gt;
&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISC V dokumentācija]&lt;br /&gt;
* [https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md RISC V Assembly manual]&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISC V Green card]&lt;br /&gt;
* [https://riscvasm.lucasteske.dev/# RiscV kompilators online]&lt;br /&gt;
&lt;br /&gt;
GNU asemblera kompilators RISC V arhitektūrai ir pieejams kā riscv64-linux-gnu-as.&lt;br /&gt;
Ar to ir iespējams kompilēt kodu 32 bitu arhitektūrai RV32i norādot attiecīgu arhitektūras parametru:&lt;br /&gt;
 riscv64-linux-gnu-as -march=rv32e -al test.s&lt;br /&gt;
&lt;br /&gt;
Tad kompilēto kodu iespējams dabūt no listinga (to apstrādājot), vai arī no kompilētā elf faila ar objdump.&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog un citi saistītie pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* Testa programma asemblerā&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_DC===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips ar datu kešatmiņu&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt datu kešatmiņu un saskarni ar operatīvo atmiņu.&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt datu kešatmiņu.&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vienkāršas instrukcijas ar atmiņu, piemēram Load un Store.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu instrukciju testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISC V dokumentācija]&lt;br /&gt;
* [https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md RISC V Assembly manual]&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISC V Green card]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_Branch===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips ar Branch un Jump-and-link instrukciju realizāciju&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt Branch un Jump-and-link instrukciju darbības un dizaina principus.&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt Branch instrukcijas saskaņā ar RISC V instrukciju kopu&lt;br /&gt;
** BEQ, BNE, BLT, BGE, BLTU, BGEU.&lt;br /&gt;
* Izstrādāt Jump-and-link instrukcijas saskaņā ar RISC V instrukciju kopu&lt;br /&gt;
** JAL, JALR&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vadības kontroles instrukcijas.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu instrukciju testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISC V dokumentācija]&lt;br /&gt;
* [https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md RISC V Assembly manual]&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISC V Green card]&lt;br /&gt;
* [https://github.com/jameslzhu/riscv-card/blob/master/riscv-card.pdf RISC V unofficial Reference card]&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_GPIO===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Universāls perifērijas datu ievads un izvads (GPIO) &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt datu apmaiņas principus starp mikroprocesoru un perifērijas iekārtām.&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt moduļus pikrokontroliera ārējai iekārtai GPIO, kas spēj nodot un lasīt datus rakstot īpašā adresē.&lt;br /&gt;
** Ieslēgt un izslēgt 8 LED, kas kartēti uz vienu baitu atmiņā. Katram LED atbilst savs bits baitā.&lt;br /&gt;
** Nolasīt 8 slēdžu (Switch) stāvokļus lasot vienu baitu pēc konkrētas atmiņas adreses. Katram slēdzim atbilst savs bits baitā.&lt;br /&gt;
** Realizēt GPIO iekārtas saskarni caur baitu konkrētā adresē operatīvajā atmiņā. Saskarni realizēt ar diviem reģistriem: Datu virziena reģistru un Datu reģistru.&lt;br /&gt;
&lt;br /&gt;
* Dizainu organizēt tā, lai izveidotie GPIO moduļi var tikt pielietoti arī citām perifērijas iekārtām:&lt;br /&gt;
** Konfigurējot piekļuvi ārējām iekārtām caur UCF failu&lt;br /&gt;
** Integrējot citus iekšējos moduļus kas izstrādāti Verilog vai shēmtehnikā.&lt;br /&gt;
&lt;br /&gt;
* Integrēt GPIO jūsu CPU projektā.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu GPIO testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar aparatūru.&lt;br /&gt;
&lt;br /&gt;
Piemēram var apskatīt GPIO organizāciju dažādu mikrokontrolieru dokumentācijā, piemēram Atmega328p.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf Atmega328p mikrokontroliera dokumentācija]&lt;br /&gt;
* [https://github.com/elomage/FPGA-resources/blob/main/ucf_templates/Anvyl.ucf UCF faila piemērs ANVYL attīstītājrīkam]&lt;br /&gt;
* [https://en.wikipedia.org/wiki/General-purpose_input/output General purpose input/output] - Wikipedia&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
= Informācijas resursi =&lt;br /&gt;
&lt;br /&gt;
{{DIP_saites}}&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=Template:DIP_saites&amp;diff=11205</id>
		<title>Template:DIP saites</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=Template:DIP_saites&amp;diff=11205"/>
		<updated>2026-02-19T10:28:59Z</updated>

		<summary type="html">&lt;p&gt;Leo: /* Simulācija ar ISim */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Termini =&lt;br /&gt;
&lt;br /&gt;
* IC - Integrated Circuit - mikroshēma.&lt;br /&gt;
* FPGA - Field Programmable Gate Array - Konfigurējams loģisko un citu elementu čips, &amp;quot;lego&amp;quot; kluči digitālai elektronikai.&lt;br /&gt;
* EDA - Dizaina plūsma: Electronic Design Automation [https://en.wikipedia.org/wiki/Design_flow_(EDA) (wikipedia)]&lt;br /&gt;
* RTL - [https://en.wikipedia.org/wiki/Register-transfer_level Register-Transfer Level] - dizaina abstrakcija, kurā dati plūst starp reģistriem.&lt;br /&gt;
* [https://en.wikipedia.org/wiki/GDSII GDSII] - Binārs datubāzes falia formāts IC dizaina apmaiņai industrijā.&lt;br /&gt;
&lt;br /&gt;
= Resursi =&lt;br /&gt;
&lt;br /&gt;
* [http://books.google.lv/books?id=1lD9LZRcIZ8C&amp;amp;printsec=frontcover&amp;amp;source=gbs_navlinks_s#v=onepage&amp;amp;q=&amp;amp;f=false Computer organization and design: the hardware/software interface]&lt;br /&gt;
** [http://owlhouse.csie.nctu.edu.tw/old/CO2004/ch1-4_old.ppt Computer Organization &amp;amp; Design The Hardware/Software Interface, 2nd Edition] PPT 5.89MB (lekciju slaidi no National Chiao Tung University)&lt;br /&gt;
** [http://owlhouse.csie.nctu.edu.tw/old/CO2004/CO2004_lecture_notes.ppt Computer Organization &amp;amp; Design The Hardware/Software Interface, 3nd Edition] PPT 1.86MB (lekciju slaidi no National Chiao Tung University)&lt;br /&gt;
&lt;br /&gt;
* [http://books.google.lv/books?id=57UIPoLt3tkC&amp;amp;printsec=frontcover&amp;amp;source=gbs_v2_summary_r&amp;amp;cad=0#v=onepage&amp;amp;q=&amp;amp;f=false Computer architecture: a quantitative approach]&lt;br /&gt;
&lt;br /&gt;
* [http://books.google.lv/books?id=3aN89DhGwI4C&amp;amp;printsec=frontcover&amp;amp;source=gbs_v2_summary_r&amp;amp;cad=0#v=onepage&amp;amp;q=&amp;amp;f=false The designer&amp;#039;s guide to VHDL]&lt;br /&gt;
&lt;br /&gt;
* [http://www.synopsys.com/Systems/FPGABasedPrototyping/FPMM/Pages/default.aspx FPGA-Based Prototyping Methodology Manual]: Best practices in Design-for-Prototyping (FPMM) is a comprehensive and practical guide to using FPGAs as a platform for SoC development and verification.&lt;br /&gt;
&lt;br /&gt;
* [http://www.youtube.com/watch?v=Er9luiBa32k FPGA 101 - Making awesome stuff with FPGAs]: Karsten Becker @ 30th Chaos Communication Congress [30c3] by the Chaos Computer Club&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Digital design textbooks @ Digilent Inc.===&lt;br /&gt;
&lt;br /&gt;
* [https://reference.digilentinc.com/_media/textbooks/intro_to_digital_design-digilent-verilog_online.pdf Introduction to Digital Design - Verilog Edition] (PDF)&lt;br /&gt;
* [https://reference.digilentinc.com/_media/textbooks/intro_digital_design-digilent-vhdl_online.pdf Introduction to Digital Design - VHDL Edition] (PDF)&lt;br /&gt;
&lt;br /&gt;
* Real Digital - A hands-on approach to digital design&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M1/RealDigital_Module_1.pdf Module 1: Introduction to Electronic Circuits] PDF 465.54KB&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M2/RealDigital_Module_2.pdf Module 2: Introduction to Digilent&amp;#039;s Digital Design Circuit Boards] PDF 65.94KB&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M3/RealDigital_Module_3.pdf Module 3: Circuit Structure with an Introduction to CAD Tools] PDF 247.60KB&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M4/RealDigital_Module_4.pdf Module 4: Logic Minimization] PDF 353.07KB&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M5/RealDigital_Module_5.pdf Module 5: Introduction to VHDL] PDF 197.37KB&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M6/RealDigital_Module_6.pdf Module 6: Combinational Circuit Blocks] PDF 244.46KB&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M7/RealDigital_Module_7.pdf Module 7: Combinational Arithmetic Circuits] PDF 361.00KB&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M8/RealDigital_Module_8.pdf Module 8: Signal Propagation Delays] PDF 126.77KB&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M9/RealDigital_Module_9.pdf Module 9: Basic Memory Circuits] PDF 232.41KB&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M10/RealDigital_Module_10.pdf Module 10: The Structural Design of Sequential Circuits] PDF 245.58KB&lt;br /&gt;
&lt;br /&gt;
= Saites =&lt;br /&gt;
&lt;br /&gt;
=== Xilinx produkti (FPGA čipi) ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.xilinx.com Xilinx kompānijas (FPGA ražotājs) portāls]&lt;br /&gt;
&amp;lt;!-- * [http://www.xilinx.com/support/documentation/data_sheets/ds312.pdf Spartan 3E FPGA Family datasheet] --&amp;gt;&lt;br /&gt;
* [https://datasheetspdf.com/pdf-file/1409860/Xilinx/XC3S500E/1 Spartan 3E FPGA Family datasheet]&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/data_sheets/ds160.pdf Spartan-6 FPGA Family datasheet]&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/application_notes/xapp462.pdf Using Digital Clock Managers (DCMs) in Spartan-3 FPGAs]&lt;br /&gt;
&lt;br /&gt;
=== Xilinx attīstītajrīki ===&lt;br /&gt;
&lt;br /&gt;
DiLab ir pieejami sekojoši Xilinx (Digilent) attīstītajrīki:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[https://reference.digilentinc.com/reference/programmable-logic/anvyl/start ANVYL]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Anvyl Reference Manual: [https://reference.digilentinc.com/_media/reference/programmable-logic/anvyl/anvyl_rm.pdf (PDF)] [https://digilent.com/reference/programmable-logic/anvyl/reference-manual (Website)]&lt;br /&gt;
** [[ANVYL programmēšana]] - Pamācība, kā uzlādēt dizainu uz Anvyl dēļa&lt;br /&gt;
** [https://github.com/elomage/FPGA-resources/tree/main/ucf_templates UCF file templates].&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[http://www.pynq.io/ PYNQ]&amp;#039;&amp;#039;&amp;#039; [https://reference.digilentinc.com/reference/programmable-logic/pynq-z1/start -Z1]&lt;br /&gt;
** [https://www.digikey.com/en/articles/techzone/2019/apr/build-and-program-fpga-based-designs-quickly-python-jupyter-notebooks Build and Program FPGA-Based Designs Quickly with Python and Jupyter Notebooks] - with Zynq (PYNQ)&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[https://reference.digilentinc.com/reference/programmable-logic/spartan-3e/start Spartan-3E]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** [http://www.xilinx.com/support/documentation/boards_and_kits/ug230.pdf Xilinx Spartan-3E FPGA Starter Kit Board User Guide] PDF 7.34MB&lt;br /&gt;
** [http://www.xilinx.com/support/documentation/sw_manuals/xilinx12_2/spartan3e_scm.pdf Spartan-3E Libraries Guide for Schematic Designs] PDF 9.19MB&lt;br /&gt;
** [http://www.xilinx.com/support/documentation/sw_manuals/xilinx12_2/spartan3e_hdl.pdf Spartan-3E Libraries Guide for HDL Designs] PDF 3.94MB&lt;br /&gt;
** [https://github.com/elomage/FPGA-resources/tree/main/ucf_templates UCF file templates].&lt;br /&gt;
&lt;br /&gt;
* [http://www.xilinx.com/products/boards/s3e1600e/reference_designs.htm Spartan-1600e]&lt;br /&gt;
&lt;br /&gt;
* [https://reference.digilentinc.com/reference/programmable-logic/virtex-ii-pro/start XUP V2P], no [http://www.xilinx.com/univ/xupv2p.html Xilinx University Program]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== PMOD papildus moduļi ====&lt;br /&gt;
Mums ir pieejami dažādi [https://reference.digilentinc.com/reference/pmod/start PMOD perifērijas iekārtu moduļi] (pārsvarā 1x6 formātā) par kuriem sīkāk var lasīt [https://store.digilentinc.com/pmod-expansion-modules/by-form-factor/1x6/ Digilentic portālā].&lt;br /&gt;
* ADC modulis [https://store.digilentinc.com/pmod-ad1-two-12-bit-a-d-inputs/ PmodAD1 PB200064]&lt;br /&gt;
* DAC modulis: [https://store.digilentinc.com/pmod-da2-two-12-bit-d-a-outputs/ PmodDA2 PB200-113]&lt;br /&gt;
* 3.5mm konektori ar pastiprinātāju: [https://store.digilentinc.com/pmodamp1-speaker-headphone-amplifier-retired/ PmodAmp1]&lt;br /&gt;
* RCA konektori: [https://store.digilentinc.com/pmod-con4-rca-audio-jacks/ Pmod CON4] (CON1 RevB)&lt;br /&gt;
* BNC konektori: [https://store.digilentinc.com/pmodcon2-bnc-connectors-retired/ Pmod CON2 PB200066]&lt;br /&gt;
* 7-segmentu LED x 2: [https://store.digilentinc.com/pmod-ssd-seven-segment-display/ PmodSSD]&lt;br /&gt;
* [https://store.digilentinc.com/pmod-led-four-high-brightness-leds/ Pmod LED x 4: PB200076]&lt;br /&gt;
* Komutācijas modulis [https://store.digilentinc.com/pmod-tph-6-pin-test-point-header/ PTPH PB200-001]&lt;br /&gt;
* Seriālā zibatmiņa: [https://store.digilentinc.com/pmodsf-external-rom-2mb-serial-flash-memory/ PmodSF]&lt;br /&gt;
* Video signālu dekodera modulis [https://store.digilentinc.com/vdec1-video-decoder-board-retired/ VDEC1]&lt;br /&gt;
* [https://store.digilentinc.com/pmod-cable-kit-6-pin/ Pmod kabelis 6x1]&lt;br /&gt;
* Skaļrunis ar 3.5mm konektoru: [https://store.digilentinc.com/speaker/ SPEAKER]&lt;br /&gt;
&lt;br /&gt;
* Konektors vadiem [https://reference.digilentinc.com/reference/pmod/pmodcon1/start PmodCON1]&lt;br /&gt;
* Rotējošais enkoderis [https://reference.digilentinc.com/reference/pmod/pmodenc/start PmodENC]&lt;br /&gt;
* USB saskarne [https://reference.digilentinc.com/reference/pmod/pmodusbuart/start PmodUSBUART]&lt;br /&gt;
* Ultraskaņas distances mērītājs [https://reference.digilentinc.com/reference/pmod/pmodmaxsonar/start PmodMAXSONAR]&lt;br /&gt;
* Audio DAC SPI [https://reference.digilentinc.com/reference/pmod/pmodmic3/start PmodMIC3]&lt;br /&gt;
&lt;br /&gt;
=== Xilinx ISE instalācija ===&lt;br /&gt;
==== Xilinx ISE WebPACK (14.7) ====&lt;br /&gt;
&lt;br /&gt;
* [[ISE 14.7 instalācija]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==== Xilinx ISE WebPACK (12.2) ====&lt;br /&gt;
&lt;br /&gt;
* [https://secure.xilinx.com/webreg/register.do?group=dlc&amp;amp;htmlfile=&amp;amp;emailFile=&amp;amp;cancellink=&amp;amp;eFrom=&amp;amp;eSubject=&amp;amp;version=12.2&amp;amp;akdm=1&amp;amp;filename=Xilinx_ISE_DS_Lin_12.2_M.63c.1.1.tar Installer for Linux] TAR/GZ 3.02GB (nepieciešams reģistrēties www.xilinx.com)&lt;br /&gt;
&lt;br /&gt;
* [https://secure.xilinx.com/webreg/register.do?group=dlc&amp;amp;htmlfile=&amp;amp;emailFile=&amp;amp;cancellink=&amp;amp;eFrom=&amp;amp;eSubject=&amp;amp;version=12.2&amp;amp;akdm=1&amp;amp;filename=Xilinx_ISE_DS_Win_12.2_M.63c.1.1.tar Installer for Windows] TAR/GZ 2.96GB (nepieciešams reģistrēties www.xilinx.com)&lt;br /&gt;
&lt;br /&gt;
* [http://www.xilinx.com/support/documentation/sw_manuals/xilinx12_2/irn.pdf ISE Design Suite 12: Installation, Licensing, and Release Notes] PDF 1.44MB&lt;br /&gt;
&lt;br /&gt;
* [http://ubuntuforums.org/showthread.php?t=1547435 Xilinx ISE WebPACK 12.2 on Ubuntu 10.04 LTS]&lt;br /&gt;
&lt;br /&gt;
* [http://rmdir.de/~michael/xilinx/ Xilinx JTAG tools on Linux without proprietary kernel modules]&lt;br /&gt;
&lt;br /&gt;
* [http://www.xilinx.com/support/documentation/sw_manuals/xilinx12_2/ise_tutorial_ug695.pdf ISE In-Depth Tutorial] (ver.12.2) PDF 5.04MB&lt;br /&gt;
* [http://www.xilinx.com/support/documentation/sw_manuals/xilinx12_2/plugin_ism.pdf ISim User Guide] (ver.12.2) PDF 1.96MB&lt;br /&gt;
&lt;br /&gt;
&amp;lt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Xilinx ISE lietošana ===&lt;br /&gt;
* [https://github.com/elomage/FPGA-resources/tree/main/ucf_templates UCF failu šabloni] FPGA platformām.&lt;br /&gt;
&lt;br /&gt;
==== Vispārīga lietošana ====&lt;br /&gt;
* [http://www.xilinx.com/support/documentation/sw_manuals/xilinx14_7/ise_tutorial_ug695.pdf ISE In-Depth Tutorial] (ver.14.7) PDF&lt;br /&gt;
* [https://www.xilinx.com/support/documentation-navigation/development-tools/hardware-development/ISE-design-suite.html?preSelect=documenttype:SeeAll#documentation Xilinx ISE dokumentācija] - dažādi dokumenti&lt;br /&gt;
&lt;br /&gt;
==== Simulācija ar ISim ====&lt;br /&gt;
&lt;br /&gt;
* [https://www.youtube.com/watch?v=9iQfqhUfAcE Kā lietot iSim] (video, Leo Seļāvo)&lt;br /&gt;
* [http://www.xilinx.com/support/documentation/sw_manuals/xilinx14_7/plugin_ism.pdf ISim User Guide] (ver.14.7) PDF 1.96MB&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/sw_manuals/xilinx14_7/ug682.pdf ISim in-depth Tutorial] PDF&lt;br /&gt;
&amp;lt;!-- * [https://youtu.be/hPYsQE0-1kQ Simulācija ar ISim] - pamācības video, Colin O&amp;#039;Flynn. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Simulācija ar ModelSim ====&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/sw_manuals/xilinx14_7/ise_tutorial_ug695.pdf Xilinx ISE In-Depth Tutorial] - PDF&lt;br /&gt;
* [https://www.cis.upenn.edu/~milom/cis371-Spring13/lab/simulation/ Pamācība no Pensilvānijas Universitātes]&lt;br /&gt;
* [https://youtu.be/DgRrATFd3jc How to do a Timing Simulation using Modelsim and Xilinx ISE] - video pamācība&lt;br /&gt;
&lt;br /&gt;
=== Video applications using FPGA ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.stevechamberlin.com/cpu/2009/06/21/fpga-pong/ FPGA Pong] by Steve Chamberlin&lt;br /&gt;
* [http://www.fpga4fun.com/PongGame.html Pong Game] by Jean P. Nicolle&lt;br /&gt;
&lt;br /&gt;
== ANVYL attīstītājrīks ==&lt;br /&gt;
[https://store.digilentinc.com/anvyl-spartan-6-fpga-trainer-board/ ANVYL]&lt;br /&gt;
ir Xilinx Spartan 6G FPGA bāzēts attīstītājrīks ar dažādām papildus un perifērijas iekārtām.&lt;br /&gt;
&lt;br /&gt;
* [[ANVYL programmēšana]] - kā uzlādēt dizainu uz Anvyl dēļa&lt;br /&gt;
* [https://youtu.be/9iQfqhUfAcE Video ar Anvyl programmēšanas piemēru]&lt;br /&gt;
&lt;br /&gt;
== PYNQ ietvars ==&lt;br /&gt;
[http://www.pynq.io/ PYNQ] ir ietvars kas iespējo FPGA aparatūras funkciju izmantošanu ar Python programmēšanas valodu. &lt;br /&gt;
Atbalstītā aparatūra iekļauj [https://store.digilentinc.com/fpga-programmable-logic/by-technology/zynq/ ZYNQ].&lt;br /&gt;
&lt;br /&gt;
PYNQ informācijas avoti:&lt;br /&gt;
* [https://pynq.readthedocs.io/en/latest/getting_started.html getting Started with PYNQ]&lt;br /&gt;
* [https://github.com/Xilinx/PYNQ_Workshop PYNQ Tutorial]&lt;br /&gt;
* [http://pynq.readthedocs.io/ PYNQ documentation]&lt;br /&gt;
* [http://www.pynq.io/board.html Atbalstītā aparatūra]&lt;br /&gt;
&lt;br /&gt;
PYNQ projekti&lt;br /&gt;
* [http://www.pynq.io/examples Projektu piemēri]&lt;br /&gt;
* [https://github.com/drichmond/RISC-V-On-PYNQ RISC-V on PYNQ]&lt;br /&gt;
&lt;br /&gt;
PYNK un PMOD&lt;br /&gt;
* [https://pynq.readthedocs.io/en/v2.0/pynq_libraries/pmod.html Par PMOD un PYNQ]&lt;br /&gt;
&lt;br /&gt;
== HDL pamācības (Verilog, VHDL) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- (unavailable) * [http://www.eecs.harvard.edu/cs141/resources/verilog-tutorial.pdf Verilog Tutorial I (10 pages)] PDF 69.58KB --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Verilog Tutorials&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** [https://users.ece.cmu.edu/~jhoe/course/ece447/S09handouts/LV.pdf handout] by Peter  Milder (15 pages).&lt;br /&gt;
** [http://www.ece.umd.edu/class/enee359a.S2008/verilog_tutorial.pdf by asic-world] (227 pages) PDF 876.25KB&lt;br /&gt;
** [http://www.asic-world.com/verilog/veritut.html by asic-world, online version]&lt;br /&gt;
** [https://www.nandland.com/verilog/tutorials/tutorial-introduction-to-verilog-for-beginners.html by NANDLand.com]&lt;br /&gt;
** [https://www.asic-world.com/tidbits/verilog_fsm.html FSM pamācība] no asic-world.com&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;VHDL Tutorials&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** [http://www.gmvhdl.com/VHDL.html VHDL Tutorial I (15 pages)]&lt;br /&gt;
** [http://lslwww.epfl.ch/pages/teaching/cours_lsl/sl_info/vhdl-tutorial.pdf VHDL Tutorial II (84 pages)] PDF 391.95KB&lt;br /&gt;
&lt;br /&gt;
* Debouncing&lt;br /&gt;
** [https://www.fpga4student.com/2017/04/simple-debouncing-verilog-code-for.html Verilog code for debouncing buttons on FPGA]&lt;br /&gt;
&lt;br /&gt;
== RISC-V ==&lt;br /&gt;
&lt;br /&gt;
* [https://riscv.org/technical/specifications/ Specifications]&lt;br /&gt;
* [https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md Getting started] - Assembly manual&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf Green card]&lt;br /&gt;
* [https://five-embeddev.com/riscv-isa-manual/latest/instr-table.html RISC-V Instruction Set Manual] from five-embeddev.com&lt;br /&gt;
* [https://www.cs.cornell.edu/courses/cs3410/2019sp/riscv/interpreter/ RISC-V Interpretators online]&lt;br /&gt;
* [https://riscvasm.lucasteske.dev/# RISC-V Online Assembler]&lt;br /&gt;
&lt;br /&gt;
== Seriālie protokoli ==&lt;br /&gt;
&lt;br /&gt;
* Asinhroni seriālais ports, RS232 un tml.&lt;br /&gt;
** [https://www.best-microcontroller-projects.com/how-rs232-works.html How RS232 works]&lt;br /&gt;
&lt;br /&gt;
* SPI protokols&lt;br /&gt;
** [https://learn.sparkfun.com/tutorials/serial-peripheral-interface-spi/all SPI tutorial] at Sparkfun &lt;br /&gt;
&lt;br /&gt;
* I2C un 2-wire protokols&lt;br /&gt;
** [http://www.circuitbasics.com/basics-of-the-i2c-communication-protocol/ I2C communication protocol] at Circuit basics&lt;br /&gt;
** [https://learn.sparkfun.com/tutorials/i2c/all I2C Tutorial] at Sparkfun&lt;br /&gt;
&lt;br /&gt;
* One-wire protokols&lt;br /&gt;
** [https://www.rfwireless-world.com/Tutorials/1-wire-protocol-basics.html 1-wire protocol basics] at rfwireless-world.com&lt;br /&gt;
** [https://www.maximintegrated.com/en/design/technical-documents/tutorials/1/1796.html Guide to 1-wire devices] at Maxim-IC&lt;br /&gt;
&lt;br /&gt;
* USB&lt;br /&gt;
** [https://www.cypress.com/file/134171/download Specifikācija] - Infineon / Cypress.&lt;br /&gt;
&lt;br /&gt;
== IP cores priekš FPGA ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.latticesemi.com/products/intellectualproperty/ipcores/mico32/index.cfm LatticeMicro 32] soft-procesors&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ieteikumi prezentāciju veidošanā ==&lt;br /&gt;
[http://andromeda.df.lu.lv/wiki/index.php/LU::poster-howto Piezīmes par plakātu un prezentāciju veidošanu]&lt;br /&gt;
&lt;br /&gt;
== Citi kursi un saites ==&lt;br /&gt;
* [http://www.ecs.umass.edu/ece/koren/architecture/ Computer architecture education tools] at UMass&lt;br /&gt;
&lt;br /&gt;
* [https://8bitworkshop.com/ 8 Bit Workshop] - aparatūras simulators pārlūkā, tai skaitā Verilog.&lt;br /&gt;
&lt;br /&gt;
* [https://www.circuitlab.com/ Circuitlab.com] - vienkāršu shēmu testēšana interneta pārlūkā &lt;br /&gt;
&lt;br /&gt;
* [http://www.falstad.com/circuit/ Falstad shēmu simulators]&lt;br /&gt;
&lt;br /&gt;
* [http://www.fpga4fun.com/index.html FPGA 4 fun!] - FPGA informācija un projekti iesācējiem un ne tikai.&lt;br /&gt;
* [http://tams-www.informatik.uni-hamburg.de/applets/hades/webdemos/toc.html Hades demonstration applets]&lt;br /&gt;
&lt;br /&gt;
* [http://www.cpushack.com/ CPU Shack]&lt;br /&gt;
* [http://danluu.com/why-hardware-development-is-hard/ Why hardware development is hard] by Dan Luu&lt;br /&gt;
&lt;br /&gt;
* [http://bit.ly/1dUqEiP How a CPU is made] (video)&lt;br /&gt;
* [http://bit.ly/1a2Ura8 FPGA 101 - Making awesome stuff with FPGAs] - FPGA 101 lekcija &amp;quot;30th Chaos Communication Congress (30c3) by the Chaos Computer Club (CCC)&amp;quot; konferencē.&lt;br /&gt;
&lt;br /&gt;
* Intel: The Making of a Chip with 22nm/3D Transistors [https://www.youtube.com/watch?v=d9SWNLZvA8g (video)]&lt;br /&gt;
* [http://www.righto.com/2014/10/how-z80s-registers-are-implemented-down.html Down to the silicon: how the Z80&amp;#039;s registers are implemented]&lt;br /&gt;
&lt;br /&gt;
* [http://electronics.stackexchange.com/questions/7042/how-much-does-it-cost-to-have-a-custom-asic-made How much does it cost to have a custom ASIC made?]&lt;br /&gt;
&lt;br /&gt;
* [http://courses.csail.mit.edu/6.111/f2008/ MIT Introductory Digital Systems Lab] (2008.g. MIT kurss)&lt;br /&gt;
&lt;br /&gt;
* [http://www.pldworld.com/_xilinx/html/tip/sixeasypieces.htm Six Easy Pieces (Non-Synchronous Circuit Tricks)]&lt;br /&gt;
&lt;br /&gt;
* [https://www.sigenics.com/page/asic-cost-calculator ASIC izmaksu kalkulators] (Sigenics)&lt;br /&gt;
&lt;br /&gt;
* HotMobile 2017 - [https://youtu.be/hcexIcdd1Pw Separated by Birth: Hidden Differences Between Seemingly-Identical Smartphone CPU&amp;#039;s]&lt;br /&gt;
&lt;br /&gt;
== Domu graudi ==&lt;br /&gt;
&lt;br /&gt;
* [http://stackoverflow.com/questions/11227809/why-is-processing-a-sorted-array-faster-than-an-unsorted-array Why is processing a sorted array faster than an unsorted array? (Branch prediction)]&lt;br /&gt;
&lt;br /&gt;
* [https://www.acm.org/hennessy-patterson-turing-lecture 2017 ACM A.M. Turing Award recipients John Hennessy and David Patterson delivered the Turing Lecture on June 4 at ISCA 2018]&lt;br /&gt;
&lt;br /&gt;
* [https://youtu.be/TPbroUDHG0s Spēļu programmēšana 8 bitu arhitektūrā]&lt;br /&gt;
&lt;br /&gt;
* [https://youtu.be/V9xUQWo4vN0 Tranzistors] - 1953.gada dokumentālā filma&lt;br /&gt;
&lt;br /&gt;
== FPGA pielietojumi ==&lt;br /&gt;
* [http://www.wired.com/2014/06/microsoft-fpga/ Microsoft Supercharges Bing Search With Programmable Chips]&lt;br /&gt;
* [https://tang.sipeed.com/en/ Tang primer board] for RISC V&lt;br /&gt;
* [https://thedatabus.io/fpga-buying-guide FPGA buying guide]&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=LU-DIP-m&amp;diff=11204</id>
		<title>LU-DIP-m</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=LU-DIP-m&amp;diff=11204"/>
		<updated>2026-02-19T10:27:18Z</updated>

		<summary type="html">&lt;p&gt;Leo: /* 19.02.26 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Īsceļi:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[#Kalendārs | Kalendārs]] | &lt;br /&gt;
[[#Lekciju video | Video]] |&lt;br /&gt;
[[#PD | PD]] |&lt;br /&gt;
[[#MD | MD]] |&lt;br /&gt;
[[#Informācijas resursi | Resursi]] | &lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}}]] : &lt;br /&gt;
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}}]]&lt;br /&gt;
(ja ir lekcija)&lt;br /&gt;
&lt;br /&gt;
{{LUDFKurss|Digitālā projektēšana [M]|DIP|DatZ7034|2DAT7034|maģistru un doktorantu}}&lt;br /&gt;
&lt;br /&gt;
= Par kursu =&lt;br /&gt;
&lt;br /&gt;
Kursa mērķi ir iepazīstināt ar digitālo iekārtu projektēšanas aspektiem, darba plūsmu, problēmām un risinājumiem. Kursa ietvaros tiek apskatīti digitālu iekārtu un datoru arhitektūras pamata un arī sarežģītākas pakāpes elementi.&lt;br /&gt;
Kursā studenti izstrādā praktiskos darbus un kursa projektu, kura rezultāts ir digitāla iekarta, piemēram procesors, mini dators, grafikas kontrolieris, kalkulators, paralēlas attēlu apstrādes iekārta un citas iekārtas.&lt;br /&gt;
&lt;br /&gt;
=== Administratīvā informācija===&lt;br /&gt;
* Pasniedzējs: Leo Seļāvo &amp;#039;&amp;#039;(epasts: vards.uzvards @ gmail.com)&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Vērtējums = 40% mājas un praktiskie darbi, 10% dalība klasē, 20% KD1 un 30% KD2(eksāmens). --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{KursiMD|DIP|50%|10%}}&lt;br /&gt;
&lt;br /&gt;
=Kalendārs=&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4 style = &amp;#039;border-color: #ddd;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
! Datums&lt;br /&gt;
! Tēma, saturs&lt;br /&gt;
! Uzdevumi&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
==== 05.02.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievads kursā&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Digitālas iekārtas vispārējā arhitektūra un uzbūve.&lt;br /&gt;
Digitālā projektēšana, ievads, darba plūsma. Map, place, route. Laika anotācija - &amp;quot;&amp;quot;Timing back-annotation&amp;quot;&amp;quot;. Simulācija un testēšana dažādos līmeņos.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://youtu.be/sqyLYgVvtr0 Ievads (video)]&lt;br /&gt;
* [https://youtu.be/G6abrFbeazw Kas ir digitālas sistēmas (video)]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
[[#PD1 | PD1]] - LED un slēdžī&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 12.02.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Digitālo iekārtu pamatelementi&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://youtu.be/6340drM2Fm0 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Digitālo iekārtu pamatelementi, tranzistors, invertors, NAND un NOR elementi no tranzistoriem, to loģiskā uzbūve un īpašības.&lt;br /&gt;
Loģiskie elementi, minimālā kopa. Pāreja no loģiskajām izteiksmēm un tabulām uz realizāciju ar loģiskajiem elementiem. Kombinētie loģiskie elementi. Dešifrators, multipleksors, frekvences dalītājs un citi elementi.&lt;br /&gt;
Elementi ar atmiņu.  RS un D trigeri. &amp;quot;&amp;quot;Latch&amp;quot;&amp;quot; un &amp;quot;&amp;quot;D-Flip-flop&amp;quot;&amp;quot;. Reģistri un uz tiem bāzētas iekārtas. Bīdes reģistri. Skaitītāji. Uzstādīšanas un noturēšanas laiku ierobežojumi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;CMOS tehnoloģija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
MOS tranzistora uzbūve un pielietojumi loģisko iekārtu uzbūvē&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://youtu.be/knlFvRxpUuE MOS tranzistors kā pamatelements digitālajām iekārtām (video)]&lt;br /&gt;
* [https://youtu.be/I-l2bQ-C_VU Loģisko elementu uzbūve ar MOS tranzistoriem (video)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 19.02.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Aparatūru aprakstošas valodas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aparatūru aprakstošas valodas (HDL), Verilog. Valodas elementi simulācijai un sintēzei. Uzvedības un struktūras apraksts. Moduļi. Datu tipi, signāli un reģistri.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.ece.umd.edu/class/enee359a/verilog_tutorial.pdf Verilog tutorial] no UMD.&lt;br /&gt;
* [http://www.asic-world.com/verilog/veritut.html Verilog tutorial] no ASIC world.&lt;br /&gt;
* [https://uobdv.github.io/Design-Verification/Supplementary/Verilog.SLIDES.pdf Verilog lekcijas slaidi] no CMU.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots [[#PD_RF | PD_RF]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 26.02.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Instrukciju kopas arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [http://selavo.lv/kursi/dipm/dlx_handout.pdf Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Procesora instrukciju arhitektūra. Instrukciju tipi un kodēšana. Operandi. RISC un CISC arhitektūras. DLX procesora instrukciju arhitektūra. Salīdzinoši piemēri no ARM instrukciju kopas.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; [[#PD_RF | PD_RF]]&lt;br /&gt;
* Uzdots [[#MD_ALU | MD_ALU]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 05.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Risc V arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Vientakts procesora arhitektūra. Instrukciju dešifratora un skaitītāja reģistri. Reģistru fails. Aritmētiski loģiskā iekārta (ALU). Atmiņas saskarne. Instrukciju un datu kešatmiņa.&lt;br /&gt;
&lt;br /&gt;
RISC V procesora arhitektūra un instrukciju kopa.&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/eit5g6x4a7tqhla/riscv-20160507-patterson-160507071645.pdf?raw=1 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* RISC-V arhitektūras procesori un instrukciju kopa.&lt;br /&gt;
* Salīdzinošais ieskats ARM instrukciju kopā.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://riscv.org/ RISCV.org]&lt;br /&gt;
* [https://www.dropbox.com/s/8oy8yqd2bpff9rd/RISCVGreenCardv8-20151013.pdf?raw=1 RISC V Green Card]&lt;br /&gt;
* [https://five-embeddev.com/riscv-isa-manual/latest/instr-table.html RISC-V ISA Manual] - tabula ar instrukcijām un to kodiem.&lt;br /&gt;
&lt;br /&gt;
* [https://riscvasm.lucasteske.dev/# RISC-V Online Assembler]&lt;br /&gt;
* [https://www.cs.cornell.edu/courses/cs3410/2019sp/riscv/interpreter/# RISCV Interpreter] online at Cornell&lt;br /&gt;
&lt;br /&gt;
* [http://tice.sea.eseo.fr/riscv/ RISCV datapath vizualizācija]&lt;br /&gt;
&lt;br /&gt;
* [https://circuitdigest.com/article/understanding-risc-v-architecture-and-why-it-could-be-a-replacement-for-arm Risc V un ARM]&lt;br /&gt;
* [https://youtu.be/XMg0qzyMi14 Designing Open Processors at the Barcelona Supercomputing Center (video)]&lt;br /&gt;
&lt;br /&gt;
* Konferences:&lt;br /&gt;
** [https://www.dac.com/ DAC]&lt;br /&gt;
** [https://www.date-conference.com/ DATE]&lt;br /&gt;
** [https://dsd-seaa2021.unipv.it/index.html#call Euromicro DSD]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_ALU | MD_ALU]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_v0 | MD_CPU_v0]]&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 12.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Instrukciju atmiņa. RISC V Asemblers&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Instrukciju atmiņa, reģistrs, dekoderis. PC reģistrs.&lt;br /&gt;
&lt;br /&gt;
RISC V Asemblers. GNU rīki kompilācijai. Qemu simulators.&lt;br /&gt;
&lt;br /&gt;
* GNU asemblera kompilators RISC V arhitektūrai ir pieejams kā riscv64-linux-gnu-as. Ar to ir iespējams kompilēt kodu 32 bitu arhitektūrai RV32i norādot attiecīgu arhitektūras parametru:&lt;br /&gt;
 riscv64-linux-gnu-as -march=rv32e -al test.s&lt;br /&gt;
* Tad kompilēto kodu iespējams dabūt no listinga (to apstrādājot), vai arī no kompilētā elf faila ar objdump.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_v0 | MD_CPU_v0]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_IC | MD_CPU_IC]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 19.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Operatīvā atmiņa&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Operatīvā atmiņa, statiskā un dinamiskā. Atmiņas matricas un uzbūve. Kešatmiņas. Saskarnes starp atmiņu un citām iekārtām.&lt;br /&gt;
&lt;br /&gt;
Resursi:&lt;br /&gt;
* [http://ece-research.unm.edu/jimp/vlsi/slides/chap8_2.html Atmiņas uzbūve] no New Mexico Universitātes, VLSI kursa.&lt;br /&gt;
* [https://www.embedded.com/flash-101-nand-flash-vs-nor-flash/ NAND un NOR zibatmiņa] (embedded.com)&lt;br /&gt;
* [https://www.enterprisestorageforum.com/hardware/slc-vs-mlc-vs-tlc-nand-flash/ SLV, MLC, TLC Flash memory] (Enterprise storage forum)&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_IC | MD_CPU_IC]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_DC | MD_CPU_DC]]&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 26.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Vadības kontrole&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Branch instrukcijas. Jump-and-link instrukcijas. &lt;br /&gt;
To realizācija vientakts procesorā. &lt;br /&gt;
Branch prediction. Heristikas vadības kontroles optimizācijai.&lt;br /&gt;
&lt;br /&gt;
Kešatmiņa. Asociatīvā atmiņa. &lt;br /&gt;
&amp;quot;N-way set associative cache memory&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_DC | MD_CPU_DC]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_Branch | MD_CPU_Branch]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 09.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;GPIO&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
GPIO - General Purpose Input Output. Datu ievads un izvads ar kartētu atmiņu (memory mapped IO). Mikrokontroliera perifērijas iekārtu reģistri. Reģistrs lasīšanas un rakstīšanas virzienam. Saskarnes savietošana ar operatīvās atmiņas saskarni.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots: [[#MD_GPIO | MD_GPIO]]&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 16.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Procesora arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://youtu.be/P2CARhD2k3A Slaidi/video]&lt;br /&gt;
Procesora arhitektūra. Daudz-taktu procesors un konveijera princips.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_Branch | MD_CPU_Branch]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 23.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Metrikas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Digitālas projektēšanas metrikas. Funkcionalitāte. Izmaksas, fiksētās un mainīgās. Uzticamība, izturība. Trokšņu noturība un imunitāte. Veiktspēja. Ātrums un enerģijas patēriņš. Projektēšanas laiks.&lt;br /&gt;
* [https://www.dropbox.com/s/aoyenqlkhaz1yoe/Metrics_Leo.pdf?raw=1 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Resursi:&lt;br /&gt;
* [https://semiengineering.com/from-design-to-deployment-how-silicon-lifecycle-management-optimizes-the-entire-ic-life-span/ Silicon lifecycle...]&lt;br /&gt;
* [https://anysilicon.com/when-and-why-should-you-choose-an-asic/ When and why ASIC...]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 30.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Programmējamās loģikas iekārtas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://youtu.be/JEiLcHtgSlE Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Programmējamās loģikas iekārtas, CPLD un FPGA. FPGA uzbūve. Konfigurējami loģiskie elementi. Ievada un izvada elementi. Komunikācija, maģistrāles.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://www.electronicsforu.com/technology-trends/fpga-vs-cpld-microcontrollers FPGA vs CPLD vs Microcontrollers] (from electronicsforu.com)&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/data_sheets/ds312.pdf Spartan-3E FPGA Family Data Sheet]&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/data_sheets/ds090.pdf CoolRunner II CPLD Family]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 07.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;FPGA kā serviss&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vieslekcija. Attālināta FPGA attīstītājrīku programmēšana un testēšana.&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_GPIO | MD_GPIO]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 14.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;(Vieslekcija)&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FPGA pielietojumi kosmosa tehnoloģijās.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 21.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Superskalāras arhitektūras&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://www.dropbox.com/s/7nrd0ke682oc935/13_Superscalar.pdf?raw=1 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Superskalārie procesori un to uzbūve. Paralēlu ALU izmantošanas stratēģijas.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 28.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Dinamiska instrukciju plānošana&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Instrukciju paralelisms, ciklu atrullēšana, Scoreboarding un Tomasulo arhitektūras.&lt;br /&gt;
&lt;br /&gt;
Slaidi:&lt;br /&gt;
* [https://www.dropbox.com/s/ieks943pmn4ikpm/ECE570_dynamic_scheduling.pdf?raw=1 Scoreboarding algoritms]&lt;br /&gt;
* [https://www.dropbox.com/s/1a1s4d95k5plotb/Lecture04_tomasulo.pdf?raw=1 Tomasulo algoritms]&lt;br /&gt;
&lt;br /&gt;
Resursi:&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Tomasulo%27s_algorithm Par Tomasulo algoritmu] no Wikipedijas&lt;br /&gt;
* [http://nathantypanski.github.io/tomasulo-simulator/ Tomasulo simulators]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://serenefield.com/Blog/posts/HighPerformanceArchitecture/2021-01-28_High-Performance-Computer-Architecture-13---Tomasulo-s-Algorithm-Part-1-8c65788dec07.html Ievads Tomasulo algoritmā] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 28.05.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Kopsavilkums&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Daudzkodolu procesori un CUDA&lt;br /&gt;
* [https://sites.google.com/a/nirmauni.ac.in/cudacodes/cuda-material/tutorial-3 GPU Computing: The Democratization of Parallel Computing] - seminārs, ASPLOS&amp;#039;08&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== xx.06.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
xx:xx Eksāmens.&lt;br /&gt;
&lt;br /&gt;
Projektu demonstrācijas un plakāti.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
Eksāmenā:&lt;br /&gt;
* Risinājuma pirmkods un projekts kā zip fails&lt;br /&gt;
* Dokumentācija jūsu risinājumam &amp;quot;Datasheet&amp;quot;.&lt;br /&gt;
* Jānodod eseja (e-studijās), kurā aprakstīti projekta izaicinājumi un sasniegumi kā arī tehniskā informācija par projektu.&lt;br /&gt;
* Bez tam, jāizveido plakāts, kas būs jāprezentē mutiski un jāatbild uz jautājumiem. PDF formātā (e-studijās).&lt;br /&gt;
** [[LU::poster-howto | Ieteikumi plakāta prezentācijas]] veidošanā&lt;br /&gt;
* Ja projektā ir demonstrējama daļa, tad jāveic arī tā demonstrācija.&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Lekciju video =&lt;br /&gt;
Lekciju [https://www.youtube.com/playlist?list=PL32WMyFDbfNnVb3nFI9Tku5O8ukKBxs6Z videomateriāls ir pieejams Youtube]. Sīkāk, pa tēmām:&lt;br /&gt;
* [https://youtu.be/sqyLYgVvtr0 Ievads kursa pirmajai daļai.]&lt;br /&gt;
* [https://youtu.be/G6abrFbeazw Digitālas sistēmas.]&lt;br /&gt;
* [https://youtu.be/6340drM2Fm0 Loģikas pamatelementi.]&lt;br /&gt;
* [https://youtu.be/knlFvRxpUuE Tranzistora uzbūve.]&lt;br /&gt;
* [https://youtu.be/I-l2bQ-C_VU Tranzistoru lietojumi.]&lt;br /&gt;
* [https://youtu.be/hDOUl1ViMdc Laika atkarīgi elementi.]&lt;br /&gt;
* [https://youtu.be/1spw-GAsDLk Trigeri un &amp;quot;latch&amp;quot; iekārtas.]&lt;br /&gt;
* [https://youtu.be/P2CARhD2k3A CPU uzbūve un konveijera princips.]&lt;br /&gt;
* [https://youtu.be/JEiLcHtgSlE FPGA uzbūve.]&lt;br /&gt;
&lt;br /&gt;
= PD =&lt;br /&gt;
Praktiskie darbi.&lt;br /&gt;
&lt;br /&gt;
===PD1===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LED un slēdži&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* apgūt darba plūsmu ar FPGA shēmas ievadu, kompilāciju un dizaina augžuplādēšanu uz FPGA iekārtas.&lt;br /&gt;
* lietot FPGA ievada un izvada portus (pinus).&lt;br /&gt;
* lietot elementāras loģikas elementus shēmā.&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot digitālu iekārtu, kas izmanto ievada elementus (slēdžus) un izvada elementus (LED).&lt;br /&gt;
* Shēmas ievads&lt;br /&gt;
* Kompilācija&lt;br /&gt;
* Uzlādēšana uz reālas FPGA iekārtas&lt;br /&gt;
* Pārbaude&lt;br /&gt;
&lt;br /&gt;
Iekārtai jāveic sekojošas darbības:&lt;br /&gt;
* SW1 slēdzis ieslēdz un izslēdz LED1 spīddiodi.&lt;br /&gt;
* SW2 un SW3 slēdži veido ievaddatus XOR elementam, kura rezultats tiek izvadīts uz LED2.&lt;br /&gt;
* Spīddiode LED3, kas ieslēdzas un izslēdzas reizi sekundē. SW4 to var apstādināt un iedarbināt.&lt;br /&gt;
&lt;br /&gt;
Praktiskajā darbā izstrādātā iekārta jādemonstrē uz FPGA iekārtas.&lt;br /&gt;
&lt;br /&gt;
Resusrsi:&lt;br /&gt;
* [http://www.xilinx.com/support/documentation/boards_and_kits/ug230.pdf Xilinx Spartan-3E FPGA Starter Kit Board User Guide]&lt;br /&gt;
* [https://eprints.qut.edu.au/76297/1/Spartan3E_Tutorial_1ver2.pdf Spartan 3E Tutorial] no Queensland University of Technology&lt;br /&gt;
&lt;br /&gt;
===PD_Counter===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Skaitītāja simulācija&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* Iepazīties ar FPGA elementu bibliotēkas skaitītāja moduļiem&lt;br /&gt;
* Iemācīties, kā darbināt simulācijas&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izveidot shēmu iekārtai, kas izmantojot takts signālu realizē 4 bitu bināru skaitītāju.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulātoru (ISim vai Modelsim)&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* PDF dokumentu kurā ir gan iekārtas shēma, gan arī simulācijas rezultāti un īss pieredzes apraksts.&lt;br /&gt;
&lt;br /&gt;
===PD_RF===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Reģistru fails un simulācija&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* Pamatelementu un reģistru lietojums Verilog valodā&lt;br /&gt;
* Projekta simulācija&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot 32x32 reģistru failu procesoram. Veikt simulāciju ar ISim, kas pārbauda tā darbību.&lt;br /&gt;
&lt;br /&gt;
* Reģistru failā ir 32 biti&lt;br /&gt;
* Katrs reģistrs ir 32 bitus garš&lt;br /&gt;
* Turpmāk aprakstā  portu/signālu bitu skaits tiek norādīts aiz tiem iekavās.&lt;br /&gt;
* Ir divi porti A(32) un B(32), kas ļauj vienlaicīgi nolasīt divu reģistru vērtības. Lasāmo reģistru adreses tiek norādītas ar AA(5) un AB(5)&lt;br /&gt;
* Ir viens ports D(32), kas ļauj ierakstīt viena reģistra vērtību CLK uzlecošās frontes notikuma brīdī, ja ir iespējota rakstīšana ar signālu WR. Reģistrs, kurā rakstīt, tiek norādīts ar signālu AD(5).&lt;br /&gt;
* Lasīšanas un rakstīšanas darbībām jāvar notikt paralēli, vienlaicīgi.&lt;br /&gt;
&lt;br /&gt;
Demonstrēt iekārtas darbību ar simulatoru (ISim)&lt;br /&gt;
* Simulācijas daļā demonstrēt, kā informācija tiek rakstīta visos reģistros, kā arī lasīta no tiem. Lai veiktu šo simulāciju, izveidot testa moduli (testbench) atsevišķā Verilog failā.&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkodu reģistru failam un tā testa modulim.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===PD_Calc===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kalkulators: stāvokļu diagramma un kontrolieris&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===== Mērķi =====&lt;br /&gt;
* Iepazīties ar galīgo automātu projektēšanu un implementāciju Verilog valodā&lt;br /&gt;
* Projektēt digitālu sistēmu ar kontrolieri&lt;br /&gt;
* Simulēt kontroliera dizainu&lt;br /&gt;
&lt;br /&gt;
===== Uzdevums =====&lt;br /&gt;
Izveidot funkcionālu kalkulatora moduli, kas reaģē uz taustiņu signāliem veic saskaitīšanas un atņemšanas operācijas. &lt;br /&gt;
Kalkulators strādā heksadecimālā sistēmā, tātad, tam ir 16 ciparu taustiņi: 0,1,2...8,9,A,B,C,D,E,F.&lt;br /&gt;
Bez tam ir arī operāciju taustiņi: CLR - nodzēst rezultātu, un operācijas +, - un =.&lt;br /&gt;
Nospiežot katru taustiņu tiek pacelts signāls BtnDown. Atlaižot taustiņu tas tiek nolaists.&lt;br /&gt;
Jāveic sekojoši uzdevumi:&lt;br /&gt;
* Izveidot projektu kalkulatoram ar Verilog vai shēmu diagrammu.&lt;br /&gt;
* Izveidot kontrolieri, kas balstīts uz vienu vai vairākiem galīgiem stāvokļu automātiem.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulātoru Xilinx ISim.&lt;br /&gt;
&lt;br /&gt;
===== Iesniegt =====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* PDF dokumentu kurā ir gan iekārtas shēma, gan arī simulācijas rezultāti un īss pieredzes apraksts.&lt;br /&gt;
* Iekārtas un testēšanas Verilog pirmkoda failus.&lt;br /&gt;
&lt;br /&gt;
===PD_VGA===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Šaha laukums&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* iepazīties ar VGA signālu protokolu&lt;br /&gt;
* izpildīt iekartas dizainu Verilog valodā&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot iekārtu, kas uz monitora ekrāna attēlo 8x8 šaha lauciņu. &lt;br /&gt;
Darba gaita iepazīties ar video signāla formu un laika parametriem. &lt;br /&gt;
Darbu atļauts izpildīt daļēji vai pilnīgi Verilog valodā. &lt;br /&gt;
&lt;br /&gt;
Praktiskajā darbā izstrādātā iekārta jādemonstrē uz Spartan 3E FPGA iekārtas, kam pieslēgts monitors.&lt;br /&gt;
&lt;br /&gt;
Izstrādātā risinājuma pirmkoda faili jāarhivē failā vards_uzvards_PD2.zip un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
===PD_Kbd===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Klaviatūra un Ciparu izvads&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* iepazīties ar PS/2 (klaviatūras) protokolu&lt;br /&gt;
* Izstrādāt stāvokļu mašīnu - galīgo automātu kalkulatora darbībai&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot digitālu iekārtu, kas darbojas kā kalkulators ar skaitļiem heksadecimālajā sistēmā un var izpildīt saskaitīšanas un atņemšanas operācijas.&lt;br /&gt;
&lt;br /&gt;
Skaitļu ievads ir no klaviatūras, kas pieslēdta ar PS/2 portu.&lt;br /&gt;
&lt;br /&gt;
Skaitļu izvads ir uz LCD ekrāna.&lt;br /&gt;
&lt;br /&gt;
Izstrādātā risinājuma pirmkoda faili jāarhivē failā vards_uzvards_PD3.zip un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
= MD =&lt;br /&gt;
Mājas darbi.&lt;br /&gt;
&lt;br /&gt;
===MD1===&lt;br /&gt;
&lt;br /&gt;
Novērtēt Spartan 3E attīstītājrīka un FPGA iespējas. Atbildēt uz jautājumu: vai iespējams uz Spartan 3E realizēt datoru, kas varētu darbināt Linux klases operētājsistēmu? Atbildi &amp;#039;&amp;#039;&amp;#039;pamatot&amp;#039;&amp;#039;&amp;#039;, izvērtējot &amp;#039;&amp;#039;&amp;#039;nepieciešamos un atbilstošos pieejamos resursus&amp;#039;&amp;#039;&amp;#039; gan FPGA, gan perifērijas iekārtu kontekstā.&lt;br /&gt;
&lt;br /&gt;
Atbilde noformējama kā eseja PDF failā vards_uzvards_MD1.pdf un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
===MD2===&lt;br /&gt;
&lt;br /&gt;
Aprakstīt ideju kursā realizējamam projektam, ko izstrādāsiet uz FPGA iekārtas.&lt;br /&gt;
Iekļaut sekojošas sadaļas:&lt;br /&gt;
* Vai tas ir individuāls vai komandas darbs. Ja komandas, tad pievienot dalībnieku sarakstu un to lomu projektā&lt;br /&gt;
* Mērķis un motivācija&lt;br /&gt;
* Nepieciešamie resursi&lt;br /&gt;
* Risinājuma apraksts&lt;br /&gt;
* Realizācijas plāns ar konkrētiem datumiem un starpmērķiem, kas tajos sasniedzami&lt;br /&gt;
&lt;br /&gt;
Atbilde noformējama kā dokuments PDF failā vards_uzvards_MD2.pdf un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MD_OpenGL===&lt;br /&gt;
&lt;br /&gt;
Uzzīmēt un aprakstīt video kontroliera shēmu, kas atbalsta minimālu OpenGL vai līdzīgu instrukciju kopu.&lt;br /&gt;
Instrukcijas tiek nodotas no datora pa seriālo portu. Instrukcijas jāatkodē un jāizpilda, izmainot lokālu video buferi. No bufera attēls jāizvada uz  iebūvēto VGA portu attēla izvadei.&lt;br /&gt;
&lt;br /&gt;
Atbilde noformējama kā dokuments PDF failā vards_uzvards_MDx.pdf un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
===MD_ALU===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Aritmētiski loģiskā ierīce (ALU)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* Izpētīt ISA un izstrādāt specifikāciju atbilstošam procesora ALU&lt;br /&gt;
* ALU izstrāde&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt ALU kas atbilst RISCV R32I instrukciju kopai &lt;br /&gt;
* ALU nepieciešams nodrošināt sekojošu saskarni:&lt;br /&gt;
** A un B ir datu ievadda maģistrāles, 32 biti, vai ideāli, parametrizējamas.&lt;br /&gt;
** OUT ir rezultāts, arī datu maģistrāle&lt;br /&gt;
** OPCODE - ievads, ALU operācijas kods&lt;br /&gt;
** karodziņi, kas indicē:&lt;br /&gt;
*** V - Overflow&lt;br /&gt;
*** Z - Zero&lt;br /&gt;
*** N - Negative&lt;br /&gt;
*** C - Carry&lt;br /&gt;
* Demonstrēt iekārtas darbību vairākām instrukcijām, ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISCV reference card] - instrukciju tipi, kopsavilkums&lt;br /&gt;
* [https://inst.eecs.berkeley.edu/~cs61c/fa17/img/riscvcard.pdf RISCV Reference sheet] - instrukciju saraksts&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISCV specifikācijas protāls un dokumenti]&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda fails ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_v0===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt instrukciju dekoderi un aritmētisko instrukciju datu plūsmu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt instrukciju dekoderi pēc RISC V R32I ISA Green card.&lt;br /&gt;
* Izstrādāt vienkāršu kontrolieri, kas tulko instrukciju operāciju kodus uz ALU operāciju kodiem, un reģistru faila WE (Write Enable) signālu.&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vienkāršas instrukcijas pa vienai.&lt;br /&gt;
&lt;br /&gt;
CPU prototipam (v0) jāsavieno reģistru fails, ALU un instrukciju dekoderis un operāciju kodu kontrolieris tā, lai būtu iespējams ieejā dot vienas instrukcijas 32 bitu kodu, un tā tiktu izpildīta, un rezultāts ierakstīts attiecīgajā reģistrā pēc CLK takts signāla augošās frontes.&lt;br /&gt;
&lt;br /&gt;
* Demonstrēt iekārtas darbību vairākām instrukcijām, ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* RISC V dokumentācija&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_IC===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips ar instrukciju kešatmiņu&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt instrukciju kešatmiņu un RISC V asemblera kompilāciju.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt instrukciju kešatmiņu, instrukciju reģistru, PC reģistru.&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vienkāršas instrukcijas no instrukciju atmiņas. Katrs takts signāls CLK ielasa un izpilda nākamo instrukciju.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu instrukciju testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Instrukciju kešatmiņas modulim ielasīt kompilētu programmu (no teksta faila), Verilog kompilācijas solī.&lt;br /&gt;
&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISC V dokumentācija]&lt;br /&gt;
* [https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md RISC V Assembly manual]&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISC V Green card]&lt;br /&gt;
* [https://riscvasm.lucasteske.dev/# RiscV kompilators online]&lt;br /&gt;
&lt;br /&gt;
GNU asemblera kompilators RISC V arhitektūrai ir pieejams kā riscv64-linux-gnu-as.&lt;br /&gt;
Ar to ir iespējams kompilēt kodu 32 bitu arhitektūrai RV32i norādot attiecīgu arhitektūras parametru:&lt;br /&gt;
 riscv64-linux-gnu-as -march=rv32e -al test.s&lt;br /&gt;
&lt;br /&gt;
Tad kompilēto kodu iespējams dabūt no listinga (to apstrādājot), vai arī no kompilētā elf faila ar objdump.&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog un citi saistītie pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* Testa programma asemblerā&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_DC===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips ar datu kešatmiņu&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt datu kešatmiņu un saskarni ar operatīvo atmiņu.&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt datu kešatmiņu.&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vienkāršas instrukcijas ar atmiņu, piemēram Load un Store.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu instrukciju testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISC V dokumentācija]&lt;br /&gt;
* [https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md RISC V Assembly manual]&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISC V Green card]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_Branch===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips ar Branch un Jump-and-link instrukciju realizāciju&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt Branch un Jump-and-link instrukciju darbības un dizaina principus.&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt Branch instrukcijas saskaņā ar RISC V instrukciju kopu&lt;br /&gt;
** BEQ, BNE, BLT, BGE, BLTU, BGEU.&lt;br /&gt;
* Izstrādāt Jump-and-link instrukcijas saskaņā ar RISC V instrukciju kopu&lt;br /&gt;
** JAL, JALR&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vadības kontroles instrukcijas.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu instrukciju testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISC V dokumentācija]&lt;br /&gt;
* [https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md RISC V Assembly manual]&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISC V Green card]&lt;br /&gt;
* [https://github.com/jameslzhu/riscv-card/blob/master/riscv-card.pdf RISC V unofficial Reference card]&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_GPIO===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Universāls perifērijas datu ievads un izvads (GPIO) &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt datu apmaiņas principus starp mikroprocesoru un perifērijas iekārtām.&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt moduļus pikrokontroliera ārējai iekārtai GPIO, kas spēj nodot un lasīt datus rakstot īpašā adresē.&lt;br /&gt;
** Ieslēgt un izslēgt 8 LED, kas kartēti uz vienu baitu atmiņā. Katram LED atbilst savs bits baitā.&lt;br /&gt;
** Nolasīt 8 slēdžu (Switch) stāvokļus lasot vienu baitu pēc konkrētas atmiņas adreses. Katram slēdzim atbilst savs bits baitā.&lt;br /&gt;
** Realizēt GPIO iekārtas saskarni caur baitu konkrētā adresē operatīvajā atmiņā. Saskarni realizēt ar diviem reģistriem: Datu virziena reģistru un Datu reģistru.&lt;br /&gt;
&lt;br /&gt;
* Dizainu organizēt tā, lai izveidotie GPIO moduļi var tikt pielietoti arī citām perifērijas iekārtām:&lt;br /&gt;
** Konfigurējot piekļuvi ārējām iekārtām caur UCF failu&lt;br /&gt;
** Integrējot citus iekšējos moduļus kas izstrādāti Verilog vai shēmtehnikā.&lt;br /&gt;
&lt;br /&gt;
* Integrēt GPIO jūsu CPU projektā.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu GPIO testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar aparatūru.&lt;br /&gt;
&lt;br /&gt;
Piemēram var apskatīt GPIO organizāciju dažādu mikrokontrolieru dokumentācijā, piemēram Atmega328p.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf Atmega328p mikrokontroliera dokumentācija]&lt;br /&gt;
* [https://github.com/elomage/FPGA-resources/blob/main/ucf_templates/Anvyl.ucf UCF faila piemērs ANVYL attīstītājrīkam]&lt;br /&gt;
* [https://en.wikipedia.org/wiki/General-purpose_input/output General purpose input/output] - Wikipedia&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
= Informācijas resursi =&lt;br /&gt;
&lt;br /&gt;
{{DIP_saites}}&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=Template:DIP_saites&amp;diff=11203</id>
		<title>Template:DIP saites</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=Template:DIP_saites&amp;diff=11203"/>
		<updated>2026-02-19T10:18:12Z</updated>

		<summary type="html">&lt;p&gt;Leo: /* Simulācija ar ISim */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Termini =&lt;br /&gt;
&lt;br /&gt;
* IC - Integrated Circuit - mikroshēma.&lt;br /&gt;
* FPGA - Field Programmable Gate Array - Konfigurējams loģisko un citu elementu čips, &amp;quot;lego&amp;quot; kluči digitālai elektronikai.&lt;br /&gt;
* EDA - Dizaina plūsma: Electronic Design Automation [https://en.wikipedia.org/wiki/Design_flow_(EDA) (wikipedia)]&lt;br /&gt;
* RTL - [https://en.wikipedia.org/wiki/Register-transfer_level Register-Transfer Level] - dizaina abstrakcija, kurā dati plūst starp reģistriem.&lt;br /&gt;
* [https://en.wikipedia.org/wiki/GDSII GDSII] - Binārs datubāzes falia formāts IC dizaina apmaiņai industrijā.&lt;br /&gt;
&lt;br /&gt;
= Resursi =&lt;br /&gt;
&lt;br /&gt;
* [http://books.google.lv/books?id=1lD9LZRcIZ8C&amp;amp;printsec=frontcover&amp;amp;source=gbs_navlinks_s#v=onepage&amp;amp;q=&amp;amp;f=false Computer organization and design: the hardware/software interface]&lt;br /&gt;
** [http://owlhouse.csie.nctu.edu.tw/old/CO2004/ch1-4_old.ppt Computer Organization &amp;amp; Design The Hardware/Software Interface, 2nd Edition] PPT 5.89MB (lekciju slaidi no National Chiao Tung University)&lt;br /&gt;
** [http://owlhouse.csie.nctu.edu.tw/old/CO2004/CO2004_lecture_notes.ppt Computer Organization &amp;amp; Design The Hardware/Software Interface, 3nd Edition] PPT 1.86MB (lekciju slaidi no National Chiao Tung University)&lt;br /&gt;
&lt;br /&gt;
* [http://books.google.lv/books?id=57UIPoLt3tkC&amp;amp;printsec=frontcover&amp;amp;source=gbs_v2_summary_r&amp;amp;cad=0#v=onepage&amp;amp;q=&amp;amp;f=false Computer architecture: a quantitative approach]&lt;br /&gt;
&lt;br /&gt;
* [http://books.google.lv/books?id=3aN89DhGwI4C&amp;amp;printsec=frontcover&amp;amp;source=gbs_v2_summary_r&amp;amp;cad=0#v=onepage&amp;amp;q=&amp;amp;f=false The designer&amp;#039;s guide to VHDL]&lt;br /&gt;
&lt;br /&gt;
* [http://www.synopsys.com/Systems/FPGABasedPrototyping/FPMM/Pages/default.aspx FPGA-Based Prototyping Methodology Manual]: Best practices in Design-for-Prototyping (FPMM) is a comprehensive and practical guide to using FPGAs as a platform for SoC development and verification.&lt;br /&gt;
&lt;br /&gt;
* [http://www.youtube.com/watch?v=Er9luiBa32k FPGA 101 - Making awesome stuff with FPGAs]: Karsten Becker @ 30th Chaos Communication Congress [30c3] by the Chaos Computer Club&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Digital design textbooks @ Digilent Inc.===&lt;br /&gt;
&lt;br /&gt;
* [https://reference.digilentinc.com/_media/textbooks/intro_to_digital_design-digilent-verilog_online.pdf Introduction to Digital Design - Verilog Edition] (PDF)&lt;br /&gt;
* [https://reference.digilentinc.com/_media/textbooks/intro_digital_design-digilent-vhdl_online.pdf Introduction to Digital Design - VHDL Edition] (PDF)&lt;br /&gt;
&lt;br /&gt;
* Real Digital - A hands-on approach to digital design&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M1/RealDigital_Module_1.pdf Module 1: Introduction to Electronic Circuits] PDF 465.54KB&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M2/RealDigital_Module_2.pdf Module 2: Introduction to Digilent&amp;#039;s Digital Design Circuit Boards] PDF 65.94KB&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M3/RealDigital_Module_3.pdf Module 3: Circuit Structure with an Introduction to CAD Tools] PDF 247.60KB&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M4/RealDigital_Module_4.pdf Module 4: Logic Minimization] PDF 353.07KB&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M5/RealDigital_Module_5.pdf Module 5: Introduction to VHDL] PDF 197.37KB&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M6/RealDigital_Module_6.pdf Module 6: Combinational Circuit Blocks] PDF 244.46KB&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M7/RealDigital_Module_7.pdf Module 7: Combinational Arithmetic Circuits] PDF 361.00KB&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M8/RealDigital_Module_8.pdf Module 8: Signal Propagation Delays] PDF 126.77KB&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M9/RealDigital_Module_9.pdf Module 9: Basic Memory Circuits] PDF 232.41KB&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M10/RealDigital_Module_10.pdf Module 10: The Structural Design of Sequential Circuits] PDF 245.58KB&lt;br /&gt;
&lt;br /&gt;
= Saites =&lt;br /&gt;
&lt;br /&gt;
=== Xilinx produkti (FPGA čipi) ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.xilinx.com Xilinx kompānijas (FPGA ražotājs) portāls]&lt;br /&gt;
&amp;lt;!-- * [http://www.xilinx.com/support/documentation/data_sheets/ds312.pdf Spartan 3E FPGA Family datasheet] --&amp;gt;&lt;br /&gt;
* [https://datasheetspdf.com/pdf-file/1409860/Xilinx/XC3S500E/1 Spartan 3E FPGA Family datasheet]&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/data_sheets/ds160.pdf Spartan-6 FPGA Family datasheet]&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/application_notes/xapp462.pdf Using Digital Clock Managers (DCMs) in Spartan-3 FPGAs]&lt;br /&gt;
&lt;br /&gt;
=== Xilinx attīstītajrīki ===&lt;br /&gt;
&lt;br /&gt;
DiLab ir pieejami sekojoši Xilinx (Digilent) attīstītajrīki:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[https://reference.digilentinc.com/reference/programmable-logic/anvyl/start ANVYL]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Anvyl Reference Manual: [https://reference.digilentinc.com/_media/reference/programmable-logic/anvyl/anvyl_rm.pdf (PDF)] [https://digilent.com/reference/programmable-logic/anvyl/reference-manual (Website)]&lt;br /&gt;
** [[ANVYL programmēšana]] - Pamācība, kā uzlādēt dizainu uz Anvyl dēļa&lt;br /&gt;
** [https://github.com/elomage/FPGA-resources/tree/main/ucf_templates UCF file templates].&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[http://www.pynq.io/ PYNQ]&amp;#039;&amp;#039;&amp;#039; [https://reference.digilentinc.com/reference/programmable-logic/pynq-z1/start -Z1]&lt;br /&gt;
** [https://www.digikey.com/en/articles/techzone/2019/apr/build-and-program-fpga-based-designs-quickly-python-jupyter-notebooks Build and Program FPGA-Based Designs Quickly with Python and Jupyter Notebooks] - with Zynq (PYNQ)&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[https://reference.digilentinc.com/reference/programmable-logic/spartan-3e/start Spartan-3E]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** [http://www.xilinx.com/support/documentation/boards_and_kits/ug230.pdf Xilinx Spartan-3E FPGA Starter Kit Board User Guide] PDF 7.34MB&lt;br /&gt;
** [http://www.xilinx.com/support/documentation/sw_manuals/xilinx12_2/spartan3e_scm.pdf Spartan-3E Libraries Guide for Schematic Designs] PDF 9.19MB&lt;br /&gt;
** [http://www.xilinx.com/support/documentation/sw_manuals/xilinx12_2/spartan3e_hdl.pdf Spartan-3E Libraries Guide for HDL Designs] PDF 3.94MB&lt;br /&gt;
** [https://github.com/elomage/FPGA-resources/tree/main/ucf_templates UCF file templates].&lt;br /&gt;
&lt;br /&gt;
* [http://www.xilinx.com/products/boards/s3e1600e/reference_designs.htm Spartan-1600e]&lt;br /&gt;
&lt;br /&gt;
* [https://reference.digilentinc.com/reference/programmable-logic/virtex-ii-pro/start XUP V2P], no [http://www.xilinx.com/univ/xupv2p.html Xilinx University Program]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== PMOD papildus moduļi ====&lt;br /&gt;
Mums ir pieejami dažādi [https://reference.digilentinc.com/reference/pmod/start PMOD perifērijas iekārtu moduļi] (pārsvarā 1x6 formātā) par kuriem sīkāk var lasīt [https://store.digilentinc.com/pmod-expansion-modules/by-form-factor/1x6/ Digilentic portālā].&lt;br /&gt;
* ADC modulis [https://store.digilentinc.com/pmod-ad1-two-12-bit-a-d-inputs/ PmodAD1 PB200064]&lt;br /&gt;
* DAC modulis: [https://store.digilentinc.com/pmod-da2-two-12-bit-d-a-outputs/ PmodDA2 PB200-113]&lt;br /&gt;
* 3.5mm konektori ar pastiprinātāju: [https://store.digilentinc.com/pmodamp1-speaker-headphone-amplifier-retired/ PmodAmp1]&lt;br /&gt;
* RCA konektori: [https://store.digilentinc.com/pmod-con4-rca-audio-jacks/ Pmod CON4] (CON1 RevB)&lt;br /&gt;
* BNC konektori: [https://store.digilentinc.com/pmodcon2-bnc-connectors-retired/ Pmod CON2 PB200066]&lt;br /&gt;
* 7-segmentu LED x 2: [https://store.digilentinc.com/pmod-ssd-seven-segment-display/ PmodSSD]&lt;br /&gt;
* [https://store.digilentinc.com/pmod-led-four-high-brightness-leds/ Pmod LED x 4: PB200076]&lt;br /&gt;
* Komutācijas modulis [https://store.digilentinc.com/pmod-tph-6-pin-test-point-header/ PTPH PB200-001]&lt;br /&gt;
* Seriālā zibatmiņa: [https://store.digilentinc.com/pmodsf-external-rom-2mb-serial-flash-memory/ PmodSF]&lt;br /&gt;
* Video signālu dekodera modulis [https://store.digilentinc.com/vdec1-video-decoder-board-retired/ VDEC1]&lt;br /&gt;
* [https://store.digilentinc.com/pmod-cable-kit-6-pin/ Pmod kabelis 6x1]&lt;br /&gt;
* Skaļrunis ar 3.5mm konektoru: [https://store.digilentinc.com/speaker/ SPEAKER]&lt;br /&gt;
&lt;br /&gt;
* Konektors vadiem [https://reference.digilentinc.com/reference/pmod/pmodcon1/start PmodCON1]&lt;br /&gt;
* Rotējošais enkoderis [https://reference.digilentinc.com/reference/pmod/pmodenc/start PmodENC]&lt;br /&gt;
* USB saskarne [https://reference.digilentinc.com/reference/pmod/pmodusbuart/start PmodUSBUART]&lt;br /&gt;
* Ultraskaņas distances mērītājs [https://reference.digilentinc.com/reference/pmod/pmodmaxsonar/start PmodMAXSONAR]&lt;br /&gt;
* Audio DAC SPI [https://reference.digilentinc.com/reference/pmod/pmodmic3/start PmodMIC3]&lt;br /&gt;
&lt;br /&gt;
=== Xilinx ISE instalācija ===&lt;br /&gt;
==== Xilinx ISE WebPACK (14.7) ====&lt;br /&gt;
&lt;br /&gt;
* [[ISE 14.7 instalācija]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==== Xilinx ISE WebPACK (12.2) ====&lt;br /&gt;
&lt;br /&gt;
* [https://secure.xilinx.com/webreg/register.do?group=dlc&amp;amp;htmlfile=&amp;amp;emailFile=&amp;amp;cancellink=&amp;amp;eFrom=&amp;amp;eSubject=&amp;amp;version=12.2&amp;amp;akdm=1&amp;amp;filename=Xilinx_ISE_DS_Lin_12.2_M.63c.1.1.tar Installer for Linux] TAR/GZ 3.02GB (nepieciešams reģistrēties www.xilinx.com)&lt;br /&gt;
&lt;br /&gt;
* [https://secure.xilinx.com/webreg/register.do?group=dlc&amp;amp;htmlfile=&amp;amp;emailFile=&amp;amp;cancellink=&amp;amp;eFrom=&amp;amp;eSubject=&amp;amp;version=12.2&amp;amp;akdm=1&amp;amp;filename=Xilinx_ISE_DS_Win_12.2_M.63c.1.1.tar Installer for Windows] TAR/GZ 2.96GB (nepieciešams reģistrēties www.xilinx.com)&lt;br /&gt;
&lt;br /&gt;
* [http://www.xilinx.com/support/documentation/sw_manuals/xilinx12_2/irn.pdf ISE Design Suite 12: Installation, Licensing, and Release Notes] PDF 1.44MB&lt;br /&gt;
&lt;br /&gt;
* [http://ubuntuforums.org/showthread.php?t=1547435 Xilinx ISE WebPACK 12.2 on Ubuntu 10.04 LTS]&lt;br /&gt;
&lt;br /&gt;
* [http://rmdir.de/~michael/xilinx/ Xilinx JTAG tools on Linux without proprietary kernel modules]&lt;br /&gt;
&lt;br /&gt;
* [http://www.xilinx.com/support/documentation/sw_manuals/xilinx12_2/ise_tutorial_ug695.pdf ISE In-Depth Tutorial] (ver.12.2) PDF 5.04MB&lt;br /&gt;
* [http://www.xilinx.com/support/documentation/sw_manuals/xilinx12_2/plugin_ism.pdf ISim User Guide] (ver.12.2) PDF 1.96MB&lt;br /&gt;
&lt;br /&gt;
&amp;lt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Xilinx ISE lietošana ===&lt;br /&gt;
* [https://github.com/elomage/FPGA-resources/tree/main/ucf_templates UCF failu šabloni] FPGA platformām.&lt;br /&gt;
&lt;br /&gt;
==== Vispārīga lietošana ====&lt;br /&gt;
* [http://www.xilinx.com/support/documentation/sw_manuals/xilinx14_7/ise_tutorial_ug695.pdf ISE In-Depth Tutorial] (ver.14.7) PDF&lt;br /&gt;
* [https://www.xilinx.com/support/documentation-navigation/development-tools/hardware-development/ISE-design-suite.html?preSelect=documenttype:SeeAll#documentation Xilinx ISE dokumentācija] - dažādi dokumenti&lt;br /&gt;
&lt;br /&gt;
==== Simulācija ar ISim ====&lt;br /&gt;
&lt;br /&gt;
* [https://www.youtube.com/watch?v=9iQfqhUfAcE Kā lietot iSim] (video, Leo Seļāvo)&lt;br /&gt;
* [http://www.xilinx.com/support/documentation/sw_manuals/xilinx14_7/plugin_ism.pdf ISim User Guide] (ver.14.7) PDF 1.96MB&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/sw_manuals/xilinx14_7/ug682.pdf ISim in-depth Tutorial] PDF&lt;br /&gt;
* [https://youtu.be/hPYsQE0-1kQ Simulācija ar ISim] - pamācības video, Colin O&amp;#039;Flynn.&lt;br /&gt;
&lt;br /&gt;
==== Simulācija ar ModelSim ====&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/sw_manuals/xilinx14_7/ise_tutorial_ug695.pdf Xilinx ISE In-Depth Tutorial] - PDF&lt;br /&gt;
* [https://www.cis.upenn.edu/~milom/cis371-Spring13/lab/simulation/ Pamācība no Pensilvānijas Universitātes]&lt;br /&gt;
* [https://youtu.be/DgRrATFd3jc How to do a Timing Simulation using Modelsim and Xilinx ISE] - video pamācība&lt;br /&gt;
&lt;br /&gt;
=== Video applications using FPGA ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.stevechamberlin.com/cpu/2009/06/21/fpga-pong/ FPGA Pong] by Steve Chamberlin&lt;br /&gt;
* [http://www.fpga4fun.com/PongGame.html Pong Game] by Jean P. Nicolle&lt;br /&gt;
&lt;br /&gt;
== ANVYL attīstītājrīks ==&lt;br /&gt;
[https://store.digilentinc.com/anvyl-spartan-6-fpga-trainer-board/ ANVYL]&lt;br /&gt;
ir Xilinx Spartan 6G FPGA bāzēts attīstītājrīks ar dažādām papildus un perifērijas iekārtām.&lt;br /&gt;
&lt;br /&gt;
* [[ANVYL programmēšana]] - kā uzlādēt dizainu uz Anvyl dēļa&lt;br /&gt;
* [https://youtu.be/9iQfqhUfAcE Video ar Anvyl programmēšanas piemēru]&lt;br /&gt;
&lt;br /&gt;
== PYNQ ietvars ==&lt;br /&gt;
[http://www.pynq.io/ PYNQ] ir ietvars kas iespējo FPGA aparatūras funkciju izmantošanu ar Python programmēšanas valodu. &lt;br /&gt;
Atbalstītā aparatūra iekļauj [https://store.digilentinc.com/fpga-programmable-logic/by-technology/zynq/ ZYNQ].&lt;br /&gt;
&lt;br /&gt;
PYNQ informācijas avoti:&lt;br /&gt;
* [https://pynq.readthedocs.io/en/latest/getting_started.html getting Started with PYNQ]&lt;br /&gt;
* [https://github.com/Xilinx/PYNQ_Workshop PYNQ Tutorial]&lt;br /&gt;
* [http://pynq.readthedocs.io/ PYNQ documentation]&lt;br /&gt;
* [http://www.pynq.io/board.html Atbalstītā aparatūra]&lt;br /&gt;
&lt;br /&gt;
PYNQ projekti&lt;br /&gt;
* [http://www.pynq.io/examples Projektu piemēri]&lt;br /&gt;
* [https://github.com/drichmond/RISC-V-On-PYNQ RISC-V on PYNQ]&lt;br /&gt;
&lt;br /&gt;
PYNK un PMOD&lt;br /&gt;
* [https://pynq.readthedocs.io/en/v2.0/pynq_libraries/pmod.html Par PMOD un PYNQ]&lt;br /&gt;
&lt;br /&gt;
== HDL pamācības (Verilog, VHDL) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- (unavailable) * [http://www.eecs.harvard.edu/cs141/resources/verilog-tutorial.pdf Verilog Tutorial I (10 pages)] PDF 69.58KB --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Verilog Tutorials&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** [https://users.ece.cmu.edu/~jhoe/course/ece447/S09handouts/LV.pdf handout] by Peter  Milder (15 pages).&lt;br /&gt;
** [http://www.ece.umd.edu/class/enee359a.S2008/verilog_tutorial.pdf by asic-world] (227 pages) PDF 876.25KB&lt;br /&gt;
** [http://www.asic-world.com/verilog/veritut.html by asic-world, online version]&lt;br /&gt;
** [https://www.nandland.com/verilog/tutorials/tutorial-introduction-to-verilog-for-beginners.html by NANDLand.com]&lt;br /&gt;
** [https://www.asic-world.com/tidbits/verilog_fsm.html FSM pamācība] no asic-world.com&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;VHDL Tutorials&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** [http://www.gmvhdl.com/VHDL.html VHDL Tutorial I (15 pages)]&lt;br /&gt;
** [http://lslwww.epfl.ch/pages/teaching/cours_lsl/sl_info/vhdl-tutorial.pdf VHDL Tutorial II (84 pages)] PDF 391.95KB&lt;br /&gt;
&lt;br /&gt;
* Debouncing&lt;br /&gt;
** [https://www.fpga4student.com/2017/04/simple-debouncing-verilog-code-for.html Verilog code for debouncing buttons on FPGA]&lt;br /&gt;
&lt;br /&gt;
== RISC-V ==&lt;br /&gt;
&lt;br /&gt;
* [https://riscv.org/technical/specifications/ Specifications]&lt;br /&gt;
* [https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md Getting started] - Assembly manual&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf Green card]&lt;br /&gt;
* [https://five-embeddev.com/riscv-isa-manual/latest/instr-table.html RISC-V Instruction Set Manual] from five-embeddev.com&lt;br /&gt;
* [https://www.cs.cornell.edu/courses/cs3410/2019sp/riscv/interpreter/ RISC-V Interpretators online]&lt;br /&gt;
* [https://riscvasm.lucasteske.dev/# RISC-V Online Assembler]&lt;br /&gt;
&lt;br /&gt;
== Seriālie protokoli ==&lt;br /&gt;
&lt;br /&gt;
* Asinhroni seriālais ports, RS232 un tml.&lt;br /&gt;
** [https://www.best-microcontroller-projects.com/how-rs232-works.html How RS232 works]&lt;br /&gt;
&lt;br /&gt;
* SPI protokols&lt;br /&gt;
** [https://learn.sparkfun.com/tutorials/serial-peripheral-interface-spi/all SPI tutorial] at Sparkfun &lt;br /&gt;
&lt;br /&gt;
* I2C un 2-wire protokols&lt;br /&gt;
** [http://www.circuitbasics.com/basics-of-the-i2c-communication-protocol/ I2C communication protocol] at Circuit basics&lt;br /&gt;
** [https://learn.sparkfun.com/tutorials/i2c/all I2C Tutorial] at Sparkfun&lt;br /&gt;
&lt;br /&gt;
* One-wire protokols&lt;br /&gt;
** [https://www.rfwireless-world.com/Tutorials/1-wire-protocol-basics.html 1-wire protocol basics] at rfwireless-world.com&lt;br /&gt;
** [https://www.maximintegrated.com/en/design/technical-documents/tutorials/1/1796.html Guide to 1-wire devices] at Maxim-IC&lt;br /&gt;
&lt;br /&gt;
* USB&lt;br /&gt;
** [https://www.cypress.com/file/134171/download Specifikācija] - Infineon / Cypress.&lt;br /&gt;
&lt;br /&gt;
== IP cores priekš FPGA ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.latticesemi.com/products/intellectualproperty/ipcores/mico32/index.cfm LatticeMicro 32] soft-procesors&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ieteikumi prezentāciju veidošanā ==&lt;br /&gt;
[http://andromeda.df.lu.lv/wiki/index.php/LU::poster-howto Piezīmes par plakātu un prezentāciju veidošanu]&lt;br /&gt;
&lt;br /&gt;
== Citi kursi un saites ==&lt;br /&gt;
* [http://www.ecs.umass.edu/ece/koren/architecture/ Computer architecture education tools] at UMass&lt;br /&gt;
&lt;br /&gt;
* [https://8bitworkshop.com/ 8 Bit Workshop] - aparatūras simulators pārlūkā, tai skaitā Verilog.&lt;br /&gt;
&lt;br /&gt;
* [https://www.circuitlab.com/ Circuitlab.com] - vienkāršu shēmu testēšana interneta pārlūkā &lt;br /&gt;
&lt;br /&gt;
* [http://www.falstad.com/circuit/ Falstad shēmu simulators]&lt;br /&gt;
&lt;br /&gt;
* [http://www.fpga4fun.com/index.html FPGA 4 fun!] - FPGA informācija un projekti iesācējiem un ne tikai.&lt;br /&gt;
* [http://tams-www.informatik.uni-hamburg.de/applets/hades/webdemos/toc.html Hades demonstration applets]&lt;br /&gt;
&lt;br /&gt;
* [http://www.cpushack.com/ CPU Shack]&lt;br /&gt;
* [http://danluu.com/why-hardware-development-is-hard/ Why hardware development is hard] by Dan Luu&lt;br /&gt;
&lt;br /&gt;
* [http://bit.ly/1dUqEiP How a CPU is made] (video)&lt;br /&gt;
* [http://bit.ly/1a2Ura8 FPGA 101 - Making awesome stuff with FPGAs] - FPGA 101 lekcija &amp;quot;30th Chaos Communication Congress (30c3) by the Chaos Computer Club (CCC)&amp;quot; konferencē.&lt;br /&gt;
&lt;br /&gt;
* Intel: The Making of a Chip with 22nm/3D Transistors [https://www.youtube.com/watch?v=d9SWNLZvA8g (video)]&lt;br /&gt;
* [http://www.righto.com/2014/10/how-z80s-registers-are-implemented-down.html Down to the silicon: how the Z80&amp;#039;s registers are implemented]&lt;br /&gt;
&lt;br /&gt;
* [http://electronics.stackexchange.com/questions/7042/how-much-does-it-cost-to-have-a-custom-asic-made How much does it cost to have a custom ASIC made?]&lt;br /&gt;
&lt;br /&gt;
* [http://courses.csail.mit.edu/6.111/f2008/ MIT Introductory Digital Systems Lab] (2008.g. MIT kurss)&lt;br /&gt;
&lt;br /&gt;
* [http://www.pldworld.com/_xilinx/html/tip/sixeasypieces.htm Six Easy Pieces (Non-Synchronous Circuit Tricks)]&lt;br /&gt;
&lt;br /&gt;
* [https://www.sigenics.com/page/asic-cost-calculator ASIC izmaksu kalkulators] (Sigenics)&lt;br /&gt;
&lt;br /&gt;
* HotMobile 2017 - [https://youtu.be/hcexIcdd1Pw Separated by Birth: Hidden Differences Between Seemingly-Identical Smartphone CPU&amp;#039;s]&lt;br /&gt;
&lt;br /&gt;
== Domu graudi ==&lt;br /&gt;
&lt;br /&gt;
* [http://stackoverflow.com/questions/11227809/why-is-processing-a-sorted-array-faster-than-an-unsorted-array Why is processing a sorted array faster than an unsorted array? (Branch prediction)]&lt;br /&gt;
&lt;br /&gt;
* [https://www.acm.org/hennessy-patterson-turing-lecture 2017 ACM A.M. Turing Award recipients John Hennessy and David Patterson delivered the Turing Lecture on June 4 at ISCA 2018]&lt;br /&gt;
&lt;br /&gt;
* [https://youtu.be/TPbroUDHG0s Spēļu programmēšana 8 bitu arhitektūrā]&lt;br /&gt;
&lt;br /&gt;
* [https://youtu.be/V9xUQWo4vN0 Tranzistors] - 1953.gada dokumentālā filma&lt;br /&gt;
&lt;br /&gt;
== FPGA pielietojumi ==&lt;br /&gt;
* [http://www.wired.com/2014/06/microsoft-fpga/ Microsoft Supercharges Bing Search With Programmable Chips]&lt;br /&gt;
* [https://tang.sipeed.com/en/ Tang primer board] for RISC V&lt;br /&gt;
* [https://thedatabus.io/fpga-buying-guide FPGA buying guide]&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=Ubuntu_setup_for_a_class&amp;diff=11202</id>
		<title>Ubuntu setup for a class</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=Ubuntu_setup_for_a_class&amp;diff=11202"/>
		<updated>2026-02-18T15:50:41Z</updated>

		<summary type="html">&lt;p&gt;Leo: /* Development tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TocRight}}&lt;br /&gt;
Ubuntu setup for my lab computers&lt;br /&gt;
&lt;br /&gt;
== All apt in one ==&lt;br /&gt;
&lt;br /&gt;
Note, that the downloaded apps and the extra commands are not included here. Read on for those.&lt;br /&gt;
 sudo apt-get install openssh-server build-essential git meld binutils gcc python3 python3-pip vlc audacious wine&lt;br /&gt;
 sudo apt-get install codeblocks octave octave-image&lt;br /&gt;
 sudo apt-get install openjdk-18-jdk  #&amp;lt;the-latest-version&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download and install ==&lt;br /&gt;
&lt;br /&gt;
 sudo apt install software-properties-common apt-transport-https wget -y&lt;br /&gt;
&lt;br /&gt;
* Google Chrome&lt;br /&gt;
* Sublime Text&lt;br /&gt;
&lt;br /&gt;
* Visual Studio Code&lt;br /&gt;
 wget -O- https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor | sudo tee /usr/share/keyrings/vscode.gpg&lt;br /&gt;
 echo deb [arch=amd64 signed-by=/usr/share/keyrings/vscode.gpg] https://packages.microsoft.com/repos/vscode stable main | sudo tee /etc/apt/sources.list.d/vscode.list&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install code&lt;br /&gt;
&lt;br /&gt;
== Development tools ==&lt;br /&gt;
 sudo apt-get install build-essential subversion git meld&lt;br /&gt;
 sudo apt-get install binutils gcc &lt;br /&gt;
 sudo apt-get install gdebi-core&lt;br /&gt;
 sudo apt-get install codeblocks&lt;br /&gt;
 sudo apt-get install octave octave-image&lt;br /&gt;
 sudo apt-get install openjdk-18-jdk&lt;br /&gt;
 sudo apt-get install python3 python3-pip python3-numpy python3-scipy python3-matplotlib&lt;br /&gt;
&lt;br /&gt;
 sudo apt install libfuse2&lt;br /&gt;
&lt;br /&gt;
For older python2 Serial port compatibility you may need:&lt;br /&gt;
 sudo pip install &amp;quot;pySerial&amp;gt;=2.0,&amp;lt;=2.9999&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Network tools (optional)&lt;br /&gt;
 nmap arp-scan&lt;br /&gt;
&lt;br /&gt;
== Python environment ==&lt;br /&gt;
&lt;br /&gt;
The following packages should be installed in a python3 venv:&lt;br /&gt;
 pip3 install jupyter matplotlib pandas tqdm openpyxl&lt;br /&gt;
&lt;br /&gt;
== Multimedia ==&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install vlc audacity audacious&lt;br /&gt;
&lt;br /&gt;
== Windows environment ==&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install wine&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=LU-BST-b&amp;diff=11201</id>
		<title>LU-BST-b</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=LU-BST-b&amp;diff=11201"/>
		<updated>2026-02-18T11:49:41Z</updated>

		<summary type="html">&lt;p&gt;Leo: /* 18.02.26 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Īssaites:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[#Kalendārs | Kalendārs]] | &lt;br /&gt;
[[#Uzdevumi | Uzdevumi]] | &lt;br /&gt;
[[#Resursi | Resursi]] | &lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]] : &lt;br /&gt;
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]]&lt;br /&gt;
(ja ir lekcija)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{LUDFKurss|Bezvadu Sensoru Tīkli|BST|DatZ3070|2DAT3253}}&lt;br /&gt;
* Pasniedzējs: [[User:Leo | Leo Seļāvo]]&lt;br /&gt;
&lt;br /&gt;
====Kursa mērķis un uzdevumi====&lt;br /&gt;
Iepazīties ar bezvadu sensoru tīklu sistēmu darbības un projektēšanas principiem un pielietojumiem.&lt;br /&gt;
* Apgūt sensoru un iegulto sistēmu pamata tehnoloģijas un pielietojumus lietu internetā. &lt;br /&gt;
* Izstrādāt arhitektūru un komunikāciju protokolus bezvadu sensoru sistēmām. &lt;br /&gt;
* Programmēt iegultās sistēmas BST pielietojumam. &lt;br /&gt;
* Analizēt sensoru lasījumus un izdarīt secinājumus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievadlekcijas video&amp;#039;&amp;#039;&amp;#039;:&amp;lt;/big&amp;gt; [https://youtu.be/nwPxnED1M34 No sensoriem līdz stāstam]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Vērtējums kursā ====&lt;br /&gt;
* 30% Praktiskie darbi PD&lt;br /&gt;
* 20% Mājas darbi MD&lt;br /&gt;
* 20% Kontroldarbs KD&lt;br /&gt;
* 30% Projekta prezentācija un demo eksāmenā EKS + PROJ&lt;br /&gt;
&lt;br /&gt;
==== Mājas darbi ====&lt;br /&gt;
* Iesniedzami e-studijās&lt;br /&gt;
* Termiņš 30min pirms lekcijas sākuma, vai arī kā MD nosacījumos.&lt;br /&gt;
** Kavēts termiņš nozīmē -50% no vērtējuma. Pēc nedēļas darbs var tikt nepieņemts.&lt;br /&gt;
&lt;br /&gt;
=Kalendārs=&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4 style = &amp;#039;border-color: #ddd; background-color: #fdfff2;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
! Datums&lt;br /&gt;
! Tēma, saturs&lt;br /&gt;
! Uzdevumi&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====04.02.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievadlekcija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Bezvadu sensoru tīklu pielietojumi un pamatproblēmas. BST kursa forma un prasības.&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/4iazzqk2ykmumsq/00_intro.pdf?raw=1 Ievads BST - slaidi]&lt;br /&gt;
* [https://www.dropbox.com/s/u5fnw7uku1ua1sf/00_Intro_IoT.pdf?raw=1 Ievads IoT - slaidi]&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD1 | PD1]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.02.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Bezvadu sakaru sistēmas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Radio spektrs un ISM josla. Komunikācijas protokoli un modulācija.&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/jujvdabdj03szif/L02_Wireless_systems.pdf?raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD2 | PD2]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.02.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Radio komunikāciju realitātes&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/scl/fi/fgqnlfpo7xurz5mm5atwj/03_radio-realities.pdf?rlkey=x54t0itxkbyuu0705ejoi3vry&amp;amp;st=mcy8s1hc&amp;amp;raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD3 | PD3]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.02.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Iegultās sistēmas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Sensoru mezgla uzbūve.&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/kzcd4mr8mirh2i9/L03_motes.pdf?raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD4 | PD4]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.03.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;MAC protokoli sensoru tīklos&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/le4f7sywa528lnb/L05_Harvard_mac.pdf?raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD5 | PD5]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.03.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;(&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;) &amp;#039;&amp;#039;&amp;#039;KD0: Maršrutizācijas protokoli&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/u1y7n2www1y7vgu/L06_Routing.pdf?raw=1 Maršrutizācija. Slaidi]&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Uzdots: [[#MD_Routing|Routing]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.03.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Laika sinhronizācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/8dmwkihq3gq4gls/L07_Timesync.pdf?raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD6 | PD6 Multihop]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.03.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Lokalizācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://www.dropbox.com/s/jbllq2e4rj5it1y/L08_Localization.pdf?raw=1 Slaidi]&lt;br /&gt;
&lt;br /&gt;
Diskusijas par projektiem&lt;br /&gt;
|&lt;br /&gt;
Sensoru datu analīze, Jupyter notebook&lt;br /&gt;
* [https://jupyter.org Jupyter]&lt;br /&gt;
* [https://anaconda.org/anaconda/python Anaconda Python]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====08.04.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Programmēšanas abstrakcijas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Komponenšu orientēta programmēšana. Skriptēta un enkapsulēta programmēšana. TinyOS, MansOS un SEAL.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://www.dropbox.com/s/xwnr2aterigjp7q/05_component-programming.pdf?raw=1 Komponenšu orientēta programmēšana, TinyOS]&lt;br /&gt;
* [https://www.dropbox.com/s/jalyp6jxv7b2ja6/12_prog-abstractions.pdf?raw=1 Programmēšanas abstrakcijas BST, Mate]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Iesniegt: [[#MD_Routing|MD_Routing]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Uzdots: [[#MD_Proj|MD_Proj]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====15.04.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;KD1&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vidus semestra kontroldarbs KD1. Pieejams eStudijās.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====22.04.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Projektu tēmas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Diskusija par projektu tēmām.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Use case&amp;quot; - par projektiem infekcijas risku mazināšanai.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====29.04.26====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Datu vizualizācija un analīze&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Datu vizualizācija un analīze.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====06.05.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Datu analīze, prakse&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://www.anaconda.com/ Anaconda platforma] datu zinātnei.&lt;br /&gt;
* [https://jupyter.org/ Jupyter Notebook] - vide mazām programmām Python un datu analīzei.&lt;br /&gt;
* [https://www.dataquest.io/blog/jupyter-notebook-tips-tricks-shortcuts/ Jupyter triki]&lt;br /&gt;
&lt;br /&gt;
* [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6480280/ Wireless Sensor Networks for Big Data Systems]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš: [[#MD_Proj|MD_Proj]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Projektu statuss&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====13.05.26====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Drošība un privātums&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://www.dropbox.com/scl/fi/5xkeow5yuaxobewhwrntr/13_security-privacy_v2.pdf?rlkey=w6papger2tw2to9l3kk7w344y&amp;amp;st=1sxvon1n&amp;amp;dl=1 Slaidi]&lt;br /&gt;
* Videolekcija e-studijās.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://cert.lv/lv CERT.lv] - IT drošības incidentu novēršanas institūcija Latvijā.&lt;br /&gt;
* [https://www.thalesgroup.com/en/markets/digital-identity-and-security/iot/magazine/internet-threats IoT Security Issues in 2021: a Business Perspective]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Projekta statusa ziņojumi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====20.05.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Enerģijas ieguve no vides&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/lro0ncpw570neej/15_energy-harvesting.pdf?raw=1 Slaidi]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Projekta statusa ziņojumi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====27.05.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Kopsavilkums&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/qf5yd5toylks4zf/L99_Summary.pdf?raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Projektu statusa ziņojumi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====xx.06.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Eksāmena sākums: xx:xx&lt;br /&gt;
Eksāmena vieta: xxx. aud.&lt;br /&gt;
&lt;br /&gt;
Eksāmena (projekta) rezultāti iesūtāmi e-studijās kā PROJ, tai skaitā:&lt;br /&gt;
* apraksts.pdf - apraksts: problēma, risinājumi, jūsu risinājums, rezultāti un pieredze izstrādājot un testējot projektu. Fails PDF formātā.&lt;br /&gt;
* plakāts.pdf - plakāts par projektu. Fails PDF formātā.&lt;br /&gt;
* Saite uz demonstrācijas video, ja tāds ir.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Iesniegt projekta rezultātus e-studijās.&lt;br /&gt;
* Prezentācija klātienē.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- TESTBED&lt;br /&gt;
=====================================&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;BST Testbed&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
EDI BST [[#Testbed | Testbed apraksts un lietojums]].&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Uzdots: [[#MD_Testbed|MD_Testbed-P1]] - Testbed P1 uzdevums&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
=====================================&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Testbed&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Testbed prakse&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
=====================================&lt;br /&gt;
* Termiņš: [https://doodle.com/poll/627utpttbvqiypue?utm_source=poll&amp;amp;utm_medium=link Pieteikt grupas MD_Testbed uzdevumiem]&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš: [[#MD_Testbed|MD_Testbed-P1]] - Testbed P1 uzdevums&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš: [[#MD_Testbed|MD_Testbed]] - Visi uzdevumi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Uzdevumi =&lt;br /&gt;
== Praktiskie darbi ==&lt;br /&gt;
Praktiskajos darbos būs lietojama [https://github.com/edi-riga/MansOS/wiki MansOS operētājsistēma].&lt;br /&gt;
* Īss apraksts un pamācības pieejamas [https://github.com/edi-riga/MansOS/wiki MansOS wiki].&lt;br /&gt;
&amp;lt;!--https://github.com/IECS/MansOS--&amp;gt;&lt;br /&gt;
Praktisko darbu risinājumi iesūtāmi e-studijās.&lt;br /&gt;
&lt;br /&gt;
===PD1===&lt;br /&gt;
&amp;quot;SOS&amp;quot; morzes ābecē izvadīts uz motes LED&lt;br /&gt;
* E-studijās iesūtīt C programmas kodu.&lt;br /&gt;
&lt;br /&gt;
===PD2===&lt;br /&gt;
Hello World -&amp;gt; no motes uz termināla&lt;br /&gt;
&lt;br /&gt;
===PD3===&lt;br /&gt;
Gaismas sensora lasījums uz termināla&lt;br /&gt;
&lt;br /&gt;
===PD4===&lt;br /&gt;
Darbs grupā pa divi.&lt;br /&gt;
&lt;br /&gt;
Gaismas sensora lasījums pārraidīts ar radio un saņemts uz citas motes un izvadīts uz termināla.&lt;br /&gt;
&lt;br /&gt;
Risinājumam jābūt noturīgam pret citiem raidītājiem šajā pašā radio kanālā. Jāparāda tikai sava risinājuma sūtītās ziņas.&lt;br /&gt;
&lt;br /&gt;
Iesūtīt pirmkodu, kā arī failu apraksts.pdf ar testu rezultātiem un to aprakstu.&lt;br /&gt;
&lt;br /&gt;
===PD5===&lt;br /&gt;
Darbs grupā pa divi.&lt;br /&gt;
&lt;br /&gt;
Noteikt radio raidīšanas attālumu TmoteSky motēm.&lt;br /&gt;
* Izveidot raidītāja programmu un uztvērēja programmu. &lt;br /&gt;
* Pārvietot motes dažādos attālumos un novērtēt, cik datu pakas tiek saņemtas.&lt;br /&gt;
* Izvērtēt, kāda ietekme ir motes savstarpējai orientācijai starp raidītāju un uztvērēju.&lt;br /&gt;
* Aprakstīt rezultātus un iesniegt PDF dokumentā apraksts.pdf, e-studijās, kā PD5.&lt;br /&gt;
&lt;br /&gt;
===PD6===&lt;br /&gt;
Darbs grupā pa diviem vai trijiem studentiem.&lt;br /&gt;
&lt;br /&gt;
Realizēt &amp;quot;Multihop&amp;quot; tīklu ar TmoteSky motēm.&lt;br /&gt;
* Izveidot programmatūru trīs dažādu sensoru mezglu tipiem, attiecīgos pirmkoda failos:&lt;br /&gt;
*# sensor.c - Sensors - nolasa gaismas sensora vērtību un nosūta pa radio Releja tipa motei.&lt;br /&gt;
*# relay.c - Relejs - mote, kas saņem datus no sensoriem un pārsūta tālāk citām motēm (Relejiem un Vārtejām).&lt;br /&gt;
*# gateway.c - Vārteja - mote, kas saņem radio datus un pārsūta tos uz seriālo portu (USB).&lt;br /&gt;
&lt;br /&gt;
* Katram mezglam (motei) ir unikāls ID. Izdomāt, kā to panākt.&lt;br /&gt;
* Tīklā jābūt vismaz vienam relejam, bet var būt vairāki, lai realizētu garāku komunikācijas ķēdi.&lt;br /&gt;
* Tīklā var būt vairāki Sensoru mezgli. &lt;br /&gt;
* Tīklā ir tikai viena vārteja.&lt;br /&gt;
* Relejam jāignorē tās ziņas, ko tas jau ir kādreiz sūtījis. Šo var realizēt ar motes identifikatora un/vai ziņas kārtas numura iekļaušanu sūtāmajā datu pakā. Tad, piemēram, mote var ignorēt vecākas datu pakas nekā pēdējā, ko tā ir sūtījusi.&lt;br /&gt;
* Vārtejai katra datu paka jānosūta pa USB tikai vienreiz. Ja tā, piemēram, saņem to pašu datu paku atkārtoti, piemēram, no cita Releja, tai tā jāignorē.&lt;br /&gt;
&lt;br /&gt;
* Aprakstīt rezultātus un iesniegt PDF dokumentā apraksts.pdf, e-studijās, kā PD6. Iesniegt arī programmatūras kodu.&lt;br /&gt;
&lt;br /&gt;
==Mājas darbi==&lt;br /&gt;
===MD_Routing===&lt;br /&gt;
Izstrādāt un aprakstīt maršrutizācijas algoritmu, kas atbilst prasībām &lt;br /&gt;
[https://www.dropbox.com/s/yakqcy9e8322tbf/BST_routing_MD.pdf?raw=1 šajos slaidos]&lt;br /&gt;
&lt;br /&gt;
* Aprakstīt izveidoto maršrutizācijas protokolu.&lt;br /&gt;
* Aprakstīt protokola veiktspējas novērtējumu.&lt;br /&gt;
* Sniegt piemēru, kā tas darbojas slaidos dotajā situācijā.&lt;br /&gt;
* Risinājumu iesniegt PDF dokumentā, e-studijās.&lt;br /&gt;
&lt;br /&gt;
===MD1===&lt;br /&gt;
[[#PD5 | PD5]] rezultāti - Izvērtēt sensoru mezglu komunikāciju veiktspēju atkarībā no distances.&lt;br /&gt;
&lt;br /&gt;
Gadījumā, ja jums neizdevās savākt savus datus, tad analīzei var lietot šos, ar attiecīgu atsauci:&lt;br /&gt;
* [https://www.dropbox.com/s/gd434p1wkgcq9gz/merijumi_veldre_kniss.xlsx?dl=1 | Dati1 (excel)] (Rainers, Juris)&lt;br /&gt;
* [https://www.dropbox.com/s/h679d2y84svixs1/BST_PD05_DATA_Audris.zip?dl=1 | Dati2 (zip)] (Audris, Madara)&lt;br /&gt;
&lt;br /&gt;
===MD3===&lt;br /&gt;
Izstrādāt un aprakstīt virtuālas mašīnas valodu bezvadu sensoru mezgliem, līdzīgi kā &lt;br /&gt;
[https://www.dropbox.com/s/pw8hl4zbsbgek65/L09b_prog-abstractions.pdf?raw=1 Mate lekcijas slaidos]. &lt;br /&gt;
&lt;br /&gt;
Aprakstā jāiekļauj: &lt;br /&gt;
* Valodas komandas, arhitektūra, pieņēmumi&lt;br /&gt;
* Komandu kodējums (pa bitiem), komandu tipi vai klases.&lt;br /&gt;
* Divi piemēri programmām, kas kodēti jūsu valodā.&lt;br /&gt;
* Ar ko jūsu risinājums atšķiras no Mate un kādos gadījumos tam ir priekšrocības.&lt;br /&gt;
&lt;br /&gt;
===MD_Proj===&lt;br /&gt;
====Kursa projekta pieteikums====&lt;br /&gt;
&lt;br /&gt;
=====Īss apraksts=====&lt;br /&gt;
&lt;br /&gt;
Izstrādāt projekta pieteikumu, kurā aprakstīt:&lt;br /&gt;
* Problēmu, ko risināsiet ar bezvadu sensoru tīklu palīdzību&lt;br /&gt;
* Motivāciju, kāpēc problēma jārisina&lt;br /&gt;
* Esošos risinājumus šai problēmai vai līdzīgām problēmām&lt;br /&gt;
* Kas nepieciešams jūsu risinājumam: tehnoloģijas, aparatūra&lt;br /&gt;
* Termiņi katrai nedēļai: kas tiks veikts līdz šiem termiņiem projekta izstrādes gaitā.&lt;br /&gt;
&lt;br /&gt;
Aprakstu organizēt kā slaidus, lai ērti prezentēt. Iesniegt aprakstu PDF formātā.&lt;br /&gt;
&lt;br /&gt;
=====Sīkāks apraksts=====&lt;br /&gt;
&lt;br /&gt;
Šoreiz nekas nav jāprogrammē. Bet gan jāuzraksta sava kursa projekta īss apraksts kā slaidu prezentācija un jāiesniedz PDF formātā. Kursa projekta pieteikumu vajadzēs prezentēt lekcijas laikā, katra komanda pastāstīs pārējiem par sava kursa projekta ideju, izveidosim īsu diskusiju.&lt;br /&gt;
&lt;br /&gt;
Obligātās dokumenta nodaļas:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Projekta tēma&amp;#039;&amp;#039;&amp;#039;. Kas ir Jūsu projekts, ko Jūs izstrādāsiet. Šeit var pietikt ar vienu vai dažiem teikumiem&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Projekta komanda&amp;#039;&amp;#039;&amp;#039;, īpaši ja nepieciešams vairāk par vienu dalībnieku. Kas piedalās, kādas lomas katrs izpilda (kurš ko programmēs, kurš projektēs, kurš testēs utt)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Motivācija&amp;#039;&amp;#039;&amp;#039;. Kāpēc Jūs šādu projektu taisāt. Kāds no tā varētu būt labums Jums un pārējiem apkārtējiem cilvēkiem, dabai.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Jūsu pieeja un arhitektūra&amp;#039;&amp;#039;&amp;#039;. Kā realizēsiet projektu. Kāda būs izmantotā aparatūra. Kāda programmatūra. Kāda būs tīkla struktūra. Šeit labi iederas sistēmas arhitektūras bildes, shematiski attēlojumi. Svarīgi norādīt arī nepieciešamo aparatūru, tai skaitā, kādi sensori nepieciešami projekta realizēšanai. Lai varam sākt meklēt nepieciešamos sensorus, motes. Tiek sagaidīts, ka šī ir saturīgākā projekta apraksta daļa.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Sagaidāmais rezultāts&amp;#039;&amp;#039;&amp;#039;. Cik daudz no savas projekta idejas plānojat šī semestra laikā realizēt. Kādus testus veikt. Kā novērtēsit rezultātus.&lt;br /&gt;
&lt;br /&gt;
Papildus tēmas:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kas šajā tēmā pasaulē ir jau izdarīts&amp;#039;&amp;#039;&amp;#039;. Bakalaura studentiem netiek prasīts izdarīt kaut ko universālu, kas pasaulē vēl neeksistē. Tai pat laikā, ir ļoti vēlams, ka veicat izpēti, par to, kas pasaulē Jūsu tēmā ir jau izpildīts. Kaut vai tāpēc, lai izvēlētos labāko risinājumu, lai nav pašiem jāizdomā no nulles&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Idealizācija&amp;#039;&amp;#039;&amp;#039;. Šī projekta ietvaros netiek prasīts, lai Jūs uzbūvējat vispasaules sensoru tīklu ar Google mēroga infrastruktūru. Bet, ja tas būtu iespējams - ko ar Jūsu sensoru tīklu varētu izdarīt? T.i., padomājiet pāri sava viena semestra robežām!&lt;br /&gt;
&lt;br /&gt;
===MD_Testbed===&lt;br /&gt;
Uzdevuma veikšana EDI testbed platformā (Testbed).&lt;br /&gt;
&lt;br /&gt;
Pieslēguma informācija Testbed platformai tiks paziņota individuāli, lekcijā un/vai e-studijās.&lt;br /&gt;
&lt;br /&gt;
Uzdevums ir ievākt informāciju no Testbed sensoriem kas atrodas uz jums izdalītajiem Testbed sensoru mezgliem pēc iespējas ilgāku laika posmu, vismaz 24 stundas, un attēlot datus grafiski. Sīkāks uzdevumu apraksts seko.&lt;br /&gt;
&lt;br /&gt;
====Programma P1====&lt;br /&gt;
Programmas P1 mērķis ir pārbaudīt Testbed darbību un nolasīt log failos saglabātos datus.&lt;br /&gt;
&lt;br /&gt;
* Pieslēgties Testbed &lt;br /&gt;
* Pārbaudīt jums izdalīto sensoru mezglu darbību izveidojot vienkāršu programmu &amp;lt;code&amp;gt;P1.c&amp;lt;/code&amp;gt; kas sūta skaitļus no 1 līdz 100 ar vienas sekundes intervālu uz seriālo portu. Skaitļus sūtīt kā simbolu virkni salasāmā tekstā, piemēram &amp;quot;17&amp;quot;.&lt;br /&gt;
* Darbināt P1 uz visiem sensoru mezgliem vienlaicīgi. Darbināt eksperimentu 10min. Saglabāt Log failus.&lt;br /&gt;
* Novērtēt rezultātus. Piemēram, vai visi sensori darbojās vienlīdz ātri?&lt;br /&gt;
&lt;br /&gt;
====Programma P2====&lt;br /&gt;
Programmas P2 mērķis ir ievākt sensoru datus ilgākā laika posmā.&lt;br /&gt;
&lt;br /&gt;
* Izveidot programmu &amp;lt;code&amp;gt;P2.c&amp;lt;/code&amp;gt; kas reizi 10 sekundēs nolasa sensoru vērtības. &lt;br /&gt;
* Lasāmie sensori ir: Gaismas sensors, temperatūra un gaisa mitrums.&lt;br /&gt;
* Darbināt P2 24 stundas un saglabāt datus Log failos.&lt;br /&gt;
* Analizēt sensoru datus. Uzzīmēt datus grafikā ar x kā laika asi un y kā mērījumu asi. Izdarīt secinājumus.&lt;br /&gt;
&lt;br /&gt;
====Programma P3====&lt;br /&gt;
Programmas P3 mērķis ir novērtēt komunikāciju iespējas Testbed vidē.&lt;br /&gt;
&lt;br /&gt;
* Izveidot programmu &amp;lt;code&amp;gt;P3_send.c&amp;lt;/code&amp;gt;, kas sūta 300 ziņas visiem citiem mezgliem ik pa 100 milisekundēm. Katrā ziņā iekļaut tās kārtas numuru. Datos iekļaut arī savu identifikatoru, lai saņemošais klients var atpazīt datu pakas tipu un mērķi.&lt;br /&gt;
* Izveidot programmu &amp;lt;code&amp;gt;P3_receive.c&amp;lt;/code&amp;gt;, kas saņem ziņas pa radio no citiem mezgliem un pieraksta RSSI vērtības atmiņas buferī. Kad visas atsūtītas, eksportēt datus uz log failu caur seriālo portu.&lt;br /&gt;
* Darbināt P3_send uz viena mezgla un P3_receive uz pārējiem. Saglabāt datus log failā.&lt;br /&gt;
* Atkārtot iepriekšējo eksperimentu tā, lai datu būtu sūtīti no visiem mezgliem.&lt;br /&gt;
* Rezultātā jums jābūt datiem kas apraksta komunikāciju starp jebkuriem diviem mezgliem.&lt;br /&gt;
* Rezultātu analīzē parādiet kā RSSI mainās laikā starp visiem mezgliem. Bez tam, izveidojiet tabulu vai grafu kurā novērtējiet komunikāciju/ saņemtā signāla stiprumu starp visiem mezgliem. Atcerieties, ka saites var būt arī asimetriskas, piemēram, mezgls A &amp;quot;dzird&amp;quot; mezglu B labāk nekā B &amp;quot;dzird&amp;quot; A.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Piezīmes&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Ņemiet vērā, ka var gadīties, ka dažas ziņas mezgli var nesaņemt trokšņu vai citu iemeslu dēļ. Datos tas ir jāredz. Tāpēc saglabājot RSSI jāņem vērā arī saņemtās ziņas kārtas numurs, ko tā sūtīja.&lt;br /&gt;
* Saņemtos RSSI rādījumus jums jāglabā atmiņā, lai tie aizņemtu pēc iespējas mazāk vietas. Sūtot tos uz reizi pa seriālo portu jums var nepietikt laika saņemt visas ziņas. Tāpēc ieteicams datus saglabāt ar seriālo portu tikai pēc tam kad eksperiments beidzies - pēdēja ziņa saņemta (vai nav pienākusi, bet laiks pagājis).&lt;br /&gt;
&lt;br /&gt;
====Iesniegšana====&lt;br /&gt;
Iesniegt rezultātus visiem uzdevumiem e-studijās kā MD_Testbed. &lt;br /&gt;
Tai skaitā, katram uzdevumam P&amp;#039;&amp;#039;X&amp;#039;&amp;#039;, kur &amp;#039;&amp;#039;X&amp;#039;&amp;#039; ir 1, 2 un 3:&lt;br /&gt;
&lt;br /&gt;
* Katram uzdevumam P1, P2 un P3 izveidot direktoriju ar attiecīgu vārdu. Šajās direktorijās izvietot attiecīgo uzdevumu pirmkoda, datu un apraksta failus.&lt;br /&gt;
* Iekopēt direktorijās visu pirmkodu un ievākto datu failus&lt;br /&gt;
* Analīzes rezultātus aprakstīt un grafikus attēlot PDF failā ar nosaukumu P&amp;#039;&amp;#039;X&amp;#039;&amp;#039;.pdf&lt;br /&gt;
* Neaizmirstiet aprakstā norādīt darba autorus un ko katrs darījis, kā arī katra dalībnieka procentuālo ieguldījumu no komandas darba.&lt;br /&gt;
* Visus failus arhivēt kā zip failu un saukt BST_MD_Testbed_Vards_Uzvards.zip, kur, protams, lietots &amp;#039;&amp;#039;jūsu&amp;#039;&amp;#039; vārds un uzvārds.&lt;br /&gt;
* Zip fails jāiesūta e-studijās VISIEM komandas dalībniekiem.&lt;br /&gt;
&lt;br /&gt;
=Testbed=&lt;br /&gt;
&lt;br /&gt;
EDI BST testa vides piekļuve un lietošana.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://docs.google.com/presentation/d/1Qy32wqh3W4ki808hN_FUTMHURcO1F6St3nwovtZLLNQ/edit?usp=sharing Lietošanas pamācība]&lt;br /&gt;
* [https://www.edi.lv/testbed EDI Testbed] portāls&lt;br /&gt;
* Testbed CLI komandu [https://www.dropbox.com/s/gse78nkox8eo523/EDI%20TestBed%20CLI%20cheat%20sheet%202021.pdf?raw=1 Cheatsheet]&lt;br /&gt;
* [https://www.dropbox.com/s/efsx8380cy4y366/EDI_TestBed_CLI_intro_2021.pdf?raw=1 EDI Testbed Prezentācija]&lt;br /&gt;
* Demonstrācijas video pieejams eStudijās&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CLI klientu programmatūra&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
** [https://makonis.edi.lv/s/PtomG54z8i7ozJp Linux]&lt;br /&gt;
** [https://makonis.edi.lv/s/bBAzoknjX23WfPS Windows]&lt;br /&gt;
&lt;br /&gt;
Publikācijas&lt;br /&gt;
* [https://www.researchgate.net/publication/236735509_Wireless_Sensor_Network_Testbeds_A_Survey Wireless Sensor Network Testbeds: A Survey]&lt;br /&gt;
&lt;br /&gt;
= Resursi =&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/edi-riga/MansOS/wiki &amp;#039;&amp;#039;&amp;#039;MansOS&amp;#039;&amp;#039;&amp;#039; operētājsistēma]&lt;br /&gt;
** [[MansOS msp430 procesora rīku instalācija ar Docker]]&lt;br /&gt;
&lt;br /&gt;
* [http://www.catb.org/esr/structure-packing/ The Lost Art of Structure Packing]&lt;br /&gt;
* Grāmata: [https://ptolemy.berkeley.edu/books/leeseshia/ Introduction to Embedded Systems - A Cyber-Physical Systems Approach]&lt;br /&gt;
* [[LU::poster-howto | Ieteikumi plakātu prezentāciju veidošanā]]&lt;br /&gt;
&lt;br /&gt;
* [https://towardsdatascience.com/top-30-data-science-interview-questions-7dd9a96d3f5c Datu zinātne] - 30 intervijas jautājumi&lt;br /&gt;
&lt;br /&gt;
* [https://google.github.io/mediapipe/ Mediapipe] - attēlu apsrādes bibliotēka&lt;br /&gt;
&lt;br /&gt;
== Aparatūra, sensori ==&lt;br /&gt;
* [[DiLab_resursi]] - LU pieejamie sensori un aparatūra&lt;br /&gt;
&lt;br /&gt;
== Saites ==&lt;br /&gt;
* [[LU-BST:links | Bezvadu sensoru tīklu saites]]&lt;br /&gt;
* [https://www.sqimway.com/index.html Bezvadu komunikācijas veidi un frekvences]&lt;br /&gt;
* [http://ss64.com/bash Linux komandu rokasgrāmata]. Komandas, kas mums būs noderīgas: cd, ls, cp, mv, mkdir, df, echo, export, find, grep, less, nano, make, man, ping, rm, ifconfig.&lt;br /&gt;
* [[LU-BST:SwissQM | Kā piedarbināt SwissQM virtuālo mašīnu sensoru tīkliem]] (Paldies Kārlim Visendorfam par aprakstu!)&lt;br /&gt;
* [https://www.ibr.cs.tu-bs.de/dus/publications/spots2006.pdf uPart mote un tās īpašības]&lt;br /&gt;
&lt;br /&gt;
== Interesanti ==&lt;br /&gt;
* [https://www.sparkfun.com/news/6147 Hedy Lamarr and Frequency Hopping Technology] - Holivudas aktrise un FH patenta autore.&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=LU-DSP-b&amp;diff=11200</id>
		<title>LU-DSP-b</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=LU-DSP-b&amp;diff=11200"/>
		<updated>2026-02-17T20:41:34Z</updated>

		<summary type="html">&lt;p&gt;Leo: /* 18.02.26 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;big&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Īssaites:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[#Kalendārs | Kalendārs]] | &lt;br /&gt;
[[#Uzdevumi | Uzdevumi]] | &lt;br /&gt;
[[#Resursi | Resursi]] | &lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}}]] : &lt;br /&gt;
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}}]]&lt;br /&gt;
(ja ir lekcija)&lt;br /&gt;
&lt;br /&gt;
=Digitālā (ciparu) signālu apstrāde=&lt;br /&gt;
LU DF bakalauru kurss.&lt;br /&gt;
&lt;br /&gt;
* Pasniedzējs Leo Seļāvo [vards.uzvards @gmail.com].&lt;br /&gt;
&lt;br /&gt;
====Mērķi====&lt;br /&gt;
* Iepazīties ar Digitālās Signālu Apstrādes pielietojumiem un principiem. Praktiskas darbības ar signālu apstrādi. Sistēmu Matlab un Octave iepazīšana un programmēšana tajās.&lt;br /&gt;
&lt;br /&gt;
====Motivācija====&lt;br /&gt;
&amp;quot;Think how electronics has changed the world in the last 50 years. DSP will have the same role over the next 50 years. Learn it or be left behind!&amp;quot; - Steve Smith, autors &amp;quot;DSP Guide&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====Mājas darbi un citi iesniedzamie darbi====&lt;br /&gt;
* Iesniegšanas termiņa laiks nozīmē ka &amp;#039;&amp;#039;&amp;#039;uz šo datumu darbam jābūt jau gatavam&amp;#039;&amp;#039;&amp;#039; un iesniegtam. Tātad jāiesniedz ir &amp;#039;&amp;#039;&amp;#039;līdz IEPRIEKŠĒJĀS dienas beigām&amp;#039;&amp;#039;&amp;#039;, ja netiek noteikts cits termiņš. Piemēram, ja termiņš ir ceturtdiena, tad darbs jāiesniedz pirms tās, tātad līdz trešdienas beigām.&lt;br /&gt;
* Ja darbs tiek iesniegts ar novēlošanos, rezultāts tiek samazināts par 50%. Ja darbs iesniegts vairāk kā nedēļu pēc termiņa, &amp;#039;&amp;#039;&amp;#039;pasniedzējs darbu var nepieņemt&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
* Darbi iesniedzami elektroniski, E-studijās, izņemot ja prasīts cits iesniegšanas veids.&lt;br /&gt;
* Teksts noformējams PDF faila formātā. Piemēram MD2 fails būtu sekojošs: &amp;#039;&amp;#039;&amp;#039;DSP_MD2_Vards_Uzvards.pdf&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Ja iesniedzami vairāk par vienu failu, tie arhivējami ZIP formātā, sekojoši: &amp;#039;&amp;#039;&amp;#039;DSP_MD2_Vards_Uzvards.zip&amp;#039;&amp;#039;&amp;#039; Atspiežot šo failu tam jārada direktorija ar tādu pašu nosaukumu, kur atrodas visi faili.&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
* E-pasta Subj. ir sekojošs: &amp;quot;&amp;#039;&amp;#039;&amp;#039;DSP MD1 Vards Uzvards&amp;#039;&amp;#039;&amp;#039;&amp;quot; - piemērs pirmajam mājasdarbam. Vārds uzvārds rakstāmi latīņu burtiem - bez garumzīmēm un tml.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Vērtējums kursā====&lt;br /&gt;
Kursa galējais vērtējums sastāv no sekojošām komponentēm:&lt;br /&gt;
* 10% - dalība lekcijās un diskusijās&lt;br /&gt;
* 20% - mājas darbi, praktiskie darbi un testi&lt;br /&gt;
* 20+20% - divi kontroldarbi semestra vidū&lt;br /&gt;
* 30% - rakstisks gala eksāmens&lt;br /&gt;
* Obligāta kursa aptaujas anketas aizpildīšana LUIS sistēmā&lt;br /&gt;
&lt;br /&gt;
{{DarbuKavejumi}}&lt;br /&gt;
&lt;br /&gt;
=Kalendārs=&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4 style = &amp;#039;border-color: #ddd;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
! Datums&lt;br /&gt;
! Tēma, saturs&lt;br /&gt;
! Uzdevumi&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
==== 04.02.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Digitālā signālu apstrāde, ievads.&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DSP (Digital Signal Processing) ievadlekcija. DSP definīcija un pielietojumi.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://youtu.be/d3gj0t4ddPE Ievadlekcijas video ieraksts]&lt;br /&gt;
* [http://www.dspguide.com/pdfbook.htm DSPGuide grāmatā] 1. nodaļa.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 11.02.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Statistika, varbūtība, trokšņi un gadījumsignāli&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Analogais-ciparu pārveidotājs (ADC jeb ACP modelis) jeb signālu mērīšana (ciparu signāls = signālu diskretizācija + kvantēšana).&lt;br /&gt;
Signālu klasifikācijas un galvenie parametri (vidējā vērtība, vidējā kvadrātiskā vērtība, SNR, enerģija, jauda, min un max vērtība, dinamiskais diapazons u.c.).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.dspguide.com/pdfbook.htm DSPGuide grāmatā] 2-3. nodaļas.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Uzdots [[#MD_Rnd | MD_Rnd]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 18.02.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Matlab un Octave&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Svarīgāko Octave komandu apskats (ar kurām var konstruēt signālapstrādes algoritmus). Praktiskais darbs ar Octave.&lt;br /&gt;
&lt;br /&gt;
* [http://www.octave.org OCTAVE] instalējama Ubuntu sistēmā sekojoši: &lt;br /&gt;
 sudo apt install octave&lt;br /&gt;
* Octave darbināšana&lt;br /&gt;
** grafiskā redaktora režīmā:  &amp;lt;code&amp;gt;octave --gui&amp;lt;/code&amp;gt;&lt;br /&gt;
** terminālī: &amp;lt;code&amp;gt;octave&amp;lt;/code&amp;gt;  vai  &amp;lt;code&amp;gt;octave-cli&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/scl/fi/5ig28rks2jtavtfljybae/L03_Octave_intro.pdf?rlkey=l7kv5v90oseldhe6dj07rqkxd&amp;amp;raw=1 Ievads Octave], slaidi.&lt;br /&gt;
* [https://docs.octave.org/latest/ Octave dokumentācija].&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; [[#MD_Rnd | MD_Rnd]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Uzdots [[#MD_Octave | MD_Octave]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 25.02.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Lineāras sistēmas un signālu klasifikācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Signālu klasifikācija un galvenie parametri (vidējā vērtība, vidējā kvadrātiskā vērtība, SNR, enerģija, jauda, min un max vērtība, dinamiskais diapazons u.c.).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.dspguide.com/CH5.PDF DSPGuide 5. nodaļa]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; [[#MD_Octave | MD_Octave]]&lt;br /&gt;
&lt;br /&gt;
* Uzdots [[#MD_Sys | MD_Sys]] (nav jāiedniedz)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 04.03.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Konvolūcija &amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Konvolūcija un tās īpašības&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.dspguide.com/CH6.PDF 6.nodaļa]&lt;br /&gt;
* [http://www.dspguide.com/CH7.PDF 7.nodaļa]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; [[#MD_Sys | MD_Sys]] (nav jāiesniedz, tiks pārrunāts lekcijā)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 11.03.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
||&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;:  &amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;KD1&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Vidus semestra &amp;#039;&amp;#039;&amp;#039;kontroldarbs KD-1&amp;#039;&amp;#039;&amp;#039;.  &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* 1. - 7. nodaļas no [http://www.dspguide.com/pdfbook.htm DSPGuide grāmatas] un lekcijām.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;KD1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 18.03.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievads digitālajos filtros, &amp;#039;&amp;#039;Moving average&amp;#039;&amp;#039; filtrs&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Digitālie filtri, kustīgā vidējā (moving average) filtrs.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* 14.,15. nodaļas no [http://www.dspguide.com/pdfbook.htm DSPGuide grāmatas] un lekcijām.&lt;br /&gt;
* [https://qr.ae/pNnblQ What does 50dB sound like?]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Uzdots [[#MD_Audio | MD_Audio]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 25.03.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
| &amp;#039;&amp;#039;Attālināti:&amp;#039;&amp;#039; &amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Prakse ar Octave, skaņa&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;E-studijās video lekcija L07.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Praktiskā nodarbība. Izmantojot Octave, konstruēt algoritmu, kas apstrādā audio failu. &lt;br /&gt;
&lt;br /&gt;
* Uzdevumi, Octave vidē&lt;br /&gt;
** Izgriezt 1 sekundi no skaņas&lt;br /&gt;
** Nospēlēt oktāvu, kur katra nots ir 0.5 sekundes ilga&lt;br /&gt;
** Atskaņot skaņu kas sastāv no 3 sinusoīdām ar maināmu frekvenci un amplitūdu&lt;br /&gt;
** Piemērot ADSR skaņas avotam, piemēram, sinusoīdai&lt;br /&gt;
** Izveidot savu sintētiskās skaņas instrumentu&lt;br /&gt;
&lt;br /&gt;
Resursi:&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Envelope_%28music%29 Envelope, ADSR]&lt;br /&gt;
* [http://digitalsoundandmusic.com/chapters/ch6/ Digital Sound and Music] - Skaņas sintēze - 6.1.7&lt;br /&gt;
&amp;lt;!-- * [https://mybudgetstudio.com/what-is-sound-envelope-adsr-explained-with-example Envelope, ADSR] (depreciated) --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Skaņas faili:&lt;br /&gt;
** [https://www.dropbox.com/s/34ait9wo4b1j1ld/test1.ogg?dl=1 test1.ogg] [https://www.dropbox.com/s/v8wyoidysq94nsh/test1.wav?dl=1 .wav]&lt;br /&gt;
** [https://www.dropbox.com/s/n7k971ppe1zfq9o/test2.ogg?dl=1 test2.ogg] [https://www.dropbox.com/s/vpr9dbd7famcjjk/test2.wav?dl=1 .wav]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots [[#MD_Synth | MD_Synth]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 8.04.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Audio signāli&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Audio uztvere in apstrāde&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.dspguide.com/pdfbook.htm DSPGuide 22. nodaļa]&lt;br /&gt;
* [https://youtu.be/Sn07AMCfaAI?si=Qh0gq93xCC6fzB3z Par skaņas ilūzijām] (Veritasium video)&lt;br /&gt;
* [https://cmtext.indiana.edu/acoustics/chapter1_amplitude.php Ievads dator-muzikā] - no Indiānas Universitātes.&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; [[#MD_Audio | MD_Audio]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 15.04.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Attēlu signāli&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Attēlu uztvere un apstrāde&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.dspguide.com/pdfbook.htm DSPGuide 23., 24., 25. nodaļas]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; [[#MD_Synth | MD_Synth]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
==== 22.04.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Prakse ar Octave, attēli&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Speciāla attēlu apstrāde.&lt;br /&gt;
&lt;br /&gt;
Praktiskā nodarbība.&lt;br /&gt;
Attēlu apstrāde.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots [[#MD_Image | MD_Image]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 29.04.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;KD2&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Vidus semestra kontroldarbs KD2&lt;br /&gt;
* Praktisku uzdevumu risināšana ar Octave.&lt;br /&gt;
* Audio un attēlu apstrāde.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;KD2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 6.05.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Furjē transformācija. Diskrētā Furjē transformācija &amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[#Furjē_transformācija | Video materiāls]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.dspguide.com/CH8.PDF DSPGuide 8. nodaļa]&lt;br /&gt;
* [https://qr.ae/pGpaXf Kā saprast Futjē transformāciju] (Quora)&lt;br /&gt;
* [https://youtu.be/h7apO7q16V0 FFT] un idejas uz ko FFT balstās.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; [[#MD_Image | MD_Image]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 13.05.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;FIR un IIR&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rekursīvie filtri. FIR un IIR signālu filtri.&lt;br /&gt;
Signālu filtrācija frekvenču apgabalā.&lt;br /&gt;
&lt;br /&gt;
Pratiskais darbs: Izmantojot Octave, izveidot Short-time DFT jeb spektrogrammu runas signālam. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.dspguide.com/CH17.PDF DSPGuide 17. nodaļa] - Custom filters&lt;br /&gt;
* [http://www.dspguide.com/CH19.PDF DSPGuide 19. nodaļa] - Recursive filters&lt;br /&gt;
&lt;br /&gt;
* [https://www.youtube.com/watch?v=NvRKtdrssFA Intro to FIR]&lt;br /&gt;
* [https://www.youtube.com/watch?v=uNNNj9AZisM&amp;amp;ab_channel=Phil%E2%80%99sLab FIR Filter Design] (Phil&amp;#039;s Lab)&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 20.05.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Filtru salīdzinājums&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.dspguide.com/CH21.PDF DSPGuide 21. nodaļa - filtru salīdzinājums]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 27.05.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Kopsavilkums&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Visas līdz šim kursā apskatītās nodaļas no [http://www.dspguide.com/pdfbook.htm DSPGuide grāmatas] un lekcijām.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 27.05.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:Laiks: 08:30&lt;br /&gt;
:Vieta: Kursa lekciju telpa   &amp;lt;!--E-studijas un tiešsaiste.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Uzdevumi=&lt;br /&gt;
==MD_Rnd==&lt;br /&gt;
Analizēt nejaušu skaitļu (RND) un to summas histogrammu sekojošiem gadījumiem:&lt;br /&gt;
# RND&lt;br /&gt;
# RND + RND&lt;br /&gt;
# RND + RND + RND + RND&lt;br /&gt;
Pētījumu veikt vismaz 100000 nejaušiem skaitļiem.&lt;br /&gt;
&lt;br /&gt;
Ar RND saprotam funkciju, kas katrā izsaukumā atgriež nejaušu skaitli no 0 līdz 1.0.&lt;br /&gt;
&lt;br /&gt;
Katram no iepriekš minētajiem gadījumiem uzrakstīt programmu, kas izrēķina un uzzīmē histogrammu. &lt;br /&gt;
&lt;br /&gt;
Programmu ieteicams rakstīt [https://www.gnu.org/software/octave/index Octave] vidē, &lt;br /&gt;
bet šoreiz atļauts arī kādā citā jums pazīstamā valodā.&lt;br /&gt;
&lt;br /&gt;
E-studijās kā MD1 iesniegt PDF failu ar risinājumu, kurā katram no gadījumiem doti:&lt;br /&gt;
* Programma, kas ģenerē histogrammu&lt;br /&gt;
* Histogramma&lt;br /&gt;
* Secinājumi, kas sanāca, un kāpēc tā.&lt;br /&gt;
&lt;br /&gt;
==MD_Sys==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mērķis&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
Treniņš lineāru un laika invariantu sistēmu atpazīšanā un pierādīšanā.&lt;br /&gt;
&lt;br /&gt;
====Uzdevums====&lt;br /&gt;
# Pierādīt, ka sekojošas sistēmas ir (vai nav) lineāras. &lt;br /&gt;
# Pierādīt, ka sekojošas sistēmas ir (vai nav) laika invariantas.&lt;br /&gt;
&lt;br /&gt;
* y[n] = x[n] + 3&lt;br /&gt;
* y[n] = x[n] * x[n]&lt;br /&gt;
* y[n] = x[n] + x[n + 1]&lt;br /&gt;
&lt;br /&gt;
Šis uzdevums paredzēts treniņam, un nav obligāti jāiesniedz.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
====Iesniegšana====&lt;br /&gt;
Risinājums jāiesniedz e-Studijās kā PDF fails sadaļā MD_Sys.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MD_Octave==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mērķis&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
Apgūt un praktizēties Octave vides un valodas lietošanā.&lt;br /&gt;
&lt;br /&gt;
Pieejams e-studijās&lt;br /&gt;
&lt;br /&gt;
==MD_Audio==&lt;br /&gt;
Izmantojot Octave, konstruēt algoritmu, kas izgriež pauzes runas signālam. &lt;br /&gt;
&lt;br /&gt;
Pieejams e-studijās&lt;br /&gt;
&lt;br /&gt;
==MD_Synth==&lt;br /&gt;
Izmantojot Octave, uzrakstīt funkcijas vairākiem skaņas efektiem.&lt;br /&gt;
&lt;br /&gt;
Pieejams e-studijās&lt;br /&gt;
&lt;br /&gt;
==MD_Image==&lt;br /&gt;
Izmantojot Octave, uzrakstīt funkcijas attēlu apstrādei.&lt;br /&gt;
&lt;br /&gt;
Pieejams e-studijās&lt;br /&gt;
&lt;br /&gt;
=Resursi=&lt;br /&gt;
&lt;br /&gt;
== Kursa materiāli ==&lt;br /&gt;
* [http://www.dspguide.com/ DSP Guide] gramata tiešsaistē&lt;br /&gt;
:: &amp;quot;The Scientist and Engineer&amp;#039;s Guide to Digital Signal Processing, copyright ©1997-1998 by Steven W. Smith. For more information visit the book&amp;#039;s website at: www.DSPguide.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Octave ====&lt;br /&gt;
* [https://www.dropbox.com/s/vvw92wtspjqg7ki/refcard-a4.pdf?dl=0 Octave 3.0.0 reference card]&lt;br /&gt;
&lt;br /&gt;
* [https://docs.octave.org/latest/Introduction-to-Function-and-Script-Files.html Intro to function and script files]&lt;br /&gt;
* [https://docs.octave.org/latest/Script-Files.html Sccript files]&lt;br /&gt;
* [https://docs.octave.org/latest/Function-Files.html Function files]&lt;br /&gt;
&lt;br /&gt;
==== Furjē transformācija ====&lt;br /&gt;
* [https://youtu.be/ds0cmAV-Yek Furjē sērija, jebkurš signāls no sinusoīdām]&lt;br /&gt;
* [https://youtu.be/ykNtIbtCR-8 Ievada video]&lt;br /&gt;
* [https://youtu.be/spUNpyF58BY Furjē transformācijas vizualizācija]&lt;br /&gt;
* [https://youtu.be/1JnayXHhjlg lekcija par Inverso FT (1.daļa)]&lt;br /&gt;
* [https://youtu.be/kKu6JDqNma8 lekcija par FT (2.daļa)]&lt;br /&gt;
&lt;br /&gt;
* [https://youtu.be/XtypWS8HZco Ievads FFT, The Cooley-Tukey Algorithm]&lt;br /&gt;
* [https://www.algorithm-archive.org/contents/cooley_tukey/cooley_tukey.html Cooley-Tukey apraksts] (Algoritmu arhīvs)&lt;br /&gt;
&lt;br /&gt;
* [https://www.mathworks.com/help/matlab/ref/fft.html FFT pipemērs Matlab sistēmā]&lt;br /&gt;
* [https://upload.wikimedia.org/wikiversity/en/d/dd/Octave.DFT.1.B.FFT.20170706.pdf FFT piemērs Octave sistēmā]&lt;br /&gt;
&lt;br /&gt;
* [https://youtu.be/r7GdEWDHtbQ Furje transformācija, vizualizācija ar apļiem] (Smarter every day)&lt;br /&gt;
* [https://youtu.be/r6sGWTCMz2k But what is a Fourier series? From heat flow to drawing with circles] (3Blue1Brown)&lt;br /&gt;
&lt;br /&gt;
==== FIR &amp;amp; IIR ====&lt;br /&gt;
* [https://www.youtube.com/watch?v=NvRKtdrssFA Intro to FIR]&lt;br /&gt;
&lt;br /&gt;
==== Citi resursi ====&lt;br /&gt;
* [https://ptolemy.berkeley.edu/eecs20/weekly.html Signals and Systems] - kurss Berkeley universitātē&lt;br /&gt;
* [https://dspillustrations.com/pages/index.html Learning DSP illustrated]&lt;br /&gt;
* [https://brilliant.org/wiki/linear-time-invariant-systems/ Lineāras laika invariantas sistēmas] @Brilliant wiki&lt;br /&gt;
* [https://youtu.be/zMkXxI63_Og Laika invariantas sistēmas] - videolekcija ar pierādījumu piemēriem.&lt;br /&gt;
&lt;br /&gt;
* [https://setosa.io/ev/image-kernels/ Attēlu filtru kodoli] - vizuāls skaidrojums&lt;br /&gt;
&lt;br /&gt;
* [https://mybudgetstudio.com/what-is-sound-envelope-adsr-explained-with-example Envelope, ADSR]&lt;br /&gt;
* [http://digitalsoundandmusic.com/chapters/ch1/ Digital sound and music]&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=LU-DSP-b&amp;diff=11199</id>
		<title>LU-DSP-b</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=LU-DSP-b&amp;diff=11199"/>
		<updated>2026-02-17T20:10:49Z</updated>

		<summary type="html">&lt;p&gt;Leo: /* 18.02.26 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;big&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Īssaites:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[#Kalendārs | Kalendārs]] | &lt;br /&gt;
[[#Uzdevumi | Uzdevumi]] | &lt;br /&gt;
[[#Resursi | Resursi]] | &lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}}]] : &lt;br /&gt;
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}}]]&lt;br /&gt;
(ja ir lekcija)&lt;br /&gt;
&lt;br /&gt;
=Digitālā (ciparu) signālu apstrāde=&lt;br /&gt;
LU DF bakalauru kurss.&lt;br /&gt;
&lt;br /&gt;
* Pasniedzējs Leo Seļāvo [vards.uzvards @gmail.com].&lt;br /&gt;
&lt;br /&gt;
====Mērķi====&lt;br /&gt;
* Iepazīties ar Digitālās Signālu Apstrādes pielietojumiem un principiem. Praktiskas darbības ar signālu apstrādi. Sistēmu Matlab un Octave iepazīšana un programmēšana tajās.&lt;br /&gt;
&lt;br /&gt;
====Motivācija====&lt;br /&gt;
&amp;quot;Think how electronics has changed the world in the last 50 years. DSP will have the same role over the next 50 years. Learn it or be left behind!&amp;quot; - Steve Smith, autors &amp;quot;DSP Guide&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====Mājas darbi un citi iesniedzamie darbi====&lt;br /&gt;
* Iesniegšanas termiņa laiks nozīmē ka &amp;#039;&amp;#039;&amp;#039;uz šo datumu darbam jābūt jau gatavam&amp;#039;&amp;#039;&amp;#039; un iesniegtam. Tātad jāiesniedz ir &amp;#039;&amp;#039;&amp;#039;līdz IEPRIEKŠĒJĀS dienas beigām&amp;#039;&amp;#039;&amp;#039;, ja netiek noteikts cits termiņš. Piemēram, ja termiņš ir ceturtdiena, tad darbs jāiesniedz pirms tās, tātad līdz trešdienas beigām.&lt;br /&gt;
* Ja darbs tiek iesniegts ar novēlošanos, rezultāts tiek samazināts par 50%. Ja darbs iesniegts vairāk kā nedēļu pēc termiņa, &amp;#039;&amp;#039;&amp;#039;pasniedzējs darbu var nepieņemt&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
* Darbi iesniedzami elektroniski, E-studijās, izņemot ja prasīts cits iesniegšanas veids.&lt;br /&gt;
* Teksts noformējams PDF faila formātā. Piemēram MD2 fails būtu sekojošs: &amp;#039;&amp;#039;&amp;#039;DSP_MD2_Vards_Uzvards.pdf&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Ja iesniedzami vairāk par vienu failu, tie arhivējami ZIP formātā, sekojoši: &amp;#039;&amp;#039;&amp;#039;DSP_MD2_Vards_Uzvards.zip&amp;#039;&amp;#039;&amp;#039; Atspiežot šo failu tam jārada direktorija ar tādu pašu nosaukumu, kur atrodas visi faili.&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
* E-pasta Subj. ir sekojošs: &amp;quot;&amp;#039;&amp;#039;&amp;#039;DSP MD1 Vards Uzvards&amp;#039;&amp;#039;&amp;#039;&amp;quot; - piemērs pirmajam mājasdarbam. Vārds uzvārds rakstāmi latīņu burtiem - bez garumzīmēm un tml.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Vērtējums kursā====&lt;br /&gt;
Kursa galējais vērtējums sastāv no sekojošām komponentēm:&lt;br /&gt;
* 10% - dalība lekcijās un diskusijās&lt;br /&gt;
* 20% - mājas darbi, praktiskie darbi un testi&lt;br /&gt;
* 20+20% - divi kontroldarbi semestra vidū&lt;br /&gt;
* 30% - rakstisks gala eksāmens&lt;br /&gt;
* Obligāta kursa aptaujas anketas aizpildīšana LUIS sistēmā&lt;br /&gt;
&lt;br /&gt;
{{DarbuKavejumi}}&lt;br /&gt;
&lt;br /&gt;
=Kalendārs=&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4 style = &amp;#039;border-color: #ddd;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
! Datums&lt;br /&gt;
! Tēma, saturs&lt;br /&gt;
! Uzdevumi&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
==== 04.02.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Digitālā signālu apstrāde, ievads.&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DSP (Digital Signal Processing) ievadlekcija. DSP definīcija un pielietojumi.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://youtu.be/d3gj0t4ddPE Ievadlekcijas video ieraksts]&lt;br /&gt;
* [http://www.dspguide.com/pdfbook.htm DSPGuide grāmatā] 1. nodaļa.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 11.02.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Statistika, varbūtība, trokšņi un gadījumsignāli&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Analogais-ciparu pārveidotājs (ADC jeb ACP modelis) jeb signālu mērīšana (ciparu signāls = signālu diskretizācija + kvantēšana).&lt;br /&gt;
Signālu klasifikācijas un galvenie parametri (vidējā vērtība, vidējā kvadrātiskā vērtība, SNR, enerģija, jauda, min un max vērtība, dinamiskais diapazons u.c.).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.dspguide.com/pdfbook.htm DSPGuide grāmatā] 2-3. nodaļas.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Uzdots [[#MD_Rnd | MD_Rnd]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 18.02.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Matlab un Octave&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Svarīgāko Octave komandu apskats (ar kurām var konstruēt signālapstrādes algoritmus). Praktiskais darbs ar Octave.&lt;br /&gt;
&lt;br /&gt;
* [http://www.octave.org OCTAVE] instalējama Ubuntu sistēmā sekojoši: &lt;br /&gt;
 sudo apt install octave&lt;br /&gt;
* Octave darbināšana&lt;br /&gt;
** grafiskā redaktora režīmā:  &amp;lt;code&amp;gt;octave --gui&amp;lt;/code&amp;gt;&lt;br /&gt;
** terminālī: &amp;lt;code&amp;gt;octave&amp;lt;/code&amp;gt;  vai  &amp;lt;code&amp;gt;octave-cli&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/1f1q8m02gvaoox6/Octave_intro.pdf?raw=1 Ievads Octave], slaidi.&lt;br /&gt;
* [https://docs.octave.org/latest/ Octave dokumentācija].&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; [[#MD_Rnd | MD_Rnd]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Uzdots [[#MD_Octave | MD_Octave]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 25.02.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Lineāras sistēmas un signālu klasifikācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Signālu klasifikācija un galvenie parametri (vidējā vērtība, vidējā kvadrātiskā vērtība, SNR, enerģija, jauda, min un max vērtība, dinamiskais diapazons u.c.).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.dspguide.com/CH5.PDF DSPGuide 5. nodaļa]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; [[#MD_Octave | MD_Octave]]&lt;br /&gt;
&lt;br /&gt;
* Uzdots [[#MD_Sys | MD_Sys]] (nav jāiedniedz)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 04.03.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Konvolūcija &amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Konvolūcija un tās īpašības&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.dspguide.com/CH6.PDF 6.nodaļa]&lt;br /&gt;
* [http://www.dspguide.com/CH7.PDF 7.nodaļa]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; [[#MD_Sys | MD_Sys]] (nav jāiesniedz, tiks pārrunāts lekcijā)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 11.03.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
||&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;:  &amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;KD1&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Vidus semestra &amp;#039;&amp;#039;&amp;#039;kontroldarbs KD-1&amp;#039;&amp;#039;&amp;#039;.  &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* 1. - 7. nodaļas no [http://www.dspguide.com/pdfbook.htm DSPGuide grāmatas] un lekcijām.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;KD1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 18.03.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievads digitālajos filtros, &amp;#039;&amp;#039;Moving average&amp;#039;&amp;#039; filtrs&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Digitālie filtri, kustīgā vidējā (moving average) filtrs.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* 14.,15. nodaļas no [http://www.dspguide.com/pdfbook.htm DSPGuide grāmatas] un lekcijām.&lt;br /&gt;
* [https://qr.ae/pNnblQ What does 50dB sound like?]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Uzdots [[#MD_Audio | MD_Audio]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 25.03.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
| &amp;#039;&amp;#039;Attālināti:&amp;#039;&amp;#039; &amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Prakse ar Octave, skaņa&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;E-studijās video lekcija L07.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Praktiskā nodarbība. Izmantojot Octave, konstruēt algoritmu, kas apstrādā audio failu. &lt;br /&gt;
&lt;br /&gt;
* Uzdevumi, Octave vidē&lt;br /&gt;
** Izgriezt 1 sekundi no skaņas&lt;br /&gt;
** Nospēlēt oktāvu, kur katra nots ir 0.5 sekundes ilga&lt;br /&gt;
** Atskaņot skaņu kas sastāv no 3 sinusoīdām ar maināmu frekvenci un amplitūdu&lt;br /&gt;
** Piemērot ADSR skaņas avotam, piemēram, sinusoīdai&lt;br /&gt;
** Izveidot savu sintētiskās skaņas instrumentu&lt;br /&gt;
&lt;br /&gt;
Resursi:&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Envelope_%28music%29 Envelope, ADSR]&lt;br /&gt;
* [http://digitalsoundandmusic.com/chapters/ch6/ Digital Sound and Music] - Skaņas sintēze - 6.1.7&lt;br /&gt;
&amp;lt;!-- * [https://mybudgetstudio.com/what-is-sound-envelope-adsr-explained-with-example Envelope, ADSR] (depreciated) --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Skaņas faili:&lt;br /&gt;
** [https://www.dropbox.com/s/34ait9wo4b1j1ld/test1.ogg?dl=1 test1.ogg] [https://www.dropbox.com/s/v8wyoidysq94nsh/test1.wav?dl=1 .wav]&lt;br /&gt;
** [https://www.dropbox.com/s/n7k971ppe1zfq9o/test2.ogg?dl=1 test2.ogg] [https://www.dropbox.com/s/vpr9dbd7famcjjk/test2.wav?dl=1 .wav]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots [[#MD_Synth | MD_Synth]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 8.04.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Audio signāli&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Audio uztvere in apstrāde&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.dspguide.com/pdfbook.htm DSPGuide 22. nodaļa]&lt;br /&gt;
* [https://youtu.be/Sn07AMCfaAI?si=Qh0gq93xCC6fzB3z Par skaņas ilūzijām] (Veritasium video)&lt;br /&gt;
* [https://cmtext.indiana.edu/acoustics/chapter1_amplitude.php Ievads dator-muzikā] - no Indiānas Universitātes.&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; [[#MD_Audio | MD_Audio]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 15.04.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Attēlu signāli&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Attēlu uztvere un apstrāde&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.dspguide.com/pdfbook.htm DSPGuide 23., 24., 25. nodaļas]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; [[#MD_Synth | MD_Synth]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
==== 22.04.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Prakse ar Octave, attēli&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Speciāla attēlu apstrāde.&lt;br /&gt;
&lt;br /&gt;
Praktiskā nodarbība.&lt;br /&gt;
Attēlu apstrāde.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots [[#MD_Image | MD_Image]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 29.04.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;KD2&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Vidus semestra kontroldarbs KD2&lt;br /&gt;
* Praktisku uzdevumu risināšana ar Octave.&lt;br /&gt;
* Audio un attēlu apstrāde.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;KD2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 6.05.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Furjē transformācija. Diskrētā Furjē transformācija &amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[#Furjē_transformācija | Video materiāls]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.dspguide.com/CH8.PDF DSPGuide 8. nodaļa]&lt;br /&gt;
* [https://qr.ae/pGpaXf Kā saprast Futjē transformāciju] (Quora)&lt;br /&gt;
* [https://youtu.be/h7apO7q16V0 FFT] un idejas uz ko FFT balstās.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; [[#MD_Image | MD_Image]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 13.05.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;FIR un IIR&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rekursīvie filtri. FIR un IIR signālu filtri.&lt;br /&gt;
Signālu filtrācija frekvenču apgabalā.&lt;br /&gt;
&lt;br /&gt;
Pratiskais darbs: Izmantojot Octave, izveidot Short-time DFT jeb spektrogrammu runas signālam. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.dspguide.com/CH17.PDF DSPGuide 17. nodaļa] - Custom filters&lt;br /&gt;
* [http://www.dspguide.com/CH19.PDF DSPGuide 19. nodaļa] - Recursive filters&lt;br /&gt;
&lt;br /&gt;
* [https://www.youtube.com/watch?v=NvRKtdrssFA Intro to FIR]&lt;br /&gt;
* [https://www.youtube.com/watch?v=uNNNj9AZisM&amp;amp;ab_channel=Phil%E2%80%99sLab FIR Filter Design] (Phil&amp;#039;s Lab)&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 20.05.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Filtru salīdzinājums&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [http://www.dspguide.com/CH21.PDF DSPGuide 21. nodaļa - filtru salīdzinājums]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 27.05.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Kopsavilkums&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela un resursi&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Visas līdz šim kursā apskatītās nodaļas no [http://www.dspguide.com/pdfbook.htm DSPGuide grāmatas] un lekcijām.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 27.05.26 ====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:Laiks: 08:30&lt;br /&gt;
:Vieta: Kursa lekciju telpa   &amp;lt;!--E-studijas un tiešsaiste.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Uzdevumi=&lt;br /&gt;
==MD_Rnd==&lt;br /&gt;
Analizēt nejaušu skaitļu (RND) un to summas histogrammu sekojošiem gadījumiem:&lt;br /&gt;
# RND&lt;br /&gt;
# RND + RND&lt;br /&gt;
# RND + RND + RND + RND&lt;br /&gt;
Pētījumu veikt vismaz 100000 nejaušiem skaitļiem.&lt;br /&gt;
&lt;br /&gt;
Ar RND saprotam funkciju, kas katrā izsaukumā atgriež nejaušu skaitli no 0 līdz 1.0.&lt;br /&gt;
&lt;br /&gt;
Katram no iepriekš minētajiem gadījumiem uzrakstīt programmu, kas izrēķina un uzzīmē histogrammu. &lt;br /&gt;
&lt;br /&gt;
Programmu ieteicams rakstīt [https://www.gnu.org/software/octave/index Octave] vidē, &lt;br /&gt;
bet šoreiz atļauts arī kādā citā jums pazīstamā valodā.&lt;br /&gt;
&lt;br /&gt;
E-studijās kā MD1 iesniegt PDF failu ar risinājumu, kurā katram no gadījumiem doti:&lt;br /&gt;
* Programma, kas ģenerē histogrammu&lt;br /&gt;
* Histogramma&lt;br /&gt;
* Secinājumi, kas sanāca, un kāpēc tā.&lt;br /&gt;
&lt;br /&gt;
==MD_Sys==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mērķis&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
Treniņš lineāru un laika invariantu sistēmu atpazīšanā un pierādīšanā.&lt;br /&gt;
&lt;br /&gt;
====Uzdevums====&lt;br /&gt;
# Pierādīt, ka sekojošas sistēmas ir (vai nav) lineāras. &lt;br /&gt;
# Pierādīt, ka sekojošas sistēmas ir (vai nav) laika invariantas.&lt;br /&gt;
&lt;br /&gt;
* y[n] = x[n] + 3&lt;br /&gt;
* y[n] = x[n] * x[n]&lt;br /&gt;
* y[n] = x[n] + x[n + 1]&lt;br /&gt;
&lt;br /&gt;
Šis uzdevums paredzēts treniņam, un nav obligāti jāiesniedz.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
====Iesniegšana====&lt;br /&gt;
Risinājums jāiesniedz e-Studijās kā PDF fails sadaļā MD_Sys.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MD_Octave==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mērķis&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
Apgūt un praktizēties Octave vides un valodas lietošanā.&lt;br /&gt;
&lt;br /&gt;
Pieejams e-studijās&lt;br /&gt;
&lt;br /&gt;
==MD_Audio==&lt;br /&gt;
Izmantojot Octave, konstruēt algoritmu, kas izgriež pauzes runas signālam. &lt;br /&gt;
&lt;br /&gt;
Pieejams e-studijās&lt;br /&gt;
&lt;br /&gt;
==MD_Synth==&lt;br /&gt;
Izmantojot Octave, uzrakstīt funkcijas vairākiem skaņas efektiem.&lt;br /&gt;
&lt;br /&gt;
Pieejams e-studijās&lt;br /&gt;
&lt;br /&gt;
==MD_Image==&lt;br /&gt;
Izmantojot Octave, uzrakstīt funkcijas attēlu apstrādei.&lt;br /&gt;
&lt;br /&gt;
Pieejams e-studijās&lt;br /&gt;
&lt;br /&gt;
=Resursi=&lt;br /&gt;
&lt;br /&gt;
== Kursa materiāli ==&lt;br /&gt;
* [http://www.dspguide.com/ DSP Guide] gramata tiešsaistē&lt;br /&gt;
:: &amp;quot;The Scientist and Engineer&amp;#039;s Guide to Digital Signal Processing, copyright ©1997-1998 by Steven W. Smith. For more information visit the book&amp;#039;s website at: www.DSPguide.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Octave ====&lt;br /&gt;
* [https://www.dropbox.com/s/vvw92wtspjqg7ki/refcard-a4.pdf?dl=0 Octave 3.0.0 reference card]&lt;br /&gt;
&lt;br /&gt;
* [https://docs.octave.org/latest/Introduction-to-Function-and-Script-Files.html Intro to function and script files]&lt;br /&gt;
* [https://docs.octave.org/latest/Script-Files.html Sccript files]&lt;br /&gt;
* [https://docs.octave.org/latest/Function-Files.html Function files]&lt;br /&gt;
&lt;br /&gt;
==== Furjē transformācija ====&lt;br /&gt;
* [https://youtu.be/ds0cmAV-Yek Furjē sērija, jebkurš signāls no sinusoīdām]&lt;br /&gt;
* [https://youtu.be/ykNtIbtCR-8 Ievada video]&lt;br /&gt;
* [https://youtu.be/spUNpyF58BY Furjē transformācijas vizualizācija]&lt;br /&gt;
* [https://youtu.be/1JnayXHhjlg lekcija par Inverso FT (1.daļa)]&lt;br /&gt;
* [https://youtu.be/kKu6JDqNma8 lekcija par FT (2.daļa)]&lt;br /&gt;
&lt;br /&gt;
* [https://youtu.be/XtypWS8HZco Ievads FFT, The Cooley-Tukey Algorithm]&lt;br /&gt;
* [https://www.algorithm-archive.org/contents/cooley_tukey/cooley_tukey.html Cooley-Tukey apraksts] (Algoritmu arhīvs)&lt;br /&gt;
&lt;br /&gt;
* [https://www.mathworks.com/help/matlab/ref/fft.html FFT pipemērs Matlab sistēmā]&lt;br /&gt;
* [https://upload.wikimedia.org/wikiversity/en/d/dd/Octave.DFT.1.B.FFT.20170706.pdf FFT piemērs Octave sistēmā]&lt;br /&gt;
&lt;br /&gt;
* [https://youtu.be/r7GdEWDHtbQ Furje transformācija, vizualizācija ar apļiem] (Smarter every day)&lt;br /&gt;
* [https://youtu.be/r6sGWTCMz2k But what is a Fourier series? From heat flow to drawing with circles] (3Blue1Brown)&lt;br /&gt;
&lt;br /&gt;
==== FIR &amp;amp; IIR ====&lt;br /&gt;
* [https://www.youtube.com/watch?v=NvRKtdrssFA Intro to FIR]&lt;br /&gt;
&lt;br /&gt;
==== Citi resursi ====&lt;br /&gt;
* [https://ptolemy.berkeley.edu/eecs20/weekly.html Signals and Systems] - kurss Berkeley universitātē&lt;br /&gt;
* [https://dspillustrations.com/pages/index.html Learning DSP illustrated]&lt;br /&gt;
* [https://brilliant.org/wiki/linear-time-invariant-systems/ Lineāras laika invariantas sistēmas] @Brilliant wiki&lt;br /&gt;
* [https://youtu.be/zMkXxI63_Og Laika invariantas sistēmas] - videolekcija ar pierādījumu piemēriem.&lt;br /&gt;
&lt;br /&gt;
* [https://setosa.io/ev/image-kernels/ Attēlu filtru kodoli] - vizuāls skaidrojums&lt;br /&gt;
&lt;br /&gt;
* [https://mybudgetstudio.com/what-is-sound-envelope-adsr-explained-with-example Envelope, ADSR]&lt;br /&gt;
* [http://digitalsoundandmusic.com/chapters/ch1/ Digital sound and music]&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=Ubuntu_setup_for_a_class&amp;diff=11198</id>
		<title>Ubuntu setup for a class</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=Ubuntu_setup_for_a_class&amp;diff=11198"/>
		<updated>2026-02-14T11:50:55Z</updated>

		<summary type="html">&lt;p&gt;Leo: /* Development tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TocRight}}&lt;br /&gt;
Ubuntu setup for my lab computers&lt;br /&gt;
&lt;br /&gt;
== All apt in one ==&lt;br /&gt;
&lt;br /&gt;
Note, that the downloaded apps and the extra commands are not included here. Read on for those.&lt;br /&gt;
 sudo apt-get install openssh-server build-essential git meld binutils gcc python3 python3-pip vlc audacious wine&lt;br /&gt;
 sudo apt-get install codeblocks octave octave-image&lt;br /&gt;
 sudo apt-get install openjdk-18-jdk  #&amp;lt;the-latest-version&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download and install ==&lt;br /&gt;
&lt;br /&gt;
 sudo apt install software-properties-common apt-transport-https wget -y&lt;br /&gt;
&lt;br /&gt;
* Google Chrome&lt;br /&gt;
* Sublime Text&lt;br /&gt;
&lt;br /&gt;
* Visual Studio Code&lt;br /&gt;
 wget -O- https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor | sudo tee /usr/share/keyrings/vscode.gpg&lt;br /&gt;
 echo deb [arch=amd64 signed-by=/usr/share/keyrings/vscode.gpg] https://packages.microsoft.com/repos/vscode stable main | sudo tee /etc/apt/sources.list.d/vscode.list&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install code&lt;br /&gt;
&lt;br /&gt;
== Development tools ==&lt;br /&gt;
 sudo apt-get install build-essential subversion git meld&lt;br /&gt;
 sudo apt-get install binutils gcc &lt;br /&gt;
 sudo apt-get install gdebi-core&lt;br /&gt;
 sudo apt-get install codeblocks&lt;br /&gt;
 sudo apt-get install octave octave-image&lt;br /&gt;
 sudo apt-get install openjdk-18-jdk&lt;br /&gt;
 sudo apt-get install python3 python3-pip python3-numpy python3-scipy python3-matplotlib&lt;br /&gt;
&lt;br /&gt;
 sudo apt install libfuse2&lt;br /&gt;
&lt;br /&gt;
For older python2 Serial port compatibility you may need:&lt;br /&gt;
 sudo pip install &amp;quot;pySerial&amp;gt;=2.0,&amp;lt;=2.9999&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Network tools (optional)&lt;br /&gt;
 nmap arp-scan&lt;br /&gt;
&lt;br /&gt;
== Multimedia ==&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install vlc audacity audacious&lt;br /&gt;
&lt;br /&gt;
== Windows environment ==&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install wine&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=Template:ProgrammersResorces&amp;diff=11197</id>
		<title>Template:ProgrammersResorces</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=Template:ProgrammersResorces&amp;diff=11197"/>
		<updated>2026-02-11T10:42:55Z</updated>

		<summary type="html">&lt;p&gt;Leo: /* Atziņas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Programmētāja resursi = &lt;br /&gt;
&lt;br /&gt;
* [http://selavo.lv/wiki/index.php/Linux_komandas Noderīgas Linux komandas]&lt;br /&gt;
* [http://bit.ly/bashbyex Bash by Example] @ibm/developerworks&lt;br /&gt;
* [http://tuxradar.com/content/how-linux-kernel-works Intro to Linux kernel]&lt;br /&gt;
&lt;br /&gt;
* [http://www.lysator.liu.se/c/bwk-tutor.html Programming in C: A Tutorial] (by Brian W. Kernighan)&lt;br /&gt;
* [https://www3.ntu.edu.sg/home/ehchua/programming/cpp/gcc_make.html GCC and make] - par gcc kompilatoru no NTU&lt;br /&gt;
* [http://www.gnu.org/software/make/manual/make.html Gnu make] dokumentācija&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard Tipiskas unix direktoriju hierarhijas] īss apraksts.&lt;br /&gt;
&lt;br /&gt;
* Sockets:&lt;br /&gt;
** [http://gnosis.cx/publish/programming/sockets.html Programming IP Sockets on Linux] (tutorial @ gnosis.cx)&lt;br /&gt;
** [http://www.linuxhowtos.org/C_C++/socket.htm Sockets Tutorial] @ Linux Howtos&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Berkeley_sockets Berkeley sockets] (Wikipēdija)&lt;br /&gt;
&lt;br /&gt;
* http://www.hiraeth.com/alan/tutorials/courses/unixprog.html&lt;br /&gt;
* http://lkml.org/&lt;br /&gt;
* [http://tldp.org/LDP/lkmpg/2.6/html/index.html The Linux Kernel Module Programming Guide]&lt;br /&gt;
&lt;br /&gt;
* [https://nrecursions.blogspot.com/2014/08/mutex-tutorial-and-example.html Mutex tutorial and example]&lt;br /&gt;
&lt;br /&gt;
=== Programmēšanas analīzes rīki ===&lt;br /&gt;
* [http://pmd.sourceforge.net/pmd-5.2.1/ PMD] - scans source code and looks for bugs, dead code, suboptimal code, overcomplicated expressions, duplicate code.&lt;br /&gt;
&lt;br /&gt;
=== Linux veiktspējas analīze ===&lt;br /&gt;
* [http://www.cyberciti.biz/tips/top-linux-monitoring-tools.html Top 20 Linux monitoring tools] @cyberciti&lt;br /&gt;
* [http://www.tecmint.com/command-line-tools-to-monitor-linux-performance/ 20 rīki Linux veikstpējas monitoringam] (IPTraf u.c.) @tecmint&lt;br /&gt;
* [http://www.cyberciti.biz/tips/how-do-i-find-out-linux-cpu-utilization.html CPU analīze]&lt;br /&gt;
* [http://www.cyberciti.biz/tips/linux-disk-performance-monitoring-howto.html Disku I/O analīze]&lt;br /&gt;
* [http://www.linuxprogrammingblog.com/io-profiling IO profiling] at Linux programming blog&lt;br /&gt;
* [https://www.linux.com/learn/tutorials/470979-who-and-what-is-on-my-network-probing-your-network-with-linux Tīkla analīze]&lt;br /&gt;
* &amp;quot;bashtop&amp;quot; rīks veiktspējas analīzei&lt;br /&gt;
&lt;br /&gt;
== Āķīgi uzdevumi un pieredze ==&lt;br /&gt;
* [https://www.geeksforgeeks.org/c-cpp-tricky-programs/ C/C++ Tricky Programs]&lt;br /&gt;
* [https://qr.ae/TiJLgg Computers are exact, precise, and logical machines, until they aren’t.]&lt;br /&gt;
* [https://adventofcode.com Advent of Code]&lt;br /&gt;
&lt;br /&gt;
== Atziņas ==&lt;br /&gt;
* [http://norvig.com/21-days.html Teach yourself programming in 10 years] by Peter Norvig&lt;br /&gt;
* [https://rhodecode.com/blog/code-review-learn-nasa-codes/ Code review: Learn how NASA codes (blog)], and [http://cacm.acm.org/magazines/2014/2/171689-mars-code/fulltext Mars Code (ACM article)]&lt;br /&gt;
* [http://www.catb.org/esr/faqs/things-every-hacker-once-knew/ Things Every Hacker Once Knew]&lt;br /&gt;
* [https://qr.ae/pG0Mez Kāpēc CR+LF?] - Par to kāpēc vēsturisku iemeslu dēļ Windows sistēmās teksta rindas beigās ir CR+LF, kamēr Unix sistēmā tikai LF&lt;br /&gt;
* [https://github.com/FabioLolix/LinuxTimeline/releases Linux Timeline] - Linux distributīvu vēstures diagramma.&lt;br /&gt;
 &lt;br /&gt;
* [https://youtu.be/mfv0V1SxbNA?si=VNmUNOkyzbG0du03 Linus ar Linus par Linux] un ne tikai, kamēr būvē datoru priekš Linus (2025).&lt;br /&gt;
&lt;br /&gt;
* [http://selavo.lv/kursi/lsp/Linux_Distribution_Timeline_v2024.png Linux Distribution Timeline] (2024) - liels attēls ar Linux distributīvu savstarpējo saikni un vēsturi.&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=LU-LSP-b&amp;diff=11196</id>
		<title>LU-LSP-b</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=LU-LSP-b&amp;diff=11196"/>
		<updated>2026-02-10T12:25:38Z</updated>

		<summary type="html">&lt;p&gt;Leo: /* Mājas darbu vērtēšanas kritēriji */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Īssaites:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[#Kalendārs | Kalendārs]] | &lt;br /&gt;
[[#Uzdevumi | Uzdevumi]] | &lt;br /&gt;
[[#Resursi | Resursi]] | &lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]] : &lt;br /&gt;
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]]&lt;br /&gt;
(ja ir lekcija)&lt;br /&gt;
&lt;br /&gt;
{{LUDFKurss|Linux sistēmas programmēšana|LSP|DatZ3122|2DAT3122}}&lt;br /&gt;
* Pasniedzēji:&lt;br /&gt;
** Leo Seļāvo &amp;#039;&amp;#039;(epasts: vards.uzvards @ gmail.com)&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Vērtējums = 15% praktiskie darbi, 35% mājas darbi, 20% kontroldarbs un 30% eksāmens.&lt;br /&gt;
&lt;br /&gt;
* [[LSP kursa atsauksmes]] no iepriekšējiem gadiem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Praktisko un mājas darbu iesniegšana ==== &lt;br /&gt;
* Mājas darbus iesniegt e-studijās vai darbu testēšanas serverī, atkarībā no darba specifikācijas.&lt;br /&gt;
* Faila nosaukumam jābūt formā LSP_MD1_Vards_Uzvards.c - mainot atbilstošo uzdevuma kodu (MD1) un faila formātu pēc nepieciešamības.&lt;br /&gt;
* Nevajag arhivēt failus, ja vien tas nav prasīts uzdevuma nosacījumos&lt;br /&gt;
&lt;br /&gt;
==== Praktisko darbu vērtēšanas kritēriji ====&lt;br /&gt;
* Praktisko darbu mērķis ir nostiprināt un parādīt izpratni par apgūto vielu, attiecīgi darbi ir jārisina &amp;#039;&amp;#039;&amp;#039;patstāvīgi&amp;#039;&amp;#039;&amp;#039;, tomēr jautājumu uzdošana pasniedzējam vai kolēģiem ir vēlama.&lt;br /&gt;
* Maksimālo vērtējumu par praktisko darbu var saņemt, ja tas iesūtīts līdz praktisko darbu lekcijas dienas beigām.&lt;br /&gt;
* Pēc termiņa praktiskie darbi tiek pieņemti vēl tekošo nedēļu (līdz nākamās lekcijas sākumam) un tiks novērtēti, tomēr vairs ne ar maksimālo atzīmi. &lt;br /&gt;
* Praktiskajos darbos un lekcijās atzinīgi vērtējama ir dalība diskusijās, unikālu risinājumu un ideju piedāvāšana, trāpīgu jautājumu uzdošana, atbildēšana uz kolēģu jautājumiem u.t.t., kas var pozitīvi ietekmēt gala atzīmi kursā.&lt;br /&gt;
&lt;br /&gt;
==== Mājas darbu vērtēšanas kritēriji ====&lt;br /&gt;
* Mājas darbu iesniegšanas termiņa laiks ir attiecīgajā datumā līdz pusnaktij.&lt;br /&gt;
* Ja darbs tiek iesniegts ar novēlošanos (kaut vai 1 sekundi!):&lt;br /&gt;
** Tūdaļ pēc termiņa rezultāts tiek samazināts par &amp;#039;&amp;#039;&amp;#039;50%&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
** Nedēļu pēc termiņa darbi vairs netiek pieņemti.&lt;br /&gt;
&lt;br /&gt;
=Kalendārs=&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4 style = &amp;#039;border-color: #ddd;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
! Datums&lt;br /&gt;
! Tēma, saturs&lt;br /&gt;
! Uzdevumi&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====04.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievads kursā&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Unix un Linux operētājsistēmu pamatkoncepcijas. Linux sistēmprogrammētaja rīki (shell, gcc, make, manpages u.c.).&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD0 | MD0 ]]&amp;#039;&amp;#039;&amp;#039; - Programmēšanas stils&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[https://docs.google.com/document/d/1wmhmxU2x93yj5bha98yGwGTvUbQ5Q0ZjOTfcNQ5ndjc/edit?usp=sharing MD_Koks]&amp;#039;&amp;#039;&amp;#039; - Dzimtas koks.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Intro&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* Iekārtot darba vidi (linux, teksta redaktors, kompilators)&lt;br /&gt;
* Izveidot un pašiem nokompilēt &amp;quot;Hello world&amp;quot; C valodā&lt;br /&gt;
* Iepazīties ar UNIX čaulas komandām un uzdot jautājumus par neskaidrībām.&lt;br /&gt;
* Versiju kontroles sistēmas github pamati.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [[LU-LSP-B11:shell-cheatsheet | UNIX čaulas populārākās komandas un lietojumi]]&lt;br /&gt;
* Lasīt [https://www.linux.com/what-is-linux Kas tas ir, Linux?] - tagad vai līdz nākamajai lekcijai&lt;br /&gt;
* Lasīt [https://web.archive.org/web/20160417114016/http://www.physics.drexel.edu/students/courses/Comp_Phys/General/C_basics/#first C valodas pamācību] no Drexel universitātes.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L01 | PD_Intro]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====05.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Programmēšanas valoda C&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vispārīgs pārskats par programmēšanas valodu C. Datu struktūras. C standarti, kompilācija, bibliotēkas, linkošana, skalārie un saliktie tipi (t.sk pointeri un masīvi), funkcijas, nosacījumi, cikli.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Klasiskā C programmēšanas valodas grāmata: Brian W. C. Kernighan &amp;amp; Dennis M. Ritchie, &amp;quot;The C Programming Language -- ANSI C,&amp;quot; Prentice Hall, 1988 &lt;br /&gt;
* [https://web.archive.org/web/20160417114016/http://www.physics.drexel.edu/students/courses/Comp_Phys/General/C_basics/#first C Language Tutorial]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====11.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Darbs ar failiem&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Sistēmas izsaukumi un standarta bibliotēkas funkcijas faila ievadam un izvadam.  Linux piedāvātās programmas darbam ar failu izvadu/ievadu  (&amp;#039;&amp;#039;cat, tail, head, less, telnet&amp;#039;&amp;#039; u.c.).  Failu ievada un izvada ātrdarbības uzlabošana, buferi., ņemot vērā sistēmas arhitektūru.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_File&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Failu kopēšana.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L02 | PD_File]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====12.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Failu sistēma&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Faila izmēra noteikšana.  Failu saites, stingrās un vājās (hard links, soft links).  Failu glabāšana un pieeja operētājsistēmā. &amp;#039;&amp;#039;i-node&amp;#039;&amp;#039; jēdziens. Sistēmas izsaukums stat(). Direktoriju struktūra.  Izsaukumi opendir(), readdir() un closedir().   &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Failu piekļuves režīmi&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Faila piekļuves tiesību režīmi pie open() un umask.  Failu un i-node izsaukumi: chmod(), link(), unlink(), remove(), rename(), symlink(), readlink(), utime(), mkdir(), rmdir(), chdir(), getcwd().  Programma rakstīšanai log failā. Log faili.  Ekskluzīva rakstīšana ar open(...O_SYNC) un fcntl() metodēm.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD3 | MD_Dir]]&amp;#039;&amp;#039;&amp;#039; - Direktoriju koka apstaigāšana.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Dir&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Direktoriju koka apstaigāšana.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L03 | PD_Dir]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[https://docs.google.com/document/d/1wmhmxU2x93yj5bha98yGwGTvUbQ5Q0ZjOTfcNQ5ndjc/edit?usp=sharing MD_Koks]&amp;#039;&amp;#039;&amp;#039; - Dzimtas koks. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====19.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Atmiņas arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Atmiņas arhitektūra. Virtuālā atmiņa. TEXT, DATA, HEAP un STACK segmenti. Koplietošanas atmiņa starp procesiem. Procedūru izsaukumi.  Parametru nodošana caur steku. Steka satura analīze un piekļuve stekam.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Virtuālā atmiņa&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Virtuālās atmiņas lapas.  Page fault un segmentation fault.  Atmiņas aizsardzība. &amp;#039;&amp;#039;setjmp()&amp;#039;&amp;#039; un &amp;#039;&amp;#039;longjmp()&amp;#039;&amp;#039;.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD4 | MD_Mem]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas rezervācijas funkciju salīdzinājums.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_An&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Programmas analīze.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L04 | PD_An]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD3 | MD_Dir]]&amp;#039;&amp;#039;&amp;#039; - Direktoriju koka apstaigāšana.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====26.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Dinamiskā atmiņa&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Dinamiskā atmiņas izdalīšana. Heap, malloc() un free(). Dienesta informācija pie atmiņas izdalīšanas un atbrīvošanas.  Brīvās atmiņas saraksti. Prasības malloc() un free() veiktspējai.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Atmiņas fragmentācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Atmiņas fragmentācija. Atmiņas rezervēšanas (allocation) algoritmi,  kas darbojas uz atmiņas fragmentiem. Atmiņas &amp;#039;spaiņi&amp;#039;.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD5 | MD_Frag]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas fragmentācijas algoritmu novērtējums (&amp;#039;&amp;#039;&amp;#039;grupās&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Malloc :: PD_Heap&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; =&amp;gt; Daudz-uzdevumu vide&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Malloc&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Atmiņas rezervācija.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Heap&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Vienkāršs atmiņas alokators fiksēta izmēra objektiem.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L06 | PD_Malloc]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:L07 | PD_Heap]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD4 | MD_Mem]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas rezervācijas funkciju salīdzinājums.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====05.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Atkļūdošana&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Linux atkļūdošanas rīki un to lietošana.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Game&amp;#039;&amp;#039;&amp;#039; - Kursa projekta tēmas (spēles) izvēle&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
||&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;KD1&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; (&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;)&lt;br /&gt;
|}&lt;br /&gt;
KD1 kontroldarbs. Programmēšanas uzdevums pie datora, izmantojot apgūto vielu.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
| &amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Dbg&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; (&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;)&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Dbg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Atkļūdošanas rīki.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:LA | PD_Dbg]]&amp;#039;&amp;#039;&amp;#039; (Nav obligāti jāiesniedz)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====12.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
| &amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Daudz-uzdevumu vide&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; =&amp;gt; PD_Malloc :: PD_Heap (&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;)&lt;br /&gt;
|}&lt;br /&gt;
Daudz-uzdevumu vide. Procesi un procesu kontrole. Pavedieni (threads).  Kooperējošies procesi un preemptīvā daudz-uzdevumu metode.  Komanda &amp;#039;&amp;#039;&amp;#039;ps&amp;#039;&amp;#039;&amp;#039;.  &amp;#039;&amp;#039;getpid()&amp;#039;&amp;#039; un &amp;#039;&amp;#039;getppid()&amp;#039;&amp;#039;. &amp;#039;&amp;#039;fork()&amp;#039;&amp;#039;, &amp;#039;&amp;#039;exec()&amp;#039;&amp;#039;, &amp;#039;&amp;#039;wait()&amp;#039;&amp;#039;. &amp;#039;&amp;#039;system()&amp;#039;&amp;#039;.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Pavedieni&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Pavedieni. POSIX pavedieni. Mutex. Datu skriešanās (data race condition). Strupceļš (deadlock).&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.cs.cmu.edu/afs/cs/academic/class/15492-f07/www/pthreads.html POSIX thread (pthread) libraries]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD5 | MD_Frag]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas fragmentācijas algoritmu novērtējums (&amp;#039;&amp;#039;&amp;#039;grupās&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Thread&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Programma kas taisa N pavedienus, kur katrs izdrukā M burtus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_KD&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Kontroldarba analīze.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Spec&amp;#039;&amp;#039;&amp;#039; - Spēles noteikumu specifikācija&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:L08 | PD_Thread]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====19.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Procesa dzīves cikls :: Starpprocesu komunikācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Procesa dzīves cikls&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Procesa dzīves cikls: Procesa ielādēšana, uzsākšanās un pieci veidi  kā process var beigties. exit() un _exit().&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Starpprocesu komunikācija&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Starpprocesu komunikācija.  Faili. Pipes. Koplietošanas atmiņa. Komunikācija starp nesaistītiem procesiem. Sockets abstrakcija komunikācijai.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Game&amp;#039;&amp;#039;&amp;#039; - Kursa projekta tēmas (spēles) izvēle&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Sockets :: Servera klienta arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Sockets&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sockets abstrakcija komunikācijai. Klienta un servera arhitektūra.  Iteratīvie un paralēlie serveri. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Servera klienta arhitektūra&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
TBD: Ieskatam servera/klienta komunikācijā [http://selavo.lv/wiki/index.php/LU-LSP-b13:L11 PD11], bet nav jānodod.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Prot1&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, 1. versija&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Spec&amp;#039;&amp;#039;&amp;#039; - Spēles noteikumu specifikācija&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Jmp :: PD_PSpec&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Jmp&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;setjmp()&amp;#039;&amp;#039;,&amp;#039;&amp;#039;longjmp()&amp;#039;&amp;#039; un taimera signāls.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_PSpec&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Darbs pie kursa projekta. Spēles izvēle un specifikācija.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L05 | PD_Jmp]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;PD_PSpec&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====26.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Signāli&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Signāli. Alarm serviss un signāls.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Prot2&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, gala versija&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Prot1&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, 1. versija&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====08.04.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Tekstuālā lietotāja saskarne.&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Tekstuālā lietotāja saskarne. Ncurses bibliotēka.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [https://www.cyberciti.biz/faq/linux-install-ncurses-library-headers-on-debian-ubuntu-centos-fedora/ Ncurses library, installation and use]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spēles noteikumi finalizēti.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====08.04.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Net :: PD_PProt&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Net&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Starpprocesu komunikācija tīklā.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_PProt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Darbs pie kursa projekta. Komunikāciju protokola izstrāde.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L10 | PD_Net]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;PD_PProt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====09.04.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Dēmoni&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Programmas, kas izpildās fonā un ilgtermiņā.  Rezidenta programmas. Init.d. Upstart. Systemd. Sesijas identifikators.&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Prot2&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, gala versija&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====15.04.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Grafiskā lietotāja saskarne&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Grafiskā lietotāja saskarne. OpenGL. X-server.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====15.04.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_KP&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Darbs pie kursa projekta.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;PD_KP&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====16.04.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Konsultācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Atbildes uz studentu jautājumiem&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====xx.xx.26====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;xx:xx&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vieta: xxx.auditorija.&lt;br /&gt;
&lt;br /&gt;
Eksāmena forma: projektu demonstrācija un prezentācija (darbība, pirmkods, diskusijas).&lt;br /&gt;
Pirms eksāmena kodam kopā ar kompilācijas un palaišanas instrukcijām jābūt iesniegtam e-studijās!&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Pirms eksāmena&amp;#039;&amp;#039;&amp;#039; eStudijās jāiesniedz projekta pirmkods zip failā. Tajā jābūt iekļautam arī &amp;#039;&amp;#039;&amp;#039;readme&amp;#039;&amp;#039;&amp;#039; failam.&lt;br /&gt;
&lt;br /&gt;
Eksāmena vērtējuma plāns:&lt;br /&gt;
* Pirmkods, serveris 25%&lt;br /&gt;
* Pirmkods, klients 25%&lt;br /&gt;
* Demo un darbības testēšana 25%&lt;br /&gt;
* Prezentācija (bez slaidiem) 25%&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====xx.04-xx.05.2026====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Sesija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vērtējumu izlikšana&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Uzdevumi=&lt;br /&gt;
== Mājas darbi ==&lt;br /&gt;
&lt;br /&gt;
* [[LU-LSP-b:MD0 | MD0]]: Izlasīt kodēšanas stila dokumentus.&lt;br /&gt;
* [[LU-LSP-b:MD1 | MD_Koks]]: Ģimenes koka ģenerēšanas programma.&lt;br /&gt;
* [[LU-LSP-b:MD3 | MD3]]: Vienādo failu meklēšana direktorijas kokā.&lt;br /&gt;
* [[LU-LSP-b:MD4 | MD4]]: Atmiņas rezervācijas funkciju salīdzināšana.&lt;br /&gt;
* [[LU-LSP-b:MD5 | MD5]]: Atmiņas fragmentācijas algoritmu novērtējums.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [[LU-LSP-b:MD5 | MD5]]: Procedūru izsaukumu steka izdruka. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Eksāmens izpaužas kā kursa projekta aizstāvēšana.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* MD7 - projekta protokola specifikācija. Skatīt arī [[LU-LSP-b13:PD_client_server | PD: Klienta un servera arhitektūra]]&lt;br /&gt;
** [[LU-LSP-b11:PD_client_server | PD: Klienta un servera arhitektūra]] (praktiskā darba piezīmes)&lt;br /&gt;
** [http://selavo.lv/~kursi/LSP/md7 MD7 projekta grupu risinājumi]&lt;br /&gt;
&lt;br /&gt;
Eksāmens izpaužas kā kursa projekta aizstāvēšana.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Resursi=&lt;br /&gt;
== Pamācoši vingrinājumi un piemēri ==&lt;br /&gt;
&lt;br /&gt;
* Failu I/O buferi un sekas: divi raksta, redzam trīs...&lt;br /&gt;
* Aprēķins, cik laika vajag pārkopēt 1 TB pa baitam bez bufera.&lt;br /&gt;
* Paging: piemērs 4K x 4K masīva apstaigāšanai, mainot indeksus: 4K vs 16M page faults&lt;br /&gt;
* Vai var uzrakstīt programmu bez main()&lt;br /&gt;
* [https://wordsandbuttons.online/so_you_think_you_know_c.html So you think you know C] - tests ar 5 jautājumiem.&lt;br /&gt;
&lt;br /&gt;
== Literatūra ==&lt;br /&gt;
&lt;br /&gt;
* Advanced Programming in the UNIX(R) Environment, Second Edition, by W. Richard Stevens, Stephen A. Rago. Addison Wesley Professional, 2005, ISBN 0-201-43307-9.  (Indiešu eksemplāram ir ISBN 81-317-0005-4)&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Linux system programming&amp;quot; by Robert Love, O&amp;#039;Reilly Media, 2007, ISBN 0596009585&lt;br /&gt;
&lt;br /&gt;
* [http://www.advancedlinuxprogramming.com/ Advanced Linux Programming] by CodeSourcery LLC,&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Building Embedded Linux Systems&amp;quot; O&amp;#039;Reilly Media, 2008, ISBN 0596529686&lt;br /&gt;
&lt;br /&gt;
* [[Sublime_Text_cheat_sheet]] - Lieliskā Sublime teksta redaktora taustiņu kombinācijas&lt;br /&gt;
&lt;br /&gt;
* [http://fabiensanglard.net/c/ To become a good programmer...] - C grāmatu saraksts&lt;br /&gt;
&lt;br /&gt;
{{ProgrammersResorces}}&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=LU-LSP-b&amp;diff=11195</id>
		<title>LU-LSP-b</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=LU-LSP-b&amp;diff=11195"/>
		<updated>2026-02-10T12:24:30Z</updated>

		<summary type="html">&lt;p&gt;Leo: /* Praktisko darbu vērtēšanas kritēriji */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Īssaites:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[#Kalendārs | Kalendārs]] | &lt;br /&gt;
[[#Uzdevumi | Uzdevumi]] | &lt;br /&gt;
[[#Resursi | Resursi]] | &lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]] : &lt;br /&gt;
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]]&lt;br /&gt;
(ja ir lekcija)&lt;br /&gt;
&lt;br /&gt;
{{LUDFKurss|Linux sistēmas programmēšana|LSP|DatZ3122|2DAT3122}}&lt;br /&gt;
* Pasniedzēji:&lt;br /&gt;
** Leo Seļāvo &amp;#039;&amp;#039;(epasts: vards.uzvards @ gmail.com)&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Vērtējums = 15% praktiskie darbi, 35% mājas darbi, 20% kontroldarbs un 30% eksāmens.&lt;br /&gt;
&lt;br /&gt;
* [[LSP kursa atsauksmes]] no iepriekšējiem gadiem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Praktisko un mājas darbu iesniegšana ==== &lt;br /&gt;
* Mājas darbus iesniegt e-studijās vai darbu testēšanas serverī, atkarībā no darba specifikācijas.&lt;br /&gt;
* Faila nosaukumam jābūt formā LSP_MD1_Vards_Uzvards.c - mainot atbilstošo uzdevuma kodu (MD1) un faila formātu pēc nepieciešamības.&lt;br /&gt;
* Nevajag arhivēt failus, ja vien tas nav prasīts uzdevuma nosacījumos&lt;br /&gt;
&lt;br /&gt;
==== Praktisko darbu vērtēšanas kritēriji ====&lt;br /&gt;
* Praktisko darbu mērķis ir nostiprināt un parādīt izpratni par apgūto vielu, attiecīgi darbi ir jārisina &amp;#039;&amp;#039;&amp;#039;patstāvīgi&amp;#039;&amp;#039;&amp;#039;, tomēr jautājumu uzdošana pasniedzējam vai kolēģiem ir vēlama.&lt;br /&gt;
* Maksimālo vērtējumu par praktisko darbu var saņemt, ja tas iesūtīts līdz praktisko darbu lekcijas dienas beigām.&lt;br /&gt;
* Pēc termiņa praktiskie darbi tiek pieņemti vēl tekošo nedēļu (līdz nākamās lekcijas sākumam) un tiks novērtēti, tomēr vairs ne ar maksimālo atzīmi. &lt;br /&gt;
* Praktiskajos darbos un lekcijās atzinīgi vērtējama ir dalība diskusijās, unikālu risinājumu un ideju piedāvāšana, trāpīgu jautājumu uzdošana, atbildēšana uz kolēģu jautājumiem u.t.t., kas var pozitīvi ietekmēt gala atzīmi kursā.&lt;br /&gt;
&lt;br /&gt;
==== Mājas darbu vērtēšanas kritēriji ====&lt;br /&gt;
* Mājas darbu iesniegšanas termiņa laiks ir attiecīgajā datumā līdz pusnaktij.&lt;br /&gt;
* Ja darbs tiek iesniegts ar novēlošanos (kaut vai 1 sekundi!):&lt;br /&gt;
** Tūdaļ pēc termiņa rezultāts tiek samazināts par &amp;#039;&amp;#039;&amp;#039;50%&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
** Nedēļu pēc termiņa darbi vairs netiek pieņemti.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Kalendārs=&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4 style = &amp;#039;border-color: #ddd;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
! Datums&lt;br /&gt;
! Tēma, saturs&lt;br /&gt;
! Uzdevumi&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====04.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievads kursā&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Unix un Linux operētājsistēmu pamatkoncepcijas. Linux sistēmprogrammētaja rīki (shell, gcc, make, manpages u.c.).&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD0 | MD0 ]]&amp;#039;&amp;#039;&amp;#039; - Programmēšanas stils&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[https://docs.google.com/document/d/1wmhmxU2x93yj5bha98yGwGTvUbQ5Q0ZjOTfcNQ5ndjc/edit?usp=sharing MD_Koks]&amp;#039;&amp;#039;&amp;#039; - Dzimtas koks.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Intro&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* Iekārtot darba vidi (linux, teksta redaktors, kompilators)&lt;br /&gt;
* Izveidot un pašiem nokompilēt &amp;quot;Hello world&amp;quot; C valodā&lt;br /&gt;
* Iepazīties ar UNIX čaulas komandām un uzdot jautājumus par neskaidrībām.&lt;br /&gt;
* Versiju kontroles sistēmas github pamati.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [[LU-LSP-B11:shell-cheatsheet | UNIX čaulas populārākās komandas un lietojumi]]&lt;br /&gt;
* Lasīt [https://www.linux.com/what-is-linux Kas tas ir, Linux?] - tagad vai līdz nākamajai lekcijai&lt;br /&gt;
* Lasīt [https://web.archive.org/web/20160417114016/http://www.physics.drexel.edu/students/courses/Comp_Phys/General/C_basics/#first C valodas pamācību] no Drexel universitātes.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L01 | PD_Intro]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====05.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Programmēšanas valoda C&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vispārīgs pārskats par programmēšanas valodu C. Datu struktūras. C standarti, kompilācija, bibliotēkas, linkošana, skalārie un saliktie tipi (t.sk pointeri un masīvi), funkcijas, nosacījumi, cikli.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Klasiskā C programmēšanas valodas grāmata: Brian W. C. Kernighan &amp;amp; Dennis M. Ritchie, &amp;quot;The C Programming Language -- ANSI C,&amp;quot; Prentice Hall, 1988 &lt;br /&gt;
* [https://web.archive.org/web/20160417114016/http://www.physics.drexel.edu/students/courses/Comp_Phys/General/C_basics/#first C Language Tutorial]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====11.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Darbs ar failiem&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Sistēmas izsaukumi un standarta bibliotēkas funkcijas faila ievadam un izvadam.  Linux piedāvātās programmas darbam ar failu izvadu/ievadu  (&amp;#039;&amp;#039;cat, tail, head, less, telnet&amp;#039;&amp;#039; u.c.).  Failu ievada un izvada ātrdarbības uzlabošana, buferi., ņemot vērā sistēmas arhitektūru.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_File&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Failu kopēšana.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L02 | PD_File]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====12.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Failu sistēma&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Faila izmēra noteikšana.  Failu saites, stingrās un vājās (hard links, soft links).  Failu glabāšana un pieeja operētājsistēmā. &amp;#039;&amp;#039;i-node&amp;#039;&amp;#039; jēdziens. Sistēmas izsaukums stat(). Direktoriju struktūra.  Izsaukumi opendir(), readdir() un closedir().   &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Failu piekļuves režīmi&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Faila piekļuves tiesību režīmi pie open() un umask.  Failu un i-node izsaukumi: chmod(), link(), unlink(), remove(), rename(), symlink(), readlink(), utime(), mkdir(), rmdir(), chdir(), getcwd().  Programma rakstīšanai log failā. Log faili.  Ekskluzīva rakstīšana ar open(...O_SYNC) un fcntl() metodēm.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD3 | MD_Dir]]&amp;#039;&amp;#039;&amp;#039; - Direktoriju koka apstaigāšana.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Dir&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Direktoriju koka apstaigāšana.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L03 | PD_Dir]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[https://docs.google.com/document/d/1wmhmxU2x93yj5bha98yGwGTvUbQ5Q0ZjOTfcNQ5ndjc/edit?usp=sharing MD_Koks]&amp;#039;&amp;#039;&amp;#039; - Dzimtas koks. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====19.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Atmiņas arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Atmiņas arhitektūra. Virtuālā atmiņa. TEXT, DATA, HEAP un STACK segmenti. Koplietošanas atmiņa starp procesiem. Procedūru izsaukumi.  Parametru nodošana caur steku. Steka satura analīze un piekļuve stekam.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Virtuālā atmiņa&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Virtuālās atmiņas lapas.  Page fault un segmentation fault.  Atmiņas aizsardzība. &amp;#039;&amp;#039;setjmp()&amp;#039;&amp;#039; un &amp;#039;&amp;#039;longjmp()&amp;#039;&amp;#039;.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD4 | MD_Mem]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas rezervācijas funkciju salīdzinājums.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_An&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Programmas analīze.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L04 | PD_An]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD3 | MD_Dir]]&amp;#039;&amp;#039;&amp;#039; - Direktoriju koka apstaigāšana.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====26.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Dinamiskā atmiņa&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Dinamiskā atmiņas izdalīšana. Heap, malloc() un free(). Dienesta informācija pie atmiņas izdalīšanas un atbrīvošanas.  Brīvās atmiņas saraksti. Prasības malloc() un free() veiktspējai.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Atmiņas fragmentācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Atmiņas fragmentācija. Atmiņas rezervēšanas (allocation) algoritmi,  kas darbojas uz atmiņas fragmentiem. Atmiņas &amp;#039;spaiņi&amp;#039;.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD5 | MD_Frag]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas fragmentācijas algoritmu novērtējums (&amp;#039;&amp;#039;&amp;#039;grupās&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Malloc :: PD_Heap&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; =&amp;gt; Daudz-uzdevumu vide&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Malloc&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Atmiņas rezervācija.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Heap&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Vienkāršs atmiņas alokators fiksēta izmēra objektiem.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L06 | PD_Malloc]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:L07 | PD_Heap]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD4 | MD_Mem]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas rezervācijas funkciju salīdzinājums.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====05.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Atkļūdošana&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Linux atkļūdošanas rīki un to lietošana.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Game&amp;#039;&amp;#039;&amp;#039; - Kursa projekta tēmas (spēles) izvēle&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
||&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;KD1&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; (&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;)&lt;br /&gt;
|}&lt;br /&gt;
KD1 kontroldarbs. Programmēšanas uzdevums pie datora, izmantojot apgūto vielu.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
| &amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Dbg&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; (&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;)&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Dbg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Atkļūdošanas rīki.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:LA | PD_Dbg]]&amp;#039;&amp;#039;&amp;#039; (Nav obligāti jāiesniedz)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====12.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
| &amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Daudz-uzdevumu vide&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; =&amp;gt; PD_Malloc :: PD_Heap (&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;)&lt;br /&gt;
|}&lt;br /&gt;
Daudz-uzdevumu vide. Procesi un procesu kontrole. Pavedieni (threads).  Kooperējošies procesi un preemptīvā daudz-uzdevumu metode.  Komanda &amp;#039;&amp;#039;&amp;#039;ps&amp;#039;&amp;#039;&amp;#039;.  &amp;#039;&amp;#039;getpid()&amp;#039;&amp;#039; un &amp;#039;&amp;#039;getppid()&amp;#039;&amp;#039;. &amp;#039;&amp;#039;fork()&amp;#039;&amp;#039;, &amp;#039;&amp;#039;exec()&amp;#039;&amp;#039;, &amp;#039;&amp;#039;wait()&amp;#039;&amp;#039;. &amp;#039;&amp;#039;system()&amp;#039;&amp;#039;.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Pavedieni&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Pavedieni. POSIX pavedieni. Mutex. Datu skriešanās (data race condition). Strupceļš (deadlock).&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.cs.cmu.edu/afs/cs/academic/class/15492-f07/www/pthreads.html POSIX thread (pthread) libraries]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD5 | MD_Frag]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas fragmentācijas algoritmu novērtējums (&amp;#039;&amp;#039;&amp;#039;grupās&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Thread&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Programma kas taisa N pavedienus, kur katrs izdrukā M burtus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_KD&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Kontroldarba analīze.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Spec&amp;#039;&amp;#039;&amp;#039; - Spēles noteikumu specifikācija&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:L08 | PD_Thread]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====19.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Procesa dzīves cikls :: Starpprocesu komunikācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Procesa dzīves cikls&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Procesa dzīves cikls: Procesa ielādēšana, uzsākšanās un pieci veidi  kā process var beigties. exit() un _exit().&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Starpprocesu komunikācija&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Starpprocesu komunikācija.  Faili. Pipes. Koplietošanas atmiņa. Komunikācija starp nesaistītiem procesiem. Sockets abstrakcija komunikācijai.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Game&amp;#039;&amp;#039;&amp;#039; - Kursa projekta tēmas (spēles) izvēle&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Sockets :: Servera klienta arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Sockets&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sockets abstrakcija komunikācijai. Klienta un servera arhitektūra.  Iteratīvie un paralēlie serveri. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Servera klienta arhitektūra&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
TBD: Ieskatam servera/klienta komunikācijā [http://selavo.lv/wiki/index.php/LU-LSP-b13:L11 PD11], bet nav jānodod.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Prot1&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, 1. versija&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Spec&amp;#039;&amp;#039;&amp;#039; - Spēles noteikumu specifikācija&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Jmp :: PD_PSpec&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Jmp&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;setjmp()&amp;#039;&amp;#039;,&amp;#039;&amp;#039;longjmp()&amp;#039;&amp;#039; un taimera signāls.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_PSpec&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Darbs pie kursa projekta. Spēles izvēle un specifikācija.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L05 | PD_Jmp]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;PD_PSpec&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====26.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Signāli&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Signāli. Alarm serviss un signāls.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Prot2&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, gala versija&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Prot1&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, 1. versija&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====08.04.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Tekstuālā lietotāja saskarne.&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Tekstuālā lietotāja saskarne. Ncurses bibliotēka.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [https://www.cyberciti.biz/faq/linux-install-ncurses-library-headers-on-debian-ubuntu-centos-fedora/ Ncurses library, installation and use]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spēles noteikumi finalizēti.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====08.04.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Net :: PD_PProt&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Net&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Starpprocesu komunikācija tīklā.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_PProt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Darbs pie kursa projekta. Komunikāciju protokola izstrāde.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L10 | PD_Net]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;PD_PProt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====09.04.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Dēmoni&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Programmas, kas izpildās fonā un ilgtermiņā.  Rezidenta programmas. Init.d. Upstart. Systemd. Sesijas identifikators.&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Prot2&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, gala versija&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====15.04.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Grafiskā lietotāja saskarne&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Grafiskā lietotāja saskarne. OpenGL. X-server.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====15.04.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_KP&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Darbs pie kursa projekta.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;PD_KP&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====16.04.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Konsultācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Atbildes uz studentu jautājumiem&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====xx.xx.26====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;xx:xx&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vieta: xxx.auditorija.&lt;br /&gt;
&lt;br /&gt;
Eksāmena forma: projektu demonstrācija un prezentācija (darbība, pirmkods, diskusijas).&lt;br /&gt;
Pirms eksāmena kodam kopā ar kompilācijas un palaišanas instrukcijām jābūt iesniegtam e-studijās!&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Pirms eksāmena&amp;#039;&amp;#039;&amp;#039; eStudijās jāiesniedz projekta pirmkods zip failā. Tajā jābūt iekļautam arī &amp;#039;&amp;#039;&amp;#039;readme&amp;#039;&amp;#039;&amp;#039; failam.&lt;br /&gt;
&lt;br /&gt;
Eksāmena vērtējuma plāns:&lt;br /&gt;
* Pirmkods, serveris 25%&lt;br /&gt;
* Pirmkods, klients 25%&lt;br /&gt;
* Demo un darbības testēšana 25%&lt;br /&gt;
* Prezentācija (bez slaidiem) 25%&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====xx.04-xx.05.2026====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Sesija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vērtējumu izlikšana&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Uzdevumi=&lt;br /&gt;
== Mājas darbi ==&lt;br /&gt;
&lt;br /&gt;
* [[LU-LSP-b:MD0 | MD0]]: Izlasīt kodēšanas stila dokumentus.&lt;br /&gt;
* [[LU-LSP-b:MD1 | MD_Koks]]: Ģimenes koka ģenerēšanas programma.&lt;br /&gt;
* [[LU-LSP-b:MD3 | MD3]]: Vienādo failu meklēšana direktorijas kokā.&lt;br /&gt;
* [[LU-LSP-b:MD4 | MD4]]: Atmiņas rezervācijas funkciju salīdzināšana.&lt;br /&gt;
* [[LU-LSP-b:MD5 | MD5]]: Atmiņas fragmentācijas algoritmu novērtējums.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [[LU-LSP-b:MD5 | MD5]]: Procedūru izsaukumu steka izdruka. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Eksāmens izpaužas kā kursa projekta aizstāvēšana.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* MD7 - projekta protokola specifikācija. Skatīt arī [[LU-LSP-b13:PD_client_server | PD: Klienta un servera arhitektūra]]&lt;br /&gt;
** [[LU-LSP-b11:PD_client_server | PD: Klienta un servera arhitektūra]] (praktiskā darba piezīmes)&lt;br /&gt;
** [http://selavo.lv/~kursi/LSP/md7 MD7 projekta grupu risinājumi]&lt;br /&gt;
&lt;br /&gt;
Eksāmens izpaužas kā kursa projekta aizstāvēšana.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Resursi=&lt;br /&gt;
== Pamācoši vingrinājumi un piemēri ==&lt;br /&gt;
&lt;br /&gt;
* Failu I/O buferi un sekas: divi raksta, redzam trīs...&lt;br /&gt;
* Aprēķins, cik laika vajag pārkopēt 1 TB pa baitam bez bufera.&lt;br /&gt;
* Paging: piemērs 4K x 4K masīva apstaigāšanai, mainot indeksus: 4K vs 16M page faults&lt;br /&gt;
* Vai var uzrakstīt programmu bez main()&lt;br /&gt;
* [https://wordsandbuttons.online/so_you_think_you_know_c.html So you think you know C] - tests ar 5 jautājumiem.&lt;br /&gt;
&lt;br /&gt;
== Literatūra ==&lt;br /&gt;
&lt;br /&gt;
* Advanced Programming in the UNIX(R) Environment, Second Edition, by W. Richard Stevens, Stephen A. Rago. Addison Wesley Professional, 2005, ISBN 0-201-43307-9.  (Indiešu eksemplāram ir ISBN 81-317-0005-4)&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Linux system programming&amp;quot; by Robert Love, O&amp;#039;Reilly Media, 2007, ISBN 0596009585&lt;br /&gt;
&lt;br /&gt;
* [http://www.advancedlinuxprogramming.com/ Advanced Linux Programming] by CodeSourcery LLC,&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Building Embedded Linux Systems&amp;quot; O&amp;#039;Reilly Media, 2008, ISBN 0596529686&lt;br /&gt;
&lt;br /&gt;
* [[Sublime_Text_cheat_sheet]] - Lieliskā Sublime teksta redaktora taustiņu kombinācijas&lt;br /&gt;
&lt;br /&gt;
* [http://fabiensanglard.net/c/ To become a good programmer...] - C grāmatu saraksts&lt;br /&gt;
&lt;br /&gt;
{{ProgrammersResorces}}&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=LU-LSP-b&amp;diff=11194</id>
		<title>LU-LSP-b</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=LU-LSP-b&amp;diff=11194"/>
		<updated>2026-02-10T12:24:01Z</updated>

		<summary type="html">&lt;p&gt;Leo: /* Praktisko darbu vērtēšanas kritēriji */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Īssaites:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[#Kalendārs | Kalendārs]] | &lt;br /&gt;
[[#Uzdevumi | Uzdevumi]] | &lt;br /&gt;
[[#Resursi | Resursi]] | &lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]] : &lt;br /&gt;
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]]&lt;br /&gt;
(ja ir lekcija)&lt;br /&gt;
&lt;br /&gt;
{{LUDFKurss|Linux sistēmas programmēšana|LSP|DatZ3122|2DAT3122}}&lt;br /&gt;
* Pasniedzēji:&lt;br /&gt;
** Leo Seļāvo &amp;#039;&amp;#039;(epasts: vards.uzvards @ gmail.com)&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Vērtējums = 15% praktiskie darbi, 35% mājas darbi, 20% kontroldarbs un 30% eksāmens.&lt;br /&gt;
&lt;br /&gt;
* [[LSP kursa atsauksmes]] no iepriekšējiem gadiem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Praktisko un mājas darbu iesniegšana ==== &lt;br /&gt;
* Mājas darbus iesniegt e-studijās vai darbu testēšanas serverī, atkarībā no darba specifikācijas.&lt;br /&gt;
* Faila nosaukumam jābūt formā LSP_MD1_Vards_Uzvards.c - mainot atbilstošo uzdevuma kodu (MD1) un faila formātu pēc nepieciešamības.&lt;br /&gt;
* Nevajag arhivēt failus, ja vien tas nav prasīts uzdevuma nosacījumos&lt;br /&gt;
&lt;br /&gt;
==== Praktisko darbu vērtēšanas kritēriji ====&lt;br /&gt;
* Praktisko darbu mērķis ir nostiprināt un parādīt izpratni par apgūto vielu, attiecīgi darbi ir jārisina &amp;#039;&amp;#039;&amp;#039;patstāvīgi&amp;#039;&amp;#039;&amp;#039;, tomēr jautājumu uzdošana pasniedzējam vai kolēģiem ir vēlama.&lt;br /&gt;
* Maksimālo vērtējumu par praktisko darbu var saņemt, ja tas iesūtīts līdz praktisko darbu lekcijas beigām (vai brīdim, kad vienojamies, ka publiski apskatīsim PD risinājumu).&lt;br /&gt;
* Pēc termiņa praktiskie darbi tiek pieņemti vēl tekošo nedēļu (līdz nākamās lekcijas sākumam) un tiks novērtēti, tomēr vairs ne ar maksimālo atzīmi. &lt;br /&gt;
* Praktiskajos darbos un lekcijās atzinīgi vērtējama ir dalība diskusijās, unikālu risinājumu un ideju piedāvāšana, trāpīgu jautājumu uzdošana, atbildēšana uz kolēģu jautājumiem u.t.t., kas var pozitīvi ietekmēt gala atzīmi kursā.&lt;br /&gt;
&lt;br /&gt;
==== Mājas darbu vērtēšanas kritēriji ====&lt;br /&gt;
* Mājas darbu iesniegšanas termiņa laiks ir attiecīgajā datumā līdz pusnaktij.&lt;br /&gt;
* Ja darbs tiek iesniegts ar novēlošanos (kaut vai 1 sekundi!):&lt;br /&gt;
** Tūdaļ pēc termiņa rezultāts tiek samazināts par &amp;#039;&amp;#039;&amp;#039;50%&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
** Nedēļu pēc termiņa darbi vairs netiek pieņemti.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Kalendārs=&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4 style = &amp;#039;border-color: #ddd;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
! Datums&lt;br /&gt;
! Tēma, saturs&lt;br /&gt;
! Uzdevumi&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====04.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievads kursā&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Unix un Linux operētājsistēmu pamatkoncepcijas. Linux sistēmprogrammētaja rīki (shell, gcc, make, manpages u.c.).&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD0 | MD0 ]]&amp;#039;&amp;#039;&amp;#039; - Programmēšanas stils&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[https://docs.google.com/document/d/1wmhmxU2x93yj5bha98yGwGTvUbQ5Q0ZjOTfcNQ5ndjc/edit?usp=sharing MD_Koks]&amp;#039;&amp;#039;&amp;#039; - Dzimtas koks.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Intro&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* Iekārtot darba vidi (linux, teksta redaktors, kompilators)&lt;br /&gt;
* Izveidot un pašiem nokompilēt &amp;quot;Hello world&amp;quot; C valodā&lt;br /&gt;
* Iepazīties ar UNIX čaulas komandām un uzdot jautājumus par neskaidrībām.&lt;br /&gt;
* Versiju kontroles sistēmas github pamati.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [[LU-LSP-B11:shell-cheatsheet | UNIX čaulas populārākās komandas un lietojumi]]&lt;br /&gt;
* Lasīt [https://www.linux.com/what-is-linux Kas tas ir, Linux?] - tagad vai līdz nākamajai lekcijai&lt;br /&gt;
* Lasīt [https://web.archive.org/web/20160417114016/http://www.physics.drexel.edu/students/courses/Comp_Phys/General/C_basics/#first C valodas pamācību] no Drexel universitātes.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L01 | PD_Intro]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====05.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Programmēšanas valoda C&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vispārīgs pārskats par programmēšanas valodu C. Datu struktūras. C standarti, kompilācija, bibliotēkas, linkošana, skalārie un saliktie tipi (t.sk pointeri un masīvi), funkcijas, nosacījumi, cikli.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Klasiskā C programmēšanas valodas grāmata: Brian W. C. Kernighan &amp;amp; Dennis M. Ritchie, &amp;quot;The C Programming Language -- ANSI C,&amp;quot; Prentice Hall, 1988 &lt;br /&gt;
* [https://web.archive.org/web/20160417114016/http://www.physics.drexel.edu/students/courses/Comp_Phys/General/C_basics/#first C Language Tutorial]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====11.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Darbs ar failiem&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Sistēmas izsaukumi un standarta bibliotēkas funkcijas faila ievadam un izvadam.  Linux piedāvātās programmas darbam ar failu izvadu/ievadu  (&amp;#039;&amp;#039;cat, tail, head, less, telnet&amp;#039;&amp;#039; u.c.).  Failu ievada un izvada ātrdarbības uzlabošana, buferi., ņemot vērā sistēmas arhitektūru.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_File&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Failu kopēšana.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L02 | PD_File]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====12.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Failu sistēma&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Faila izmēra noteikšana.  Failu saites, stingrās un vājās (hard links, soft links).  Failu glabāšana un pieeja operētājsistēmā. &amp;#039;&amp;#039;i-node&amp;#039;&amp;#039; jēdziens. Sistēmas izsaukums stat(). Direktoriju struktūra.  Izsaukumi opendir(), readdir() un closedir().   &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Failu piekļuves režīmi&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Faila piekļuves tiesību režīmi pie open() un umask.  Failu un i-node izsaukumi: chmod(), link(), unlink(), remove(), rename(), symlink(), readlink(), utime(), mkdir(), rmdir(), chdir(), getcwd().  Programma rakstīšanai log failā. Log faili.  Ekskluzīva rakstīšana ar open(...O_SYNC) un fcntl() metodēm.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD3 | MD_Dir]]&amp;#039;&amp;#039;&amp;#039; - Direktoriju koka apstaigāšana.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Dir&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Direktoriju koka apstaigāšana.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L03 | PD_Dir]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[https://docs.google.com/document/d/1wmhmxU2x93yj5bha98yGwGTvUbQ5Q0ZjOTfcNQ5ndjc/edit?usp=sharing MD_Koks]&amp;#039;&amp;#039;&amp;#039; - Dzimtas koks. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====19.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Atmiņas arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Atmiņas arhitektūra. Virtuālā atmiņa. TEXT, DATA, HEAP un STACK segmenti. Koplietošanas atmiņa starp procesiem. Procedūru izsaukumi.  Parametru nodošana caur steku. Steka satura analīze un piekļuve stekam.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.02.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Virtuālā atmiņa&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Virtuālās atmiņas lapas.  Page fault un segmentation fault.  Atmiņas aizsardzība. &amp;#039;&amp;#039;setjmp()&amp;#039;&amp;#039; un &amp;#039;&amp;#039;longjmp()&amp;#039;&amp;#039;.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD4 | MD_Mem]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas rezervācijas funkciju salīdzinājums.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.02.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_An&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Programmas analīze.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L04 | PD_An]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD3 | MD_Dir]]&amp;#039;&amp;#039;&amp;#039; - Direktoriju koka apstaigāšana.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====26.02.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Dinamiskā atmiņa&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Dinamiskā atmiņas izdalīšana. Heap, malloc() un free(). Dienesta informācija pie atmiņas izdalīšanas un atbrīvošanas.  Brīvās atmiņas saraksti. Prasības malloc() un free() veiktspējai.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Atmiņas fragmentācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Atmiņas fragmentācija. Atmiņas rezervēšanas (allocation) algoritmi,  kas darbojas uz atmiņas fragmentiem. Atmiņas &amp;#039;spaiņi&amp;#039;.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD5 | MD_Frag]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas fragmentācijas algoritmu novērtējums (&amp;#039;&amp;#039;&amp;#039;grupās&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Malloc :: PD_Heap&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; =&amp;gt; Daudz-uzdevumu vide&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Malloc&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Atmiņas rezervācija.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Heap&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Vienkāršs atmiņas alokators fiksēta izmēra objektiem.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L06 | PD_Malloc]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:L07 | PD_Heap]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD4 | MD_Mem]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas rezervācijas funkciju salīdzinājums.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====05.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Atkļūdošana&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Linux atkļūdošanas rīki un to lietošana.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Game&amp;#039;&amp;#039;&amp;#039; - Kursa projekta tēmas (spēles) izvēle&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
||&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;KD1&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; (&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;)&lt;br /&gt;
|}&lt;br /&gt;
KD1 kontroldarbs. Programmēšanas uzdevums pie datora, izmantojot apgūto vielu.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
| &amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Dbg&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; (&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;)&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Dbg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Atkļūdošanas rīki.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:LA | PD_Dbg]]&amp;#039;&amp;#039;&amp;#039; (Nav obligāti jāiesniedz)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====12.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
| &amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Daudz-uzdevumu vide&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt; =&amp;gt; PD_Malloc :: PD_Heap (&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;)&lt;br /&gt;
|}&lt;br /&gt;
Daudz-uzdevumu vide. Procesi un procesu kontrole. Pavedieni (threads).  Kooperējošies procesi un preemptīvā daudz-uzdevumu metode.  Komanda &amp;#039;&amp;#039;&amp;#039;ps&amp;#039;&amp;#039;&amp;#039;.  &amp;#039;&amp;#039;getpid()&amp;#039;&amp;#039; un &amp;#039;&amp;#039;getppid()&amp;#039;&amp;#039;. &amp;#039;&amp;#039;fork()&amp;#039;&amp;#039;, &amp;#039;&amp;#039;exec()&amp;#039;&amp;#039;, &amp;#039;&amp;#039;wait()&amp;#039;&amp;#039;. &amp;#039;&amp;#039;system()&amp;#039;&amp;#039;.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Pavedieni&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Pavedieni. POSIX pavedieni. Mutex. Datu skriešanās (data race condition). Strupceļš (deadlock).&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.cs.cmu.edu/afs/cs/academic/class/15492-f07/www/pthreads.html POSIX thread (pthread) libraries]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:MD5 | MD_Frag]]&amp;#039;&amp;#039;&amp;#039; - Atmiņas fragmentācijas algoritmu novērtējums (&amp;#039;&amp;#039;&amp;#039;grupās&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Thread&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Programma kas taisa N pavedienus, kur katrs izdrukā M burtus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_KD&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Kontroldarba analīze.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Spec&amp;#039;&amp;#039;&amp;#039; - Spēles noteikumu specifikācija&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b:L08 | PD_Thread]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====19.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Procesa dzīves cikls :: Starpprocesu komunikācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Procesa dzīves cikls&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Procesa dzīves cikls: Procesa ielādēšana, uzsākšanās un pieci veidi  kā process var beigties. exit() un _exit().&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Starpprocesu komunikācija&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Starpprocesu komunikācija.  Faili. Pipes. Koplietošanas atmiņa. Komunikācija starp nesaistītiem procesiem. Sockets abstrakcija komunikācijai.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Game&amp;#039;&amp;#039;&amp;#039; - Kursa projekta tēmas (spēles) izvēle&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.03.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Sockets :: Servera klienta arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Sockets&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sockets abstrakcija komunikācijai. Klienta un servera arhitektūra.  Iteratīvie un paralēlie serveri. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Servera klienta arhitektūra&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
TBD: Ieskatam servera/klienta komunikācijā [http://selavo.lv/wiki/index.php/LU-LSP-b13:L11 PD11], bet nav jānodod.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Prot1&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, 1. versija&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Spec&amp;#039;&amp;#039;&amp;#039; - Spēles noteikumu specifikācija&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.03.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Jmp :: PD_PSpec&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Jmp&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;setjmp()&amp;#039;&amp;#039;,&amp;#039;&amp;#039;longjmp()&amp;#039;&amp;#039; un taimera signāls.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_PSpec&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Darbs pie kursa projekta. Spēles izvēle un specifikācija.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L05 | PD_Jmp]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;PD_PSpec&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====26.03.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Signāli&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Signāli. Alarm serviss un signāls.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;MP_Prot2&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, gala versija&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Prot1&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, 1. versija&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====08.04.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Tekstuālā lietotāja saskarne.&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Tekstuālā lietotāja saskarne. Ncurses bibliotēka.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [https://www.cyberciti.biz/faq/linux-install-ncurses-library-headers-on-debian-ubuntu-centos-fedora/ Ncurses library, installation and use]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Spēles noteikumi finalizēti.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====08.04.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_Net :: PD_PProt&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_Net&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Starpprocesu komunikācija tīklā.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PD_PProt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Darbs pie kursa projekta. Komunikāciju protokola izstrāde.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;[[LU-LSP-b13:L10 | PD_Net]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;PD_PProt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====09.04.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Dēmoni&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Programmas, kas izpildās fonā un ilgtermiņā.  Rezidenta programmas. Init.d. Upstart. Systemd. Sesijas identifikators.&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;MP_Prot2&amp;#039;&amp;#039;&amp;#039; - Spēles komunikāciju protokols, gala versija&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====15.04.26====&lt;br /&gt;
10:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Grafiskā lietotāja saskarne&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Grafiskā lietotāja saskarne. OpenGL. X-server.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====15.04.26====&lt;br /&gt;
12:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;PD_KP&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Darbs pie kursa projekta.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots &amp;#039;&amp;#039;&amp;#039;PD_KP&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====16.04.26====&lt;br /&gt;
14:30&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Konsultācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Atbildes uz studentu jautājumiem&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====xx.xx.26====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;xx:xx&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vieta: xxx.auditorija.&lt;br /&gt;
&lt;br /&gt;
Eksāmena forma: projektu demonstrācija un prezentācija (darbība, pirmkods, diskusijas).&lt;br /&gt;
Pirms eksāmena kodam kopā ar kompilācijas un palaišanas instrukcijām jābūt iesniegtam e-studijās!&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Pirms eksāmena&amp;#039;&amp;#039;&amp;#039; eStudijās jāiesniedz projekta pirmkods zip failā. Tajā jābūt iekļautam arī &amp;#039;&amp;#039;&amp;#039;readme&amp;#039;&amp;#039;&amp;#039; failam.&lt;br /&gt;
&lt;br /&gt;
Eksāmena vērtējuma plāns:&lt;br /&gt;
* Pirmkods, serveris 25%&lt;br /&gt;
* Pirmkods, klients 25%&lt;br /&gt;
* Demo un darbības testēšana 25%&lt;br /&gt;
* Prezentācija (bez slaidiem) 25%&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====xx.04-xx.05.2026====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Sesija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vērtējumu izlikšana&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Uzdevumi=&lt;br /&gt;
== Mājas darbi ==&lt;br /&gt;
&lt;br /&gt;
* [[LU-LSP-b:MD0 | MD0]]: Izlasīt kodēšanas stila dokumentus.&lt;br /&gt;
* [[LU-LSP-b:MD1 | MD_Koks]]: Ģimenes koka ģenerēšanas programma.&lt;br /&gt;
* [[LU-LSP-b:MD3 | MD3]]: Vienādo failu meklēšana direktorijas kokā.&lt;br /&gt;
* [[LU-LSP-b:MD4 | MD4]]: Atmiņas rezervācijas funkciju salīdzināšana.&lt;br /&gt;
* [[LU-LSP-b:MD5 | MD5]]: Atmiņas fragmentācijas algoritmu novērtējums.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [[LU-LSP-b:MD5 | MD5]]: Procedūru izsaukumu steka izdruka. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Eksāmens izpaužas kā kursa projekta aizstāvēšana.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* MD7 - projekta protokola specifikācija. Skatīt arī [[LU-LSP-b13:PD_client_server | PD: Klienta un servera arhitektūra]]&lt;br /&gt;
** [[LU-LSP-b11:PD_client_server | PD: Klienta un servera arhitektūra]] (praktiskā darba piezīmes)&lt;br /&gt;
** [http://selavo.lv/~kursi/LSP/md7 MD7 projekta grupu risinājumi]&lt;br /&gt;
&lt;br /&gt;
Eksāmens izpaužas kā kursa projekta aizstāvēšana.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Resursi=&lt;br /&gt;
== Pamācoši vingrinājumi un piemēri ==&lt;br /&gt;
&lt;br /&gt;
* Failu I/O buferi un sekas: divi raksta, redzam trīs...&lt;br /&gt;
* Aprēķins, cik laika vajag pārkopēt 1 TB pa baitam bez bufera.&lt;br /&gt;
* Paging: piemērs 4K x 4K masīva apstaigāšanai, mainot indeksus: 4K vs 16M page faults&lt;br /&gt;
* Vai var uzrakstīt programmu bez main()&lt;br /&gt;
* [https://wordsandbuttons.online/so_you_think_you_know_c.html So you think you know C] - tests ar 5 jautājumiem.&lt;br /&gt;
&lt;br /&gt;
== Literatūra ==&lt;br /&gt;
&lt;br /&gt;
* Advanced Programming in the UNIX(R) Environment, Second Edition, by W. Richard Stevens, Stephen A. Rago. Addison Wesley Professional, 2005, ISBN 0-201-43307-9.  (Indiešu eksemplāram ir ISBN 81-317-0005-4)&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Linux system programming&amp;quot; by Robert Love, O&amp;#039;Reilly Media, 2007, ISBN 0596009585&lt;br /&gt;
&lt;br /&gt;
* [http://www.advancedlinuxprogramming.com/ Advanced Linux Programming] by CodeSourcery LLC,&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Building Embedded Linux Systems&amp;quot; O&amp;#039;Reilly Media, 2008, ISBN 0596529686&lt;br /&gt;
&lt;br /&gt;
* [[Sublime_Text_cheat_sheet]] - Lieliskā Sublime teksta redaktora taustiņu kombinācijas&lt;br /&gt;
&lt;br /&gt;
* [http://fabiensanglard.net/c/ To become a good programmer...] - C grāmatu saraksts&lt;br /&gt;
&lt;br /&gt;
{{ProgrammersResorces}}&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=Template:DIP_saites&amp;diff=11193</id>
		<title>Template:DIP saites</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=Template:DIP_saites&amp;diff=11193"/>
		<updated>2026-02-06T12:47:16Z</updated>

		<summary type="html">&lt;p&gt;Leo: /* Termini */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Termini =&lt;br /&gt;
&lt;br /&gt;
* IC - Integrated Circuit - mikroshēma.&lt;br /&gt;
* FPGA - Field Programmable Gate Array - Konfigurējams loģisko un citu elementu čips, &amp;quot;lego&amp;quot; kluči digitālai elektronikai.&lt;br /&gt;
* EDA - Dizaina plūsma: Electronic Design Automation [https://en.wikipedia.org/wiki/Design_flow_(EDA) (wikipedia)]&lt;br /&gt;
* RTL - [https://en.wikipedia.org/wiki/Register-transfer_level Register-Transfer Level] - dizaina abstrakcija, kurā dati plūst starp reģistriem.&lt;br /&gt;
* [https://en.wikipedia.org/wiki/GDSII GDSII] - Binārs datubāzes falia formāts IC dizaina apmaiņai industrijā.&lt;br /&gt;
&lt;br /&gt;
= Resursi =&lt;br /&gt;
&lt;br /&gt;
* [http://books.google.lv/books?id=1lD9LZRcIZ8C&amp;amp;printsec=frontcover&amp;amp;source=gbs_navlinks_s#v=onepage&amp;amp;q=&amp;amp;f=false Computer organization and design: the hardware/software interface]&lt;br /&gt;
** [http://owlhouse.csie.nctu.edu.tw/old/CO2004/ch1-4_old.ppt Computer Organization &amp;amp; Design The Hardware/Software Interface, 2nd Edition] PPT 5.89MB (lekciju slaidi no National Chiao Tung University)&lt;br /&gt;
** [http://owlhouse.csie.nctu.edu.tw/old/CO2004/CO2004_lecture_notes.ppt Computer Organization &amp;amp; Design The Hardware/Software Interface, 3nd Edition] PPT 1.86MB (lekciju slaidi no National Chiao Tung University)&lt;br /&gt;
&lt;br /&gt;
* [http://books.google.lv/books?id=57UIPoLt3tkC&amp;amp;printsec=frontcover&amp;amp;source=gbs_v2_summary_r&amp;amp;cad=0#v=onepage&amp;amp;q=&amp;amp;f=false Computer architecture: a quantitative approach]&lt;br /&gt;
&lt;br /&gt;
* [http://books.google.lv/books?id=3aN89DhGwI4C&amp;amp;printsec=frontcover&amp;amp;source=gbs_v2_summary_r&amp;amp;cad=0#v=onepage&amp;amp;q=&amp;amp;f=false The designer&amp;#039;s guide to VHDL]&lt;br /&gt;
&lt;br /&gt;
* [http://www.synopsys.com/Systems/FPGABasedPrototyping/FPMM/Pages/default.aspx FPGA-Based Prototyping Methodology Manual]: Best practices in Design-for-Prototyping (FPMM) is a comprehensive and practical guide to using FPGAs as a platform for SoC development and verification.&lt;br /&gt;
&lt;br /&gt;
* [http://www.youtube.com/watch?v=Er9luiBa32k FPGA 101 - Making awesome stuff with FPGAs]: Karsten Becker @ 30th Chaos Communication Congress [30c3] by the Chaos Computer Club&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Digital design textbooks @ Digilent Inc.===&lt;br /&gt;
&lt;br /&gt;
* [https://reference.digilentinc.com/_media/textbooks/intro_to_digital_design-digilent-verilog_online.pdf Introduction to Digital Design - Verilog Edition] (PDF)&lt;br /&gt;
* [https://reference.digilentinc.com/_media/textbooks/intro_digital_design-digilent-vhdl_online.pdf Introduction to Digital Design - VHDL Edition] (PDF)&lt;br /&gt;
&lt;br /&gt;
* Real Digital - A hands-on approach to digital design&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M1/RealDigital_Module_1.pdf Module 1: Introduction to Electronic Circuits] PDF 465.54KB&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M2/RealDigital_Module_2.pdf Module 2: Introduction to Digilent&amp;#039;s Digital Design Circuit Boards] PDF 65.94KB&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M3/RealDigital_Module_3.pdf Module 3: Circuit Structure with an Introduction to CAD Tools] PDF 247.60KB&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M4/RealDigital_Module_4.pdf Module 4: Logic Minimization] PDF 353.07KB&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M5/RealDigital_Module_5.pdf Module 5: Introduction to VHDL] PDF 197.37KB&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M6/RealDigital_Module_6.pdf Module 6: Combinational Circuit Blocks] PDF 244.46KB&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M7/RealDigital_Module_7.pdf Module 7: Combinational Arithmetic Circuits] PDF 361.00KB&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M8/RealDigital_Module_8.pdf Module 8: Signal Propagation Delays] PDF 126.77KB&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M9/RealDigital_Module_9.pdf Module 9: Basic Memory Circuits] PDF 232.41KB&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M10/RealDigital_Module_10.pdf Module 10: The Structural Design of Sequential Circuits] PDF 245.58KB&lt;br /&gt;
&lt;br /&gt;
= Saites =&lt;br /&gt;
&lt;br /&gt;
=== Xilinx produkti (FPGA čipi) ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.xilinx.com Xilinx kompānijas (FPGA ražotājs) portāls]&lt;br /&gt;
&amp;lt;!-- * [http://www.xilinx.com/support/documentation/data_sheets/ds312.pdf Spartan 3E FPGA Family datasheet] --&amp;gt;&lt;br /&gt;
* [https://datasheetspdf.com/pdf-file/1409860/Xilinx/XC3S500E/1 Spartan 3E FPGA Family datasheet]&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/data_sheets/ds160.pdf Spartan-6 FPGA Family datasheet]&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/application_notes/xapp462.pdf Using Digital Clock Managers (DCMs) in Spartan-3 FPGAs]&lt;br /&gt;
&lt;br /&gt;
=== Xilinx attīstītajrīki ===&lt;br /&gt;
&lt;br /&gt;
DiLab ir pieejami sekojoši Xilinx (Digilent) attīstītajrīki:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[https://reference.digilentinc.com/reference/programmable-logic/anvyl/start ANVYL]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Anvyl Reference Manual: [https://reference.digilentinc.com/_media/reference/programmable-logic/anvyl/anvyl_rm.pdf (PDF)] [https://digilent.com/reference/programmable-logic/anvyl/reference-manual (Website)]&lt;br /&gt;
** [[ANVYL programmēšana]] - Pamācība, kā uzlādēt dizainu uz Anvyl dēļa&lt;br /&gt;
** [https://github.com/elomage/FPGA-resources/tree/main/ucf_templates UCF file templates].&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[http://www.pynq.io/ PYNQ]&amp;#039;&amp;#039;&amp;#039; [https://reference.digilentinc.com/reference/programmable-logic/pynq-z1/start -Z1]&lt;br /&gt;
** [https://www.digikey.com/en/articles/techzone/2019/apr/build-and-program-fpga-based-designs-quickly-python-jupyter-notebooks Build and Program FPGA-Based Designs Quickly with Python and Jupyter Notebooks] - with Zynq (PYNQ)&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[https://reference.digilentinc.com/reference/programmable-logic/spartan-3e/start Spartan-3E]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** [http://www.xilinx.com/support/documentation/boards_and_kits/ug230.pdf Xilinx Spartan-3E FPGA Starter Kit Board User Guide] PDF 7.34MB&lt;br /&gt;
** [http://www.xilinx.com/support/documentation/sw_manuals/xilinx12_2/spartan3e_scm.pdf Spartan-3E Libraries Guide for Schematic Designs] PDF 9.19MB&lt;br /&gt;
** [http://www.xilinx.com/support/documentation/sw_manuals/xilinx12_2/spartan3e_hdl.pdf Spartan-3E Libraries Guide for HDL Designs] PDF 3.94MB&lt;br /&gt;
** [https://github.com/elomage/FPGA-resources/tree/main/ucf_templates UCF file templates].&lt;br /&gt;
&lt;br /&gt;
* [http://www.xilinx.com/products/boards/s3e1600e/reference_designs.htm Spartan-1600e]&lt;br /&gt;
&lt;br /&gt;
* [https://reference.digilentinc.com/reference/programmable-logic/virtex-ii-pro/start XUP V2P], no [http://www.xilinx.com/univ/xupv2p.html Xilinx University Program]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== PMOD papildus moduļi ====&lt;br /&gt;
Mums ir pieejami dažādi [https://reference.digilentinc.com/reference/pmod/start PMOD perifērijas iekārtu moduļi] (pārsvarā 1x6 formātā) par kuriem sīkāk var lasīt [https://store.digilentinc.com/pmod-expansion-modules/by-form-factor/1x6/ Digilentic portālā].&lt;br /&gt;
* ADC modulis [https://store.digilentinc.com/pmod-ad1-two-12-bit-a-d-inputs/ PmodAD1 PB200064]&lt;br /&gt;
* DAC modulis: [https://store.digilentinc.com/pmod-da2-two-12-bit-d-a-outputs/ PmodDA2 PB200-113]&lt;br /&gt;
* 3.5mm konektori ar pastiprinātāju: [https://store.digilentinc.com/pmodamp1-speaker-headphone-amplifier-retired/ PmodAmp1]&lt;br /&gt;
* RCA konektori: [https://store.digilentinc.com/pmod-con4-rca-audio-jacks/ Pmod CON4] (CON1 RevB)&lt;br /&gt;
* BNC konektori: [https://store.digilentinc.com/pmodcon2-bnc-connectors-retired/ Pmod CON2 PB200066]&lt;br /&gt;
* 7-segmentu LED x 2: [https://store.digilentinc.com/pmod-ssd-seven-segment-display/ PmodSSD]&lt;br /&gt;
* [https://store.digilentinc.com/pmod-led-four-high-brightness-leds/ Pmod LED x 4: PB200076]&lt;br /&gt;
* Komutācijas modulis [https://store.digilentinc.com/pmod-tph-6-pin-test-point-header/ PTPH PB200-001]&lt;br /&gt;
* Seriālā zibatmiņa: [https://store.digilentinc.com/pmodsf-external-rom-2mb-serial-flash-memory/ PmodSF]&lt;br /&gt;
* Video signālu dekodera modulis [https://store.digilentinc.com/vdec1-video-decoder-board-retired/ VDEC1]&lt;br /&gt;
* [https://store.digilentinc.com/pmod-cable-kit-6-pin/ Pmod kabelis 6x1]&lt;br /&gt;
* Skaļrunis ar 3.5mm konektoru: [https://store.digilentinc.com/speaker/ SPEAKER]&lt;br /&gt;
&lt;br /&gt;
* Konektors vadiem [https://reference.digilentinc.com/reference/pmod/pmodcon1/start PmodCON1]&lt;br /&gt;
* Rotējošais enkoderis [https://reference.digilentinc.com/reference/pmod/pmodenc/start PmodENC]&lt;br /&gt;
* USB saskarne [https://reference.digilentinc.com/reference/pmod/pmodusbuart/start PmodUSBUART]&lt;br /&gt;
* Ultraskaņas distances mērītājs [https://reference.digilentinc.com/reference/pmod/pmodmaxsonar/start PmodMAXSONAR]&lt;br /&gt;
* Audio DAC SPI [https://reference.digilentinc.com/reference/pmod/pmodmic3/start PmodMIC3]&lt;br /&gt;
&lt;br /&gt;
=== Xilinx ISE instalācija ===&lt;br /&gt;
==== Xilinx ISE WebPACK (14.7) ====&lt;br /&gt;
&lt;br /&gt;
* [[ISE 14.7 instalācija]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==== Xilinx ISE WebPACK (12.2) ====&lt;br /&gt;
&lt;br /&gt;
* [https://secure.xilinx.com/webreg/register.do?group=dlc&amp;amp;htmlfile=&amp;amp;emailFile=&amp;amp;cancellink=&amp;amp;eFrom=&amp;amp;eSubject=&amp;amp;version=12.2&amp;amp;akdm=1&amp;amp;filename=Xilinx_ISE_DS_Lin_12.2_M.63c.1.1.tar Installer for Linux] TAR/GZ 3.02GB (nepieciešams reģistrēties www.xilinx.com)&lt;br /&gt;
&lt;br /&gt;
* [https://secure.xilinx.com/webreg/register.do?group=dlc&amp;amp;htmlfile=&amp;amp;emailFile=&amp;amp;cancellink=&amp;amp;eFrom=&amp;amp;eSubject=&amp;amp;version=12.2&amp;amp;akdm=1&amp;amp;filename=Xilinx_ISE_DS_Win_12.2_M.63c.1.1.tar Installer for Windows] TAR/GZ 2.96GB (nepieciešams reģistrēties www.xilinx.com)&lt;br /&gt;
&lt;br /&gt;
* [http://www.xilinx.com/support/documentation/sw_manuals/xilinx12_2/irn.pdf ISE Design Suite 12: Installation, Licensing, and Release Notes] PDF 1.44MB&lt;br /&gt;
&lt;br /&gt;
* [http://ubuntuforums.org/showthread.php?t=1547435 Xilinx ISE WebPACK 12.2 on Ubuntu 10.04 LTS]&lt;br /&gt;
&lt;br /&gt;
* [http://rmdir.de/~michael/xilinx/ Xilinx JTAG tools on Linux without proprietary kernel modules]&lt;br /&gt;
&lt;br /&gt;
* [http://www.xilinx.com/support/documentation/sw_manuals/xilinx12_2/ise_tutorial_ug695.pdf ISE In-Depth Tutorial] (ver.12.2) PDF 5.04MB&lt;br /&gt;
* [http://www.xilinx.com/support/documentation/sw_manuals/xilinx12_2/plugin_ism.pdf ISim User Guide] (ver.12.2) PDF 1.96MB&lt;br /&gt;
&lt;br /&gt;
&amp;lt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Xilinx ISE lietošana ===&lt;br /&gt;
* [https://github.com/elomage/FPGA-resources/tree/main/ucf_templates UCF failu šabloni] FPGA platformām.&lt;br /&gt;
&lt;br /&gt;
==== Vispārīga lietošana ====&lt;br /&gt;
* [http://www.xilinx.com/support/documentation/sw_manuals/xilinx14_7/ise_tutorial_ug695.pdf ISE In-Depth Tutorial] (ver.14.7) PDF&lt;br /&gt;
* [https://www.xilinx.com/support/documentation-navigation/development-tools/hardware-development/ISE-design-suite.html?preSelect=documenttype:SeeAll#documentation Xilinx ISE dokumentācija] - dažādi dokumenti&lt;br /&gt;
&lt;br /&gt;
==== Simulācija ar ISim ====&lt;br /&gt;
&lt;br /&gt;
* [http://www.xilinx.com/support/documentation/sw_manuals/xilinx14_7/plugin_ism.pdf ISim User Guide] (ver.14.7) PDF 1.96MB&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/sw_manuals/xilinx14_7/ug682.pdf ISim in-depth Tutorial] PDF&lt;br /&gt;
* [https://youtu.be/hPYsQE0-1kQ Simulācija ar ISim] - pamācības video, Colin O&amp;#039;Flynn.&lt;br /&gt;
&lt;br /&gt;
==== Simulācija ar ModelSim ====&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/sw_manuals/xilinx14_7/ise_tutorial_ug695.pdf Xilinx ISE In-Depth Tutorial] - PDF&lt;br /&gt;
* [https://www.cis.upenn.edu/~milom/cis371-Spring13/lab/simulation/ Pamācība no Pensilvānijas Universitātes]&lt;br /&gt;
* [https://youtu.be/DgRrATFd3jc How to do a Timing Simulation using Modelsim and Xilinx ISE] - video pamācība&lt;br /&gt;
&lt;br /&gt;
=== Video applications using FPGA ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.stevechamberlin.com/cpu/2009/06/21/fpga-pong/ FPGA Pong] by Steve Chamberlin&lt;br /&gt;
* [http://www.fpga4fun.com/PongGame.html Pong Game] by Jean P. Nicolle&lt;br /&gt;
&lt;br /&gt;
== ANVYL attīstītājrīks ==&lt;br /&gt;
[https://store.digilentinc.com/anvyl-spartan-6-fpga-trainer-board/ ANVYL]&lt;br /&gt;
ir Xilinx Spartan 6G FPGA bāzēts attīstītājrīks ar dažādām papildus un perifērijas iekārtām.&lt;br /&gt;
&lt;br /&gt;
* [[ANVYL programmēšana]] - kā uzlādēt dizainu uz Anvyl dēļa&lt;br /&gt;
* [https://youtu.be/9iQfqhUfAcE Video ar Anvyl programmēšanas piemēru]&lt;br /&gt;
&lt;br /&gt;
== PYNQ ietvars ==&lt;br /&gt;
[http://www.pynq.io/ PYNQ] ir ietvars kas iespējo FPGA aparatūras funkciju izmantošanu ar Python programmēšanas valodu. &lt;br /&gt;
Atbalstītā aparatūra iekļauj [https://store.digilentinc.com/fpga-programmable-logic/by-technology/zynq/ ZYNQ].&lt;br /&gt;
&lt;br /&gt;
PYNQ informācijas avoti:&lt;br /&gt;
* [https://pynq.readthedocs.io/en/latest/getting_started.html getting Started with PYNQ]&lt;br /&gt;
* [https://github.com/Xilinx/PYNQ_Workshop PYNQ Tutorial]&lt;br /&gt;
* [http://pynq.readthedocs.io/ PYNQ documentation]&lt;br /&gt;
* [http://www.pynq.io/board.html Atbalstītā aparatūra]&lt;br /&gt;
&lt;br /&gt;
PYNQ projekti&lt;br /&gt;
* [http://www.pynq.io/examples Projektu piemēri]&lt;br /&gt;
* [https://github.com/drichmond/RISC-V-On-PYNQ RISC-V on PYNQ]&lt;br /&gt;
&lt;br /&gt;
PYNK un PMOD&lt;br /&gt;
* [https://pynq.readthedocs.io/en/v2.0/pynq_libraries/pmod.html Par PMOD un PYNQ]&lt;br /&gt;
&lt;br /&gt;
== HDL pamācības (Verilog, VHDL) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- (unavailable) * [http://www.eecs.harvard.edu/cs141/resources/verilog-tutorial.pdf Verilog Tutorial I (10 pages)] PDF 69.58KB --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Verilog Tutorials&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** [https://users.ece.cmu.edu/~jhoe/course/ece447/S09handouts/LV.pdf handout] by Peter  Milder (15 pages).&lt;br /&gt;
** [http://www.ece.umd.edu/class/enee359a.S2008/verilog_tutorial.pdf by asic-world] (227 pages) PDF 876.25KB&lt;br /&gt;
** [http://www.asic-world.com/verilog/veritut.html by asic-world, online version]&lt;br /&gt;
** [https://www.nandland.com/verilog/tutorials/tutorial-introduction-to-verilog-for-beginners.html by NANDLand.com]&lt;br /&gt;
** [https://www.asic-world.com/tidbits/verilog_fsm.html FSM pamācība] no asic-world.com&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;VHDL Tutorials&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** [http://www.gmvhdl.com/VHDL.html VHDL Tutorial I (15 pages)]&lt;br /&gt;
** [http://lslwww.epfl.ch/pages/teaching/cours_lsl/sl_info/vhdl-tutorial.pdf VHDL Tutorial II (84 pages)] PDF 391.95KB&lt;br /&gt;
&lt;br /&gt;
* Debouncing&lt;br /&gt;
** [https://www.fpga4student.com/2017/04/simple-debouncing-verilog-code-for.html Verilog code for debouncing buttons on FPGA]&lt;br /&gt;
&lt;br /&gt;
== RISC-V ==&lt;br /&gt;
&lt;br /&gt;
* [https://riscv.org/technical/specifications/ Specifications]&lt;br /&gt;
* [https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md Getting started] - Assembly manual&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf Green card]&lt;br /&gt;
* [https://five-embeddev.com/riscv-isa-manual/latest/instr-table.html RISC-V Instruction Set Manual] from five-embeddev.com&lt;br /&gt;
* [https://www.cs.cornell.edu/courses/cs3410/2019sp/riscv/interpreter/ RISC-V Interpretators online]&lt;br /&gt;
* [https://riscvasm.lucasteske.dev/# RISC-V Online Assembler]&lt;br /&gt;
&lt;br /&gt;
== Seriālie protokoli ==&lt;br /&gt;
&lt;br /&gt;
* Asinhroni seriālais ports, RS232 un tml.&lt;br /&gt;
** [https://www.best-microcontroller-projects.com/how-rs232-works.html How RS232 works]&lt;br /&gt;
&lt;br /&gt;
* SPI protokols&lt;br /&gt;
** [https://learn.sparkfun.com/tutorials/serial-peripheral-interface-spi/all SPI tutorial] at Sparkfun &lt;br /&gt;
&lt;br /&gt;
* I2C un 2-wire protokols&lt;br /&gt;
** [http://www.circuitbasics.com/basics-of-the-i2c-communication-protocol/ I2C communication protocol] at Circuit basics&lt;br /&gt;
** [https://learn.sparkfun.com/tutorials/i2c/all I2C Tutorial] at Sparkfun&lt;br /&gt;
&lt;br /&gt;
* One-wire protokols&lt;br /&gt;
** [https://www.rfwireless-world.com/Tutorials/1-wire-protocol-basics.html 1-wire protocol basics] at rfwireless-world.com&lt;br /&gt;
** [https://www.maximintegrated.com/en/design/technical-documents/tutorials/1/1796.html Guide to 1-wire devices] at Maxim-IC&lt;br /&gt;
&lt;br /&gt;
* USB&lt;br /&gt;
** [https://www.cypress.com/file/134171/download Specifikācija] - Infineon / Cypress.&lt;br /&gt;
&lt;br /&gt;
== IP cores priekš FPGA ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.latticesemi.com/products/intellectualproperty/ipcores/mico32/index.cfm LatticeMicro 32] soft-procesors&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ieteikumi prezentāciju veidošanā ==&lt;br /&gt;
[http://andromeda.df.lu.lv/wiki/index.php/LU::poster-howto Piezīmes par plakātu un prezentāciju veidošanu]&lt;br /&gt;
&lt;br /&gt;
== Citi kursi un saites ==&lt;br /&gt;
* [http://www.ecs.umass.edu/ece/koren/architecture/ Computer architecture education tools] at UMass&lt;br /&gt;
&lt;br /&gt;
* [https://8bitworkshop.com/ 8 Bit Workshop] - aparatūras simulators pārlūkā, tai skaitā Verilog.&lt;br /&gt;
&lt;br /&gt;
* [https://www.circuitlab.com/ Circuitlab.com] - vienkāršu shēmu testēšana interneta pārlūkā &lt;br /&gt;
&lt;br /&gt;
* [http://www.falstad.com/circuit/ Falstad shēmu simulators]&lt;br /&gt;
&lt;br /&gt;
* [http://www.fpga4fun.com/index.html FPGA 4 fun!] - FPGA informācija un projekti iesācējiem un ne tikai.&lt;br /&gt;
* [http://tams-www.informatik.uni-hamburg.de/applets/hades/webdemos/toc.html Hades demonstration applets]&lt;br /&gt;
&lt;br /&gt;
* [http://www.cpushack.com/ CPU Shack]&lt;br /&gt;
* [http://danluu.com/why-hardware-development-is-hard/ Why hardware development is hard] by Dan Luu&lt;br /&gt;
&lt;br /&gt;
* [http://bit.ly/1dUqEiP How a CPU is made] (video)&lt;br /&gt;
* [http://bit.ly/1a2Ura8 FPGA 101 - Making awesome stuff with FPGAs] - FPGA 101 lekcija &amp;quot;30th Chaos Communication Congress (30c3) by the Chaos Computer Club (CCC)&amp;quot; konferencē.&lt;br /&gt;
&lt;br /&gt;
* Intel: The Making of a Chip with 22nm/3D Transistors [https://www.youtube.com/watch?v=d9SWNLZvA8g (video)]&lt;br /&gt;
* [http://www.righto.com/2014/10/how-z80s-registers-are-implemented-down.html Down to the silicon: how the Z80&amp;#039;s registers are implemented]&lt;br /&gt;
&lt;br /&gt;
* [http://electronics.stackexchange.com/questions/7042/how-much-does-it-cost-to-have-a-custom-asic-made How much does it cost to have a custom ASIC made?]&lt;br /&gt;
&lt;br /&gt;
* [http://courses.csail.mit.edu/6.111/f2008/ MIT Introductory Digital Systems Lab] (2008.g. MIT kurss)&lt;br /&gt;
&lt;br /&gt;
* [http://www.pldworld.com/_xilinx/html/tip/sixeasypieces.htm Six Easy Pieces (Non-Synchronous Circuit Tricks)]&lt;br /&gt;
&lt;br /&gt;
* [https://www.sigenics.com/page/asic-cost-calculator ASIC izmaksu kalkulators] (Sigenics)&lt;br /&gt;
&lt;br /&gt;
* HotMobile 2017 - [https://youtu.be/hcexIcdd1Pw Separated by Birth: Hidden Differences Between Seemingly-Identical Smartphone CPU&amp;#039;s]&lt;br /&gt;
&lt;br /&gt;
== Domu graudi ==&lt;br /&gt;
&lt;br /&gt;
* [http://stackoverflow.com/questions/11227809/why-is-processing-a-sorted-array-faster-than-an-unsorted-array Why is processing a sorted array faster than an unsorted array? (Branch prediction)]&lt;br /&gt;
&lt;br /&gt;
* [https://www.acm.org/hennessy-patterson-turing-lecture 2017 ACM A.M. Turing Award recipients John Hennessy and David Patterson delivered the Turing Lecture on June 4 at ISCA 2018]&lt;br /&gt;
&lt;br /&gt;
* [https://youtu.be/TPbroUDHG0s Spēļu programmēšana 8 bitu arhitektūrā]&lt;br /&gt;
&lt;br /&gt;
* [https://youtu.be/V9xUQWo4vN0 Tranzistors] - 1953.gada dokumentālā filma&lt;br /&gt;
&lt;br /&gt;
== FPGA pielietojumi ==&lt;br /&gt;
* [http://www.wired.com/2014/06/microsoft-fpga/ Microsoft Supercharges Bing Search With Programmable Chips]&lt;br /&gt;
* [https://tang.sipeed.com/en/ Tang primer board] for RISC V&lt;br /&gt;
* [https://thedatabus.io/fpga-buying-guide FPGA buying guide]&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=Template:DIP_saites&amp;diff=11192</id>
		<title>Template:DIP saites</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=Template:DIP_saites&amp;diff=11192"/>
		<updated>2026-02-06T12:46:26Z</updated>

		<summary type="html">&lt;p&gt;Leo: /* Resursi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Termini =&lt;br /&gt;
&lt;br /&gt;
* IC - Integrated Circuit - mikroshēma.&lt;br /&gt;
* FPGA - Field Programmable Gate Array - Konfigurējams loģisko un citu elementu čips, &amp;quot;lego&amp;quot; kluči digitālai elektronikai.&lt;br /&gt;
* EDA - Dizaina plūsma: Electronic Design Automation [https://en.wikipedia.org/wiki/Design_flow_(EDA) (wikipedia)]&lt;br /&gt;
* RTL - [https://en.wikipedia.org/wiki/Register-transfer_level Register-Transfer Level] - dizaina abstrakcija, kurā dati plūst starp reģistriem.&lt;br /&gt;
* GDSII - Binārs datubāzes falia formāts IC dizaina apmaiņai industrijā.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Resursi =&lt;br /&gt;
&lt;br /&gt;
* [http://books.google.lv/books?id=1lD9LZRcIZ8C&amp;amp;printsec=frontcover&amp;amp;source=gbs_navlinks_s#v=onepage&amp;amp;q=&amp;amp;f=false Computer organization and design: the hardware/software interface]&lt;br /&gt;
** [http://owlhouse.csie.nctu.edu.tw/old/CO2004/ch1-4_old.ppt Computer Organization &amp;amp; Design The Hardware/Software Interface, 2nd Edition] PPT 5.89MB (lekciju slaidi no National Chiao Tung University)&lt;br /&gt;
** [http://owlhouse.csie.nctu.edu.tw/old/CO2004/CO2004_lecture_notes.ppt Computer Organization &amp;amp; Design The Hardware/Software Interface, 3nd Edition] PPT 1.86MB (lekciju slaidi no National Chiao Tung University)&lt;br /&gt;
&lt;br /&gt;
* [http://books.google.lv/books?id=57UIPoLt3tkC&amp;amp;printsec=frontcover&amp;amp;source=gbs_v2_summary_r&amp;amp;cad=0#v=onepage&amp;amp;q=&amp;amp;f=false Computer architecture: a quantitative approach]&lt;br /&gt;
&lt;br /&gt;
* [http://books.google.lv/books?id=3aN89DhGwI4C&amp;amp;printsec=frontcover&amp;amp;source=gbs_v2_summary_r&amp;amp;cad=0#v=onepage&amp;amp;q=&amp;amp;f=false The designer&amp;#039;s guide to VHDL]&lt;br /&gt;
&lt;br /&gt;
* [http://www.synopsys.com/Systems/FPGABasedPrototyping/FPMM/Pages/default.aspx FPGA-Based Prototyping Methodology Manual]: Best practices in Design-for-Prototyping (FPMM) is a comprehensive and practical guide to using FPGAs as a platform for SoC development and verification.&lt;br /&gt;
&lt;br /&gt;
* [http://www.youtube.com/watch?v=Er9luiBa32k FPGA 101 - Making awesome stuff with FPGAs]: Karsten Becker @ 30th Chaos Communication Congress [30c3] by the Chaos Computer Club&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Digital design textbooks @ Digilent Inc.===&lt;br /&gt;
&lt;br /&gt;
* [https://reference.digilentinc.com/_media/textbooks/intro_to_digital_design-digilent-verilog_online.pdf Introduction to Digital Design - Verilog Edition] (PDF)&lt;br /&gt;
* [https://reference.digilentinc.com/_media/textbooks/intro_digital_design-digilent-vhdl_online.pdf Introduction to Digital Design - VHDL Edition] (PDF)&lt;br /&gt;
&lt;br /&gt;
* Real Digital - A hands-on approach to digital design&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M1/RealDigital_Module_1.pdf Module 1: Introduction to Electronic Circuits] PDF 465.54KB&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M2/RealDigital_Module_2.pdf Module 2: Introduction to Digilent&amp;#039;s Digital Design Circuit Boards] PDF 65.94KB&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M3/RealDigital_Module_3.pdf Module 3: Circuit Structure with an Introduction to CAD Tools] PDF 247.60KB&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M4/RealDigital_Module_4.pdf Module 4: Logic Minimization] PDF 353.07KB&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M5/RealDigital_Module_5.pdf Module 5: Introduction to VHDL] PDF 197.37KB&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M6/RealDigital_Module_6.pdf Module 6: Combinational Circuit Blocks] PDF 244.46KB&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M7/RealDigital_Module_7.pdf Module 7: Combinational Arithmetic Circuits] PDF 361.00KB&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M8/RealDigital_Module_8.pdf Module 8: Signal Propagation Delays] PDF 126.77KB&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M9/RealDigital_Module_9.pdf Module 9: Basic Memory Circuits] PDF 232.41KB&lt;br /&gt;
** [http://www.digilentinc.com/classroom/realdigital/M10/RealDigital_Module_10.pdf Module 10: The Structural Design of Sequential Circuits] PDF 245.58KB&lt;br /&gt;
&lt;br /&gt;
= Saites =&lt;br /&gt;
&lt;br /&gt;
=== Xilinx produkti (FPGA čipi) ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.xilinx.com Xilinx kompānijas (FPGA ražotājs) portāls]&lt;br /&gt;
&amp;lt;!-- * [http://www.xilinx.com/support/documentation/data_sheets/ds312.pdf Spartan 3E FPGA Family datasheet] --&amp;gt;&lt;br /&gt;
* [https://datasheetspdf.com/pdf-file/1409860/Xilinx/XC3S500E/1 Spartan 3E FPGA Family datasheet]&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/data_sheets/ds160.pdf Spartan-6 FPGA Family datasheet]&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/application_notes/xapp462.pdf Using Digital Clock Managers (DCMs) in Spartan-3 FPGAs]&lt;br /&gt;
&lt;br /&gt;
=== Xilinx attīstītajrīki ===&lt;br /&gt;
&lt;br /&gt;
DiLab ir pieejami sekojoši Xilinx (Digilent) attīstītajrīki:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[https://reference.digilentinc.com/reference/programmable-logic/anvyl/start ANVYL]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Anvyl Reference Manual: [https://reference.digilentinc.com/_media/reference/programmable-logic/anvyl/anvyl_rm.pdf (PDF)] [https://digilent.com/reference/programmable-logic/anvyl/reference-manual (Website)]&lt;br /&gt;
** [[ANVYL programmēšana]] - Pamācība, kā uzlādēt dizainu uz Anvyl dēļa&lt;br /&gt;
** [https://github.com/elomage/FPGA-resources/tree/main/ucf_templates UCF file templates].&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[http://www.pynq.io/ PYNQ]&amp;#039;&amp;#039;&amp;#039; [https://reference.digilentinc.com/reference/programmable-logic/pynq-z1/start -Z1]&lt;br /&gt;
** [https://www.digikey.com/en/articles/techzone/2019/apr/build-and-program-fpga-based-designs-quickly-python-jupyter-notebooks Build and Program FPGA-Based Designs Quickly with Python and Jupyter Notebooks] - with Zynq (PYNQ)&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[https://reference.digilentinc.com/reference/programmable-logic/spartan-3e/start Spartan-3E]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** [http://www.xilinx.com/support/documentation/boards_and_kits/ug230.pdf Xilinx Spartan-3E FPGA Starter Kit Board User Guide] PDF 7.34MB&lt;br /&gt;
** [http://www.xilinx.com/support/documentation/sw_manuals/xilinx12_2/spartan3e_scm.pdf Spartan-3E Libraries Guide for Schematic Designs] PDF 9.19MB&lt;br /&gt;
** [http://www.xilinx.com/support/documentation/sw_manuals/xilinx12_2/spartan3e_hdl.pdf Spartan-3E Libraries Guide for HDL Designs] PDF 3.94MB&lt;br /&gt;
** [https://github.com/elomage/FPGA-resources/tree/main/ucf_templates UCF file templates].&lt;br /&gt;
&lt;br /&gt;
* [http://www.xilinx.com/products/boards/s3e1600e/reference_designs.htm Spartan-1600e]&lt;br /&gt;
&lt;br /&gt;
* [https://reference.digilentinc.com/reference/programmable-logic/virtex-ii-pro/start XUP V2P], no [http://www.xilinx.com/univ/xupv2p.html Xilinx University Program]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== PMOD papildus moduļi ====&lt;br /&gt;
Mums ir pieejami dažādi [https://reference.digilentinc.com/reference/pmod/start PMOD perifērijas iekārtu moduļi] (pārsvarā 1x6 formātā) par kuriem sīkāk var lasīt [https://store.digilentinc.com/pmod-expansion-modules/by-form-factor/1x6/ Digilentic portālā].&lt;br /&gt;
* ADC modulis [https://store.digilentinc.com/pmod-ad1-two-12-bit-a-d-inputs/ PmodAD1 PB200064]&lt;br /&gt;
* DAC modulis: [https://store.digilentinc.com/pmod-da2-two-12-bit-d-a-outputs/ PmodDA2 PB200-113]&lt;br /&gt;
* 3.5mm konektori ar pastiprinātāju: [https://store.digilentinc.com/pmodamp1-speaker-headphone-amplifier-retired/ PmodAmp1]&lt;br /&gt;
* RCA konektori: [https://store.digilentinc.com/pmod-con4-rca-audio-jacks/ Pmod CON4] (CON1 RevB)&lt;br /&gt;
* BNC konektori: [https://store.digilentinc.com/pmodcon2-bnc-connectors-retired/ Pmod CON2 PB200066]&lt;br /&gt;
* 7-segmentu LED x 2: [https://store.digilentinc.com/pmod-ssd-seven-segment-display/ PmodSSD]&lt;br /&gt;
* [https://store.digilentinc.com/pmod-led-four-high-brightness-leds/ Pmod LED x 4: PB200076]&lt;br /&gt;
* Komutācijas modulis [https://store.digilentinc.com/pmod-tph-6-pin-test-point-header/ PTPH PB200-001]&lt;br /&gt;
* Seriālā zibatmiņa: [https://store.digilentinc.com/pmodsf-external-rom-2mb-serial-flash-memory/ PmodSF]&lt;br /&gt;
* Video signālu dekodera modulis [https://store.digilentinc.com/vdec1-video-decoder-board-retired/ VDEC1]&lt;br /&gt;
* [https://store.digilentinc.com/pmod-cable-kit-6-pin/ Pmod kabelis 6x1]&lt;br /&gt;
* Skaļrunis ar 3.5mm konektoru: [https://store.digilentinc.com/speaker/ SPEAKER]&lt;br /&gt;
&lt;br /&gt;
* Konektors vadiem [https://reference.digilentinc.com/reference/pmod/pmodcon1/start PmodCON1]&lt;br /&gt;
* Rotējošais enkoderis [https://reference.digilentinc.com/reference/pmod/pmodenc/start PmodENC]&lt;br /&gt;
* USB saskarne [https://reference.digilentinc.com/reference/pmod/pmodusbuart/start PmodUSBUART]&lt;br /&gt;
* Ultraskaņas distances mērītājs [https://reference.digilentinc.com/reference/pmod/pmodmaxsonar/start PmodMAXSONAR]&lt;br /&gt;
* Audio DAC SPI [https://reference.digilentinc.com/reference/pmod/pmodmic3/start PmodMIC3]&lt;br /&gt;
&lt;br /&gt;
=== Xilinx ISE instalācija ===&lt;br /&gt;
==== Xilinx ISE WebPACK (14.7) ====&lt;br /&gt;
&lt;br /&gt;
* [[ISE 14.7 instalācija]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==== Xilinx ISE WebPACK (12.2) ====&lt;br /&gt;
&lt;br /&gt;
* [https://secure.xilinx.com/webreg/register.do?group=dlc&amp;amp;htmlfile=&amp;amp;emailFile=&amp;amp;cancellink=&amp;amp;eFrom=&amp;amp;eSubject=&amp;amp;version=12.2&amp;amp;akdm=1&amp;amp;filename=Xilinx_ISE_DS_Lin_12.2_M.63c.1.1.tar Installer for Linux] TAR/GZ 3.02GB (nepieciešams reģistrēties www.xilinx.com)&lt;br /&gt;
&lt;br /&gt;
* [https://secure.xilinx.com/webreg/register.do?group=dlc&amp;amp;htmlfile=&amp;amp;emailFile=&amp;amp;cancellink=&amp;amp;eFrom=&amp;amp;eSubject=&amp;amp;version=12.2&amp;amp;akdm=1&amp;amp;filename=Xilinx_ISE_DS_Win_12.2_M.63c.1.1.tar Installer for Windows] TAR/GZ 2.96GB (nepieciešams reģistrēties www.xilinx.com)&lt;br /&gt;
&lt;br /&gt;
* [http://www.xilinx.com/support/documentation/sw_manuals/xilinx12_2/irn.pdf ISE Design Suite 12: Installation, Licensing, and Release Notes] PDF 1.44MB&lt;br /&gt;
&lt;br /&gt;
* [http://ubuntuforums.org/showthread.php?t=1547435 Xilinx ISE WebPACK 12.2 on Ubuntu 10.04 LTS]&lt;br /&gt;
&lt;br /&gt;
* [http://rmdir.de/~michael/xilinx/ Xilinx JTAG tools on Linux without proprietary kernel modules]&lt;br /&gt;
&lt;br /&gt;
* [http://www.xilinx.com/support/documentation/sw_manuals/xilinx12_2/ise_tutorial_ug695.pdf ISE In-Depth Tutorial] (ver.12.2) PDF 5.04MB&lt;br /&gt;
* [http://www.xilinx.com/support/documentation/sw_manuals/xilinx12_2/plugin_ism.pdf ISim User Guide] (ver.12.2) PDF 1.96MB&lt;br /&gt;
&lt;br /&gt;
&amp;lt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Xilinx ISE lietošana ===&lt;br /&gt;
* [https://github.com/elomage/FPGA-resources/tree/main/ucf_templates UCF failu šabloni] FPGA platformām.&lt;br /&gt;
&lt;br /&gt;
==== Vispārīga lietošana ====&lt;br /&gt;
* [http://www.xilinx.com/support/documentation/sw_manuals/xilinx14_7/ise_tutorial_ug695.pdf ISE In-Depth Tutorial] (ver.14.7) PDF&lt;br /&gt;
* [https://www.xilinx.com/support/documentation-navigation/development-tools/hardware-development/ISE-design-suite.html?preSelect=documenttype:SeeAll#documentation Xilinx ISE dokumentācija] - dažādi dokumenti&lt;br /&gt;
&lt;br /&gt;
==== Simulācija ar ISim ====&lt;br /&gt;
&lt;br /&gt;
* [http://www.xilinx.com/support/documentation/sw_manuals/xilinx14_7/plugin_ism.pdf ISim User Guide] (ver.14.7) PDF 1.96MB&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/sw_manuals/xilinx14_7/ug682.pdf ISim in-depth Tutorial] PDF&lt;br /&gt;
* [https://youtu.be/hPYsQE0-1kQ Simulācija ar ISim] - pamācības video, Colin O&amp;#039;Flynn.&lt;br /&gt;
&lt;br /&gt;
==== Simulācija ar ModelSim ====&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/sw_manuals/xilinx14_7/ise_tutorial_ug695.pdf Xilinx ISE In-Depth Tutorial] - PDF&lt;br /&gt;
* [https://www.cis.upenn.edu/~milom/cis371-Spring13/lab/simulation/ Pamācība no Pensilvānijas Universitātes]&lt;br /&gt;
* [https://youtu.be/DgRrATFd3jc How to do a Timing Simulation using Modelsim and Xilinx ISE] - video pamācība&lt;br /&gt;
&lt;br /&gt;
=== Video applications using FPGA ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.stevechamberlin.com/cpu/2009/06/21/fpga-pong/ FPGA Pong] by Steve Chamberlin&lt;br /&gt;
* [http://www.fpga4fun.com/PongGame.html Pong Game] by Jean P. Nicolle&lt;br /&gt;
&lt;br /&gt;
== ANVYL attīstītājrīks ==&lt;br /&gt;
[https://store.digilentinc.com/anvyl-spartan-6-fpga-trainer-board/ ANVYL]&lt;br /&gt;
ir Xilinx Spartan 6G FPGA bāzēts attīstītājrīks ar dažādām papildus un perifērijas iekārtām.&lt;br /&gt;
&lt;br /&gt;
* [[ANVYL programmēšana]] - kā uzlādēt dizainu uz Anvyl dēļa&lt;br /&gt;
* [https://youtu.be/9iQfqhUfAcE Video ar Anvyl programmēšanas piemēru]&lt;br /&gt;
&lt;br /&gt;
== PYNQ ietvars ==&lt;br /&gt;
[http://www.pynq.io/ PYNQ] ir ietvars kas iespējo FPGA aparatūras funkciju izmantošanu ar Python programmēšanas valodu. &lt;br /&gt;
Atbalstītā aparatūra iekļauj [https://store.digilentinc.com/fpga-programmable-logic/by-technology/zynq/ ZYNQ].&lt;br /&gt;
&lt;br /&gt;
PYNQ informācijas avoti:&lt;br /&gt;
* [https://pynq.readthedocs.io/en/latest/getting_started.html getting Started with PYNQ]&lt;br /&gt;
* [https://github.com/Xilinx/PYNQ_Workshop PYNQ Tutorial]&lt;br /&gt;
* [http://pynq.readthedocs.io/ PYNQ documentation]&lt;br /&gt;
* [http://www.pynq.io/board.html Atbalstītā aparatūra]&lt;br /&gt;
&lt;br /&gt;
PYNQ projekti&lt;br /&gt;
* [http://www.pynq.io/examples Projektu piemēri]&lt;br /&gt;
* [https://github.com/drichmond/RISC-V-On-PYNQ RISC-V on PYNQ]&lt;br /&gt;
&lt;br /&gt;
PYNK un PMOD&lt;br /&gt;
* [https://pynq.readthedocs.io/en/v2.0/pynq_libraries/pmod.html Par PMOD un PYNQ]&lt;br /&gt;
&lt;br /&gt;
== HDL pamācības (Verilog, VHDL) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- (unavailable) * [http://www.eecs.harvard.edu/cs141/resources/verilog-tutorial.pdf Verilog Tutorial I (10 pages)] PDF 69.58KB --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Verilog Tutorials&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** [https://users.ece.cmu.edu/~jhoe/course/ece447/S09handouts/LV.pdf handout] by Peter  Milder (15 pages).&lt;br /&gt;
** [http://www.ece.umd.edu/class/enee359a.S2008/verilog_tutorial.pdf by asic-world] (227 pages) PDF 876.25KB&lt;br /&gt;
** [http://www.asic-world.com/verilog/veritut.html by asic-world, online version]&lt;br /&gt;
** [https://www.nandland.com/verilog/tutorials/tutorial-introduction-to-verilog-for-beginners.html by NANDLand.com]&lt;br /&gt;
** [https://www.asic-world.com/tidbits/verilog_fsm.html FSM pamācība] no asic-world.com&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;VHDL Tutorials&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** [http://www.gmvhdl.com/VHDL.html VHDL Tutorial I (15 pages)]&lt;br /&gt;
** [http://lslwww.epfl.ch/pages/teaching/cours_lsl/sl_info/vhdl-tutorial.pdf VHDL Tutorial II (84 pages)] PDF 391.95KB&lt;br /&gt;
&lt;br /&gt;
* Debouncing&lt;br /&gt;
** [https://www.fpga4student.com/2017/04/simple-debouncing-verilog-code-for.html Verilog code for debouncing buttons on FPGA]&lt;br /&gt;
&lt;br /&gt;
== RISC-V ==&lt;br /&gt;
&lt;br /&gt;
* [https://riscv.org/technical/specifications/ Specifications]&lt;br /&gt;
* [https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md Getting started] - Assembly manual&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf Green card]&lt;br /&gt;
* [https://five-embeddev.com/riscv-isa-manual/latest/instr-table.html RISC-V Instruction Set Manual] from five-embeddev.com&lt;br /&gt;
* [https://www.cs.cornell.edu/courses/cs3410/2019sp/riscv/interpreter/ RISC-V Interpretators online]&lt;br /&gt;
* [https://riscvasm.lucasteske.dev/# RISC-V Online Assembler]&lt;br /&gt;
&lt;br /&gt;
== Seriālie protokoli ==&lt;br /&gt;
&lt;br /&gt;
* Asinhroni seriālais ports, RS232 un tml.&lt;br /&gt;
** [https://www.best-microcontroller-projects.com/how-rs232-works.html How RS232 works]&lt;br /&gt;
&lt;br /&gt;
* SPI protokols&lt;br /&gt;
** [https://learn.sparkfun.com/tutorials/serial-peripheral-interface-spi/all SPI tutorial] at Sparkfun &lt;br /&gt;
&lt;br /&gt;
* I2C un 2-wire protokols&lt;br /&gt;
** [http://www.circuitbasics.com/basics-of-the-i2c-communication-protocol/ I2C communication protocol] at Circuit basics&lt;br /&gt;
** [https://learn.sparkfun.com/tutorials/i2c/all I2C Tutorial] at Sparkfun&lt;br /&gt;
&lt;br /&gt;
* One-wire protokols&lt;br /&gt;
** [https://www.rfwireless-world.com/Tutorials/1-wire-protocol-basics.html 1-wire protocol basics] at rfwireless-world.com&lt;br /&gt;
** [https://www.maximintegrated.com/en/design/technical-documents/tutorials/1/1796.html Guide to 1-wire devices] at Maxim-IC&lt;br /&gt;
&lt;br /&gt;
* USB&lt;br /&gt;
** [https://www.cypress.com/file/134171/download Specifikācija] - Infineon / Cypress.&lt;br /&gt;
&lt;br /&gt;
== IP cores priekš FPGA ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.latticesemi.com/products/intellectualproperty/ipcores/mico32/index.cfm LatticeMicro 32] soft-procesors&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ieteikumi prezentāciju veidošanā ==&lt;br /&gt;
[http://andromeda.df.lu.lv/wiki/index.php/LU::poster-howto Piezīmes par plakātu un prezentāciju veidošanu]&lt;br /&gt;
&lt;br /&gt;
== Citi kursi un saites ==&lt;br /&gt;
* [http://www.ecs.umass.edu/ece/koren/architecture/ Computer architecture education tools] at UMass&lt;br /&gt;
&lt;br /&gt;
* [https://8bitworkshop.com/ 8 Bit Workshop] - aparatūras simulators pārlūkā, tai skaitā Verilog.&lt;br /&gt;
&lt;br /&gt;
* [https://www.circuitlab.com/ Circuitlab.com] - vienkāršu shēmu testēšana interneta pārlūkā &lt;br /&gt;
&lt;br /&gt;
* [http://www.falstad.com/circuit/ Falstad shēmu simulators]&lt;br /&gt;
&lt;br /&gt;
* [http://www.fpga4fun.com/index.html FPGA 4 fun!] - FPGA informācija un projekti iesācējiem un ne tikai.&lt;br /&gt;
* [http://tams-www.informatik.uni-hamburg.de/applets/hades/webdemos/toc.html Hades demonstration applets]&lt;br /&gt;
&lt;br /&gt;
* [http://www.cpushack.com/ CPU Shack]&lt;br /&gt;
* [http://danluu.com/why-hardware-development-is-hard/ Why hardware development is hard] by Dan Luu&lt;br /&gt;
&lt;br /&gt;
* [http://bit.ly/1dUqEiP How a CPU is made] (video)&lt;br /&gt;
* [http://bit.ly/1a2Ura8 FPGA 101 - Making awesome stuff with FPGAs] - FPGA 101 lekcija &amp;quot;30th Chaos Communication Congress (30c3) by the Chaos Computer Club (CCC)&amp;quot; konferencē.&lt;br /&gt;
&lt;br /&gt;
* Intel: The Making of a Chip with 22nm/3D Transistors [https://www.youtube.com/watch?v=d9SWNLZvA8g (video)]&lt;br /&gt;
* [http://www.righto.com/2014/10/how-z80s-registers-are-implemented-down.html Down to the silicon: how the Z80&amp;#039;s registers are implemented]&lt;br /&gt;
&lt;br /&gt;
* [http://electronics.stackexchange.com/questions/7042/how-much-does-it-cost-to-have-a-custom-asic-made How much does it cost to have a custom ASIC made?]&lt;br /&gt;
&lt;br /&gt;
* [http://courses.csail.mit.edu/6.111/f2008/ MIT Introductory Digital Systems Lab] (2008.g. MIT kurss)&lt;br /&gt;
&lt;br /&gt;
* [http://www.pldworld.com/_xilinx/html/tip/sixeasypieces.htm Six Easy Pieces (Non-Synchronous Circuit Tricks)]&lt;br /&gt;
&lt;br /&gt;
* [https://www.sigenics.com/page/asic-cost-calculator ASIC izmaksu kalkulators] (Sigenics)&lt;br /&gt;
&lt;br /&gt;
* HotMobile 2017 - [https://youtu.be/hcexIcdd1Pw Separated by Birth: Hidden Differences Between Seemingly-Identical Smartphone CPU&amp;#039;s]&lt;br /&gt;
&lt;br /&gt;
== Domu graudi ==&lt;br /&gt;
&lt;br /&gt;
* [http://stackoverflow.com/questions/11227809/why-is-processing-a-sorted-array-faster-than-an-unsorted-array Why is processing a sorted array faster than an unsorted array? (Branch prediction)]&lt;br /&gt;
&lt;br /&gt;
* [https://www.acm.org/hennessy-patterson-turing-lecture 2017 ACM A.M. Turing Award recipients John Hennessy and David Patterson delivered the Turing Lecture on June 4 at ISCA 2018]&lt;br /&gt;
&lt;br /&gt;
* [https://youtu.be/TPbroUDHG0s Spēļu programmēšana 8 bitu arhitektūrā]&lt;br /&gt;
&lt;br /&gt;
* [https://youtu.be/V9xUQWo4vN0 Tranzistors] - 1953.gada dokumentālā filma&lt;br /&gt;
&lt;br /&gt;
== FPGA pielietojumi ==&lt;br /&gt;
* [http://www.wired.com/2014/06/microsoft-fpga/ Microsoft Supercharges Bing Search With Programmable Chips]&lt;br /&gt;
* [https://tang.sipeed.com/en/ Tang primer board] for RISC V&lt;br /&gt;
* [https://thedatabus.io/fpga-buying-guide FPGA buying guide]&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=MansOS_msp430_procesora_r%C4%ABku_instal%C4%81cija_ar_Docker&amp;diff=11191</id>
		<title>MansOS msp430 procesora rīku instalācija ar Docker</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=MansOS_msp430_procesora_r%C4%ABku_instal%C4%81cija_ar_Docker&amp;diff=11191"/>
		<updated>2026-02-05T15:48:53Z</updated>

		<summary type="html">&lt;p&gt;Leo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Diemžēl sākot ar Ubuntu 24.04 vairs nav pieejamas msp430 mikrokontroliera rīku pakotnes.&lt;br /&gt;
Tāpēc vairs nevar vienkārši telosb motēm vides installēšanai darbināt:&lt;br /&gt;
    make setup telosb&lt;br /&gt;
Toties ir pieejams &lt;br /&gt;
[https://github.com/3starblaze/mansos-telosb-docker Docker konteineris], kas nodrošina telosb atbalsta rīku instalāciju.&lt;br /&gt;
&lt;br /&gt;
Uzstādīšanas instrukcijas ir pieejamas minētajā github lapā, tomēr seko īss apraksts (pateicoties Ivo Mezits):&lt;br /&gt;
&lt;br /&gt;
* Jāuzinstalē Docker (cli vai GUI)&lt;br /&gt;
* Klonējam un būvējam:&lt;br /&gt;
    git clone https://github.com/3starblaze/mansos-telosb-docker&lt;br /&gt;
    cd mansos-telosb-docker&lt;br /&gt;
    docker build . -t mansos-telosb&lt;br /&gt;
* Ejam uz to direktoriju (ar cd komandu), kur ir mūsu praktiskā vai cita darba C kods. Turpat jāizveido Makefile datni (paraugs dots repo)&lt;br /&gt;
* Direktorijā, kur ir mūsu C kods un Makefile izpildām:&lt;br /&gt;
    docker run -v ${PWD}:/srv/repo mansos-telosb bash -c &amp;quot;cd /srv/repo &amp;amp;&amp;amp; make telosb&amp;quot;&lt;br /&gt;
* Lai noprogrammētu pašu moti saglabājam datni ar kodu un izpildām:&lt;br /&gt;
    docker run --device=/dev/ttyUSB0 -v ${PWD}:/srv/repo mansos-telosb bash -c &amp;quot;cd /srv/repo &amp;amp;&amp;amp; make telosb upload&amp;quot;&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=MansOS_msp430_procesora_r%C4%ABku_instal%C4%81cija_ar_Docker&amp;diff=11190</id>
		<title>MansOS msp430 procesora rīku instalācija ar Docker</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=MansOS_msp430_procesora_r%C4%ABku_instal%C4%81cija_ar_Docker&amp;diff=11190"/>
		<updated>2026-02-05T15:47:12Z</updated>

		<summary type="html">&lt;p&gt;Leo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Diemžēl sākot ar Ubuntu 24.04 vairs nav pieejamas msp430 mikrokontroliera rīku pakotnes.&lt;br /&gt;
Tāpēc vairs nevar vienkārši telosb motēm vides installēšanai darbināt:&lt;br /&gt;
    make setup telosb&lt;br /&gt;
Toties ir pieejams &lt;br /&gt;
[https://github.com/3starblaze/mansos-telosb-docker Docker konteineris], kas nodrošina telosb atbalsta rīku instalāciju.&lt;br /&gt;
&lt;br /&gt;
Uzstādīšanas instrukcijas ir pieejamas minētajā github lapā, tomēr seko īss apraksts (pateicoties Ivo Miezītim):&lt;br /&gt;
&lt;br /&gt;
* Jāuzinstalē Docker (cli vai GUI)&lt;br /&gt;
* Klonējam un būvējam:&lt;br /&gt;
    git clone https://github.com/3starblaze/mansos-telosb-docker&lt;br /&gt;
    cd mansos-telosb-docker&lt;br /&gt;
    docker build . -t mansos-telosb&lt;br /&gt;
* Ejam uz to direktoriju (ar cd komandu), kur ir mūsu praktiskā vai cita darba C kods. Turpat jāizveido Makefile datni (paraugs dots repo)&lt;br /&gt;
* Direktorijā, kur ir mūsu C kods un Makefile izpildām:&lt;br /&gt;
    docker run -v ${PWD}:/srv/repo mansos-telosb bash -c &amp;quot;cd /srv/repo &amp;amp;&amp;amp; make telosb&amp;quot;&lt;br /&gt;
* Lai noprogrammētu pašu moti saglabājam datni ar kodu un izpildām:&lt;br /&gt;
    docker run --device=/dev/ttyUSB0 -v ${PWD}:/srv/repo mansos-telosb bash -c &amp;quot;cd /srv/repo &amp;amp;&amp;amp; make telosb upload&amp;quot;&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=MansOS_msp430_procesora_r%C4%ABku_instal%C4%81cija_ar_Docker&amp;diff=11189</id>
		<title>MansOS msp430 procesora rīku instalācija ar Docker</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=MansOS_msp430_procesora_r%C4%ABku_instal%C4%81cija_ar_Docker&amp;diff=11189"/>
		<updated>2026-02-05T15:45:23Z</updated>

		<summary type="html">&lt;p&gt;Leo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Diemžēl sākot ar Ubuntu 24.04 vairs nav pieejamas msp430 procesora rīku pakotnes.&lt;br /&gt;
Tāpēc vairs nevar vienkārši telosb motēm vides installēšanai darbināt:&lt;br /&gt;
    make setup telosb&lt;br /&gt;
Toties ir pieejams &lt;br /&gt;
[https://github.com/3starblaze/mansos-telosb-docker Docker konteineris, kas to nodrošina, šeit.]&lt;br /&gt;
&lt;br /&gt;
Uzstādīšanas instrukcijas ir pieejamas minētajā github lapā, tomēr seko īss apraksts (pateicoties Ivo Miezītim):&lt;br /&gt;
&lt;br /&gt;
* Jāuzinstalē Docker (cli vai GUI)&lt;br /&gt;
* Klonējam un būvējam:&lt;br /&gt;
    git clone https://github.com/3starblaze/mansos-telosb-docker&lt;br /&gt;
    cd mansos-telosb-docker&lt;br /&gt;
    docker build . -t mansos-telosb&lt;br /&gt;
* Ejam uz to direktoriju (ar cd komandu), kur ir mūsu praktiskā vai cita darba C kods. Turpat jāizveido Makefile datni (paraugs dots repo)&lt;br /&gt;
* Direktorijā, kur ir mūsu C kods un Makefile izpildām:&lt;br /&gt;
    docker run -v ${PWD}:/srv/repo mansos-telosb bash -c &amp;quot;cd /srv/repo &amp;amp;&amp;amp; make telosb&amp;quot;&lt;br /&gt;
* Lai noprogrammētu pašu moti saglabājam datni ar kodu un izpildām:&lt;br /&gt;
    docker run --device=/dev/ttyUSB0 -v ${PWD}:/srv/repo mansos-telosb bash -c &amp;quot;cd /srv/repo &amp;amp;&amp;amp; make telosb upload&amp;quot;&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=MansOS_msp430_procesora_r%C4%ABku_instal%C4%81cija_ar_Docker&amp;diff=11188</id>
		<title>MansOS msp430 procesora rīku instalācija ar Docker</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=MansOS_msp430_procesora_r%C4%ABku_instal%C4%81cija_ar_Docker&amp;diff=11188"/>
		<updated>2026-02-05T15:42:57Z</updated>

		<summary type="html">&lt;p&gt;Leo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Diemžēl sākot ar Ubuntu 24.04 vairs nav pieejamas msp430 procesora rīku pakotnes.&lt;br /&gt;
Toties ir pieejams &lt;br /&gt;
[https://github.com/3starblaze/mansos-telosb-docker Docker konteineris, kas to nodrošina, šeit.]&lt;br /&gt;
&lt;br /&gt;
Uzstādīšanas instrukcijas ir pieejamas minētajā github lapā, tomēr seko īss apraksts (pateicoties Ivo Miezītim):&lt;br /&gt;
&lt;br /&gt;
* Jāuzinstalē Docker (cli vai GUI)&lt;br /&gt;
* Klonējam un būvējam:&lt;br /&gt;
    git clone https://github.com/3starblaze/mansos-telosb-docker&lt;br /&gt;
    cd mansos-telosb-docker&lt;br /&gt;
    docker build . -t mansos-telosb&lt;br /&gt;
* Ejam uz to direktoriju (ar cd komandu), kur ir mūsu praktiskā vai cita darba C kods. Turpat jāizveido Makefile datni (paraugs dots repo)&lt;br /&gt;
* Direktorijā, kur ir mūsu C kods un Makefile izpildām:&lt;br /&gt;
    docker run -v ${PWD}:/srv/repo mansos-telosb bash -c &amp;quot;cd /srv/repo &amp;amp;&amp;amp; make telosb&amp;quot;&lt;br /&gt;
* Lai noprogrammētu pašu moti saglabājam datni ar kodu un izpildām:&lt;br /&gt;
    docker run --device=/dev/ttyUSB0 -v ${PWD}:/srv/repo mansos-telosb bash -c &amp;quot;cd /srv/repo &amp;amp;&amp;amp; make telosb upload&amp;quot;&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=MansOS_msp430_procesora_r%C4%ABku_instal%C4%81cija_ar_Docker&amp;diff=11187</id>
		<title>MansOS msp430 procesora rīku instalācija ar Docker</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=MansOS_msp430_procesora_r%C4%ABku_instal%C4%81cija_ar_Docker&amp;diff=11187"/>
		<updated>2026-02-05T15:41:54Z</updated>

		<summary type="html">&lt;p&gt;Leo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Diemžēl sākot ar Ubuntu 24.04 vairs nav pieejamas msp430 procesora rīku pakotnes.&lt;br /&gt;
Toties ir pieejams &lt;br /&gt;
[https://github.com/3starblaze/mansos-telosb-docker Docker konteineris, kas to nodrošina, šeit.]&lt;br /&gt;
&lt;br /&gt;
Uzstādīšanas instrukcijas ir pieejamas minētajā github lapā, tomēr seko īss apraksts (pateicoties Ivo Miezītim):&lt;br /&gt;
&lt;br /&gt;
* Jāuzinstalē Docker (cli vai GUI)&lt;br /&gt;
*&lt;br /&gt;
    git clone https://github.com/3starblaze/mansos-telosb-docker&lt;br /&gt;
    cd mansos-telosb-docker&lt;br /&gt;
    docker build . -t mansos-telosb&lt;br /&gt;
* Ejam uz to direktoriju (ar cd komandu), kur ir mūsu praktiskā vai cita darba C kods. Turpat jāizveido Makefile datni (paraugs dots repo)&lt;br /&gt;
* Direktorijā, kur ir mūsu C kods un Makefile izpildām:&lt;br /&gt;
    docker run -v ${PWD}:/srv/repo mansos-telosb bash -c &amp;quot;cd /srv/repo &amp;amp;&amp;amp; make telosb&amp;quot;&lt;br /&gt;
* Lai noprogrammētu pašu moti saglabājam datni ar kodu un izpildām:&lt;br /&gt;
    docker run --device=/dev/ttyUSB0 -v ${PWD}:/srv/repo mansos-telosb bash -c &amp;quot;cd /srv/repo &amp;amp;&amp;amp; make telosb upload&amp;quot;&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=MansOS_msp430_procesora_r%C4%ABku_instal%C4%81cija_ar_Docker&amp;diff=11186</id>
		<title>MansOS msp430 procesora rīku instalācija ar Docker</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=MansOS_msp430_procesora_r%C4%ABku_instal%C4%81cija_ar_Docker&amp;diff=11186"/>
		<updated>2026-02-05T15:41:11Z</updated>

		<summary type="html">&lt;p&gt;Leo: Created page with &amp;quot;Diemžēl sākot ar Ubuntu 24.04 vairs nav pieejamas msp430 procesora rīku pakotnes. Toties ir pieejams  [https://github.com/3starblaze/mansos-telosb-docker Docker konteineri...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Diemžēl sākot ar Ubuntu 24.04 vairs nav pieejamas msp430 procesora rīku pakotnes.&lt;br /&gt;
Toties ir pieejams &lt;br /&gt;
[https://github.com/3starblaze/mansos-telosb-docker Docker konteineris, kas to nodrošina, šeit.]&lt;br /&gt;
&lt;br /&gt;
Uzstādīšanas instrukcijas ir pieejamas minētajā github lapā, tomēr seko īss apraksts (pateicoties Ivo Miezītim):&lt;br /&gt;
&lt;br /&gt;
# Jāuzinstalē Docker (cli vai GUI)&lt;br /&gt;
#&lt;br /&gt;
    git clone https://github.com/3starblaze/mansos-telosb-docker&lt;br /&gt;
    cd mansos-telosb-docker&lt;br /&gt;
    docker build . -t mansos-telosb&lt;br /&gt;
# Ejam uz to direktoriju (ar cd komandu), kur ir mūsu praktiskā vai cita darba C kods. Turpat jāizveido Makefile datni (paraugs dots repo)&lt;br /&gt;
# Direktorijā, kur ir mūsu C kods un Makefile izpildām:&lt;br /&gt;
    docker run -v ${PWD}:/srv/repo mansos-telosb bash -c &amp;quot;cd /srv/repo &amp;amp;&amp;amp; make telosb&amp;quot;&lt;br /&gt;
# Lai noprogrammētu pašu moti saglabājam datni ar kodu un izpildām:&lt;br /&gt;
    docker run --device=/dev/ttyUSB0 -v ${PWD}:/srv/repo mansos-telosb bash -c &amp;quot;cd /srv/repo &amp;amp;&amp;amp; make telosb upload&amp;quot;&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=LU-BST-b&amp;diff=11185</id>
		<title>LU-BST-b</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=LU-BST-b&amp;diff=11185"/>
		<updated>2026-02-05T15:34:12Z</updated>

		<summary type="html">&lt;p&gt;Leo: /* Resursi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Īssaites:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[#Kalendārs | Kalendārs]] | &lt;br /&gt;
[[#Uzdevumi | Uzdevumi]] | &lt;br /&gt;
[[#Resursi | Resursi]] | &lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]] : &lt;br /&gt;
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]]&lt;br /&gt;
(ja ir lekcija)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{LUDFKurss|Bezvadu Sensoru Tīkli|BST|DatZ3070|2DAT3253}}&lt;br /&gt;
* Pasniedzējs: [[User:Leo | Leo Seļāvo]]&lt;br /&gt;
&lt;br /&gt;
====Kursa mērķis un uzdevumi====&lt;br /&gt;
Iepazīties ar bezvadu sensoru tīklu sistēmu darbības un projektēšanas principiem un pielietojumiem.&lt;br /&gt;
* Apgūt sensoru un iegulto sistēmu pamata tehnoloģijas un pielietojumus lietu internetā. &lt;br /&gt;
* Izstrādāt arhitektūru un komunikāciju protokolus bezvadu sensoru sistēmām. &lt;br /&gt;
* Programmēt iegultās sistēmas BST pielietojumam. &lt;br /&gt;
* Analizēt sensoru lasījumus un izdarīt secinājumus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievadlekcijas video&amp;#039;&amp;#039;&amp;#039;:&amp;lt;/big&amp;gt; [https://youtu.be/nwPxnED1M34 No sensoriem līdz stāstam]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Vērtējums kursā ====&lt;br /&gt;
* 30% Praktiskie darbi PD&lt;br /&gt;
* 20% Mājas darbi MD&lt;br /&gt;
* 20% Kontroldarbs KD&lt;br /&gt;
* 30% Projekta prezentācija un demo eksāmenā EKS + PROJ&lt;br /&gt;
&lt;br /&gt;
==== Mājas darbi ====&lt;br /&gt;
* Iesniedzami e-studijās&lt;br /&gt;
* Termiņš 30min pirms lekcijas sākuma, vai arī kā MD nosacījumos.&lt;br /&gt;
** Kavēts termiņš nozīmē -50% no vērtējuma. Pēc nedēļas darbs var tikt nepieņemts.&lt;br /&gt;
&lt;br /&gt;
=Kalendārs=&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4 style = &amp;#039;border-color: #ddd; background-color: #fdfff2;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
! Datums&lt;br /&gt;
! Tēma, saturs&lt;br /&gt;
! Uzdevumi&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
====04.02.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievadlekcija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Bezvadu sensoru tīklu pielietojumi un pamatproblēmas. BST kursa forma un prasības.&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/4iazzqk2ykmumsq/00_intro.pdf?raw=1 Ievads BST - slaidi]&lt;br /&gt;
* [https://www.dropbox.com/s/u5fnw7uku1ua1sf/00_Intro_IoT.pdf?raw=1 Ievads IoT - slaidi]&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD1 | PD1]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.02.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Bezvadu sakaru sistēmas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Radio spektrs un ISM josla. Komunikācijas protokoli un modulācija.&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/jujvdabdj03szif/L02_Wireless_systems.pdf?raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD2 | PD2]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.02.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Radio komunikāciju realitātes&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/wnvsu3h2586xo55/L04_Radio_realities.pdf?raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD3 | PD3]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.02.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Iegultās sistēmas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Sensoru mezgla uzbūve.&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/kzcd4mr8mirh2i9/L03_motes.pdf?raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD4 | PD4]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====04.03.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;MAC protokoli sensoru tīklos&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/le4f7sywa528lnb/L05_Harvard_mac.pdf?raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD5 | PD5]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====11.03.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;(&amp;#039;&amp;#039;Attālināti&amp;#039;&amp;#039;) &amp;#039;&amp;#039;&amp;#039;KD0: Maršrutizācijas protokoli&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/u1y7n2www1y7vgu/L06_Routing.pdf?raw=1 Maršrutizācija. Slaidi]&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Uzdots: [[#MD_Routing|Routing]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====18.03.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Laika sinhronizācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/8dmwkihq3gq4gls/L07_Timesync.pdf?raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#PD6 | PD6 Multihop]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====25.03.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Lokalizācija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://www.dropbox.com/s/jbllq2e4rj5it1y/L08_Localization.pdf?raw=1 Slaidi]&lt;br /&gt;
&lt;br /&gt;
Diskusijas par projektiem&lt;br /&gt;
|&lt;br /&gt;
Sensoru datu analīze, Jupyter notebook&lt;br /&gt;
* [https://jupyter.org Jupyter]&lt;br /&gt;
* [https://anaconda.org/anaconda/python Anaconda Python]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====08.04.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Programmēšanas abstrakcijas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Komponenšu orientēta programmēšana. Skriptēta un enkapsulēta programmēšana. TinyOS, MansOS un SEAL.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://www.dropbox.com/s/xwnr2aterigjp7q/05_component-programming.pdf?raw=1 Komponenšu orientēta programmēšana, TinyOS]&lt;br /&gt;
* [https://www.dropbox.com/s/jalyp6jxv7b2ja6/12_prog-abstractions.pdf?raw=1 Programmēšanas abstrakcijas BST, Mate]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Iesniegt: [[#MD_Routing|MD_Routing]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Uzdots: [[#MD_Proj|MD_Proj]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====15.04.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;KD1&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vidus semestra kontroldarbs KD1. Pieejams eStudijās.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====22.04.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Projektu tēmas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Diskusija par projektu tēmām.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Use case&amp;quot; - par projektiem infekcijas risku mazināšanai.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====29.04.26====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Datu vizualizācija un analīze&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Datu vizualizācija un analīze.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====06.05.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Datu analīze, prakse&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://www.anaconda.com/ Anaconda platforma] datu zinātnei.&lt;br /&gt;
* [https://jupyter.org/ Jupyter Notebook] - vide mazām programmām Python un datu analīzei.&lt;br /&gt;
* [https://www.dataquest.io/blog/jupyter-notebook-tips-tricks-shortcuts/ Jupyter triki]&lt;br /&gt;
&lt;br /&gt;
* [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6480280/ Wireless Sensor Networks for Big Data Systems]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš: [[#MD_Proj|MD_Proj]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Projektu statuss&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====13.05.26====&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Drošība un privātums&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://www.dropbox.com/scl/fi/5xkeow5yuaxobewhwrntr/13_security-privacy_v2.pdf?rlkey=w6papger2tw2to9l3kk7w344y&amp;amp;st=1sxvon1n&amp;amp;dl=1 Slaidi]&lt;br /&gt;
* Videolekcija e-studijās.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://cert.lv/lv CERT.lv] - IT drošības incidentu novēršanas institūcija Latvijā.&lt;br /&gt;
* [https://www.thalesgroup.com/en/markets/digital-identity-and-security/iot/magazine/internet-threats IoT Security Issues in 2021: a Business Perspective]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Projekta statusa ziņojumi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====20.05.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Enerģijas ieguve no vides&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/lro0ncpw570neej/15_energy-harvesting.pdf?raw=1 Slaidi]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Projekta statusa ziņojumi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====27.05.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Kopsavilkums&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/qf5yd5toylks4zf/L99_Summary.pdf?raw=1 Slaidi]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Projektu statusa ziņojumi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====xx.06.26====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Eksāmena sākums: xx:xx&lt;br /&gt;
Eksāmena vieta: xxx. aud.&lt;br /&gt;
&lt;br /&gt;
Eksāmena (projekta) rezultāti iesūtāmi e-studijās kā PROJ, tai skaitā:&lt;br /&gt;
* apraksts.pdf - apraksts: problēma, risinājumi, jūsu risinājums, rezultāti un pieredze izstrādājot un testējot projektu. Fails PDF formātā.&lt;br /&gt;
* plakāts.pdf - plakāts par projektu. Fails PDF formātā.&lt;br /&gt;
* Saite uz demonstrācijas video, ja tāds ir.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Iesniegt projekta rezultātus e-studijās.&lt;br /&gt;
* Prezentācija klātienē.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- TESTBED&lt;br /&gt;
=====================================&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;BST Testbed&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
EDI BST [[#Testbed | Testbed apraksts un lietojums]].&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Uzdots: [[#MD_Testbed|MD_Testbed-P1]] - Testbed P1 uzdevums&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
=====================================&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Testbed&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Testbed prakse&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
=====================================&lt;br /&gt;
* Termiņš: [https://doodle.com/poll/627utpttbvqiypue?utm_source=poll&amp;amp;utm_medium=link Pieteikt grupas MD_Testbed uzdevumiem]&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš: [[#MD_Testbed|MD_Testbed-P1]] - Testbed P1 uzdevums&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš: [[#MD_Testbed|MD_Testbed]] - Visi uzdevumi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Uzdevumi =&lt;br /&gt;
== Praktiskie darbi ==&lt;br /&gt;
Praktiskajos darbos būs lietojama [https://github.com/edi-riga/MansOS/wiki MansOS operētājsistēma].&lt;br /&gt;
* Īss apraksts un pamācības pieejamas [https://github.com/edi-riga/MansOS/wiki MansOS wiki].&lt;br /&gt;
&amp;lt;!--https://github.com/IECS/MansOS--&amp;gt;&lt;br /&gt;
Praktisko darbu risinājumi iesūtāmi e-studijās.&lt;br /&gt;
&lt;br /&gt;
===PD1===&lt;br /&gt;
&amp;quot;SOS&amp;quot; morzes ābecē izvadīts uz motes LED&lt;br /&gt;
* E-studijās iesūtīt C programmas kodu.&lt;br /&gt;
&lt;br /&gt;
===PD2===&lt;br /&gt;
Hello World -&amp;gt; no motes uz termināla&lt;br /&gt;
&lt;br /&gt;
===PD3===&lt;br /&gt;
Gaismas sensora lasījums uz termināla&lt;br /&gt;
&lt;br /&gt;
===PD4===&lt;br /&gt;
Darbs grupā pa divi.&lt;br /&gt;
&lt;br /&gt;
Gaismas sensora lasījums pārraidīts ar radio un saņemts uz citas motes un izvadīts uz termināla.&lt;br /&gt;
&lt;br /&gt;
Risinājumam jābūt noturīgam pret citiem raidītājiem šajā pašā radio kanālā. Jāparāda tikai sava risinājuma sūtītās ziņas.&lt;br /&gt;
&lt;br /&gt;
Iesūtīt pirmkodu, kā arī failu apraksts.pdf ar testu rezultātiem un to aprakstu.&lt;br /&gt;
&lt;br /&gt;
===PD5===&lt;br /&gt;
Darbs grupā pa divi.&lt;br /&gt;
&lt;br /&gt;
Noteikt radio raidīšanas attālumu TmoteSky motēm.&lt;br /&gt;
* Izveidot raidītāja programmu un uztvērēja programmu. &lt;br /&gt;
* Pārvietot motes dažādos attālumos un novērtēt, cik datu pakas tiek saņemtas.&lt;br /&gt;
* Izvērtēt, kāda ietekme ir motes savstarpējai orientācijai starp raidītāju un uztvērēju.&lt;br /&gt;
* Aprakstīt rezultātus un iesniegt PDF dokumentā apraksts.pdf, e-studijās, kā PD5.&lt;br /&gt;
&lt;br /&gt;
===PD6===&lt;br /&gt;
Darbs grupā pa diviem vai trijiem studentiem.&lt;br /&gt;
&lt;br /&gt;
Realizēt &amp;quot;Multihop&amp;quot; tīklu ar TmoteSky motēm.&lt;br /&gt;
* Izveidot programmatūru trīs dažādu sensoru mezglu tipiem, attiecīgos pirmkoda failos:&lt;br /&gt;
*# sensor.c - Sensors - nolasa gaismas sensora vērtību un nosūta pa radio Releja tipa motei.&lt;br /&gt;
*# relay.c - Relejs - mote, kas saņem datus no sensoriem un pārsūta tālāk citām motēm (Relejiem un Vārtejām).&lt;br /&gt;
*# gateway.c - Vārteja - mote, kas saņem radio datus un pārsūta tos uz seriālo portu (USB).&lt;br /&gt;
&lt;br /&gt;
* Katram mezglam (motei) ir unikāls ID. Izdomāt, kā to panākt.&lt;br /&gt;
* Tīklā jābūt vismaz vienam relejam, bet var būt vairāki, lai realizētu garāku komunikācijas ķēdi.&lt;br /&gt;
* Tīklā var būt vairāki Sensoru mezgli. &lt;br /&gt;
* Tīklā ir tikai viena vārteja.&lt;br /&gt;
* Relejam jāignorē tās ziņas, ko tas jau ir kādreiz sūtījis. Šo var realizēt ar motes identifikatora un/vai ziņas kārtas numura iekļaušanu sūtāmajā datu pakā. Tad, piemēram, mote var ignorēt vecākas datu pakas nekā pēdējā, ko tā ir sūtījusi.&lt;br /&gt;
* Vārtejai katra datu paka jānosūta pa USB tikai vienreiz. Ja tā, piemēram, saņem to pašu datu paku atkārtoti, piemēram, no cita Releja, tai tā jāignorē.&lt;br /&gt;
&lt;br /&gt;
* Aprakstīt rezultātus un iesniegt PDF dokumentā apraksts.pdf, e-studijās, kā PD6. Iesniegt arī programmatūras kodu.&lt;br /&gt;
&lt;br /&gt;
==Mājas darbi==&lt;br /&gt;
===MD_Routing===&lt;br /&gt;
Izstrādāt un aprakstīt maršrutizācijas algoritmu, kas atbilst prasībām &lt;br /&gt;
[https://www.dropbox.com/s/yakqcy9e8322tbf/BST_routing_MD.pdf?raw=1 šajos slaidos]&lt;br /&gt;
&lt;br /&gt;
* Aprakstīt izveidoto maršrutizācijas protokolu.&lt;br /&gt;
* Aprakstīt protokola veiktspējas novērtējumu.&lt;br /&gt;
* Sniegt piemēru, kā tas darbojas slaidos dotajā situācijā.&lt;br /&gt;
* Risinājumu iesniegt PDF dokumentā, e-studijās.&lt;br /&gt;
&lt;br /&gt;
===MD1===&lt;br /&gt;
[[#PD5 | PD5]] rezultāti - Izvērtēt sensoru mezglu komunikāciju veiktspēju atkarībā no distances.&lt;br /&gt;
&lt;br /&gt;
Gadījumā, ja jums neizdevās savākt savus datus, tad analīzei var lietot šos, ar attiecīgu atsauci:&lt;br /&gt;
* [https://www.dropbox.com/s/gd434p1wkgcq9gz/merijumi_veldre_kniss.xlsx?dl=1 | Dati1 (excel)] (Rainers, Juris)&lt;br /&gt;
* [https://www.dropbox.com/s/h679d2y84svixs1/BST_PD05_DATA_Audris.zip?dl=1 | Dati2 (zip)] (Audris, Madara)&lt;br /&gt;
&lt;br /&gt;
===MD3===&lt;br /&gt;
Izstrādāt un aprakstīt virtuālas mašīnas valodu bezvadu sensoru mezgliem, līdzīgi kā &lt;br /&gt;
[https://www.dropbox.com/s/pw8hl4zbsbgek65/L09b_prog-abstractions.pdf?raw=1 Mate lekcijas slaidos]. &lt;br /&gt;
&lt;br /&gt;
Aprakstā jāiekļauj: &lt;br /&gt;
* Valodas komandas, arhitektūra, pieņēmumi&lt;br /&gt;
* Komandu kodējums (pa bitiem), komandu tipi vai klases.&lt;br /&gt;
* Divi piemēri programmām, kas kodēti jūsu valodā.&lt;br /&gt;
* Ar ko jūsu risinājums atšķiras no Mate un kādos gadījumos tam ir priekšrocības.&lt;br /&gt;
&lt;br /&gt;
===MD_Proj===&lt;br /&gt;
====Kursa projekta pieteikums====&lt;br /&gt;
&lt;br /&gt;
=====Īss apraksts=====&lt;br /&gt;
&lt;br /&gt;
Izstrādāt projekta pieteikumu, kurā aprakstīt:&lt;br /&gt;
* Problēmu, ko risināsiet ar bezvadu sensoru tīklu palīdzību&lt;br /&gt;
* Motivāciju, kāpēc problēma jārisina&lt;br /&gt;
* Esošos risinājumus šai problēmai vai līdzīgām problēmām&lt;br /&gt;
* Kas nepieciešams jūsu risinājumam: tehnoloģijas, aparatūra&lt;br /&gt;
* Termiņi katrai nedēļai: kas tiks veikts līdz šiem termiņiem projekta izstrādes gaitā.&lt;br /&gt;
&lt;br /&gt;
Aprakstu organizēt kā slaidus, lai ērti prezentēt. Iesniegt aprakstu PDF formātā.&lt;br /&gt;
&lt;br /&gt;
=====Sīkāks apraksts=====&lt;br /&gt;
&lt;br /&gt;
Šoreiz nekas nav jāprogrammē. Bet gan jāuzraksta sava kursa projekta īss apraksts kā slaidu prezentācija un jāiesniedz PDF formātā. Kursa projekta pieteikumu vajadzēs prezentēt lekcijas laikā, katra komanda pastāstīs pārējiem par sava kursa projekta ideju, izveidosim īsu diskusiju.&lt;br /&gt;
&lt;br /&gt;
Obligātās dokumenta nodaļas:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Projekta tēma&amp;#039;&amp;#039;&amp;#039;. Kas ir Jūsu projekts, ko Jūs izstrādāsiet. Šeit var pietikt ar vienu vai dažiem teikumiem&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Projekta komanda&amp;#039;&amp;#039;&amp;#039;, īpaši ja nepieciešams vairāk par vienu dalībnieku. Kas piedalās, kādas lomas katrs izpilda (kurš ko programmēs, kurš projektēs, kurš testēs utt)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Motivācija&amp;#039;&amp;#039;&amp;#039;. Kāpēc Jūs šādu projektu taisāt. Kāds no tā varētu būt labums Jums un pārējiem apkārtējiem cilvēkiem, dabai.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Jūsu pieeja un arhitektūra&amp;#039;&amp;#039;&amp;#039;. Kā realizēsiet projektu. Kāda būs izmantotā aparatūra. Kāda programmatūra. Kāda būs tīkla struktūra. Šeit labi iederas sistēmas arhitektūras bildes, shematiski attēlojumi. Svarīgi norādīt arī nepieciešamo aparatūru, tai skaitā, kādi sensori nepieciešami projekta realizēšanai. Lai varam sākt meklēt nepieciešamos sensorus, motes. Tiek sagaidīts, ka šī ir saturīgākā projekta apraksta daļa.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Sagaidāmais rezultāts&amp;#039;&amp;#039;&amp;#039;. Cik daudz no savas projekta idejas plānojat šī semestra laikā realizēt. Kādus testus veikt. Kā novērtēsit rezultātus.&lt;br /&gt;
&lt;br /&gt;
Papildus tēmas:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kas šajā tēmā pasaulē ir jau izdarīts&amp;#039;&amp;#039;&amp;#039;. Bakalaura studentiem netiek prasīts izdarīt kaut ko universālu, kas pasaulē vēl neeksistē. Tai pat laikā, ir ļoti vēlams, ka veicat izpēti, par to, kas pasaulē Jūsu tēmā ir jau izpildīts. Kaut vai tāpēc, lai izvēlētos labāko risinājumu, lai nav pašiem jāizdomā no nulles&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Idealizācija&amp;#039;&amp;#039;&amp;#039;. Šī projekta ietvaros netiek prasīts, lai Jūs uzbūvējat vispasaules sensoru tīklu ar Google mēroga infrastruktūru. Bet, ja tas būtu iespējams - ko ar Jūsu sensoru tīklu varētu izdarīt? T.i., padomājiet pāri sava viena semestra robežām!&lt;br /&gt;
&lt;br /&gt;
===MD_Testbed===&lt;br /&gt;
Uzdevuma veikšana EDI testbed platformā (Testbed).&lt;br /&gt;
&lt;br /&gt;
Pieslēguma informācija Testbed platformai tiks paziņota individuāli, lekcijā un/vai e-studijās.&lt;br /&gt;
&lt;br /&gt;
Uzdevums ir ievākt informāciju no Testbed sensoriem kas atrodas uz jums izdalītajiem Testbed sensoru mezgliem pēc iespējas ilgāku laika posmu, vismaz 24 stundas, un attēlot datus grafiski. Sīkāks uzdevumu apraksts seko.&lt;br /&gt;
&lt;br /&gt;
====Programma P1====&lt;br /&gt;
Programmas P1 mērķis ir pārbaudīt Testbed darbību un nolasīt log failos saglabātos datus.&lt;br /&gt;
&lt;br /&gt;
* Pieslēgties Testbed &lt;br /&gt;
* Pārbaudīt jums izdalīto sensoru mezglu darbību izveidojot vienkāršu programmu &amp;lt;code&amp;gt;P1.c&amp;lt;/code&amp;gt; kas sūta skaitļus no 1 līdz 100 ar vienas sekundes intervālu uz seriālo portu. Skaitļus sūtīt kā simbolu virkni salasāmā tekstā, piemēram &amp;quot;17&amp;quot;.&lt;br /&gt;
* Darbināt P1 uz visiem sensoru mezgliem vienlaicīgi. Darbināt eksperimentu 10min. Saglabāt Log failus.&lt;br /&gt;
* Novērtēt rezultātus. Piemēram, vai visi sensori darbojās vienlīdz ātri?&lt;br /&gt;
&lt;br /&gt;
====Programma P2====&lt;br /&gt;
Programmas P2 mērķis ir ievākt sensoru datus ilgākā laika posmā.&lt;br /&gt;
&lt;br /&gt;
* Izveidot programmu &amp;lt;code&amp;gt;P2.c&amp;lt;/code&amp;gt; kas reizi 10 sekundēs nolasa sensoru vērtības. &lt;br /&gt;
* Lasāmie sensori ir: Gaismas sensors, temperatūra un gaisa mitrums.&lt;br /&gt;
* Darbināt P2 24 stundas un saglabāt datus Log failos.&lt;br /&gt;
* Analizēt sensoru datus. Uzzīmēt datus grafikā ar x kā laika asi un y kā mērījumu asi. Izdarīt secinājumus.&lt;br /&gt;
&lt;br /&gt;
====Programma P3====&lt;br /&gt;
Programmas P3 mērķis ir novērtēt komunikāciju iespējas Testbed vidē.&lt;br /&gt;
&lt;br /&gt;
* Izveidot programmu &amp;lt;code&amp;gt;P3_send.c&amp;lt;/code&amp;gt;, kas sūta 300 ziņas visiem citiem mezgliem ik pa 100 milisekundēm. Katrā ziņā iekļaut tās kārtas numuru. Datos iekļaut arī savu identifikatoru, lai saņemošais klients var atpazīt datu pakas tipu un mērķi.&lt;br /&gt;
* Izveidot programmu &amp;lt;code&amp;gt;P3_receive.c&amp;lt;/code&amp;gt;, kas saņem ziņas pa radio no citiem mezgliem un pieraksta RSSI vērtības atmiņas buferī. Kad visas atsūtītas, eksportēt datus uz log failu caur seriālo portu.&lt;br /&gt;
* Darbināt P3_send uz viena mezgla un P3_receive uz pārējiem. Saglabāt datus log failā.&lt;br /&gt;
* Atkārtot iepriekšējo eksperimentu tā, lai datu būtu sūtīti no visiem mezgliem.&lt;br /&gt;
* Rezultātā jums jābūt datiem kas apraksta komunikāciju starp jebkuriem diviem mezgliem.&lt;br /&gt;
* Rezultātu analīzē parādiet kā RSSI mainās laikā starp visiem mezgliem. Bez tam, izveidojiet tabulu vai grafu kurā novērtējiet komunikāciju/ saņemtā signāla stiprumu starp visiem mezgliem. Atcerieties, ka saites var būt arī asimetriskas, piemēram, mezgls A &amp;quot;dzird&amp;quot; mezglu B labāk nekā B &amp;quot;dzird&amp;quot; A.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Piezīmes&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Ņemiet vērā, ka var gadīties, ka dažas ziņas mezgli var nesaņemt trokšņu vai citu iemeslu dēļ. Datos tas ir jāredz. Tāpēc saglabājot RSSI jāņem vērā arī saņemtās ziņas kārtas numurs, ko tā sūtīja.&lt;br /&gt;
* Saņemtos RSSI rādījumus jums jāglabā atmiņā, lai tie aizņemtu pēc iespējas mazāk vietas. Sūtot tos uz reizi pa seriālo portu jums var nepietikt laika saņemt visas ziņas. Tāpēc ieteicams datus saglabāt ar seriālo portu tikai pēc tam kad eksperiments beidzies - pēdēja ziņa saņemta (vai nav pienākusi, bet laiks pagājis).&lt;br /&gt;
&lt;br /&gt;
====Iesniegšana====&lt;br /&gt;
Iesniegt rezultātus visiem uzdevumiem e-studijās kā MD_Testbed. &lt;br /&gt;
Tai skaitā, katram uzdevumam P&amp;#039;&amp;#039;X&amp;#039;&amp;#039;, kur &amp;#039;&amp;#039;X&amp;#039;&amp;#039; ir 1, 2 un 3:&lt;br /&gt;
&lt;br /&gt;
* Katram uzdevumam P1, P2 un P3 izveidot direktoriju ar attiecīgu vārdu. Šajās direktorijās izvietot attiecīgo uzdevumu pirmkoda, datu un apraksta failus.&lt;br /&gt;
* Iekopēt direktorijās visu pirmkodu un ievākto datu failus&lt;br /&gt;
* Analīzes rezultātus aprakstīt un grafikus attēlot PDF failā ar nosaukumu P&amp;#039;&amp;#039;X&amp;#039;&amp;#039;.pdf&lt;br /&gt;
* Neaizmirstiet aprakstā norādīt darba autorus un ko katrs darījis, kā arī katra dalībnieka procentuālo ieguldījumu no komandas darba.&lt;br /&gt;
* Visus failus arhivēt kā zip failu un saukt BST_MD_Testbed_Vards_Uzvards.zip, kur, protams, lietots &amp;#039;&amp;#039;jūsu&amp;#039;&amp;#039; vārds un uzvārds.&lt;br /&gt;
* Zip fails jāiesūta e-studijās VISIEM komandas dalībniekiem.&lt;br /&gt;
&lt;br /&gt;
=Testbed=&lt;br /&gt;
&lt;br /&gt;
EDI BST testa vides piekļuve un lietošana.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lasāmviela&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://docs.google.com/presentation/d/1Qy32wqh3W4ki808hN_FUTMHURcO1F6St3nwovtZLLNQ/edit?usp=sharing Lietošanas pamācība]&lt;br /&gt;
* [https://www.edi.lv/testbed EDI Testbed] portāls&lt;br /&gt;
* Testbed CLI komandu [https://www.dropbox.com/s/gse78nkox8eo523/EDI%20TestBed%20CLI%20cheat%20sheet%202021.pdf?raw=1 Cheatsheet]&lt;br /&gt;
* [https://www.dropbox.com/s/efsx8380cy4y366/EDI_TestBed_CLI_intro_2021.pdf?raw=1 EDI Testbed Prezentācija]&lt;br /&gt;
* Demonstrācijas video pieejams eStudijās&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CLI klientu programmatūra&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
** [https://makonis.edi.lv/s/PtomG54z8i7ozJp Linux]&lt;br /&gt;
** [https://makonis.edi.lv/s/bBAzoknjX23WfPS Windows]&lt;br /&gt;
&lt;br /&gt;
Publikācijas&lt;br /&gt;
* [https://www.researchgate.net/publication/236735509_Wireless_Sensor_Network_Testbeds_A_Survey Wireless Sensor Network Testbeds: A Survey]&lt;br /&gt;
&lt;br /&gt;
= Resursi =&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/edi-riga/MansOS/wiki &amp;#039;&amp;#039;&amp;#039;MansOS&amp;#039;&amp;#039;&amp;#039; operētājsistēma]&lt;br /&gt;
** [[MansOS msp430 procesora rīku instalācija ar Docker]]&lt;br /&gt;
&lt;br /&gt;
* [http://www.catb.org/esr/structure-packing/ The Lost Art of Structure Packing]&lt;br /&gt;
* Grāmata: [https://ptolemy.berkeley.edu/books/leeseshia/ Introduction to Embedded Systems - A Cyber-Physical Systems Approach]&lt;br /&gt;
* [[LU::poster-howto | Ieteikumi plakātu prezentāciju veidošanā]]&lt;br /&gt;
&lt;br /&gt;
* [https://towardsdatascience.com/top-30-data-science-interview-questions-7dd9a96d3f5c Datu zinātne] - 30 intervijas jautājumi&lt;br /&gt;
&lt;br /&gt;
* [https://google.github.io/mediapipe/ Mediapipe] - attēlu apsrādes bibliotēka&lt;br /&gt;
&lt;br /&gt;
== Aparatūra, sensori ==&lt;br /&gt;
* [[DiLab_resursi]] - LU pieejamie sensori un aparatūra&lt;br /&gt;
&lt;br /&gt;
== Saites ==&lt;br /&gt;
* [[LU-BST:links | Bezvadu sensoru tīklu saites]]&lt;br /&gt;
* [https://www.sqimway.com/index.html Bezvadu komunikācijas veidi un frekvences]&lt;br /&gt;
* [http://ss64.com/bash Linux komandu rokasgrāmata]. Komandas, kas mums būs noderīgas: cd, ls, cp, mv, mkdir, df, echo, export, find, grep, less, nano, make, man, ping, rm, ifconfig.&lt;br /&gt;
* [[LU-BST:SwissQM | Kā piedarbināt SwissQM virtuālo mašīnu sensoru tīkliem]] (Paldies Kārlim Visendorfam par aprakstu!)&lt;br /&gt;
* [https://www.ibr.cs.tu-bs.de/dus/publications/spots2006.pdf uPart mote un tās īpašības]&lt;br /&gt;
&lt;br /&gt;
== Interesanti ==&lt;br /&gt;
* [https://www.sparkfun.com/news/6147 Hedy Lamarr and Frequency Hopping Technology] - Holivudas aktrise un FH patenta autore.&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=LU-DIP-m&amp;diff=11184</id>
		<title>LU-DIP-m</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=LU-DIP-m&amp;diff=11184"/>
		<updated>2026-02-05T10:05:27Z</updated>

		<summary type="html">&lt;p&gt;Leo: /* Uzdevums */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Īsceļi:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[#Kalendārs | Kalendārs]] | &lt;br /&gt;
[[#Lekciju video | Video]] |&lt;br /&gt;
[[#PD | PD]] |&lt;br /&gt;
[[#MD | MD]] |&lt;br /&gt;
[[#Informācijas resursi | Resursi]] | &lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}}]] : &lt;br /&gt;
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}}]]&lt;br /&gt;
(ja ir lekcija)&lt;br /&gt;
&lt;br /&gt;
{{LUDFKurss|Digitālā projektēšana [M]|DIP|DatZ7034|2DAT7034|maģistru un doktorantu}}&lt;br /&gt;
&lt;br /&gt;
= Par kursu =&lt;br /&gt;
&lt;br /&gt;
Kursa mērķi ir iepazīstināt ar digitālo iekārtu projektēšanas aspektiem, darba plūsmu, problēmām un risinājumiem. Kursa ietvaros tiek apskatīti digitālu iekārtu un datoru arhitektūras pamata un arī sarežģītākas pakāpes elementi.&lt;br /&gt;
Kursā studenti izstrādā praktiskos darbus un kursa projektu, kura rezultāts ir digitāla iekarta, piemēram procesors, mini dators, grafikas kontrolieris, kalkulators, paralēlas attēlu apstrādes iekārta un citas iekārtas.&lt;br /&gt;
&lt;br /&gt;
=== Administratīvā informācija===&lt;br /&gt;
* Pasniedzējs: Leo Seļāvo &amp;#039;&amp;#039;(epasts: vards.uzvards @ gmail.com)&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Vērtējums = 40% mājas un praktiskie darbi, 10% dalība klasē, 20% KD1 un 30% KD2(eksāmens). --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{KursiMD|DIP|50%|10%}}&lt;br /&gt;
&lt;br /&gt;
=Kalendārs=&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4 style = &amp;#039;border-color: #ddd;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
! Datums&lt;br /&gt;
! Tēma, saturs&lt;br /&gt;
! Uzdevumi&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
==== 05.02.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievads kursā&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Digitālas iekārtas vispārējā arhitektūra un uzbūve.&lt;br /&gt;
Digitālā projektēšana, ievads, darba plūsma. Map, place, route. Laika anotācija - &amp;quot;&amp;quot;Timing back-annotation&amp;quot;&amp;quot;. Simulācija un testēšana dažādos līmeņos.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://youtu.be/sqyLYgVvtr0 Ievads (video)]&lt;br /&gt;
* [https://youtu.be/G6abrFbeazw Kas ir digitālas sistēmas (video)]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
[[#PD1 | PD1]] - LED un slēdžī&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 12.02.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Digitālo iekārtu pamatelementi&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://youtu.be/6340drM2Fm0 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Digitālo iekārtu pamatelementi, tranzistors, invertors, NAND un NOR elementi no tranzistoriem, to loģiskā uzbūve un īpašības.&lt;br /&gt;
Loģiskie elementi, minimālā kopa. Pāreja no loģiskajām izteiksmēm un tabulām uz realizāciju ar loģiskajiem elementiem. Kombinētie loģiskie elementi. Dešifrators, multipleksors, frekvences dalītājs un citi elementi.&lt;br /&gt;
Elementi ar atmiņu.  RS un D trigeri. &amp;quot;&amp;quot;Latch&amp;quot;&amp;quot; un &amp;quot;&amp;quot;D-Flip-flop&amp;quot;&amp;quot;. Reģistri un uz tiem bāzētas iekārtas. Bīdes reģistri. Skaitītāji. Uzstādīšanas un noturēšanas laiku ierobežojumi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;CMOS tehnoloģija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
MOS tranzistora uzbūve un pielietojumi loģisko iekārtu uzbūvē&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://youtu.be/knlFvRxpUuE MOS tranzistors kā pamatelements digitālajām iekārtām (video)]&lt;br /&gt;
* [https://youtu.be/I-l2bQ-C_VU Loģisko elementu uzbūve ar MOS tranzistoriem (video)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 19.02.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Aparatūru aprakstošas valodas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aparatūru aprakstošas valodas (HDL), Verilog. Valodas elementi simulācijai un sintēzei. Uzvedības un struktūras apraksts. Moduļi. Datu tipi, signāli un reģistri.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://verilogguide.readthedocs.io/en/latest/ FPGA designs with Verilog] un Altera Quartus (Readthedocs).&lt;br /&gt;
* [http://www.ece.umd.edu/class/enee359a/verilog_tutorial.pdf Verilog tutorial] no UMD.&lt;br /&gt;
* [http://www.asic-world.com/verilog/veritut.html Verilog tutorial] no ASIC world.&lt;br /&gt;
* [https://uobdv.github.io/Design-Verification/Supplementary/Verilog.SLIDES.pdf Verilog lekcijas slaidi] no CMU.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots [[#PD_RF | PD_RF]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 26.02.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Instrukciju kopas arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [http://selavo.lv/kursi/dipm/dlx_handout.pdf Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Procesora instrukciju arhitektūra. Instrukciju tipi un kodēšana. Operandi. RISC un CISC arhitektūras. DLX procesora instrukciju arhitektūra. Salīdzinoši piemēri no ARM instrukciju kopas.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; [[#PD_RF | PD_RF]]&lt;br /&gt;
* Uzdots [[#MD_ALU | MD_ALU]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 05.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Risc V arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Vientakts procesora arhitektūra. Instrukciju dešifratora un skaitītāja reģistri. Reģistru fails. Aritmētiski loģiskā iekārta (ALU). Atmiņas saskarne. Instrukciju un datu kešatmiņa.&lt;br /&gt;
&lt;br /&gt;
RISC V procesora arhitektūra un instrukciju kopa.&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/eit5g6x4a7tqhla/riscv-20160507-patterson-160507071645.pdf?raw=1 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* RISC-V arhitektūras procesori un instrukciju kopa.&lt;br /&gt;
* Salīdzinošais ieskats ARM instrukciju kopā.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://riscv.org/ RISCV.org]&lt;br /&gt;
* [https://www.dropbox.com/s/8oy8yqd2bpff9rd/RISCVGreenCardv8-20151013.pdf?raw=1 RISC V Green Card]&lt;br /&gt;
* [https://five-embeddev.com/riscv-isa-manual/latest/instr-table.html RISC-V ISA Manual] - tabula ar instrukcijām un to kodiem.&lt;br /&gt;
&lt;br /&gt;
* [https://riscvasm.lucasteske.dev/# RISC-V Online Assembler]&lt;br /&gt;
* [https://www.cs.cornell.edu/courses/cs3410/2019sp/riscv/interpreter/# RISCV Interpreter] online at Cornell&lt;br /&gt;
&lt;br /&gt;
* [http://tice.sea.eseo.fr/riscv/ RISCV datapath vizualizācija]&lt;br /&gt;
&lt;br /&gt;
* [https://circuitdigest.com/article/understanding-risc-v-architecture-and-why-it-could-be-a-replacement-for-arm Risc V un ARM]&lt;br /&gt;
* [https://youtu.be/XMg0qzyMi14 Designing Open Processors at the Barcelona Supercomputing Center (video)]&lt;br /&gt;
&lt;br /&gt;
* Konferences:&lt;br /&gt;
** [https://www.dac.com/ DAC]&lt;br /&gt;
** [https://www.date-conference.com/ DATE]&lt;br /&gt;
** [https://dsd-seaa2021.unipv.it/index.html#call Euromicro DSD]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_ALU | MD_ALU]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_v0 | MD_CPU_v0]]&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 12.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Instrukciju atmiņa. RISC V Asemblers&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Instrukciju atmiņa, reģistrs, dekoderis. PC reģistrs.&lt;br /&gt;
&lt;br /&gt;
RISC V Asemblers. GNU rīki kompilācijai. Qemu simulators.&lt;br /&gt;
&lt;br /&gt;
* GNU asemblera kompilators RISC V arhitektūrai ir pieejams kā riscv64-linux-gnu-as. Ar to ir iespējams kompilēt kodu 32 bitu arhitektūrai RV32i norādot attiecīgu arhitektūras parametru:&lt;br /&gt;
 riscv64-linux-gnu-as -march=rv32e -al test.s&lt;br /&gt;
* Tad kompilēto kodu iespējams dabūt no listinga (to apstrādājot), vai arī no kompilētā elf faila ar objdump.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_v0 | MD_CPU_v0]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_IC | MD_CPU_IC]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 19.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Operatīvā atmiņa&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Operatīvā atmiņa, statiskā un dinamiskā. Atmiņas matricas un uzbūve. Kešatmiņas. Saskarnes starp atmiņu un citām iekārtām.&lt;br /&gt;
&lt;br /&gt;
Resursi:&lt;br /&gt;
* [http://ece-research.unm.edu/jimp/vlsi/slides/chap8_2.html Atmiņas uzbūve] no New Mexico Universitātes, VLSI kursa.&lt;br /&gt;
* [https://www.embedded.com/flash-101-nand-flash-vs-nor-flash/ NAND un NOR zibatmiņa] (embedded.com)&lt;br /&gt;
* [https://www.enterprisestorageforum.com/hardware/slc-vs-mlc-vs-tlc-nand-flash/ SLV, MLC, TLC Flash memory] (Enterprise storage forum)&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_IC | MD_CPU_IC]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_DC | MD_CPU_DC]]&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 26.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Vadības kontrole&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Branch instrukcijas. Jump-and-link instrukcijas. &lt;br /&gt;
To realizācija vientakts procesorā. &lt;br /&gt;
Branch prediction. Heristikas vadības kontroles optimizācijai.&lt;br /&gt;
&lt;br /&gt;
Kešatmiņa. Asociatīvā atmiņa. &lt;br /&gt;
&amp;quot;N-way set associative cache memory&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_DC | MD_CPU_DC]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_Branch | MD_CPU_Branch]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 09.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;GPIO&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
GPIO - General Purpose Input Output. Datu ievads un izvads ar kartētu atmiņu (memory mapped IO). Mikrokontroliera perifērijas iekārtu reģistri. Reģistrs lasīšanas un rakstīšanas virzienam. Saskarnes savietošana ar operatīvās atmiņas saskarni.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots: [[#MD_GPIO | MD_GPIO]]&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 16.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Procesora arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://youtu.be/P2CARhD2k3A Slaidi/video]&lt;br /&gt;
Procesora arhitektūra. Daudz-taktu procesors un konveijera princips.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_Branch | MD_CPU_Branch]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 23.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Metrikas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Digitālas projektēšanas metrikas. Funkcionalitāte. Izmaksas, fiksētās un mainīgās. Uzticamība, izturība. Trokšņu noturība un imunitāte. Veiktspēja. Ātrums un enerģijas patēriņš. Projektēšanas laiks.&lt;br /&gt;
* [https://www.dropbox.com/s/aoyenqlkhaz1yoe/Metrics_Leo.pdf?raw=1 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Resursi:&lt;br /&gt;
* [https://semiengineering.com/from-design-to-deployment-how-silicon-lifecycle-management-optimizes-the-entire-ic-life-span/ Silicon lifecycle...]&lt;br /&gt;
* [https://anysilicon.com/when-and-why-should-you-choose-an-asic/ When and why ASIC...]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 30.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Programmējamās loģikas iekārtas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://youtu.be/JEiLcHtgSlE Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Programmējamās loģikas iekārtas, CPLD un FPGA. FPGA uzbūve. Konfigurējami loģiskie elementi. Ievada un izvada elementi. Komunikācija, maģistrāles.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://www.electronicsforu.com/technology-trends/fpga-vs-cpld-microcontrollers FPGA vs CPLD vs Microcontrollers] (from electronicsforu.com)&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/data_sheets/ds312.pdf Spartan-3E FPGA Family Data Sheet]&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/data_sheets/ds090.pdf CoolRunner II CPLD Family]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 07.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;FPGA kā serviss&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vieslekcija. Attālināta FPGA attīstītājrīku programmēšana un testēšana.&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_GPIO | MD_GPIO]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 14.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;(Vieslekcija)&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FPGA pielietojumi kosmosa tehnoloģijās.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 21.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Superskalāras arhitektūras&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://www.dropbox.com/s/7nrd0ke682oc935/13_Superscalar.pdf?raw=1 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Superskalārie procesori un to uzbūve. Paralēlu ALU izmantošanas stratēģijas.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 28.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Dinamiska instrukciju plānošana&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Instrukciju paralelisms, ciklu atrullēšana, Scoreboarding un Tomasulo arhitektūras.&lt;br /&gt;
&lt;br /&gt;
Slaidi:&lt;br /&gt;
* [https://www.dropbox.com/s/ieks943pmn4ikpm/ECE570_dynamic_scheduling.pdf?raw=1 Scoreboarding algoritms]&lt;br /&gt;
* [https://www.dropbox.com/s/1a1s4d95k5plotb/Lecture04_tomasulo.pdf?raw=1 Tomasulo algoritms]&lt;br /&gt;
&lt;br /&gt;
Resursi:&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Tomasulo%27s_algorithm Par Tomasulo algoritmu] no Wikipedijas&lt;br /&gt;
* [http://nathantypanski.github.io/tomasulo-simulator/ Tomasulo simulators]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://serenefield.com/Blog/posts/HighPerformanceArchitecture/2021-01-28_High-Performance-Computer-Architecture-13---Tomasulo-s-Algorithm-Part-1-8c65788dec07.html Ievads Tomasulo algoritmā] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 28.05.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Kopsavilkums&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Daudzkodolu procesori un CUDA&lt;br /&gt;
* [https://sites.google.com/a/nirmauni.ac.in/cudacodes/cuda-material/tutorial-3 GPU Computing: The Democratization of Parallel Computing] - seminārs, ASPLOS&amp;#039;08&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== xx.06.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
xx:xx Eksāmens.&lt;br /&gt;
&lt;br /&gt;
Projektu demonstrācijas un plakāti.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
Eksāmenā:&lt;br /&gt;
* Risinājuma pirmkods un projekts kā zip fails&lt;br /&gt;
* Dokumentācija jūsu risinājumam &amp;quot;Datasheet&amp;quot;.&lt;br /&gt;
* Jānodod eseja (e-studijās), kurā aprakstīti projekta izaicinājumi un sasniegumi kā arī tehniskā informācija par projektu.&lt;br /&gt;
* Bez tam, jāizveido plakāts, kas būs jāprezentē mutiski un jāatbild uz jautājumiem. PDF formātā (e-studijās).&lt;br /&gt;
** [[LU::poster-howto | Ieteikumi plakāta prezentācijas]] veidošanā&lt;br /&gt;
* Ja projektā ir demonstrējama daļa, tad jāveic arī tā demonstrācija.&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Lekciju video =&lt;br /&gt;
Lekciju [https://www.youtube.com/playlist?list=PL32WMyFDbfNnVb3nFI9Tku5O8ukKBxs6Z videomateriāls ir pieejams Youtube]. Sīkāk, pa tēmām:&lt;br /&gt;
* [https://youtu.be/sqyLYgVvtr0 Ievads kursa pirmajai daļai.]&lt;br /&gt;
* [https://youtu.be/G6abrFbeazw Digitālas sistēmas.]&lt;br /&gt;
* [https://youtu.be/6340drM2Fm0 Loģikas pamatelementi.]&lt;br /&gt;
* [https://youtu.be/knlFvRxpUuE Tranzistora uzbūve.]&lt;br /&gt;
* [https://youtu.be/I-l2bQ-C_VU Tranzistoru lietojumi.]&lt;br /&gt;
* [https://youtu.be/hDOUl1ViMdc Laika atkarīgi elementi.]&lt;br /&gt;
* [https://youtu.be/1spw-GAsDLk Trigeri un &amp;quot;latch&amp;quot; iekārtas.]&lt;br /&gt;
* [https://youtu.be/P2CARhD2k3A CPU uzbūve un konveijera princips.]&lt;br /&gt;
* [https://youtu.be/JEiLcHtgSlE FPGA uzbūve.]&lt;br /&gt;
&lt;br /&gt;
= PD =&lt;br /&gt;
Praktiskie darbi.&lt;br /&gt;
&lt;br /&gt;
===PD1===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LED un slēdži&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* apgūt darba plūsmu ar FPGA shēmas ievadu, kompilāciju un dizaina augžuplādēšanu uz FPGA iekārtas.&lt;br /&gt;
* lietot FPGA ievada un izvada portus (pinus).&lt;br /&gt;
* lietot elementāras loģikas elementus shēmā.&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot digitālu iekārtu, kas izmanto ievada elementus (slēdžus) un izvada elementus (LED).&lt;br /&gt;
* Shēmas ievads&lt;br /&gt;
* Kompilācija&lt;br /&gt;
* Uzlādēšana uz reālas FPGA iekārtas&lt;br /&gt;
* Pārbaude&lt;br /&gt;
&lt;br /&gt;
Iekārtai jāveic sekojošas darbības:&lt;br /&gt;
* SW1 slēdzis ieslēdz un izslēdz LED1 spīddiodi.&lt;br /&gt;
* SW2 un SW3 slēdži veido ievaddatus XOR elementam, kura rezultats tiek izvadīts uz LED2.&lt;br /&gt;
* Spīddiode LED3, kas ieslēdzas un izslēdzas reizi sekundē. SW4 to var apstādināt un iedarbināt.&lt;br /&gt;
&lt;br /&gt;
Praktiskajā darbā izstrādātā iekārta jādemonstrē uz FPGA iekārtas.&lt;br /&gt;
&lt;br /&gt;
Resusrsi:&lt;br /&gt;
* [http://www.xilinx.com/support/documentation/boards_and_kits/ug230.pdf Xilinx Spartan-3E FPGA Starter Kit Board User Guide]&lt;br /&gt;
* [https://eprints.qut.edu.au/76297/1/Spartan3E_Tutorial_1ver2.pdf Spartan 3E Tutorial] no Queensland University of Technology&lt;br /&gt;
&lt;br /&gt;
===PD_Counter===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Skaitītāja simulācija&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* Iepazīties ar FPGA elementu bibliotēkas skaitītāja moduļiem&lt;br /&gt;
* Iemācīties, kā darbināt simulācijas&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izveidot shēmu iekārtai, kas izmantojot takts signālu realizē 4 bitu bināru skaitītāju.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulātoru (ISim vai Modelsim)&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* PDF dokumentu kurā ir gan iekārtas shēma, gan arī simulācijas rezultāti un īss pieredzes apraksts.&lt;br /&gt;
&lt;br /&gt;
===PD_RF===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Reģistru fails un simulācija&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* Pamatelementu un reģistru lietojums Verilog valodā&lt;br /&gt;
* Projekta simulācija&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot 32x32 reģistru failu procesoram. Veikt simulāciju ar ISim, kas pārbauda tā darbību.&lt;br /&gt;
&lt;br /&gt;
* Reģistru failā ir 32 biti&lt;br /&gt;
* Katrs reģistrs ir 32 bitus garš&lt;br /&gt;
* Turpmāk aprakstā  portu/signālu bitu skaits tiek norādīts aiz tiem iekavās.&lt;br /&gt;
* Ir divi porti A(32) un B(32), kas ļauj vienlaicīgi nolasīt divu reģistru vērtības. Lasāmo reģistru adreses tiek norādītas ar AA(5) un AB(5)&lt;br /&gt;
* Ir viens ports D(32), kas ļauj ierakstīt viena reģistra vērtību CLK uzlecošās frontes notikuma brīdī, ja ir iespējota rakstīšana ar signālu WR. Reģistrs, kurā rakstīt, tiek norādīts ar signālu AD(5).&lt;br /&gt;
* Lasīšanas un rakstīšanas darbībām jāvar notikt paralēli, vienlaicīgi.&lt;br /&gt;
&lt;br /&gt;
Demonstrēt iekārtas darbību ar simulatoru (ISim)&lt;br /&gt;
* Simulācijas daļā demonstrēt, kā informācija tiek rakstīta visos reģistros, kā arī lasīta no tiem. Lai veiktu šo simulāciju, izveidot testa moduli (testbench) atsevišķā Verilog failā.&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkodu reģistru failam un tā testa modulim.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===PD_Calc===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kalkulators: stāvokļu diagramma un kontrolieris&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===== Mērķi =====&lt;br /&gt;
* Iepazīties ar galīgo automātu projektēšanu un implementāciju Verilog valodā&lt;br /&gt;
* Projektēt digitālu sistēmu ar kontrolieri&lt;br /&gt;
* Simulēt kontroliera dizainu&lt;br /&gt;
&lt;br /&gt;
===== Uzdevums =====&lt;br /&gt;
Izveidot funkcionālu kalkulatora moduli, kas reaģē uz taustiņu signāliem veic saskaitīšanas un atņemšanas operācijas. &lt;br /&gt;
Kalkulators strādā heksadecimālā sistēmā, tātad, tam ir 16 ciparu taustiņi: 0,1,2...8,9,A,B,C,D,E,F.&lt;br /&gt;
Bez tam ir arī operāciju taustiņi: CLR - nodzēst rezultātu, un operācijas +, - un =.&lt;br /&gt;
Nospiežot katru taustiņu tiek pacelts signāls BtnDown. Atlaižot taustiņu tas tiek nolaists.&lt;br /&gt;
Jāveic sekojoši uzdevumi:&lt;br /&gt;
* Izveidot projektu kalkulatoram ar Verilog vai shēmu diagrammu.&lt;br /&gt;
* Izveidot kontrolieri, kas balstīts uz vienu vai vairākiem galīgiem stāvokļu automātiem.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulātoru Xilinx ISim.&lt;br /&gt;
&lt;br /&gt;
===== Iesniegt =====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* PDF dokumentu kurā ir gan iekārtas shēma, gan arī simulācijas rezultāti un īss pieredzes apraksts.&lt;br /&gt;
* Iekārtas un testēšanas Verilog pirmkoda failus.&lt;br /&gt;
&lt;br /&gt;
===PD_VGA===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Šaha laukums&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* iepazīties ar VGA signālu protokolu&lt;br /&gt;
* izpildīt iekartas dizainu Verilog valodā&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot iekārtu, kas uz monitora ekrāna attēlo 8x8 šaha lauciņu. &lt;br /&gt;
Darba gaita iepazīties ar video signāla formu un laika parametriem. &lt;br /&gt;
Darbu atļauts izpildīt daļēji vai pilnīgi Verilog valodā. &lt;br /&gt;
&lt;br /&gt;
Praktiskajā darbā izstrādātā iekārta jādemonstrē uz Spartan 3E FPGA iekārtas, kam pieslēgts monitors.&lt;br /&gt;
&lt;br /&gt;
Izstrādātā risinājuma pirmkoda faili jāarhivē failā vards_uzvards_PD2.zip un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
===PD_Kbd===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Klaviatūra un Ciparu izvads&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* iepazīties ar PS/2 (klaviatūras) protokolu&lt;br /&gt;
* Izstrādāt stāvokļu mašīnu - galīgo automātu kalkulatora darbībai&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot digitālu iekārtu, kas darbojas kā kalkulators ar skaitļiem heksadecimālajā sistēmā un var izpildīt saskaitīšanas un atņemšanas operācijas.&lt;br /&gt;
&lt;br /&gt;
Skaitļu ievads ir no klaviatūras, kas pieslēdta ar PS/2 portu.&lt;br /&gt;
&lt;br /&gt;
Skaitļu izvads ir uz LCD ekrāna.&lt;br /&gt;
&lt;br /&gt;
Izstrādātā risinājuma pirmkoda faili jāarhivē failā vards_uzvards_PD3.zip un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
= MD =&lt;br /&gt;
Mājas darbi.&lt;br /&gt;
&lt;br /&gt;
===MD1===&lt;br /&gt;
&lt;br /&gt;
Novērtēt Spartan 3E attīstītājrīka un FPGA iespējas. Atbildēt uz jautājumu: vai iespējams uz Spartan 3E realizēt datoru, kas varētu darbināt Linux klases operētājsistēmu? Atbildi &amp;#039;&amp;#039;&amp;#039;pamatot&amp;#039;&amp;#039;&amp;#039;, izvērtējot &amp;#039;&amp;#039;&amp;#039;nepieciešamos un atbilstošos pieejamos resursus&amp;#039;&amp;#039;&amp;#039; gan FPGA, gan perifērijas iekārtu kontekstā.&lt;br /&gt;
&lt;br /&gt;
Atbilde noformējama kā eseja PDF failā vards_uzvards_MD1.pdf un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
===MD2===&lt;br /&gt;
&lt;br /&gt;
Aprakstīt ideju kursā realizējamam projektam, ko izstrādāsiet uz FPGA iekārtas.&lt;br /&gt;
Iekļaut sekojošas sadaļas:&lt;br /&gt;
* Vai tas ir individuāls vai komandas darbs. Ja komandas, tad pievienot dalībnieku sarakstu un to lomu projektā&lt;br /&gt;
* Mērķis un motivācija&lt;br /&gt;
* Nepieciešamie resursi&lt;br /&gt;
* Risinājuma apraksts&lt;br /&gt;
* Realizācijas plāns ar konkrētiem datumiem un starpmērķiem, kas tajos sasniedzami&lt;br /&gt;
&lt;br /&gt;
Atbilde noformējama kā dokuments PDF failā vards_uzvards_MD2.pdf un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MD_OpenGL===&lt;br /&gt;
&lt;br /&gt;
Uzzīmēt un aprakstīt video kontroliera shēmu, kas atbalsta minimālu OpenGL vai līdzīgu instrukciju kopu.&lt;br /&gt;
Instrukcijas tiek nodotas no datora pa seriālo portu. Instrukcijas jāatkodē un jāizpilda, izmainot lokālu video buferi. No bufera attēls jāizvada uz  iebūvēto VGA portu attēla izvadei.&lt;br /&gt;
&lt;br /&gt;
Atbilde noformējama kā dokuments PDF failā vards_uzvards_MDx.pdf un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
===MD_ALU===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Aritmētiski loģiskā ierīce (ALU)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* Izpētīt ISA un izstrādāt specifikāciju atbilstošam procesora ALU&lt;br /&gt;
* ALU izstrāde&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt ALU kas atbilst RISCV R32I instrukciju kopai &lt;br /&gt;
* ALU nepieciešams nodrošināt sekojošu saskarni:&lt;br /&gt;
** A un B ir datu ievadda maģistrāles, 32 biti, vai ideāli, parametrizējamas.&lt;br /&gt;
** OUT ir rezultāts, arī datu maģistrāle&lt;br /&gt;
** OPCODE - ievads, ALU operācijas kods&lt;br /&gt;
** karodziņi, kas indicē:&lt;br /&gt;
*** V - Overflow&lt;br /&gt;
*** Z - Zero&lt;br /&gt;
*** N - Negative&lt;br /&gt;
*** C - Carry&lt;br /&gt;
* Demonstrēt iekārtas darbību vairākām instrukcijām, ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISCV reference card] - instrukciju tipi, kopsavilkums&lt;br /&gt;
* [https://inst.eecs.berkeley.edu/~cs61c/fa17/img/riscvcard.pdf RISCV Reference sheet] - instrukciju saraksts&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISCV specifikācijas protāls un dokumenti]&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda fails ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_v0===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt instrukciju dekoderi un aritmētisko instrukciju datu plūsmu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt instrukciju dekoderi pēc RISC V R32I ISA Green card.&lt;br /&gt;
* Izstrādāt vienkāršu kontrolieri, kas tulko instrukciju operāciju kodus uz ALU operāciju kodiem, un reģistru faila WE (Write Enable) signālu.&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vienkāršas instrukcijas pa vienai.&lt;br /&gt;
&lt;br /&gt;
CPU prototipam (v0) jāsavieno reģistru fails, ALU un instrukciju dekoderis un operāciju kodu kontrolieris tā, lai būtu iespējams ieejā dot vienas instrukcijas 32 bitu kodu, un tā tiktu izpildīta, un rezultāts ierakstīts attiecīgajā reģistrā pēc CLK takts signāla augošās frontes.&lt;br /&gt;
&lt;br /&gt;
* Demonstrēt iekārtas darbību vairākām instrukcijām, ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* RISC V dokumentācija&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_IC===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips ar instrukciju kešatmiņu&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt instrukciju kešatmiņu un RISC V asemblera kompilāciju.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt instrukciju kešatmiņu, instrukciju reģistru, PC reģistru.&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vienkāršas instrukcijas no instrukciju atmiņas. Katrs takts signāls CLK ielasa un izpilda nākamo instrukciju.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu instrukciju testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Instrukciju kešatmiņas modulim ielasīt kompilētu programmu (no teksta faila), Verilog kompilācijas solī.&lt;br /&gt;
&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISC V dokumentācija]&lt;br /&gt;
* [https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md RISC V Assembly manual]&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISC V Green card]&lt;br /&gt;
* [https://riscvasm.lucasteske.dev/# RiscV kompilators online]&lt;br /&gt;
&lt;br /&gt;
GNU asemblera kompilators RISC V arhitektūrai ir pieejams kā riscv64-linux-gnu-as.&lt;br /&gt;
Ar to ir iespējams kompilēt kodu 32 bitu arhitektūrai RV32i norādot attiecīgu arhitektūras parametru:&lt;br /&gt;
 riscv64-linux-gnu-as -march=rv32e -al test.s&lt;br /&gt;
&lt;br /&gt;
Tad kompilēto kodu iespējams dabūt no listinga (to apstrādājot), vai arī no kompilētā elf faila ar objdump.&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog un citi saistītie pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* Testa programma asemblerā&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_DC===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips ar datu kešatmiņu&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt datu kešatmiņu un saskarni ar operatīvo atmiņu.&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt datu kešatmiņu.&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vienkāršas instrukcijas ar atmiņu, piemēram Load un Store.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu instrukciju testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISC V dokumentācija]&lt;br /&gt;
* [https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md RISC V Assembly manual]&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISC V Green card]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_Branch===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips ar Branch un Jump-and-link instrukciju realizāciju&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt Branch un Jump-and-link instrukciju darbības un dizaina principus.&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt Branch instrukcijas saskaņā ar RISC V instrukciju kopu&lt;br /&gt;
** BEQ, BNE, BLT, BGE, BLTU, BGEU.&lt;br /&gt;
* Izstrādāt Jump-and-link instrukcijas saskaņā ar RISC V instrukciju kopu&lt;br /&gt;
** JAL, JALR&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vadības kontroles instrukcijas.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu instrukciju testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISC V dokumentācija]&lt;br /&gt;
* [https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md RISC V Assembly manual]&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISC V Green card]&lt;br /&gt;
* [https://github.com/jameslzhu/riscv-card/blob/master/riscv-card.pdf RISC V unofficial Reference card]&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_GPIO===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Universāls perifērijas datu ievads un izvads (GPIO) &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt datu apmaiņas principus starp mikroprocesoru un perifērijas iekārtām.&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt moduļus pikrokontroliera ārējai iekārtai GPIO, kas spēj nodot un lasīt datus rakstot īpašā adresē.&lt;br /&gt;
** Ieslēgt un izslēgt 8 LED, kas kartēti uz vienu baitu atmiņā. Katram LED atbilst savs bits baitā.&lt;br /&gt;
** Nolasīt 8 slēdžu (Switch) stāvokļus lasot vienu baitu pēc konkrētas atmiņas adreses. Katram slēdzim atbilst savs bits baitā.&lt;br /&gt;
** Realizēt GPIO iekārtas saskarni caur baitu konkrētā adresē operatīvajā atmiņā. Saskarni realizēt ar diviem reģistriem: Datu virziena reģistru un Datu reģistru.&lt;br /&gt;
&lt;br /&gt;
* Dizainu organizēt tā, lai izveidotie GPIO moduļi var tikt pielietoti arī citām perifērijas iekārtām:&lt;br /&gt;
** Konfigurējot piekļuvi ārējām iekārtām caur UCF failu&lt;br /&gt;
** Integrējot citus iekšējos moduļus kas izstrādāti Verilog vai shēmtehnikā.&lt;br /&gt;
&lt;br /&gt;
* Integrēt GPIO jūsu CPU projektā.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu GPIO testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar aparatūru.&lt;br /&gt;
&lt;br /&gt;
Piemēram var apskatīt GPIO organizāciju dažādu mikrokontrolieru dokumentācijā, piemēram Atmega328p.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf Atmega328p mikrokontroliera dokumentācija]&lt;br /&gt;
* [https://github.com/elomage/FPGA-resources/blob/main/ucf_templates/Anvyl.ucf UCF faila piemērs ANVYL attīstītājrīkam]&lt;br /&gt;
* [https://en.wikipedia.org/wiki/General-purpose_input/output General purpose input/output] - Wikipedia&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
= Informācijas resursi =&lt;br /&gt;
&lt;br /&gt;
{{DIP_saites}}&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=LU-DIP-m&amp;diff=11183</id>
		<title>LU-DIP-m</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=LU-DIP-m&amp;diff=11183"/>
		<updated>2026-02-05T09:29:58Z</updated>

		<summary type="html">&lt;p&gt;Leo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Īsceļi:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[#Kalendārs | Kalendārs]] | &lt;br /&gt;
[[#Lekciju video | Video]] |&lt;br /&gt;
[[#PD | PD]] |&lt;br /&gt;
[[#MD | MD]] |&lt;br /&gt;
[[#Informācijas resursi | Resursi]] | &lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;br /&gt;
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}}]] : &lt;br /&gt;
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2|3}}]]&lt;br /&gt;
(ja ir lekcija)&lt;br /&gt;
&lt;br /&gt;
{{LUDFKurss|Digitālā projektēšana [M]|DIP|DatZ7034|2DAT7034|maģistru un doktorantu}}&lt;br /&gt;
&lt;br /&gt;
= Par kursu =&lt;br /&gt;
&lt;br /&gt;
Kursa mērķi ir iepazīstināt ar digitālo iekārtu projektēšanas aspektiem, darba plūsmu, problēmām un risinājumiem. Kursa ietvaros tiek apskatīti digitālu iekārtu un datoru arhitektūras pamata un arī sarežģītākas pakāpes elementi.&lt;br /&gt;
Kursā studenti izstrādā praktiskos darbus un kursa projektu, kura rezultāts ir digitāla iekarta, piemēram procesors, mini dators, grafikas kontrolieris, kalkulators, paralēlas attēlu apstrādes iekārta un citas iekārtas.&lt;br /&gt;
&lt;br /&gt;
=== Administratīvā informācija===&lt;br /&gt;
* Pasniedzējs: Leo Seļāvo &amp;#039;&amp;#039;(epasts: vards.uzvards @ gmail.com)&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Vērtējums = 40% mājas un praktiskie darbi, 10% dalība klasē, 20% KD1 un 30% KD2(eksāmens). --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{KursiMD|DIP|50%|10%}}&lt;br /&gt;
&lt;br /&gt;
=Kalendārs=&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=4 style = &amp;#039;border-color: #ddd;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
! Datums&lt;br /&gt;
! Tēma, saturs&lt;br /&gt;
! Uzdevumi&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
==== 05.02.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Ievads kursā&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Digitālas iekārtas vispārējā arhitektūra un uzbūve.&lt;br /&gt;
Digitālā projektēšana, ievads, darba plūsma. Map, place, route. Laika anotācija - &amp;quot;&amp;quot;Timing back-annotation&amp;quot;&amp;quot;. Simulācija un testēšana dažādos līmeņos.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://youtu.be/sqyLYgVvtr0 Ievads (video)]&lt;br /&gt;
* [https://youtu.be/G6abrFbeazw Kas ir digitālas sistēmas (video)]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
[[#PD1 | PD1]] - LED un slēdžī&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 12.02.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Digitālo iekārtu pamatelementi&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://youtu.be/6340drM2Fm0 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Digitālo iekārtu pamatelementi, tranzistors, invertors, NAND un NOR elementi no tranzistoriem, to loģiskā uzbūve un īpašības.&lt;br /&gt;
Loģiskie elementi, minimālā kopa. Pāreja no loģiskajām izteiksmēm un tabulām uz realizāciju ar loģiskajiem elementiem. Kombinētie loģiskie elementi. Dešifrators, multipleksors, frekvences dalītājs un citi elementi.&lt;br /&gt;
Elementi ar atmiņu.  RS un D trigeri. &amp;quot;&amp;quot;Latch&amp;quot;&amp;quot; un &amp;quot;&amp;quot;D-Flip-flop&amp;quot;&amp;quot;. Reģistri un uz tiem bāzētas iekārtas. Bīdes reģistri. Skaitītāji. Uzstādīšanas un noturēšanas laiku ierobežojumi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;CMOS tehnoloģija&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
MOS tranzistora uzbūve un pielietojumi loģisko iekārtu uzbūvē&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://youtu.be/knlFvRxpUuE MOS tranzistors kā pamatelements digitālajām iekārtām (video)]&lt;br /&gt;
* [https://youtu.be/I-l2bQ-C_VU Loģisko elementu uzbūve ar MOS tranzistoriem (video)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 19.02.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Aparatūru aprakstošas valodas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aparatūru aprakstošas valodas (HDL), Verilog. Valodas elementi simulācijai un sintēzei. Uzvedības un struktūras apraksts. Moduļi. Datu tipi, signāli un reģistri.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://verilogguide.readthedocs.io/en/latest/ FPGA designs with Verilog] un Altera Quartus (Readthedocs).&lt;br /&gt;
* [http://www.ece.umd.edu/class/enee359a/verilog_tutorial.pdf Verilog tutorial] no UMD.&lt;br /&gt;
* [http://www.asic-world.com/verilog/veritut.html Verilog tutorial] no ASIC world.&lt;br /&gt;
* [https://uobdv.github.io/Design-Verification/Supplementary/Verilog.SLIDES.pdf Verilog lekcijas slaidi] no CMU.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* Uzdots [[#PD_RF | PD_RF]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 26.02.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Instrukciju kopas arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [http://selavo.lv/kursi/dipm/dlx_handout.pdf Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Procesora instrukciju arhitektūra. Instrukciju tipi un kodēšana. Operandi. RISC un CISC arhitektūras. DLX procesora instrukciju arhitektūra. Salīdzinoši piemēri no ARM instrukciju kopas.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039; [[#PD_RF | PD_RF]]&lt;br /&gt;
* Uzdots [[#MD_ALU | MD_ALU]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 05.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Risc V arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Vientakts procesora arhitektūra. Instrukciju dešifratora un skaitītāja reģistri. Reģistru fails. Aritmētiski loģiskā iekārta (ALU). Atmiņas saskarne. Instrukciju un datu kešatmiņa.&lt;br /&gt;
&lt;br /&gt;
RISC V procesora arhitektūra un instrukciju kopa.&lt;br /&gt;
&lt;br /&gt;
* [https://www.dropbox.com/s/eit5g6x4a7tqhla/riscv-20160507-patterson-160507071645.pdf?raw=1 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* RISC-V arhitektūras procesori un instrukciju kopa.&lt;br /&gt;
* Salīdzinošais ieskats ARM instrukciju kopā.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://riscv.org/ RISCV.org]&lt;br /&gt;
* [https://www.dropbox.com/s/8oy8yqd2bpff9rd/RISCVGreenCardv8-20151013.pdf?raw=1 RISC V Green Card]&lt;br /&gt;
* [https://five-embeddev.com/riscv-isa-manual/latest/instr-table.html RISC-V ISA Manual] - tabula ar instrukcijām un to kodiem.&lt;br /&gt;
&lt;br /&gt;
* [https://riscvasm.lucasteske.dev/# RISC-V Online Assembler]&lt;br /&gt;
* [https://www.cs.cornell.edu/courses/cs3410/2019sp/riscv/interpreter/# RISCV Interpreter] online at Cornell&lt;br /&gt;
&lt;br /&gt;
* [http://tice.sea.eseo.fr/riscv/ RISCV datapath vizualizācija]&lt;br /&gt;
&lt;br /&gt;
* [https://circuitdigest.com/article/understanding-risc-v-architecture-and-why-it-could-be-a-replacement-for-arm Risc V un ARM]&lt;br /&gt;
* [https://youtu.be/XMg0qzyMi14 Designing Open Processors at the Barcelona Supercomputing Center (video)]&lt;br /&gt;
&lt;br /&gt;
* Konferences:&lt;br /&gt;
** [https://www.dac.com/ DAC]&lt;br /&gt;
** [https://www.date-conference.com/ DATE]&lt;br /&gt;
** [https://dsd-seaa2021.unipv.it/index.html#call Euromicro DSD]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_ALU | MD_ALU]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_v0 | MD_CPU_v0]]&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 12.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Instrukciju atmiņa. RISC V Asemblers&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Instrukciju atmiņa, reģistrs, dekoderis. PC reģistrs.&lt;br /&gt;
&lt;br /&gt;
RISC V Asemblers. GNU rīki kompilācijai. Qemu simulators.&lt;br /&gt;
&lt;br /&gt;
* GNU asemblera kompilators RISC V arhitektūrai ir pieejams kā riscv64-linux-gnu-as. Ar to ir iespējams kompilēt kodu 32 bitu arhitektūrai RV32i norādot attiecīgu arhitektūras parametru:&lt;br /&gt;
 riscv64-linux-gnu-as -march=rv32e -al test.s&lt;br /&gt;
* Tad kompilēto kodu iespējams dabūt no listinga (to apstrādājot), vai arī no kompilētā elf faila ar objdump.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_v0 | MD_CPU_v0]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_IC | MD_CPU_IC]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 19.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Operatīvā atmiņa&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Operatīvā atmiņa, statiskā un dinamiskā. Atmiņas matricas un uzbūve. Kešatmiņas. Saskarnes starp atmiņu un citām iekārtām.&lt;br /&gt;
&lt;br /&gt;
Resursi:&lt;br /&gt;
* [http://ece-research.unm.edu/jimp/vlsi/slides/chap8_2.html Atmiņas uzbūve] no New Mexico Universitātes, VLSI kursa.&lt;br /&gt;
* [https://www.embedded.com/flash-101-nand-flash-vs-nor-flash/ NAND un NOR zibatmiņa] (embedded.com)&lt;br /&gt;
* [https://www.enterprisestorageforum.com/hardware/slc-vs-mlc-vs-tlc-nand-flash/ SLV, MLC, TLC Flash memory] (Enterprise storage forum)&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_IC | MD_CPU_IC]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_DC | MD_CPU_DC]]&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 26.03.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Vadības kontrole&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Branch instrukcijas. Jump-and-link instrukcijas. &lt;br /&gt;
To realizācija vientakts procesorā. &lt;br /&gt;
Branch prediction. Heristikas vadības kontroles optimizācijai.&lt;br /&gt;
&lt;br /&gt;
Kešatmiņa. Asociatīvā atmiņa. &lt;br /&gt;
&amp;quot;N-way set associative cache memory&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_DC | MD_CPU_DC]]&lt;br /&gt;
* Uzdots: [[#MD_CPU_Branch | MD_CPU_Branch]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 09.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;GPIO&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
GPIO - General Purpose Input Output. Datu ievads un izvads ar kartētu atmiņu (memory mapped IO). Mikrokontroliera perifērijas iekārtu reģistri. Reģistrs lasīšanas un rakstīšanas virzienam. Saskarnes savietošana ar operatīvās atmiņas saskarni.&lt;br /&gt;
|&lt;br /&gt;
* Uzdots: [[#MD_GPIO | MD_GPIO]]&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 16.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Procesora arhitektūra&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://youtu.be/P2CARhD2k3A Slaidi/video]&lt;br /&gt;
Procesora arhitektūra. Daudz-taktu procesors un konveijera princips.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_CPU_Branch | MD_CPU_Branch]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 23.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Metrikas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Digitālas projektēšanas metrikas. Funkcionalitāte. Izmaksas, fiksētās un mainīgās. Uzticamība, izturība. Trokšņu noturība un imunitāte. Veiktspēja. Ātrums un enerģijas patēriņš. Projektēšanas laiks.&lt;br /&gt;
* [https://www.dropbox.com/s/aoyenqlkhaz1yoe/Metrics_Leo.pdf?raw=1 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Resursi:&lt;br /&gt;
* [https://semiengineering.com/from-design-to-deployment-how-silicon-lifecycle-management-optimizes-the-entire-ic-life-span/ Silicon lifecycle...]&lt;br /&gt;
* [https://anysilicon.com/when-and-why-should-you-choose-an-asic/ When and why ASIC...]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 30.04.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Programmējamās loģikas iekārtas&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://youtu.be/JEiLcHtgSlE Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
Programmējamās loģikas iekārtas, CPLD un FPGA. FPGA uzbūve. Konfigurējami loģiskie elementi. Ievada un izvada elementi. Komunikācija, maģistrāles.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mācību materiāli&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* [https://www.electronicsforu.com/technology-trends/fpga-vs-cpld-microcontrollers FPGA vs CPLD vs Microcontrollers] (from electronicsforu.com)&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/data_sheets/ds312.pdf Spartan-3E FPGA Family Data Sheet]&lt;br /&gt;
* [https://www.xilinx.com/support/documentation/data_sheets/ds090.pdf CoolRunner II CPLD Family]&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 07.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;FPGA kā serviss&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Vieslekcija. Attālināta FPGA attīstītājrīku programmēšana un testēšana.&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Termiņš&amp;#039;&amp;#039;&amp;#039;: [[#MD_GPIO | MD_GPIO]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 14.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;(Vieslekcija)&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FPGA pielietojumi kosmosa tehnoloģijās.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 21.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Superskalāras arhitektūras&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* [https://www.dropbox.com/s/7nrd0ke682oc935/13_Superscalar.pdf?raw=1 Slaidi/video]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Superskalārie procesori un to uzbūve. Paralēlu ALU izmantošanas stratēģijas.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 28.05.26 ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Dinamiska instrukciju plānošana&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Instrukciju paralelisms, ciklu atrullēšana, Scoreboarding un Tomasulo arhitektūras.&lt;br /&gt;
&lt;br /&gt;
Slaidi:&lt;br /&gt;
* [https://www.dropbox.com/s/ieks943pmn4ikpm/ECE570_dynamic_scheduling.pdf?raw=1 Scoreboarding algoritms]&lt;br /&gt;
* [https://www.dropbox.com/s/1a1s4d95k5plotb/Lecture04_tomasulo.pdf?raw=1 Tomasulo algoritms]&lt;br /&gt;
&lt;br /&gt;
Resursi:&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Tomasulo%27s_algorithm Par Tomasulo algoritmu] no Wikipedijas&lt;br /&gt;
* [http://nathantypanski.github.io/tomasulo-simulator/ Tomasulo simulators]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://serenefield.com/Blog/posts/HighPerformanceArchitecture/2021-01-28_High-Performance-Computer-Architecture-13---Tomasulo-s-Algorithm-Part-1-8c65788dec07.html Ievads Tomasulo algoritmā] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== 28.05.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Kopsavilkums&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Daudzkodolu procesori un CUDA&lt;br /&gt;
* [https://sites.google.com/a/nirmauni.ac.in/cudacodes/cuda-material/tutorial-3 GPU Computing: The Democratization of Parallel Computing] - seminārs, ASPLOS&amp;#039;08&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==== xx.06.26 ====&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| width=&amp;#039;100%&amp;#039; style=&amp;#039;background-color:#ddd;&amp;#039;&lt;br /&gt;
|&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Eksāmens&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
xx:xx Eksāmens.&lt;br /&gt;
&lt;br /&gt;
Projektu demonstrācijas un plakāti.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
Eksāmenā:&lt;br /&gt;
* Risinājuma pirmkods un projekts kā zip fails&lt;br /&gt;
* Dokumentācija jūsu risinājumam &amp;quot;Datasheet&amp;quot;.&lt;br /&gt;
* Jānodod eseja (e-studijās), kurā aprakstīti projekta izaicinājumi un sasniegumi kā arī tehniskā informācija par projektu.&lt;br /&gt;
* Bez tam, jāizveido plakāts, kas būs jāprezentē mutiski un jāatbild uz jautājumiem. PDF formātā (e-studijās).&lt;br /&gt;
** [[LU::poster-howto | Ieteikumi plakāta prezentācijas]] veidošanā&lt;br /&gt;
* Ja projektā ir demonstrējama daļa, tad jāveic arī tā demonstrācija.&lt;br /&gt;
|- style=&amp;#039;vertical-align: top;&amp;#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Lekciju video =&lt;br /&gt;
Lekciju [https://www.youtube.com/playlist?list=PL32WMyFDbfNnVb3nFI9Tku5O8ukKBxs6Z videomateriāls ir pieejams Youtube]. Sīkāk, pa tēmām:&lt;br /&gt;
* [https://youtu.be/sqyLYgVvtr0 Ievads kursa pirmajai daļai.]&lt;br /&gt;
* [https://youtu.be/G6abrFbeazw Digitālas sistēmas.]&lt;br /&gt;
* [https://youtu.be/6340drM2Fm0 Loģikas pamatelementi.]&lt;br /&gt;
* [https://youtu.be/knlFvRxpUuE Tranzistora uzbūve.]&lt;br /&gt;
* [https://youtu.be/I-l2bQ-C_VU Tranzistoru lietojumi.]&lt;br /&gt;
* [https://youtu.be/hDOUl1ViMdc Laika atkarīgi elementi.]&lt;br /&gt;
* [https://youtu.be/1spw-GAsDLk Trigeri un &amp;quot;latch&amp;quot; iekārtas.]&lt;br /&gt;
* [https://youtu.be/P2CARhD2k3A CPU uzbūve un konveijera princips.]&lt;br /&gt;
* [https://youtu.be/JEiLcHtgSlE FPGA uzbūve.]&lt;br /&gt;
&lt;br /&gt;
= PD =&lt;br /&gt;
Praktiskie darbi.&lt;br /&gt;
&lt;br /&gt;
===PD1===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LED un slēdži&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* apgūt darba plūsmu ar FPGA shēmas ievadu, kompilāciju un dizaina augžuplādēšanu uz FPGA iekārtas.&lt;br /&gt;
* lietot FPGA ievada un izvada portus (pinus).&lt;br /&gt;
* lietot elementāras loģikas elementus shēmā.&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot digitālu iekārtu, kas izmanto ievada elementus (slēdžus) un izvada elementus (LED).&lt;br /&gt;
* Shēmas ievads&lt;br /&gt;
* Kompilācija&lt;br /&gt;
* Uzlādēšana uz reālas FPGA iekārtas&lt;br /&gt;
* Pārbaude&lt;br /&gt;
&lt;br /&gt;
Iekārtai jāveic sekojošas darbības:&lt;br /&gt;
* SW1 slēdzis ieslēdz un izslēdz LED1 spīddiodi.&lt;br /&gt;
* SW2 un SW3 slēdži veido ievaddatus XOR elementam, kura rezultats tiek izvadīts uz LED2.&lt;br /&gt;
* Spīddiode LED3, kas ieslēdzas un izslēdzas reizi sekundē. SW4 to var apstādināt un iedarbināt.&lt;br /&gt;
&lt;br /&gt;
Praktiskajā darbā izstrādātā iekārta jādemonstrē uz Spartan 3E FPGA iekārtas.&lt;br /&gt;
&lt;br /&gt;
Resusrsi:&lt;br /&gt;
* [http://www.xilinx.com/support/documentation/boards_and_kits/ug230.pdf Xilinx Spartan-3E FPGA Starter Kit Board User Guide]&lt;br /&gt;
* [https://eprints.qut.edu.au/76297/1/Spartan3E_Tutorial_1ver2.pdf Spartan 3E Tutorial] no Queensland University of Technology&lt;br /&gt;
&lt;br /&gt;
===PD_Counter===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Skaitītāja simulācija&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* Iepazīties ar FPGA elementu bibliotēkas skaitītāja moduļiem&lt;br /&gt;
* Iemācīties, kā darbināt simulācijas&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izveidot shēmu iekārtai, kas izmantojot takts signālu realizē 4 bitu bināru skaitītāju.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulātoru (ISim vai Modelsim)&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* PDF dokumentu kurā ir gan iekārtas shēma, gan arī simulācijas rezultāti un īss pieredzes apraksts.&lt;br /&gt;
&lt;br /&gt;
===PD_RF===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Reģistru fails un simulācija&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* Pamatelementu un reģistru lietojums Verilog valodā&lt;br /&gt;
* Projekta simulācija&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot 32x32 reģistru failu procesoram. Veikt simulāciju ar ISim, kas pārbauda tā darbību.&lt;br /&gt;
&lt;br /&gt;
* Reģistru failā ir 32 biti&lt;br /&gt;
* Katrs reģistrs ir 32 bitus garš&lt;br /&gt;
* Turpmāk aprakstā  portu/signālu bitu skaits tiek norādīts aiz tiem iekavās.&lt;br /&gt;
* Ir divi porti A(32) un B(32), kas ļauj vienlaicīgi nolasīt divu reģistru vērtības. Lasāmo reģistru adreses tiek norādītas ar AA(5) un AB(5)&lt;br /&gt;
* Ir viens ports D(32), kas ļauj ierakstīt viena reģistra vērtību CLK uzlecošās frontes notikuma brīdī, ja ir iespējota rakstīšana ar signālu WR. Reģistrs, kurā rakstīt, tiek norādīts ar signālu AD(5).&lt;br /&gt;
* Lasīšanas un rakstīšanas darbībām jāvar notikt paralēli, vienlaicīgi.&lt;br /&gt;
&lt;br /&gt;
Demonstrēt iekārtas darbību ar simulatoru (ISim)&lt;br /&gt;
* Simulācijas daļā demonstrēt, kā informācija tiek rakstīta visos reģistros, kā arī lasīta no tiem. Lai veiktu šo simulāciju, izveidot testa moduli (testbench) atsevišķā Verilog failā.&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkodu reģistru failam un tā testa modulim.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===PD_Calc===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kalkulators: stāvokļu diagramma un kontrolieris&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===== Mērķi =====&lt;br /&gt;
* Iepazīties ar galīgo automātu projektēšanu un implementāciju Verilog valodā&lt;br /&gt;
* Projektēt digitālu sistēmu ar kontrolieri&lt;br /&gt;
* Simulēt kontroliera dizainu&lt;br /&gt;
&lt;br /&gt;
===== Uzdevums =====&lt;br /&gt;
Izveidot funkcionālu kalkulatora moduli, kas reaģē uz taustiņu signāliem veic saskaitīšanas un atņemšanas operācijas. &lt;br /&gt;
Kalkulators strādā heksadecimālā sistēmā, tātad, tam ir 16 ciparu taustiņi: 0,1,2...8,9,A,B,C,D,E,F.&lt;br /&gt;
Bez tam ir arī operāciju taustiņi: CLR - nodzēst rezultātu, un operācijas +, - un =.&lt;br /&gt;
Nospiežot katru taustiņu tiek pacelts signāls BtnDown. Atlaižot taustiņu tas tiek nolaists.&lt;br /&gt;
Jāveic sekojoši uzdevumi:&lt;br /&gt;
* Izveidot projektu kalkulatoram ar Verilog vai shēmu diagrammu.&lt;br /&gt;
* Izveidot kontrolieri, kas balstīts uz vienu vai vairākiem galīgiem stāvokļu automātiem.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulātoru Xilinx ISim.&lt;br /&gt;
&lt;br /&gt;
===== Iesniegt =====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* PDF dokumentu kurā ir gan iekārtas shēma, gan arī simulācijas rezultāti un īss pieredzes apraksts.&lt;br /&gt;
* Iekārtas un testēšanas Verilog pirmkoda failus.&lt;br /&gt;
&lt;br /&gt;
===PD_VGA===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Šaha laukums&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* iepazīties ar VGA signālu protokolu&lt;br /&gt;
* izpildīt iekartas dizainu Verilog valodā&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot iekārtu, kas uz monitora ekrāna attēlo 8x8 šaha lauciņu. &lt;br /&gt;
Darba gaita iepazīties ar video signāla formu un laika parametriem. &lt;br /&gt;
Darbu atļauts izpildīt daļēji vai pilnīgi Verilog valodā. &lt;br /&gt;
&lt;br /&gt;
Praktiskajā darbā izstrādātā iekārta jādemonstrē uz Spartan 3E FPGA iekārtas, kam pieslēgts monitors.&lt;br /&gt;
&lt;br /&gt;
Izstrādātā risinājuma pirmkoda faili jāarhivē failā vards_uzvards_PD2.zip un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
===PD_Kbd===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Klaviatūra un Ciparu izvads&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* iepazīties ar PS/2 (klaviatūras) protokolu&lt;br /&gt;
* Izstrādāt stāvokļu mašīnu - galīgo automātu kalkulatora darbībai&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
Izveidot digitālu iekārtu, kas darbojas kā kalkulators ar skaitļiem heksadecimālajā sistēmā un var izpildīt saskaitīšanas un atņemšanas operācijas.&lt;br /&gt;
&lt;br /&gt;
Skaitļu ievads ir no klaviatūras, kas pieslēdta ar PS/2 portu.&lt;br /&gt;
&lt;br /&gt;
Skaitļu izvads ir uz LCD ekrāna.&lt;br /&gt;
&lt;br /&gt;
Izstrādātā risinājuma pirmkoda faili jāarhivē failā vards_uzvards_PD3.zip un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
= MD =&lt;br /&gt;
Mājas darbi.&lt;br /&gt;
&lt;br /&gt;
===MD1===&lt;br /&gt;
&lt;br /&gt;
Novērtēt Spartan 3E attīstītājrīka un FPGA iespējas. Atbildēt uz jautājumu: vai iespējams uz Spartan 3E realizēt datoru, kas varētu darbināt Linux klases operētājsistēmu? Atbildi &amp;#039;&amp;#039;&amp;#039;pamatot&amp;#039;&amp;#039;&amp;#039;, izvērtējot &amp;#039;&amp;#039;&amp;#039;nepieciešamos un atbilstošos pieejamos resursus&amp;#039;&amp;#039;&amp;#039; gan FPGA, gan perifērijas iekārtu kontekstā.&lt;br /&gt;
&lt;br /&gt;
Atbilde noformējama kā eseja PDF failā vards_uzvards_MD1.pdf un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
===MD2===&lt;br /&gt;
&lt;br /&gt;
Aprakstīt ideju kursā realizējamam projektam, ko izstrādāsiet uz FPGA iekārtas.&lt;br /&gt;
Iekļaut sekojošas sadaļas:&lt;br /&gt;
* Vai tas ir individuāls vai komandas darbs. Ja komandas, tad pievienot dalībnieku sarakstu un to lomu projektā&lt;br /&gt;
* Mērķis un motivācija&lt;br /&gt;
* Nepieciešamie resursi&lt;br /&gt;
* Risinājuma apraksts&lt;br /&gt;
* Realizācijas plāns ar konkrētiem datumiem un starpmērķiem, kas tajos sasniedzami&lt;br /&gt;
&lt;br /&gt;
Atbilde noformējama kā dokuments PDF failā vards_uzvards_MD2.pdf un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MD_OpenGL===&lt;br /&gt;
&lt;br /&gt;
Uzzīmēt un aprakstīt video kontroliera shēmu, kas atbalsta minimālu OpenGL vai līdzīgu instrukciju kopu.&lt;br /&gt;
Instrukcijas tiek nodotas no datora pa seriālo portu. Instrukcijas jāatkodē un jāizpilda, izmainot lokālu video buferi. No bufera attēls jāizvada uz  iebūvēto VGA portu attēla izvadei.&lt;br /&gt;
&lt;br /&gt;
Atbilde noformējama kā dokuments PDF failā vards_uzvards_MDx.pdf un jāiesūta e-studijās.&lt;br /&gt;
&lt;br /&gt;
===MD_ALU===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Aritmētiski loģiskā ierīce (ALU)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķi=====&lt;br /&gt;
* Izpētīt ISA un izstrādāt specifikāciju atbilstošam procesora ALU&lt;br /&gt;
* ALU izstrāde&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt ALU kas atbilst RISCV R32I instrukciju kopai &lt;br /&gt;
* ALU nepieciešams nodrošināt sekojošu saskarni:&lt;br /&gt;
** A un B ir datu ievadda maģistrāles, 32 biti, vai ideāli, parametrizējamas.&lt;br /&gt;
** OUT ir rezultāts, arī datu maģistrāle&lt;br /&gt;
** OPCODE - ievads, ALU operācijas kods&lt;br /&gt;
** karodziņi, kas indicē:&lt;br /&gt;
*** V - Overflow&lt;br /&gt;
*** Z - Zero&lt;br /&gt;
*** N - Negative&lt;br /&gt;
*** C - Carry&lt;br /&gt;
* Demonstrēt iekārtas darbību vairākām instrukcijām, ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISCV reference card] - instrukciju tipi, kopsavilkums&lt;br /&gt;
* [https://inst.eecs.berkeley.edu/~cs61c/fa17/img/riscvcard.pdf RISCV Reference sheet] - instrukciju saraksts&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISCV specifikācijas protāls un dokumenti]&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda fails ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_v0===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt instrukciju dekoderi un aritmētisko instrukciju datu plūsmu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt instrukciju dekoderi pēc RISC V R32I ISA Green card.&lt;br /&gt;
* Izstrādāt vienkāršu kontrolieri, kas tulko instrukciju operāciju kodus uz ALU operāciju kodiem, un reģistru faila WE (Write Enable) signālu.&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vienkāršas instrukcijas pa vienai.&lt;br /&gt;
&lt;br /&gt;
CPU prototipam (v0) jāsavieno reģistru fails, ALU un instrukciju dekoderis un operāciju kodu kontrolieris tā, lai būtu iespējams ieejā dot vienas instrukcijas 32 bitu kodu, un tā tiktu izpildīta, un rezultāts ierakstīts attiecīgajā reģistrā pēc CLK takts signāla augošās frontes.&lt;br /&gt;
&lt;br /&gt;
* Demonstrēt iekārtas darbību vairākām instrukcijām, ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* RISC V dokumentācija&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_IC===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips ar instrukciju kešatmiņu&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt instrukciju kešatmiņu un RISC V asemblera kompilāciju.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt instrukciju kešatmiņu, instrukciju reģistru, PC reģistru.&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vienkāršas instrukcijas no instrukciju atmiņas. Katrs takts signāls CLK ielasa un izpilda nākamo instrukciju.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu instrukciju testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Instrukciju kešatmiņas modulim ielasīt kompilētu programmu (no teksta faila), Verilog kompilācijas solī.&lt;br /&gt;
&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISC V dokumentācija]&lt;br /&gt;
* [https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md RISC V Assembly manual]&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISC V Green card]&lt;br /&gt;
* [https://riscvasm.lucasteske.dev/# RiscV kompilators online]&lt;br /&gt;
&lt;br /&gt;
GNU asemblera kompilators RISC V arhitektūrai ir pieejams kā riscv64-linux-gnu-as.&lt;br /&gt;
Ar to ir iespējams kompilēt kodu 32 bitu arhitektūrai RV32i norādot attiecīgu arhitektūras parametru:&lt;br /&gt;
 riscv64-linux-gnu-as -march=rv32e -al test.s&lt;br /&gt;
&lt;br /&gt;
Tad kompilēto kodu iespējams dabūt no listinga (to apstrādājot), vai arī no kompilētā elf faila ar objdump.&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog un citi saistītie pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* Testa programma asemblerā&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_DC===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips ar datu kešatmiņu&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt datu kešatmiņu un saskarni ar operatīvo atmiņu.&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt datu kešatmiņu.&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vienkāršas instrukcijas ar atmiņu, piemēram Load un Store.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu instrukciju testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISC V dokumentācija]&lt;br /&gt;
* [https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md RISC V Assembly manual]&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISC V Green card]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_CPU_Branch===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CPU prototips ar Branch un Jump-and-link instrukciju realizāciju&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt Branch un Jump-and-link instrukciju darbības un dizaina principus.&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt Branch instrukcijas saskaņā ar RISC V instrukciju kopu&lt;br /&gt;
** BEQ, BNE, BLT, BGE, BLTU, BGEU.&lt;br /&gt;
* Izstrādāt Jump-and-link instrukcijas saskaņā ar RISC V instrukciju kopu&lt;br /&gt;
** JAL, JALR&lt;br /&gt;
* Izveidot prototipu CPU kas var izpildīt vadības kontroles instrukcijas.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu instrukciju testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar simulatoru (ISim)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://riscv.org/technical/specifications/ RISC V dokumentācija]&lt;br /&gt;
* [https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md RISC V Assembly manual]&lt;br /&gt;
* [https://www.cl.cam.ac.uk/teaching/1617/ECAD+Arch/files/docs/RISCVGreenCardv8-20151013.pdf RISC V Green card]&lt;br /&gt;
* [https://github.com/jameslzhu/riscv-card/blob/master/riscv-card.pdf RISC V unofficial Reference card]&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar simulācijas rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
===MD_GPIO===&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Universāls perifērijas datu ievads un izvads (GPIO) &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=====Mērķis=====&lt;br /&gt;
Iepazīt datu apmaiņas principus starp mikroprocesoru un perifērijas iekārtām.&lt;br /&gt;
&lt;br /&gt;
=====Uzdevums=====&lt;br /&gt;
* Izstrādāt moduļus pikrokontroliera ārējai iekārtai GPIO, kas spēj nodot un lasīt datus rakstot īpašā adresē.&lt;br /&gt;
** Ieslēgt un izslēgt 8 LED, kas kartēti uz vienu baitu atmiņā. Katram LED atbilst savs bits baitā.&lt;br /&gt;
** Nolasīt 8 slēdžu (Switch) stāvokļus lasot vienu baitu pēc konkrētas atmiņas adreses. Katram slēdzim atbilst savs bits baitā.&lt;br /&gt;
** Realizēt GPIO iekārtas saskarni caur baitu konkrētā adresē operatīvajā atmiņā. Saskarni realizēt ar diviem reģistriem: Datu virziena reģistru un Datu reģistru.&lt;br /&gt;
&lt;br /&gt;
* Dizainu organizēt tā, lai izveidotie GPIO moduļi var tikt pielietoti arī citām perifērijas iekārtām:&lt;br /&gt;
** Konfigurējot piekļuvi ārējām iekārtām caur UCF failu&lt;br /&gt;
** Integrējot citus iekšējos moduļus kas izstrādāti Verilog vai shēmtehnikā.&lt;br /&gt;
&lt;br /&gt;
* Integrēt GPIO jūsu CPU projektā.&lt;br /&gt;
* Izveidot vienkāršu RISC V asemblera programmu GPIO testēšanai. Kompilēt to ar GNU AS kompilatoru.&lt;br /&gt;
* Demonstrēt iekārtas darbību ar aparatūru.&lt;br /&gt;
&lt;br /&gt;
Piemēram var apskatīt GPIO organizāciju dažādu mikrokontrolieru dokumentācijā, piemēram Atmega328p.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resursi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf Atmega328p mikrokontroliera dokumentācija]&lt;br /&gt;
* [https://github.com/elomage/FPGA-resources/blob/main/ucf_templates/Anvyl.ucf UCF faila piemērs ANVYL attīstītājrīkam]&lt;br /&gt;
* [https://en.wikipedia.org/wiki/General-purpose_input/output General purpose input/output] - Wikipedia&lt;br /&gt;
&lt;br /&gt;
=====Iesniegt=====&lt;br /&gt;
Iesniegt e-studijās: &lt;br /&gt;
* Verilog pirmkoda faili ar iekārtas dizainu.&lt;br /&gt;
* PDF dokuments ar rezultātiem un īsu pieredzes aprakstu.&lt;br /&gt;
&lt;br /&gt;
= Informācijas resursi =&lt;br /&gt;
&lt;br /&gt;
{{DIP_saites}}&lt;/div&gt;</summary>
		<author><name>Leo</name></author>
		
	</entry>
</feed>