Difference between revisions of "LU-DIP-b"

From DiLab
Jump to: navigation, search
(xx.01.2019)
(13.12.2019)
(29 intermediate revisions by the same user 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}}
  
Line 22: Line 30:
 
|-
 
|-
 
|
 
|
===== 29.08.2018 =====
+
===== 06.09.2019 =====
-
 
===== 02.09.2018 =====
 
| Reģistrācijas nedēļa
 
|
 
|-
 
|
 
===== 07.09.2018 =====
 
 
| [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.]
  
Line 37: Line 38:
 
|-
 
|-
 
|
 
|
===== 14.09.2018 =====
+
===== 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.]
  
Line 45: Line 46:
 
|-
 
|-
 
|
 
|
===== 21.09.2018 =====
+
===== 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.]
  
Line 53: Line 54:
 
|-
 
|-
 
|
 
|
===== 28.09.2018 =====
+
===== 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.]
  
Line 61: Line 62:
 
|-
 
|-
 
|
 
|
===== 5.10.2018 =====
+
===== 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 70: Line 71:
 
|-
 
|-
 
|
 
|
===== 12.10.2018 =====
+
===== 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.]
Line 78: Line 79:
 
|-
 
|-
 
|
 
|
===== 19.10.2018 =====
+
===== 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 87: Line 88:
 
|-
 
|-
 
|
 
|
===== 26.10.2018 =====
+
===== 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]]
Line 93: Line 94:
 
|-
 
|-
 
|
 
|
===== 02.11.2018 =====
+
===== 01.11.2019 =====
 
| [https://courses.cs.washington.edu/courses/cse378/10sp/lectures/lec09-perf.pdf Vientakts Procesors.]
 
| [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ņš [[#MD1]]''': loģikas funkcijas no slēdžiem uz LED
+
|
 +
'''Termiņš KP1''': 1. daļa
 +
<!-- '''Termiņš [[#MD1]]''': loģikas funkcijas no slēdžiem uz LED -->
 
|-
 
|-
 
|
 
|
===== 09.11.2018 =====
+
 
| <!-- '''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]].
| '''Termiņš [[#MD2]]''': Frekvences dalīšana no sistēmas ģeneratora 50MHz uz LED 1Hz
+
 
 +
<!--
 +
* '''Vidus semestra kontroldarbs'''  
 +
-->
 +
|
 
|-
 
|-
 
|
 
|
===== 16.11.2018 =====
+
 
 +
===== 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.
 
'''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.]
 
[http://selavo.lv/kursi/dip/L10-HDLVHDL.1.02.pdf Aparatūras apraksta valodas. VHDL.]
Line 114: Line 130:
 
|-
 
|-
 
|
 
|
===== 23.11.2018 =====
+
 
| [https://drive.google.com/open?id=0B55VrJN-wdIgQkZHVWNSN3JxZ00 Kopnes, saskarnes, to iedalījums.]
+
===== 22.11.2019 =====
[https://drive.google.com/open?id=0B55VrJN-wdIgYjhWQkxFbXNJbUE Integrálo mikroshému kopnes.]
+
|
 +
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]].
 
|
 
|
 
|-
 
|-
 
|
 
|
===== 30.11.2018 =====
 
| [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)
 
 
|
 
|
 
|-
 
|-
 
|
 
|
===== 07.12.2018 =====
+
 
| [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]].
 +
|
 +
|-
 +
|
 +
 +
===== 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)
  
[http://www.sdsc.edu/~allans/cs141/l11redo.pdf Designing a Pipelined CPU] PDF 116.22KB (lekciju slaidi no San Diego Supercomputer Center)
+
Praktiskajos darbos turpinām strādāt pie kursa projekta [[DIPb10:KP3 | KP2]].
 
|
 
|
 
|-
 
|-
 
|
 
|
===== 14.12.2018 =====
+
===== 20.12.2019 =====
| [http://selavo.lv/kursi/dip/L14-FPGA.1.01.pdf FPGA.]
+
|  
 +
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)
 
 
|
 
|
 
|-
 
|-
 
|
 
|
===== 24.12.2018 - 01.01.2019 =====
+
 
 +
===== 23.12.2019 - 01.01.2020 =====
 
| Ziemassvētku un Jaungada brīvdienas  
 
| Ziemassvētku un Jaungada brīvdienas  
 
|
 
|
 
|-
 
|-
 
|  
 
|  
===== 18.01.2019 =====
+
===== 17.01.2020 =====
 
|  
 
|  
'''10:30: Eksāmens'''  
+
'''12:00: Eksāmens'''  
 +
 
 
Projektu prezentācijas - kursa noslēgums
 
Projektu prezentācijas - kursa noslēgums
 
|
 
|
|-
 
|
 
 
 
|}
 
|}
  
 +
=Uzdevumi=
 
== Praktiskie darbi (PD) ==
 
== Praktiskie darbi (PD) ==
  

Revision as of 08: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žādi 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 instalācija

Xilinx ISE WebPACK (14.7)

Xilinx ISE WebPACK (12.2)

Xilinx ISE lietošana

Vispārīga lietošana

Simulācija ar ISim

Simulācija ar ModelSim

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

PYNK un PMOD

HDL pamācības (Verilog, VHDL)

RISC-V

Seriālie protokoli

IP cores priekš FPGA


Ieteikumi prezentāciju veidošanā

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

Citi kursi un saites

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

Domu graudi

FPGA pielietojumi