Difference between revisions of "LU-DIP-B:index"

From DiLab
Jump to: navigation, search
 
(19 intermediate revisions by 2 users not shown)
Line 25: Line 25:
|-
|-
| 05.09.2008.
| 05.09.2008.
| [[#1. Praktiskie darbi | 1. Praktiskie darbi: Projekta izveide Xilinx ISE vidē.]]
| [http://jupiter.cs.fmf.lu.lv/dilab/index.php/LU-DIP-B:PD 1. Praktiskie darbi: Projekta izveide Xilinx ISE vidē.]
|-
|-
| 12.09.2008.
| 12.09.2008.
Line 31: Line 31:
|-
|-
| 12.09.2008.
| 12.09.2008.
| [[#2. Praktiskie darbi | 2. Praktiskie darbi: Projekta lejupielāde uz Xilinx Spartan 3E platformas.]]
| [http://jupiter.cs.fmf.lu.lv/dilab/index.php/LU-DIP-B:PD 2. Praktiskie darbi: Projekta lejupielāde uz Xilinx Spartan 3E platformas.]
|-
|-
| 19.09.2008.
| 19.09.2008.
Line 37: Line 37:
|-
|-
| 19.09.2008.
| 19.09.2008.
| [[#3. Praktiskie darbi | 3. Praktiskie darbi: Pulkstenis. Frekvences dalīšana, izmantojot trigeri.]]
| [http://jupiter.cs.fmf.lu.lv/dilab/index.php/LU-DIP-B:PD 3. Praktiskie darbi: Pulkstenis. Frekvences dalīšana, izmantojot trigeri.]
|-
|-
| 26.09.2008.
| 26.09.2008.
Line 43: Line 43:
|-
|-
| 26.09.2008.
| 26.09.2008.
| [[#4. Praktiskie darbi - 1.daļa | 4. Praktiskie darbi - 1. daļa: Vienkārša ALU projektēšana.]]
| [http://jupiter.cs.fmf.lu.lv/dilab/index.php/LU-DIP-B:PD 4. Praktiskie darbi - 1. daļa: Vienkārša ALU projektēšana.]
|-
|-
| 03.10.2008.
| 03.10.2008.
Line 49: Line 49:
|-
|-
| 03.10.2008.
| 03.10.2008.
| [[#4. Praktiskie darbi - 2.daļa | 4. Praktiskie darbi - 2. daļa: Vienkārša ALU implementācija uz Xilinx Spartan 3E platformas.]]
| [http://jupiter.cs.fmf.lu.lv/dilab/index.php/LU-DIP-B:PD 4. Praktiskie darbi - 2. daļa: Vienkārša ALU implementācija uz Xilinx Spartan 3E platformas.]
|-
|-
| 10.10.2008.
| 10.10.2008.
| 6. Lekcija: Procesors un to veidojošās komponentes (1. daļa).
| 6. Lekcija:
|-
|-
| 10.10.2008.
| 10.10.2008.
| [[#Kursa projekts #1 - 1.posms | Kursa projekts #1 - 1.posms: Aritmētiski loģiskais bloks, summators, reģistru fails, multipleksors.]]
| [http://jupiter.cs.fmf.lu.lv/dilab/index.php/LU-DIP-B:KP1 Kursa projekts #1 - 1.posms: Aritmētiski loģiskais bloks, summators, reģistru fails, multipleksors.]
|-
|-
| 13.10.2008. - 19.10.2008.
| 17.10.2008.
| 7. Lekcija: Procesors un to veidojošās komponentes (2. daļa).
| Studijas
|-
|-
| 20.10.2008. - 26.10.2008.
| 17.10.2008.
| [http://jupiter.cs.fmf.lu.lv/dilab/index.php/LU-DIP-B:KP1 Kursa projekts #1 - 2.posms: Instrukciju atmiņa, PC reģistrs, zīmes paplašināšana, nobīde pa kreisi.]
| Studijas
|-
|-
| 27.10.2008. - 02.11.2008.
| 24.10.2008.
| Konsultācijas
| Studijas
|-
|-
| 03.11.2008. - 09.11.2008.
| 31.10.2008.
| [http://jupiter.cs.fmf.lu.lv/~elo/lu/add-m/notes/dlx.pdf 8. Lekcija: DLX procesors un instrukcijas]
| Studijas
|-
|-
| 10.11.2008. - 16.11.2008.
| 31.10.2008.
| [http://jupiter.cs.fmf.lu.lv/dilab/index.php/LU-DIP-B:KP1 Kursa projekts #1 - 3.posms: Datu atmiņa, aritmētiski loģiskās iekārtas kontrole, kontrole, nobīde pa kreisi.]
| Studijas
|-
|-
| 17.11.2008. - 23.11.2008.
| 07.11.2008.
| Semestra vidus kontroldarbs
| Studijas
|-
|-
| 24.11.2008. - 30.11.2008.
| 07.11.2008.
| Praktiskie darbi pie kursa projekta
| Studijas
|-
|-
| 01.12.2008. - 07.12.2008.
| 14.11.2008.
| 9. Lekcija: Kontrole, galīgie automāti, stāvokļu pārejas diagramma.
| Studijas
|-
|-
| 08.12.2008. - 14.12.2008.
| 14.11.2008.
| Semestra vidus kontroldarba rezultātu analīze / Praktiskie darbi pie kursa projekta
| Studijas
|-
|-
| 15.12.2008. - 21.12.2008.
| 21.11.2008.
| 10. Lekcija: Atmiņas fiziskās realizācijas varianti. Optimizācija.
| Studijas
|-
|-
| 22.12.2008. - 04.01.2009.
| 21.11.2008.
| Praktiskie darbi pie kursa projekta
| Ziemassvētku un Jaungada brīvdienas
|-
|-
| 05.01.2009. - 11.01.2009.
| 28.11.2008.
| [http://jupiter.cs.fmf.lu.lv/~kursi/dip/L11-FPGA-2008-11-28.pdf 11. Lekcija: FPGA (1. daļa).]
| Individuālās studijas un pārbaudījumi
|-
|-
| 28.11.2008.
| 12.01.2009. - 18.01.2009.
| [http://jupiter.cs.fmf.lu.lv/dilab/index.php/LU-DIP-B:KP1 Kursa projekts #1 - 4.posms: Integrācija, pārbaude, lejupielāde, testēšana.]
|-
|-
| 05.12.2008.
| 19.01.2009. - 25.01.2009.
| 12. Lekcija: FPGA (2. daļa).
|-
|-
| 05.12.2008.
| 26.01.2009. - 01.02.2009.
| Praktiskie darbi pie kursa projekta
|}

== Administratīvie jautājumi ==

=== Mājas darbu noformēšana un iesniegšana ===
* Mājas darbi, ja vien nav norādīts savādāk, tiek iesniegti PDF failu veidā (1 mājas darbs = 1 PDF fails)
* PDF failu nosaukumi veidojami pēc sekojošas struktūras:
** DIP_MD[mājasdarba numurs]_[autora vārds]_[autora uzvārds]_[autora studenta apliecības numurs].PDF
* PDF failu nosaukumi nesatur specifiskās LV rakstzīmes
* Mājas darbi tiek iesniegti, nosūtot uz sekojošām (abām!) e-pasta adresēm:
** medart pie e-apollo punkts lv
** leo punkts selavo pie gmail punkts com
* E-pasta lauka SUBJ saturs identisks PDF faila nosaukumam
* Mājas darba iesniegšana pēc norādītā termiņa var negatīvi ietekmēt mājas darba vērtējumu

=== Kursa projekts #1 - vientakts procesora projektēšana ===
* Kursa projektu studenti veic grupās (1 grupa = 2 studenti).
* Sadalīšanos grupās studenti organizē paši pēc brīvprātības principa.
* Individuāls darbs pie kursa projekta nav paredzēts.
* Kursa projekta izpilde var tikt veikta gan praktisko darbu laikā, izmantojot LU datorresursus, gan citā laikā, izmantojot citus studentiem pieejamos datorresursus.
* Kursa projekts ir sadalīts 4 secīgos posmos.
* Posma laikā veicamo darbu sadalījumu grupas ietvaros studenti organizē paši pēc brīvprātības principa.
* Uzsākt nākošo posmu grupa var tikai tad, kad ir veiksmīgi nokārtojusi ieskaiti par iepriekšējā posmā paveikto.
* Lai nokārtotu ieskaiti, ir jābūt izpildītiem sekojošiem nosacījumiem:
** līdz kārtējās lekcijas sākumam uz e-pasta adresēm, kas ir minētas sadaļā ''Mājas darbu noformēšana un iesniegšana'', ir iesūtīts saarhivēts ISE projekts;
** kārtējo praktisko darbu laikā ir atrādīts ISE projekts, kurā ar testpiemēriem tiek prezentēta izveidotā funkcionalitāte;
** ir jābūt skaidram, kāds ir katra studenta ieguldījums paveiktajā;
** ir jābūt skaidram, ka katram studentam ir izpratne gan par savu, gan par kolēģa paveikto.

== Mācību materiāli ==

=== 1. Praktiskie darbi ===
* Uzdevums 1: Xilinx ISE vidē izveidot jaunu projektu un tajā realizēt loģisko shēmu pēc sekojošas specifikācijas:
{| border=1 cellspacing=0 cellpadding=4
|-
|-
| 12.12.2008.
! INPUT1
| 13. Lekcija: Ievads HDL valodās - [http://www.inf.ed.ac.uk/teaching/courses/cd/VerilogTutorial.pdf Verilog] un [http://www.ashenden.com.au/designers-guide/VHDL-quick-start.pdf VHDL].
! INPUT2
! INPUT3
! INPUT4
! OUTPUT
|-
|-
| 12.12.2008.
| X
| Praktiskie darbi pie kursa projekta
| X
| 0
| 0
| INPUT1 AND INPUT2
|-
|-
| 15.12.2008. - 21.12.2008.
| X
| Studijas
| X
| 0
| 1
| NOT(INPUT1)
|-
|-
| 22.12.2008. - 04.01.2009.
| X
| Ziemassvētku un Jaungada brīvdienas
| X
| 1
| 0
| INPUT1 OR INPUT2
|-
|-
| 09.01.2009.
| X
| Konsultācijas
| X
| 1
| 1
| INPUT1 XOR INPUT2
|}
* Uzdevums 2: Pārbaudīt izveidoto loģisko shēmu, izmantojot Test Bench Waveform
* [http://jupiter.cs.fmf.lu.lv/~kursi/dip/LU-DIP-B-PD1.zip Šeit] iespējams apskatīt izpildīta praktiskā darba paraugu

=== 1. Mājas darbs ===
* Izveidot loģisko tabulu, kas ataino dotās [http://jupiter.cs.fmf.lu.lv/~kursi/dip/MD01.gif loģiskās shēmas] darbību
* Iesniegšanas termiņš 12.09.2008 10:30

=== 2. Mājas darbs ===
* Izveidot loģisko tabulu un atbilstošu loģisko shēmu, kas darbojas kā [http://jupiter.cs.fmf.lu.lv/~kursi/dip/MD02.gif 7-segmentu indikatora] dekoderis (ieejā 3 biti, nepieciešams atainot skaitļus no 0 līdz 7)
* Iesniegšanas termiņš 12.09.2008 10:30

=== 2. Praktiskie darbi ===
* Uzdevums 1: Xilinx ISE vidē realizēt loģisko shēmu - RS trigeri
* Uzdevums 2: Pārbaudīt izveidoto loģisko shēmu, izmantojot Test Bench Waveform
* Uzdevums 3: Xilinx ISE vidē realizēt loģisko shēmu pēc sekojošas specifikācijas:
{| border=1 cellspacing=0 cellpadding=4
|-
|-
| 14.01.2009.
! INPUT1
| Konsultācijas
! INPUT2
! INPUT3
! INPUT4
! OUTPUT1
! OUTPUT2
! OUTPUT3
|-
|-
| 16.01.2009.
| X
| Konsultācijas
| X
| X
| X
| NOT(INPUT1)
| INPUT2
| INPUT1 AND INPUT2
|}
* Uzdevums 4: Veikt izveidotās loģiskās shēmas piesaisti Xilinx Spartan 3E platformai pēc sekojošas specifikācijas:
{| border=1 cellspacing=0 cellpadding=4
|-
|-
| 28.01.2009.
! INPUT1
| Konsultācijas
! INPUT2
! INPUT3
! INPUT4
! OUTPUT1
! OUTPUT2
! OUTPUT3
|-
|-
| 29.01.2009. 11:00
| SW0
| Eksāmens
| SW1
| SW2
| SW3
| LED0
| LED1
| LED2
|}
|}
* Uzdevums 5: Veikt izveidotās loģiskās shēmas lejupielādi uz Xilinx Spartan 3E platformas
* Uzdevums 6: Pārbaudīt lejupielādētās loģiskās shēmas darbības atbilstību sākotnējai specifikācijai
* [http://jupiter.cs.fmf.lu.lv/~kursi/dip/LU-DIP-B-PD2.zip Šeit] iespējams apskatīt izpildīta praktiskā darba paraugu


=== 3. Mājas darbs ===
== Mācību materiāli ==
* Izmantojot [http://jupiter.cs.fmf.lu.lv/~kursi/dip/MD03.png tranzistorus], izveidot 4 atsevišķas loģiskās shēmas, kuras nodrošina sekojošu funkcionalitāti:
** AND
** NAND
** OR
** NOR
* Iesniegšanas termiņš 19.09.2008 10:30

=== 3. Praktiskie darbi ===
* Uzdevums 1: Xilinx ISE vidē realizēt loģisko shēmu pēc sekojošas specifikācijas:
{| border=1 cellspacing=0 cellpadding=4
|-
! SW0
! SW1
! SW2
! LED0
! LED1
! LED2
|-
| OFF
| OFF
| OFF
| 0.2 Hz
| 0.4 Hz
| 0.7 Hz
|-
| ON
| ON
| ON
| 1.5 Hz
| 3.0 Hz
| 6.0 Hz
|}
* Uzdevums 2: Veikt izveidotās loģiskās shēmas lejupielādi uz Xilinx Spartan 3E platformas
* Uzdevums 3: Pārbaudīt lejupielādētās loģiskās shēmas darbības atbilstību sākotnējai specifikācijai
* [http://jupiter.cs.fmf.lu.lv/~kursi/dip/LU-DIP-B-PD3.zip Šeit] iespējams apskatīt izpildīta praktiskā darba paraugu

=== 4. Mājas darbs ===
* Izveidot loģisko shēmu, kas nodrošina [http://jupiter.cs.fmf.lu.lv/~kursi/dip/MD04.png gaismas diodes LED0] mirgošanu ar frekvenci tieši 0.5 Hz (1 sekundi nedeg, 1 sekundi deg, utt.)
* Iesniegšanas termiņš 26.09.2008 10:30

=== 4. Praktiskie darbi - 1.daļa ===
* Uzdevums 1: Xilinx ISE vidē realizēt ALU pēc sekojošas specifikācijas:
{| border=1 cellspacing=0 cellpadding=4
|-
! INPUTS
! OUTPUTS
!
! OPCODE
! RESULT
! OPCODE
! RESULT
! OPCODE
! RESULT
|-
| A(3:0)
| RESULT(3:0)
|
| 000
| A AND B
| 011
| A XOR B
| 110
| ''reserved''
|-
| B(3:0)
| OVERFLOW
|
| 001
| A OR B
| 100
| A ADD B
| 111
| ''reserved''
|-
| OPCODE(2:0)
| ZERO
|
| 010
| NOT(A)
| 101
| ''reserved''
|
|
|}

=== 5. Mājas darbs ===
* Izveidot divus [http://jupiter.cs.fmf.lu.lv/~kursi/dip/MD05.jpg loģiskās shēmas XOR] variantus, izmantojot to konstruēšanā tikai loģiskos elementus NAND, NOR un NOT
** 1. variants - shēmas elementus savienojošo vadu krustošanās IR atļauta
** 2. variants - shēmas elementus savienojošo vadu krustošanās NAV atļauta
* Iesniegšanas termiņš 03.10.2008 10:30

=== 4. Praktiskie darbi - 2.daļa ===
* Uzdevums 2: Veikt izveidotā ALU piesaisti Xilinx Spartan 3E platformai pēc sekojošas specifikācijas:
{| border=1 cellspacing=0 cellpadding=4
|-
! Kontrolis
! Darbība
|-
| SW0..SW3
| Ievades datu uzstādīšana
|-
| BTN_WEST
| Ievades datu saglabāšana reģistrā A
|-
| BTN_EAST
| Ievades datu saglabāšana reģistrā B
|-
| BTN_NORTH
| Ievades datu saglabāšana reģistrā OPCODE
|-
| ROT_CENTER
| Izvades datu attēlošana uz LED (LED0..LED3 dati, LED4 OVERFLOW, LED5 ZERO)
|-
| BTN_SOUTH
| Izvades datu dzēšana
|-
|
| Vadības pogu nospiešana tiek dublēta ar LED7 iedegšanos
|}
* Uzdevums 3: Veikt izveidotā ALU lejupielādi uz Xilinx Spartan 3E platformas
* Uzdevums 4: Sagatavot 5 testpiemērus ALU darbības pārbaudei
* Uzdevums 5: Pārbaudīt cita studenta lejupielādētā ALU darbības atbilstību sākotnējai specifikācijai (students A pārbauda studenta B shēmu, students B - studenta C, utt.)

=== Kursa projekts #1 - 1.posms ===
'''ALU''' n. ['''A'''rthritic '''L'''ogic '''U'''nit or (rare) '''A'''rithmetic '''L'''ogic '''U'''nit]<br>
''A random-number generator supplied as standard with all computer systems.''<br>
Stan Kelly-Bootle, ''The Devil’s DP Dictionary'', 1981

* Aritmētiski loģiskais bloks (ALU) - [http://www.elsevierdirect.com/product.jsp?isbn=9780123706065 5.4, B.5, B.6]
** ieejas signāli A(31:0), B(31:0), OPCODE(3:0)
** izejas signāli RESULT(31:0), ZERO, OVERFLOW, CarryOut
** operācijas AND(0000), OR(0001), ADD(0010), SUB(0110), SLT(0111), NOR(1100)
* Summators (Adder) - [http://www.elsevierdirect.com/product.jsp?isbn=9780123706065 5.3, B.6]
** ieejas signāli A(31:0), B(31:0)
** izejas signāli RESULT(31:0), OVERFLOW, CarryOut
* Reģistru fails (Register file) - [http://www.elsevierdirect.com/product.jsp?isbn=9780123706065 5.3, B.8]
** ieejas signāli ReadRegister1(4:0), ReadRegister2(4:0), WriteRegister(4:0), WriteData(31:0), RegWrite
** izejas signāli ReadData1(31:0), ReadData2(31:0)
* Multipleksors (MUX) - [http://www.elsevierdirect.com/product.jsp?isbn=9780123706065 B.3]
** ieejas signāli A(31:0), B(31:0), Select
** izejas signāli C(31:0)
* Iesūtīšanas termiņš 17.10.2008 10:30
* Atrādīšanas termiņš 17.10.2008 14:10


=== [http://jupiter.cs.fmf.lu.lv/dilab/index.php/LU-DIP-B:PD Praktiskie darbi] ===
=== Kursa projekts #1 - 2.posms ===
=== [http://jupiter.cs.fmf.lu.lv/dilab/index.php/LU-DIP-B:MD Mājas darbi] ===
* Instrukciju atmiņa (Instruction memory)
=== Kursa projekti ===
* PC reģistrs (Program counter)
* Zīmes paplašināšana (Sign-extension)
* Nobīde pa kreisi (Shift-left 2 32IN-32OUT)


=== Kursa projekts #1 - 3.posms ===
* [[ LU-DIP-B:KP1 | Kursa projekts #1 ]]
* Datu atmiņa (Data memory)
* Aritmētiski loģiskā bloka kontrole (ALU control)
* Kontrole (Control)
* Nobīde pa kreisi (Shift-left 2 26IN-28OUT)


=== Kursa projekts #1 - 4.posms ===
* [[ LU-DIP-B:KP2 | Kursa projekts #2 ]] - eksāmens
* Integrācija
* Pārbaude
* Lejupielāde uz Xilinx Spartan 3E platformas
* Testēšana ar kontrolpiemēriem


== Saites ==
== Saites ==
Line 392: Line 150:
* [http://www.xilinx.com Xilinx kompānijas (FPGA ražotājs) portāls]
* [http://www.xilinx.com Xilinx kompānijas (FPGA ražotājs) portāls]


* [http://owlhouse.csie.nctu.edu.tw/old/CO2004/ch1-4_old.ppt Computer Organization & Design The Hardware/Software Interface, 2nd Edition]
* [http://owlhouse.csie.nctu.edu.tw/old/CO2004/ch1-4_old.ppt Computer Organization & Design The Hardware/Software Interface, 2nd Edition - lekciju slaidi no National Chiao Tung University]
* [http://owlhouse.csie.nctu.edu.tw/old/CO2004/CO2004_lecture_notes.ppt Computer Organization & Design The Hardware/Software Interface, 3nd Edition - lekciju slaidi no National Chiao Tung University]

Latest revision as of 19:40, 21 January 2009

Ievads Digitalajā Projektēšanā

LU FMF DN kurss, bakalaura programma, 2008.g rudens

Kursa apraksts: [LV], [EN]

Pasniedzējs: asoc.prof. Leo Seļāvo

Asistenti: Artis Mednis, Ģirts Strazdiņš

Kalendārs

Nedēļas datumi Kursa saturs
25.08.2008. - 31.08.2008. Reģistrācijas nedēļa
05.09.2008. 1. Lekcija: Ievadlekcija
05.09.2008. 1. Praktiskie darbi: Projekta izveide Xilinx ISE vidē.
12.09.2008. 2. Lekcija: Xilinx Spartan 3E aparatūras iespēju apskats
12.09.2008. 2. Praktiskie darbi: Projekta lejupielāde uz Xilinx Spartan 3E platformas.
19.09.2008. 3. Lekcija: Pulkstenis. Setup time, Hold time, Clock skew.
19.09.2008. 3. Praktiskie darbi: Pulkstenis. Frekvences dalīšana, izmantojot trigeri.
26.09.2008. 4. Lekcija: Procesors, atmiņa, Data path. ALU.
26.09.2008. 4. Praktiskie darbi - 1. daļa: Vienkārša ALU projektēšana.
03.10.2008. 5. Lekcija: Aiztures loģiskajās shēmās. Reset, Chip Enable, Output Enable.
03.10.2008. 4. Praktiskie darbi - 2. daļa: Vienkārša ALU implementācija uz Xilinx Spartan 3E platformas.
10.10.2008. 6. Lekcija: Procesors un to veidojošās komponentes (1. daļa).
10.10.2008. Kursa projekts #1 - 1.posms: Aritmētiski loģiskais bloks, summators, reģistru fails, multipleksors.
17.10.2008. 7. Lekcija: Procesors un to veidojošās komponentes (2. daļa).
17.10.2008. Kursa projekts #1 - 2.posms: Instrukciju atmiņa, PC reģistrs, zīmes paplašināšana, nobīde pa kreisi.
24.10.2008. Konsultācijas
31.10.2008. 8. Lekcija: DLX procesors un instrukcijas
31.10.2008. Kursa projekts #1 - 3.posms: Datu atmiņa, aritmētiski loģiskās iekārtas kontrole, kontrole, nobīde pa kreisi.
07.11.2008. Semestra vidus kontroldarbs
07.11.2008. Praktiskie darbi pie kursa projekta
14.11.2008. 9. Lekcija: Kontrole, galīgie automāti, stāvokļu pārejas diagramma.
14.11.2008. Semestra vidus kontroldarba rezultātu analīze / Praktiskie darbi pie kursa projekta
21.11.2008. 10. Lekcija: Atmiņas fiziskās realizācijas varianti. Optimizācija.
21.11.2008. Praktiskie darbi pie kursa projekta
28.11.2008. 11. Lekcija: FPGA (1. daļa).
28.11.2008. Kursa projekts #1 - 4.posms: Integrācija, pārbaude, lejupielāde, testēšana.
05.12.2008. 12. Lekcija: FPGA (2. daļa).
05.12.2008. Praktiskie darbi pie kursa projekta
12.12.2008. 13. Lekcija: Ievads HDL valodās - Verilog un VHDL.
12.12.2008. Praktiskie darbi pie kursa projekta
15.12.2008. - 21.12.2008. Studijas
22.12.2008. - 04.01.2009. Ziemassvētku un Jaungada brīvdienas
09.01.2009. Konsultācijas
14.01.2009. Konsultācijas
16.01.2009. Konsultācijas
28.01.2009. Konsultācijas
29.01.2009. 11:00 Eksāmens

Mācību materiāli

Praktiskie darbi

Mājas darbi

Kursa projekti

Saites