LU-DIP-B:index

From DiLab
Revision as of 08:28, 10 October 2008 by Artis (talk | contribs)
Jump to: navigation, search

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.
06.10.2008. - 12.10.2008. Studijas
13.10.2008. - 19.10.2008. Studijas
20.10.2008. - 26.10.2008. Studijas
27.10.2008. - 02.11.2008. Studijas
03.11.2008. - 09.11.2008. Studijas
10.11.2008. - 16.11.2008. Studijas
17.11.2008. - 23.11.2008. Studijas
24.11.2008. - 30.11.2008. Studijas
01.12.2008. - 07.12.2008. Studijas
08.12.2008. - 14.12.2008. Studijas
15.12.2008. - 21.12.2008. Studijas
22.12.2008. - 04.01.2009. Ziemassvētku un Jaungada brīvdienas
05.01.2009. - 11.01.2009. Individuālās studijas un pārbaudījumi
12.01.2009. - 18.01.2009.
19.01.2009. - 25.01.2009.
26.01.2009. - 01.02.2009.

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:
INPUT1 INPUT2 INPUT3 INPUT4 OUTPUT
X X 0 0 INPUT1 AND INPUT2
X X 0 1 NOT(INPUT1)
X X 1 0 INPUT1 OR INPUT2
X X 1 1 INPUT1 XOR INPUT2
  • Uzdevums 2: Pārbaudīt izveidoto loģisko shēmu, izmantojot Test Bench Waveform
  • Šeit iespējams apskatīt izpildīta praktiskā darba paraugu

1. Mājas darbs

  • Izveidot loģisko tabulu, kas ataino dotās 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ā 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:
INPUT1 INPUT2 INPUT3 INPUT4 OUTPUT1 OUTPUT2 OUTPUT3
X 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:
INPUT1 INPUT2 INPUT3 INPUT4 OUTPUT1 OUTPUT2 OUTPUT3
SW0 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
  • Šeit iespējams apskatīt izpildīta praktiskā darba paraugu

3. Mājas darbs

  • Izmantojot 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:
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
  • Šeit iespējams apskatīt izpildīta praktiskā darba paraugu

4. Mājas darbs

  • Izveidot loģisko shēmu, kas nodrošina 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:
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 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:
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. [Arthritic Logic Unit or (rare) Arithmetic Logic Unit]
A random-number generator supplied as standard with all computer systems.
Stan Kelly-Bootle, The Devil’s DP Dictionary, 1981

  • Aritmētiski loģiskais bloks (ALU) - 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) - 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) - 5.3, B.8
    • ieejas signāli ReadRegister1(4:0), ReadRegister2(4:0), WriteRegister(4:0), WriteDate(31:0), RegWrite
    • izejas signāli ReadData1(31:0), ReadData2(31:0)
  • Multipleksors (MUX) - 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

Kursa projekts #1 - 2.posms

  • Instrukciju atmiņa (Instruction memory)
  • 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

  • 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

  • Integrācija
  • Pārbaude
  • Lejupielāde uz Xilinx Spartan 3E platformas
  • Testēšana ar kontrolpiemēriem

Saites