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:
|
10.10.2008.
|
Kursa projekts #1 - 1.posms: Aritmētiski loģiskais bloks, summators, reģistru fails, multipleksors.
|
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:
- 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), WriteData(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