Difference between revisions of "LU-DIP-b"

From DiLab
Jump to: navigation, search
(Kalendārs)
(13.12.2019)
 
(45 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
<big>
 +
'''Īssaites:'''
 +
[[#Kalendārs | Kalendārs]] |
 +
[[#Uzdevumi | Uzdevumi]] |
 +
[[#Resursi | Resursi]] |
 +
</big>
 +
[[#{{CURRENTDAY2}}.{{CURRENTMONTH}}.{{CURRENTYEAR}} | Šodiena... (ja ir lekcija)]]
 +
 
{{LUDFKurss|Ievads digitālajā projektēšanā|DIP|DatZ3074|2DAT3255}}
 
{{LUDFKurss|Ievads digitālajā projektēšanā|DIP|DatZ3074|2DAT3255}}
  
* Pasniedzēji: Rinalds Ruskuls, Leo Seļāvo
+
* Pasniedzējs: Leo Seļāvo
 
* {{KursiGGroup|lu-dip-b}}
 
* {{KursiGGroup|lu-dip-b}}
 +
 +
Kurss šajā semestrī tiks vadīts attālināti, tāpēc klātienes lekcijas nebūs, izņemot kad iepriekš paziņots.
 +
 +
Wiki informācija tiks atjaunota tuvākajās dienās. Līdz tam lūdzu sekot kursa slack kanālam.
 +
  
 
== Darbu iesniegšana un vērtēšana ==
 
== Darbu iesniegšana un vērtēšana ==
Line 12: Line 25:
 
{| border=1 cellspacing=0 cellpadding=4
 
{| border=1 cellspacing=0 cellpadding=4
 
|-
 
|-
! Nedēļas datumi
+
! Datumi
 
! Kursa saturs
 
! Kursa saturs
 +
! Uzdevumi
 
|-
 
|-
| 29.08.2016
+
|
- 02.09.2016
+
===== 06.09.2019 =====
| Reģistrācijas nedēļa
 
|-
 
| 09.09.2016
 
 
| [http://selavo.lv/kursi/dip/L01-Introduction.1.02.pdf Ievadlekcija. Digitālās projektēšanas process.]
 
| [http://selavo.lv/kursi/dip/L01-Introduction.1.02.pdf Ievadlekcija. Digitālās projektēšanas process.]
  
 
Praktiskais darbs [[DIPb10:PD1 | PD1]].
 
Praktiskais darbs [[DIPb10:PD1 | PD1]].
  
Mājas darbs [[DIPb10:MD1 | MD1]]
+
|
 
|-
 
|-
| 16.09.2016
+
|
 +
===== 13.09.2019 =====
 
| [http://selavo.lv/kursi/dip/L02-Spartan3E.1.01.pdf Digitālo iekārtu izstrādes pamatelementi. Xilinx Spartan 3E.]
 
| [http://selavo.lv/kursi/dip/L02-Spartan3E.1.01.pdf Digitālo iekārtu izstrādes pamatelementi. Xilinx Spartan 3E.]
  
 
Praktiskais darbs [[DIPb10:PD2 | PD2]].
 
Praktiskais darbs [[DIPb10:PD2 | PD2]].
  
Mājas darbs [[DIPb10:MD2 | MD2]]
+
|
 
|-
 
|-
| 23.09.2016
+
|
 +
===== 20.09.2019 =====
 
| [http://selavo.lv/kursi/dip/L03-Triggers&Clock.1.02.pdf Trigeri. Pulkstenis.]
 
| [http://selavo.lv/kursi/dip/L03-Triggers&Clock.1.02.pdf Trigeri. Pulkstenis.]
  
 
Praktiskais darbs [[DIPb10:PD3 | PD3]].
 
Praktiskais darbs [[DIPb10:PD3 | PD3]].
  
Mājas darbs [[DIPb10:MD3 | MD3]]
+
|
 
|-
 
|-
| 30.09.2016
+
|
 +
===== 27.09.2019 =====
 
| [http://selavo.lv/kursi/dip/L04-CPUPartOne.1.02.pdf CPU. DataPath. ALU.]
 
| [http://selavo.lv/kursi/dip/L04-CPUPartOne.1.02.pdf CPU. DataPath. ALU.]
  
 
Praktiskais darbs [[DIPb10:PD4 | PD4]].
 
Praktiskais darbs [[DIPb10:PD4 | PD4]].
  
Mājas darbs [[DIPb10:MD4 | MD4]]
+
|
 
|-
 
|-
| 07.10.2016
+
|
 +
===== 4.10.2019 =====
 
| [http://selavo.lv/kursi/dip/L05-CPUPartTwo.1.02.pdf CPU. DataPath (turpinājums). Instrukciju izpildes maģistrāle.]
 
| [http://selavo.lv/kursi/dip/L05-CPUPartTwo.1.02.pdf CPU. DataPath (turpinājums). Instrukciju izpildes maģistrāle.]
  
Line 53: Line 68:
  
 
Kursa projekts [[DIPb10:KP1 | KP1]]
 
Kursa projekts [[DIPb10:KP1 | KP1]]
 +
|
 
|-
 
|-
| 14.10.2016
+
|
 +
===== 11.10.2019 =====
 
| [http://selavo.lv/kursi/dip/L09-HDLVerilog.1.02.pdf Aparatūras apraksta valodas. Verilog.]  
 
| [http://selavo.lv/kursi/dip/L09-HDLVerilog.1.02.pdf Aparatūras apraksta valodas. Verilog.]  
 
[http://selavo.lv/kursi/dip/L06-CPUPartThree.1.02.pdf CPU. DataPath (turpinājums). Zarošanās. Kontrole.]
 
[http://selavo.lv/kursi/dip/L06-CPUPartThree.1.02.pdf CPU. DataPath (turpinājums). Zarošanās. Kontrole.]
 
<!--| [http://selavo.lv/kursi/dip/L06-CPUPartThree.1.02.pdf CPU. DataPath (turpinājums). Zarošanās. Kontrole.] -->
 
<!--| [http://selavo.lv/kursi/dip/L06-CPUPartThree.1.02.pdf CPU. DataPath (turpinājums). Zarošanās. Kontrole.] -->
 
Praktiskajos darbos turpinām strādāt pie kursa projekta [[DIPb10:KP1 | KP1]].
 
Praktiskajos darbos turpinām strādāt pie kursa projekta [[DIPb10:KP1 | KP1]].
 +
|
 
|-
 
|-
| 21.10.2016
+
|
 +
===== 18.10.2019 =====
 
| [https://drive.google.com/open?id=0B55VrJN-wdIgdXJLaFdFaWNPNWs Verilog (turpinājums). Galīgs Stāvokļu Automāts (FSM)]
 
| [https://drive.google.com/open?id=0B55VrJN-wdIgdXJLaFdFaWNPNWs Verilog (turpinājums). Galīgs Stāvokļu Automāts (FSM)]
 
[http://selavo.lv/kursi/dip/L07-CPUPartFour.1.02.pdf CPU. DataPath (nobeigums). Ātrāks summators. Reģistru fails.]
 
[http://selavo.lv/kursi/dip/L07-CPUPartFour.1.02.pdf CPU. DataPath (nobeigums). Ātrāks summators. Reģistru fails.]
Line 66: Line 85:
 
Praktiskajos darbos veidojam VGA kontroleri [https://drive.google.com/open?id=0B55VrJN-wdIgak5QbmItSHBiTG8]
 
Praktiskajos darbos veidojam VGA kontroleri [https://drive.google.com/open?id=0B55VrJN-wdIgak5QbmItSHBiTG8]
  
 +
|
 
|-
 
|-
| 28.10.2016
+
|
 +
===== 25.10.2019 =====
 
| [http://selavo.lv/kursi/dip/L11-Memory.1.02.pdf Atmiņa. Fiziskās realizācijas varianti.]
 
| [http://selavo.lv/kursi/dip/L11-Memory.1.02.pdf Atmiņa. Fiziskās realizācijas varianti.]
 
Kursa projekts [[DIPb10:KP2 | KP2]]
 
Kursa projekts [[DIPb10:KP2 | KP2]]
 +
|
 
|-
 
|-
| 04.11.2016
+
|
| [http://selavo.lv/kursi/dip/L09-HDLVerilog.1.02.pdf Aparatūras apraksta valodas. Verilog.]
+
===== 01.11.2019 =====
 +
| [https://courses.cs.washington.edu/courses/cse378/10sp/lectures/lec09-perf.pdf Vientakts Procesors.]
 
Praktiskajos darbos turpinām strādāt pie kursa projekta [[DIPb10:KP2 | KP2]].
 
Praktiskajos darbos turpinām strādāt pie kursa projekta [[DIPb10:KP2 | KP2]].
 +
|
 +
'''Termiņš KP1''': 1. daļa
 +
<!-- '''Termiņš [[#MD1]]''': loģikas funkcijas no slēdžiem uz LED -->
 
|-
 
|-
| 11.11.2016
+
|
| '''Vidus semestra kontroldarbs'''
+
 
 +
===== 08.11.2019 =====
 +
|  
 +
Kopnes, saskarnes, to iedalījums.
 +
* [https://drive.google.com/open?id=0B55VrJN-wdIgQkZHVWNSN3JxZ00 Slaidi]
 +
 
 +
[https://drive.google.com/open?id=0B55VrJN-wdIgYjhWQkxFbXNJbUE Integrālo mikroshēmu kopnes.]
 +
 
 
Praktiskajos darbos turpinām strādāt pie kursa projekta [[DIPb10:KP2 | KP2]].
 
Praktiskajos darbos turpinām strādāt pie kursa projekta [[DIPb10:KP2 | KP2]].
 +
 +
<!--
 +
* '''Vidus semestra kontroldarbs'''
 +
-->
 +
|
 
|-
 
|-
| 18.11.2016
+
|
| [http://selavo.lv/kursi/dip/L10-HDLVHDL.1.02.pdf Aparatūras apraksta valodas. VHDL.]
+
 
 +
===== 15.11.2019 =====
 +
|  
 +
<!--
 +
'''Ekskursija''' HansaMatrix uzņēmumā, lekciju laikā. Lūdzu ierasties laicīgi 8:30 sekojošā adresē: Ziedleju iela 1, Mārupe, LV2167. Tas ir samērā netālu no t/c "Spice". Uzņēmumā jūs sagaidīs un jums parādīs un pastāstīs digitālās projektēšanas praktiskos aspektus un realitāti.
 +
-->
 +
 
 +
[http://selavo.lv/kursi/dip/L10-HDLVHDL.1.02.pdf Aparatūras apraksta valodas. VHDL.]
 
Kursa projekts [[DIPb10:KP3 | KP2]]
 
Kursa projekts [[DIPb10:KP3 | KP2]]
 +
|
 
|-
 
|-
| 25.11.2016
+
|
| [http://selavo.lv/kursi/dip/L08-DLXProcessorAndInstructions.1.01.pdf DLX procesors un instrukcijas.]
+
 
 +
===== 22.11.2019 =====
 +
|
 +
FPGA uzbūve un izstrādes dzīves cikls. Map, place, route.
 +
* [http://selavo.lv/kursi/dip/L14-FPGA.1.01.pdf Slaidi]
 +
 
 +
[http://www.ppouyan.net/wp-content/uploads/2010/09/fpga.pdf How Does FPGA Work] PDF 1.06MB (lekciju slaidi no Lund University)
 +
 
 
Praktiskajos darbos turpinām strādāt pie kursa projekta [[DIPb10:KP3 | KP2]].
 
Praktiskajos darbos turpinām strādāt pie kursa projekta [[DIPb10:KP3 | KP2]].
 +
|
 
|-
 
|-
| 04.12.2015
+
|
| [http://selavo.lv/kursi/dip/L12-MulticycleCPU.1.01.pdf Daudztaktu procesors.]
 
  
Praktiskajos darbos turpinām strādāt pie kursa projekta [[DIPb10:KP3 | KP2]].
+
===== 29.11.2019 =====
 +
|
 +
Projektu statusa atskaite, diskusija.
 +
 
 +
Turpinām strādāt pie kursa projekta [[DIPb10:KP3 | KP2]].
  
[http://bear.ces.cwru.edu/eecs_318/eecs_318_7.pdf Multicycle CPU] PDF 455.60KB (lekciju slaidi no Case Western Reserve University)
+
|
 
|-
 
|-
| 11.12.2015
+
|
| [http://selavo.lv/kursi/dip/L13-MulticycleCPUPartTwo.1.02.pdf Daudztaktu procesors (nobeigums).]
+
 
 +
===== 06.12.2019 =====
 +
|
 +
[http://selavo.lv/kursi/dip/L12-MulticycleCPU.1.01.pdf Daudztaktu procesors.]
  
 
Praktiskajos darbos turpinām strādāt pie kursa projekta [[DIPb10:KP3 | KP2]].
 
Praktiskajos darbos turpinām strādāt pie kursa projekta [[DIPb10:KP3 | KP2]].
 +
|
 +
|-
 +
|
  
[http://www.sdsc.edu/~allans/cs141/l11redo.pdf Designing a Pipelined CPU] PDF 116.22KB (lekciju slaidi no San Diego Supercomputer Center)
+
===== 13.12.2019 =====
 +
|
 +
[http://selavo.lv/kursi/dip/L13-MulticycleCPUPartTwo.1.02.pdf Daudztaktu procesors (nobeigums).]
 +
 
 +
[https://cseweb.ucsd.edu/classes/su06/cse141/slides/s09-pipeline-1up.pdf Designing a Pipelined CPU] (lekciju slaidi no UCSD)
 +
 
 +
Praktiskajos darbos turpinām strādāt pie kursa projekta [[DIPb10:KP3 | KP2]].
 +
|
 
|-
 
|-
| 18.12.2015
+
|
| [http://selavo.lv/kursi/dip/L14-FPGA.1.01.pdf FPGA.]
+
===== 20.12.2019 =====
 +
|  
 +
Kursa kopsavilkums.
  
 
Praktiskajos darbos turpinām strādāt pie kursa projekta [[DIPb10:KP3 | KP2]].
 
Praktiskajos darbos turpinām strādāt pie kursa projekta [[DIPb10:KP3 | KP2]].
 +
|
 +
|-
 +
|
  
[http://www.ppouyan.net/wp-content/uploads/2010/09/fpga.pdf How Does FPGA Work] PDF 1.06MB (lekciju slaidi no Lund University)
+
===== 23.12.2019 - 01.01.2020 =====
|-
 
| xx.12.2015
 
- 01.01.2016
 
 
| Ziemassvētku un Jaungada brīvdienas  
 
| Ziemassvētku un Jaungada brīvdienas  
 +
|
 
|-
 
|-
| xx.01.2015,
+
|  
xx.01.2015
+
===== 17.01.2020 =====
| Konsultācijas
+
|  
|-
+
'''12:00: Eksāmens'''  
| xx.01.2016
+
 
| '''xx:xx: Gala eksāmena kontroldarbs'''  
+
Projektu prezentācijas - kursa noslēgums
|-
+
|
| xx.01.2016
 
| '''xx:xx:  Projektu prezentācijas - kursa noslēgums'''
 
|-
 
 
|}
 
|}
  
 +
=Uzdevumi=
 
== Praktiskie darbi (PD) ==
 
== Praktiskie darbi (PD) ==
  
Line 136: Line 207:
 
== Mājas darbi (MD) ==
 
== Mājas darbi (MD) ==
  
 +
==== MD1 ====
 +
Mērķis: apgūt Spartan-3E attīstītājrīku un darba plūsmu veidojot vienkāršas digitālas iekārtas.
 +
 +
Realizēt sekojošu funkcionalitāti ar Spartan-3E rīka palīdzību:
 +
* Divi slēdzīši tiek izmantoti kā ieejas signāli loģikas funkcijām.
 +
* Divi LED seko slēdzīšu stāvoklim: ja ieslēgts slēdzis, LED spīd (nozīmē stāvokli "1")
 +
* Pieci LED attēlo sekojošu funkciju vērtības: AND, OR, NAND, NOR, XOR
 +
 +
Izveidot shēmu Xilinx ICE rīkā, kompilēt to un pārbaudīt tās darbību uz jums izsniegtā "dēļa" - Spartan attīstītājrīka.
 +
 +
==== MD2 ====
 +
Mērķis: apgūt takts ģeneratora funkcionalitāti un frekvences dalīšanas elementus.
 +
 +
Uzdevums:
 +
* Izveidot shēmu kas ņem Spartan-3E rīka iebūvētā takts ģeneratora signālu un izvada 1Hz signālu uz LED: tā, ka LED ir 1 sekundi ieslēgta un tad 1 sekundi izslēgta, un tā joprojām.
 +
* Kompilēt risinājumu un pārbaudīt darbībā uz Spartan-3E attīstītājrīka.
 +
 +
 +
 +
<!--
 
* [[DIPb10:MD1 | MD1]]
 
* [[DIPb10:MD1 | MD1]]
 
* [[DIPb10:MD2 | MD2]]
 
* [[DIPb10:MD2 | MD2]]
 
* [[DIPb10:MD3 | MD3]]
 
* [[DIPb10:MD3 | MD3]]
 
* [[DIPb10:MD4 | MD4]]
 
* [[DIPb10:MD4 | MD4]]
 +
-->
  
 
== Kursa projekti (KP) ==
 
== Kursa projekti (KP) ==

Latest revision as of 09:58, 13 December 2019

Īssaites: Kalendārs | Uzdevumi | Resursi | Šodiena... (ja ir lekcija)


Ievads digitālajā projektēšanā (DIP)

LU DF bakalaura studiju kurss DatZ3074, meklēt eStudijās.


Kurss šajā semestrī tiks vadīts attālināti, tāpēc klātienes lekcijas nebūs, izņemot kad iepriekš paziņots.

Wiki informācija tiks atjaunota tuvākajās dienās. Līdz tam lūdzu sekot kursa slack kanālam.


Darbu iesniegšana un vērtēšana

Praktisko un mājas darbu iesniegšana izpildāma noteiktajos datumos un laikos elektroniski, e-studijās.

  • Iesniegšanas termiņa laiks ir 30 minūtes pirms lekcijas sākuma.
  • Ja darbs iesniedzams e-pastā, tad Subj. jānorāda sekojošā formā "DIP MD1 Vards Uzvards" - piemērs MD1 iesniegumam.
  • Iesniegto failu vārdam jābūt sekojošā formātā, ar svītru tukšumu vietā, piemēram: "DIP_MD1_Vards_Uzvards.pdf"
  • Ja iesniedzams teksts, piemēram, eseja vai apraksts, tad failam jābūt PDF formātā, ja vien nav prasīts citādi uzdevuma nosacījumos.
  • Ja iesniedzami vairāki faili, piemēram, programmas pirmkods, tad tie iepriekš arhivējami kā *.zip arhīvs ar tādu pat faila vārdu kā aprakstīts iepriekš: "DIP_MD1_Vards_Uzvards.zip".
  • 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, pasniedzējs darbu var nepieņemt.


Kalendārs

Datumi Kursa saturs Uzdevumi
06.09.2019
Ievadlekcija. Digitālās projektēšanas process.

Praktiskais darbs PD1.

13.09.2019
Digitālo iekārtu izstrādes pamatelementi. Xilinx Spartan 3E.

Praktiskais darbs PD2.

20.09.2019
Trigeri. Pulkstenis.

Praktiskais darbs PD3.

27.09.2019
CPU. DataPath. ALU.

Praktiskais darbs PD4.

4.10.2019
CPU. DataPath (turpinājums). Instrukciju izpildes maģistrāle.

Praktiskais darbs PD5.

Kursa projekts KP1

11.10.2019
Aparatūras apraksta valodas. Verilog.

CPU. DataPath (turpinājums). Zarošanās. Kontrole. Praktiskajos darbos turpinām strādāt pie kursa projekta KP1.

18.10.2019
Verilog (turpinājums). Galīgs Stāvokļu Automāts (FSM)

CPU. DataPath (nobeigums). Ātrāks summators. Reģistru fails.

Praktiskajos darbos veidojam VGA kontroleri [1]

25.10.2019
Atmiņa. Fiziskās realizācijas varianti.

Kursa projekts KP2

01.11.2019
Vientakts Procesors.

Praktiskajos darbos turpinām strādāt pie kursa projekta KP2.

Termiņš KP1: 1. daļa

08.11.2019

Kopnes, saskarnes, to iedalījums.

Integrālo mikroshēmu kopnes.

Praktiskajos darbos turpinām strādāt pie kursa projekta KP2.

15.11.2019

Aparatūras apraksta valodas. VHDL. Kursa projekts KP2

22.11.2019

FPGA uzbūve un izstrādes dzīves cikls. Map, place, route.

How Does FPGA Work PDF 1.06MB (lekciju slaidi no Lund University)

Praktiskajos darbos turpinām strādāt pie kursa projekta KP2.

29.11.2019

Projektu statusa atskaite, diskusija.

Turpinām strādāt pie kursa projekta KP2.

06.12.2019

Daudztaktu procesors.

Praktiskajos darbos turpinām strādāt pie kursa projekta KP2.

13.12.2019

Daudztaktu procesors (nobeigums).

Designing a Pipelined CPU (lekciju slaidi no UCSD)

Praktiskajos darbos turpinām strādāt pie kursa projekta KP2.

20.12.2019

Kursa kopsavilkums.

Praktiskajos darbos turpinām strādāt pie kursa projekta KP2.

23.12.2019 - 01.01.2020
Ziemassvētku un Jaungada brīvdienas
17.01.2020

12:00: Eksāmens

Projektu prezentācijas - kursa noslēgums

Uzdevumi

Praktiskie darbi (PD)

Mājas darbi (MD)

MD1

Mērķis: apgūt Spartan-3E attīstītājrīku un darba plūsmu veidojot vienkāršas digitālas iekārtas.

Realizēt sekojošu funkcionalitāti ar Spartan-3E rīka palīdzību:

  • Divi slēdzīši tiek izmantoti kā ieejas signāli loģikas funkcijām.
  • Divi LED seko slēdzīšu stāvoklim: ja ieslēgts slēdzis, LED spīd (nozīmē stāvokli "1")
  • Pieci LED attēlo sekojošu funkciju vērtības: AND, OR, NAND, NOR, XOR

Izveidot shēmu Xilinx ICE rīkā, kompilēt to un pārbaudīt tās darbību uz jums izsniegtā "dēļa" - Spartan attīstītājrīka.

MD2

Mērķis: apgūt takts ģeneratora funkcionalitāti un frekvences dalīšanas elementus.

Uzdevums:

  • Izveidot shēmu kas ņem Spartan-3E rīka iebūvētā takts ģeneratora signālu un izvada 1Hz signālu uz LED: tā, ka LED ir 1 sekundi ieslēgta un tad 1 sekundi izslēgta, un tā joprojām.
  • Kompilēt risinājumu un pārbaudīt darbībā uz Spartan-3E attīstītājrīka.



Kursa projekti (KP)

Resursi


Digital design textbooks @ Digilent Inc.

Saites

Xilinx produkti (FPGA čipi)

Xilinx attīstītajrīki

DiLab ir pieejami sekojoši Xilinx (Digilent) attīstītajrīki:

PMOD papildus moduļi

Mums ir pieejami daži PMOD perifērijas iekārtu moduļi (pārsvarā 1x6 formātā) par kuriem sīkāk var lasīt Digilentic portālā.

Xilinx ISE WebPACK (14.7)

Xilinx ISE Webpack versija 14.7 (Windows 7, nevis Windows 10) ir pēdējā versija, kas vēl atbalsta Spartan 3E FPGA.

To iespējams lejuplādēt no Xilinx arhīva web portāla, kurā nepieciešams šim nolūkam izveidot kontu.

Papildus:

Xilinx ISE WebPACK (12.2)

Video applications using FPGA

ANVYL attīstītājrīks

ANVYL ir Xilinx Spartan 6G FPGA bāzēts attīstītājrīks ar dažādām papildus un perifērijas iekārtām.

PYNQ ietvars

PYNQ ir ietvars kas iespējo FPGA aparatūras funkciju izmantošanu ar Python programmēšanas valodu. Atbalstītā aparatūra iekļauj ZYNQ.

PYNQ informācijas avoti:

PYNQ projekti

HDL tutorials

Seriālie protokoli

IP cores priekš FPGA


Ieteikumi prezentāciju veidošanā

Piezīmes par plakātu un prezentāciju veidošanu

Atsauksmes par kursu


Citi kursi un saites

  • 8 Bit Workshop - aparatūras simulators pārlūkā, tai skaitā Verilog.

Domu graudi

FPGA pielietojumi