Difference between revisions of "LU-DIP-b"

From DiLab
Jump to: navigation, search
(18.01.2019)
(32 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
{{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 17:
 
{| border=1 cellspacing=0 cellpadding=4
 
{| border=1 cellspacing=0 cellpadding=4
 
|-
 
|-
! Nedēļas datumi
+
! Datumi
 
! Kursa saturs
 
! Kursa saturs
 +
! Uzdevumi
 
|-
 
|-
| 01.09.2014
+
|
- 08.09.2014
+
===== 29.08.2018 =====
 +
-
 +
===== 02.09.2018 =====
 
| Reģistrācijas nedēļa
 
| Reģistrācijas nedēļa
 +
|
 
|-
 
|-
| 05.09.2014
+
|
 +
===== 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.]
  
 
Praktiskais darbs [[DIPb10:PD1 | PD1]].
 
Praktiskais darbs [[DIPb10:PD1 | PD1]].
  
Mājas darbs [[DIPb10:MD1 | MD1]]
+
|
 
|-
 
|-
| 12.09.2014
+
|
 +
===== 14.09.2018 =====
 
| [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]]
+
|
 
|-
 
|-
| 19.09.2014
+
|
 +
===== 21.09.2018 =====
 
| [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]]
+
|
 
|-
 
|-
| 26.09.2014
+
|
 +
===== 28.09.2018 =====
 
| [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]]
+
|
 
|-
 
|-
| 03.10.2014
+
|
 +
===== 5.10.2018 =====
 
| [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 67:
  
 
Kursa projekts [[DIPb10:KP1 | KP1]]
 
Kursa projekts [[DIPb10:KP1 | KP1]]
 +
|
 
|-
 
|-
| 10.10.2014
+
|
| [http://selavo.lv/kursi/dip/L06-CPUPartThree.1.02.pdf CPU. DataPath (turpinājums). Zarošanās. Kontrole.]
+
===== 12.10.2018 =====
 +
| [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.] -->
 
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]].
 +
|
 
|-
 
|-
| 17.10.2014
+
|
| [http://selavo.lv/kursi/dip/L07-CPUPartFour.1.02.pdf CPU. DataPath (nobeigums). Ātrāks summators. Reģistru fails.]
+
===== 19.10.2018 =====
Praktiskajos darbos turpinām strādāt pie kursa projekta [[DIPb10:KP1 | KP1]].
+
| [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.]
 +
 
 +
Praktiskajos darbos veidojam VGA kontroleri [https://drive.google.com/open?id=0B55VrJN-wdIgak5QbmItSHBiTG8]
 +
 
 +
|
 
|-
 
|-
| 24.10.2014
+
|
| [http://selavo.lv/kursi/dip/L08-DLXProcessorAndInstructions.1.01.pdf DLX procesors un instrukcijas.]
+
===== 26.10.2018 =====
 +
| [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]]
 +
|
 
|-
 
|-
| 31.10.2014
+
|
| [http://selavo.lv/kursi/dip/L09-HDLVerilog.1.02.pdf Aparatūras apraksta valodas. Verilog.]
+
===== 02.11.2018 =====
 +
| [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
 
|-
 
|-
| 07.11.2014
+
|
| '''Vidus semestra kontroldarbs'''  
+
===== 09.11.2018 =====
 +
| <!-- '''Vidus semestra kontroldarbs''' -->
 
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
 
|-
 
|-
| 14.11.2014
+
|
| [http://selavo.lv/kursi/dip/L10-HDLVHDL.1.02.pdf Aparatūras apraksta valodas. VHDL.]
+
===== 16.11.2018 =====
Kursa projekts [[DIPb10:KP3 | KP3]]
+
|  
 +
'''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]]
 +
|
 
|-
 
|-
| 21.11.2014
+
|
| [http://selavo.lv/kursi/dip/L11-Memory.1.02.pdf Atmiņa. Fiziskās realizācijas varianti.]
+
===== 23.11.2018 =====
Praktiskajos darbos turpinām strādāt pie kursa projekta [[DIPb10:KP3 | KP3]].
+
| [https://drive.google.com/open?id=0B55VrJN-wdIgQkZHVWNSN3JxZ00 Kopnes, saskarnes, to iedalījums.]
 +
[https://drive.google.com/open?id=0B55VrJN-wdIgYjhWQkxFbXNJbUE Integrálo mikroshému kopnes.]
 +
Praktiskajos darbos turpinām strādāt pie kursa projekta [[DIPb10:KP3 | KP2]].
 +
|
 
|-
 
|-
| 28.11.2014
+
|
 +
===== 30.11.2018 =====
 
| [http://selavo.lv/kursi/dip/L12-MulticycleCPU.1.01.pdf Daudztaktu procesors.]
 
| [http://selavo.lv/kursi/dip/L12-MulticycleCPU.1.01.pdf Daudztaktu procesors.]
  
Praktiskajos darbos turpinām strādāt pie kursa projekta [[DIPb10:KP3 | KP3]].
+
Praktiskajos darbos 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)
 
[http://bear.ces.cwru.edu/eecs_318/eecs_318_7.pdf Multicycle CPU] PDF 455.60KB (lekciju slaidi no Case Western Reserve University)
 +
|
 
|-
 
|-
| 05.12.2014
+
|
 +
===== 07.12.2018 =====
 
| [http://selavo.lv/kursi/dip/L13-MulticycleCPUPartTwo.1.02.pdf Daudztaktu procesors (nobeigums).]
 
| [http://selavo.lv/kursi/dip/L13-MulticycleCPUPartTwo.1.02.pdf Daudztaktu procesors (nobeigums).]
  
Praktiskajos darbos turpinām strādāt pie kursa projekta [[DIPb10:KP3 | KP3]].
+
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)
 
[http://www.sdsc.edu/~allans/cs141/l11redo.pdf Designing a Pipelined CPU] PDF 116.22KB (lekciju slaidi no San Diego Supercomputer Center)
 +
|
 
|-
 
|-
| 12.12.2014
+
|
 +
===== 14.12.2018 =====
 
| [http://selavo.lv/kursi/dip/L14-FPGA.1.01.pdf FPGA.]
 
| [http://selavo.lv/kursi/dip/L14-FPGA.1.01.pdf FPGA.]
  
Praktiskajos darbos turpinām strādāt pie kursa projekta [[DIPb10:KP3 | KP3]].
+
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)  
 
[http://www.ppouyan.net/wp-content/uploads/2010/09/fpga.pdf How Does FPGA Work] PDF 1.06MB (lekciju slaidi no Lund University)  
 +
|
 
|-
 
|-
| xx.12.2014
+
|
- 01.01.2015
+
===== 24.12.2018 - 01.01.2019 =====
 
| Ziemassvētku un Jaungada brīvdienas  
 
| Ziemassvētku un Jaungada brīvdienas  
 +
|
 
|-
 
|-
| xx.01.2015,
+
|  
xx.01.2015
+
===== 18.01.2019 =====
| Konsultācijas
+
|  
|-
+
'''10:30: Eksāmens'''  
| xx.01.2015
+
 
| '''xx:xx: Gala eksāmena kontroldarbs'''  
+
Projektu prezentācijas - kursa noslēgums
|-
+
|
| xx.01.2015
 
| '''xx:xx:  Projektu prezentācijas - kursa noslēgums'''
 
|-
 
 
|}
 
|}
  
Line 131: Line 173:
 
== 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) ==
  
 
* [[DIPb10:KP1 | KP1]]
 
* [[DIPb10:KP1 | KP1]]
 +
* [[DIPb10:KP2 | KP2]]
 
<!--
 
<!--
* [[DIPb10:KP2 | KP2]]
+
 
* [[DIPb10:KP3 | KP3]]
+
* [[DIPb10:KP3 | KP2]]
 
-->
 
-->
  
 
{{DIP_saites}}
 
{{DIP_saites}}

Revision as of 12:44, 4 January 2019

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
29.08.2018

-

02.09.2018
Reģistrācijas nedēļa
07.09.2018
Ievadlekcija. Digitālās projektēšanas process.

Praktiskais darbs PD1.

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

Praktiskais darbs PD2.

21.09.2018
Trigeri. Pulkstenis.

Praktiskais darbs PD3.

28.09.2018
CPU. DataPath. ALU.

Praktiskais darbs PD4.

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

Praktiskais darbs PD5.

Kursa projekts KP1

12.10.2018
Aparatūras apraksta valodas. Verilog.

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

19.10.2018
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]

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

Kursa projekts KP2

02.11.2018
Vientakts Procesors.

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

Termiņš #MD1: loģikas funkcijas no slēdžiem uz LED
09.11.2018

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

Termiņš #MD2: Frekvences dalīšana no sistēmas ģeneratora 50MHz uz LED 1Hz
16.11.2018

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.

Aparatūras apraksta valodas. VHDL. Kursa projekts KP2

23.11.2018
Kopnes, saskarnes, to iedalījums.

Integrálo mikroshému kopnes. Praktiskajos darbos turpinām strādāt pie kursa projekta KP2.

30.11.2018
Daudztaktu procesors.

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

Multicycle CPU PDF 455.60KB (lekciju slaidi no Case Western Reserve University)

07.12.2018
Daudztaktu procesors (nobeigums).

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

Designing a Pipelined CPU PDF 116.22KB (lekciju slaidi no San Diego Supercomputer Center)

14.12.2018
FPGA.

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

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

24.12.2018 - 01.01.2019
Ziemassvētku un Jaungada brīvdienas
18.01.2019

10:30: Eksāmens

Projektu prezentācijas - kursa noslēgums

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)

Literatūra


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:

Xilinx ISE WebPACK (14.7)

Papildus:

Xilinx ISE WebPACK (12.2)

Video applications using FPGA

HDL tutorials

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

Domu graudi

FPGA pielietojumi