LU-DIP-b

From DiLab
Revision as of 11:31, 6 November 2020 by Leo (talk | contribs) (PD - praktiskie darbi ar aparatūru zemā līmenī)
Jump to: navigation, search

Īssaites: Kalendārs | Uzdevumi | Resursi | Šodiena... (ja ir lekcija)


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.
  • 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
11.09.2020
Ievadlekcija. Digitālās projektēšanas process.

PD: Iepazīšanās ar PYNQ platformu.

18.09.2020

Digitālo iekārtu izstrādes pamatelementi.

  • PYNQ platformas apskats.

#PY1 praktiskais darbs

25.09.2020
Trigeri. Pulkstenis.

#PY2 praktiskais darbs

02.10.2020
CPU. DataPath. ALU.

#PY3 praktiskais darbs

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

#PS1 praktiskais darbs

16.10.2020
Aparatūras apraksta valodas. Verilog.

CPU. DataPath (turpinājums). Zarošanās. Kontrole.

#PS2 praktiskais darbs

23.10.2020
Verilog (turpinājums). Galīgs Stāvokļu Automāts (FSM)

CPU. DataPath (nobeigums). Ātrāks summators. Reģistru fails.

#PV1 praktiskais darbs. Verilog un galīgo stāvokļu automāts (FSM).

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

Turpinam #PV1 praktisko darbu. Mērķis - ssimulēt jūsu dizainu ISE ISIM vidē.

06.11.2020
Vientakts Procesors. Veiktspējas analīze.

PD: izvēlēties divus līdzīgus procesorus kas tiek izmantoti vai nu galda datoros, vai viedtālruņos, vai mikrokontrolieros un salīdzināt to veiktspēju līdzīgi kā tas tika darīts lekcijā. Iesniegt aprakstu PDF formātā estudijās līdz praktisko darbu lekcijas laika beigām.

13.11.2020

Kopnes, saskarnes, to iedalījums.

Integrālo mikroshēmu kopnes.


  • Vidus semestra kontroldarbs
20.11.2020

Aparatūras apraksta valodas. VHDL. Kursa projekts KP2

27.11.2020

FPGA uzbūve un izstrādes dzīves cikls. Map, place, route.

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

04.12.2020

Daudztaktu procesors.

Projektu statusa atskaite, diskusija.

11.12.2020

Daudztaktu procesors (nobeigums).

Designing a Pipelined CPU (lekciju slaidi no UCSD)

18.12.2020

Kursa kopsavilkums.

xx.12.2020 - xx.01.2021
Ziemassvētku un Jaungada brīvdienas
xx.01.2021

xx:xx: Eksāmens

Projektu prezentācijas - kursa noslēgums

Uzdevumi

Praktiskie darbi (PD)

PY1

PYNQ un PMOD ievads

PY1 - parādīt skaitli 42 uz PMOD 7-segmentu dubulto LED indikatoru

Iesūtīt estudijās Jupyter notebook ar attiecīgās programmas tekstu.

PY2

PYNQ un rotējošais kodētājs

Izmanojot PYNQ un Rotējošā kodētāja PMOD moduli izvadīt us ekrāna skaitli, kas palielina vai samazina vērtību atkarībā no pogas griešanas virziena.

Iesūtīt estudijās Jupyter notebook ar attiecīgās programmas tekstu.

PY3

PYNQ un ultraskaņas distances sensors ar seriālo protokolu

Izmanojot PYNQ un MAXSONAR PMOD moduli izvadīt uz ekrāna skaitli, kas norāda distanci līdz sensoram. Izmantot seriālā protokola iespēju ko nodrošina ultraskaņas sensors.

Iesūtīt estudijās Jupyter notebook ar attiecīgās programmas tekstu.

PS1

Spartan 3E praktiskais darbs. Izveidot shēmu, kompilēt, un testēt uz Spartan 3E aparatūras

  • Slēdzis SW1 ieslēdz LED1
  • SW2 xor SW3 ==> LED3

Rezultātu atrādīt pasniedzējam.

PS2

Spartan 3E praktiskais darbs. Izveidot shēmu, kompilēt, un testēt uz Spartan 3E aparatūras

  • LED7 ieslēdzas un izslēdzas ar frekvenci reizi sekundē.
  • Izmantot iebūvēto 50MHz takts ģeneratoru

Rezultātu atrādīt pasniedzējam.

PV1

Verilog un galīgo stāvokļu automāti (FSM)

Izveidot FSM (diagrammu) luksoforam, kurš maina gaismas no zaļās uz dzelteno un tad sarkano, tad atkal dzelteno, un tad visu atkārto.

  • Ieeja: takts signāls CLK
  • Izeja: trīs krāsu signāli: GREEN, YELLOW, RED
  • Ilgums krāsām: zaļajam 7 taktis, dzeltenajam 1 takts, sarkanajam 7 taktis.
  • Uzdevumi:
    • Uzzīmēt FSM diagrammu ar stāvokļiem un pārejām šādai sistēmai. Iesniegt PDF failā.
    • Uzrakstīt kodu Verilog valodā, iesniegt pirmkoda failu luksofors.v.
    • Rezultātus iesniegt e-Studijās kā PV1

II daļa

PD - praktiskie darbi ar aparatūru zemā līmenī

Spartan 3E - projekta iestatījumi:

  • Target device: xc3s500e-4fg320

Praktiskie darbi:

PD6

Izvēlēties divus līdzīgus procesorus kas tiek izmantoti vai nu galda datoros, vai viedtālruņos, vai mikrokontrolieros un salīdzināt to veiktspēju līdzīgi kā tas tika darīts lekcijā. Pamatot savu analīzi ar attiecīgām atsaucēm uz dokumentāciju, ko esat atradis par šiem procesoriem.

Iesniegt aprakstu PDF formātā estudijās līdz praktisko darbu lekcijas laika beigām.

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)

Resursi


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:


PMOD papildus moduļi

Mums ir pieejami dažādi PMOD perifērijas iekārtu moduļi (pārsvarā 1x6 formātā) par kuriem sīkāk var lasīt Digilentic portālā.

Xilinx ISE instalācija

Xilinx ISE WebPACK (14.7)

Xilinx ISE WebPACK (12.2)

Xilinx ISE lietošana

Vispārīga lietošana

Simulācija ar ISim

Simulācija ar ModelSim

Video applications using FPGA

ANVYL attīstītājrīks

ANVYL ir Xilinx Spartan 6G FPGA bāzēts attīstītājrīks ar dažādām papildus un perifērijas iekārtām.

PYNQ ietvars

PYNQ ir ietvars kas iespējo FPGA aparatūras funkciju izmantošanu ar Python programmēšanas valodu. Atbalstītā aparatūra iekļauj ZYNQ.

PYNQ informācijas avoti:

PYNQ projekti

PYNK un PMOD

HDL pamācības (Verilog, VHDL)

RISC-V

Seriālie protokoli

IP cores priekš FPGA


Ieteikumi prezentāciju veidošanā

Piezīmes par plakātu un prezentāciju veidošanu

Citi kursi un saites

  • 8 Bit Workshop - aparatūras simulators pārlūkā, tai skaitā Verilog.

Domu graudi

FPGA pielietojumi