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
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), 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