Difference between revisions of "LU-DIP-m"

From DiLab
Jump to: navigation, search
(15.06.2015.)
(Kalendārs)
Line 25: Line 25:
|-
|-
|
|
==== 12.02.2015. ====
==== 09.02.2017. ====
|
|
Digitālas iekārtas vispārējā arhitektūra un uzbūve.
Digitālas iekārtas vispārējā arhitektūra un uzbūve.
Line 32: Line 32:
|-
|-
|
|
==== 19.02.2015. ====
==== 16.02.2017. ====
|
|
Digitālo iekārtu pamatelementi, tranzistors, invertors, NAND un NOR elementi no tranzistoriem, to loģiskā uzbūve un īpašības.
Digitālo iekārtu pamatelementi, tranzistors, invertors, NAND un NOR elementi no tranzistoriem, to loģiskā uzbūve un īpašības.
Line 41: Line 41:
|-
|-
|
|
==== 26.02.2015.====
==== 23.02.2015.====
|
|
Reģistri un uz tiem bāzētas iekārtas. Bīdes reģistri. Skaitītāji. RS un D trigeri. Uzstādīšanas un noturēšanas laiku ierobežojumi.
Reģistri un uz tiem bāzētas iekārtas. Bīdes reģistri. Skaitītāji. RS un D trigeri. Uzstādīšanas un noturēšanas laiku ierobežojumi.
Line 49: Line 49:
|-
|-
|
|
==== 05.03.2015. ====
==== 02.03.2017. ====
|
|
Procesora arhitektūra. Daudz-takšu un konveijera principi. Instrukciju dešifratora un skaitītāja reģistri. Reģistru fails. Aritmētiski loģiskā iekārta (ALU). Atmiņas saskarne. Instrukciju un datu kešatmiņa.
Procesora arhitektūra. Daudz-takšu un konveijera principi. Instrukciju dešifratora un skaitītāja reģistri. Reģistru fails. Aritmētiski loģiskā iekārta (ALU). Atmiņas saskarne. Instrukciju un datu kešatmiņa.
Line 56: Line 56:
|
|


==== 12.03.2015.====
==== 09.03.2015.====
|
|
Aparatūru aprakstošas valodas (HDL), Verilog. Valodas elementi simulācijai un sintēzei. Uzvedības un struktūras apraksts. Moduļi. Datu tipi, signāli un reģistri.
Aparatūru aprakstošas valodas (HDL), Verilog. Valodas elementi simulācijai un sintēzei. Uzvedības un struktūras apraksts. Moduļi. Datu tipi, signāli un reģistri.
Line 64: Line 64:
|
|


==== 19.03.2015. ====
==== 16.03.2017. ====
|
|
Programmējamās loģiskas iekārtas, CPLD un FPGA. FPGA uzbūve. Konfigurējami loģiskie elementi. Ievada un izvada elementi. Komunikācija, maģistrāles.
Programmējamās loģiskas iekārtas, CPLD un FPGA. FPGA uzbūve. Konfigurējami loģiskie elementi. Ievada un izvada elementi. Komunikācija, maģistrāles.
Line 74: Line 74:
|
|


==== 26.03.2015. ====
==== 23.03.2017. ====
|
|
Diskusija par kursa projektu - video kontrolieris ar OpenGL atbalstu.
Diskusija par kursa projektu - video kontrolieris ar OpenGL atbalstu.
Line 82: Line 82:
|
|


==== 30.03.2015. - 06.04.2015.====
==== 30.03.2017. ====
|
|
Procesora instrukciju arhitektūra. Instrukciju tipi un kodēšana. Operandi. RISC un CISC arhitektūras. DLX procesora instrukciju arhitektūra. Salīdzinoši piemēri no ARM instrukciju kopas.
''Lieldienu brīvdienas''
|
|
Mājas darba [[#MD2 | MD2]] termiņš.
|-
|-
|
|


==== 09.04.2015. ====
==== 10.04.2017. - 17.04.2017. ====
|
|
''Lieldienu brīvdienas''
Procesora instrukciju arhitektūra. Instrukciju tipi un kodēšana. Operandi. RISC un CISC arhitektūras. DLX procesora instrukciju arhitektūra. Salīdzinoši piemēri no ARM instrukciju kopas.
|
|
Mājas darba [[#MD2 | MD2]] termiņš.
|-
|-
|
|
==== 16.04.2015. ====
==== 13.04.2017. ====
|
|
''Virtuāla lekcija (klasē nenotiek).''

Patstāvīgais darbs pie projekta.
Patstāvīgais darbs pie projekta.
|
|
Line 105: Line 103:
|
|


==== 23.04.2015. ====
==== 20.04.2017. ====
|
|
Digitālas projektēšanas metrikas. Funkcionalitāte. Izmaksas, fiksētās un mainīgās. Uzticamība, izturība. Trokšņu noturība un imunitāte. Veiktspēja. Ātrums un enerģijas patēriņš. Projektēšanas laiks.
Digitālas projektēšanas metrikas. Funkcionalitāte. Izmaksas, fiksētās un mainīgās. Uzticamība, izturība. Trokšņu noturība un imunitāte. Veiktspēja. Ātrums un enerģijas patēriņš. Projektēšanas laiks.
Line 112: Line 110:
|
|


==== 30.04.2015. ====
==== 27.04.2017. ====
|
|
Projekts - OpenGL kontrolieris
Projekts - OpenGL kontrolieris
Line 118: Line 116:
|-
|-
|
|
==== 07.05.2015. ====
==== 11.05.2017. ====
|
|
Projekts - OpenGL kontrolieris
Projekts - OpenGL kontrolieris
Line 124: Line 122:
|-
|-
|
|
==== 14.05.2015. ====
==== 18.05.2017. ====
|
|
Operatīvā atmiņa, statiskā un dinamiskā. Atmiņas matricas un uzbūve. Kešatmiņas. Saskarnes starp atmiņu un citām iekārtām.
Operatīvā atmiņa, statiskā un dinamiskā. Atmiņas matricas un uzbūve. Kešatmiņas. Saskarnes starp atmiņu un citām iekārtām.
Line 130: Line 128:
|-
|-
|
|
==== 21.05.2015. ====
==== 25.05.2017. ====
|
|
Kopsavilkums
Kopsavilkums
Line 136: Line 134:
|-
|-
|
|
==== 28.05.2015. ====
==== 01.06.2017. ====
|
|
Izvēlētās papildus tēmas
Izvēlētās papildus tēmas
Line 142: Line 140:
|-
|-
|
|
==== 15.06.2015.====
==== xx.06.2017.====
|
|
14:30 '''Eksāmens''' - projektu demonstrācijas un plakāti.
xx:xx '''Eksāmens''' - projektu demonstrācijas un plakāti.

(Pirmdiena!)
|
|
|}
|}

Revision as of 10:27, 23 February 2017

Digitālā projektēšana [M] (DIP)

LU DF maģistru un doktorantu studiju kurss DatZ7014, meklēt eStudijās.


Par kursu

Kursa mērķi ir iepazīstināt ar digitālo iekārtu projektēšanas aspektiem, darba plūsmu, problēmām un risinājumiem. Kursa ietvaros tiek apskatīti digitālu iekārtu un datoru arhitektūras pamata un arī sarežģītākas pakāpes elementi. Kursā studenti izstrādā praktiskos darbus un kursa projektu, kura rezultāts ir digitāla iekarta, piemēram procesors, mini dators, grafikas kontrolieris, kalkulators, paralēlas attēlu apstrādes iekārta un citas iekārtas.

Kursa sākumā jāpiesakās attiecīgajai google-grupai, lai varētu sekot kursa aktualitātēm un piedalīties (neklātienes) diskusijās.

Administratīvā informācija

  • Pasniedzējs: Leo Seļāvo (epasts: vards.uzvards @ gmail.com)
  • Vēstkopa komunikācijai par kursa aktualitātēm, uzdevumiem, termiņiem un problēmām:


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

Datums, nedēļa Kursa saturs Uzdevumi un piezīmes

09.02.2017.

Digitālas iekārtas vispārējā arhitektūra un uzbūve. Digitālā projektēšana, ievads, darba plūsma. Map, place, route. "Timing back annotation".

16.02.2017.

Digitālo iekārtu pamatelementi, tranzistors, invertors, NAND un NOR elementi no tranzistoriem, to loģiskā uzbūve un īpašības. Loģiskie elementi, minimālā kopa. Pāreja no loģiskajām izteiksmēm un tabulām uz realizāciju ar loģiskajiem elementiem. Kombinētie loģiskie elementi. Dešifrators, multipleksors, frekvences dalītājs un citi elementi. Atmiņas elementi, RS un D trigeris.

Pasludināts praktiskais darbs PD1.

23.02.2015.

Reģistri un uz tiem bāzētas iekārtas. Bīdes reģistri. Skaitītāji. RS un D trigeri. Uzstādīšanas un noturēšanas laiku ierobežojumi.

Galīgie automāti un to pielietojumi un realizācija digitālajās iekārtās. Diagrammas, tabulas attēlojums. Realizācija uz loģiskajām izteiksmēm un shēmas elementiem. Pielietojumi.

02.03.2017.

Procesora arhitektūra. Daudz-takšu un konveijera principi. Instrukciju dešifratora un skaitītāja reģistri. Reģistru fails. Aritmētiski loģiskā iekārta (ALU). Atmiņas saskarne. Instrukciju un datu kešatmiņa.

Mājas darba MD1 termiņš.

09.03.2015.

Aparatūru aprakstošas valodas (HDL), Verilog. Valodas elementi simulācijai un sintēzei. Uzvedības un struktūras apraksts. Moduļi. Datu tipi, signāli un reģistri.

Pasludināts praktiskais darbs PD2.

16.03.2017.

Programmējamās loģiskas iekārtas, CPLD un FPGA. FPGA uzbūve. Konfigurējami loģiskie elementi. Ievada un izvada elementi. Komunikācija, maģistrāles.

Laika sinhronizācija. Takts ģenerators. Takts signālu nobīde un sadalījuma shēmas. H-koka sadalījums. Digitāli kontrolējami pulksteņi. PLL (phase lock loop). Enerģijas patēriņš, ārējā un čipa iekšējā takts frekvence un takts sadalījuma shēmas.

23.03.2017.

Diskusija par kursa projektu - video kontrolieris ar OpenGL atbalstu.

Praktiskais darbs #PD3 - kalkulators.

30.03.2017.

Procesora instrukciju arhitektūra. Instrukciju tipi un kodēšana. Operandi. RISC un CISC arhitektūras. DLX procesora instrukciju arhitektūra. Salīdzinoši piemēri no ARM instrukciju kopas.

Mājas darba MD2 termiņš.

10.04.2017. - 17.04.2017.

Lieldienu brīvdienas

13.04.2017.

Patstāvīgais darbs pie projekta.

20.04.2017.

Digitālas projektēšanas metrikas. Funkcionalitāte. Izmaksas, fiksētās un mainīgās. Uzticamība, izturība. Trokšņu noturība un imunitāte. Veiktspēja. Ātrums un enerģijas patēriņš. Projektēšanas laiks.

27.04.2017.

Projekts - OpenGL kontrolieris

11.05.2017.

Projekts - OpenGL kontrolieris

18.05.2017.

Operatīvā atmiņa, statiskā un dinamiskā. Atmiņas matricas un uzbūve. Kešatmiņas. Saskarnes starp atmiņu un citām iekārtām.

25.05.2017.

Kopsavilkums

01.06.2017.

Izvēlētās papildus tēmas

xx.06.2017.

xx:xx Eksāmens - projektu demonstrācijas un plakāti.

PD - Praktiskie darbi

Praktiskie darbi.

PD1

LED un slēdži

Mērķi:

  • apgūt darba plūsmu ar FPGA shēmas ievadu, kompilāciju un dizaina augžuplādēšanu uz FPGA iekārtas.
  • lietot FPGA ievada un izvada portus (pinus).
  • lietot elementāras loģikas elementus shēmā.

Izveidot digitālu iekārtu, kas izmanto ievada elementus (slēdžus) un izvada elementus (LED).

  • Shēmas ievads
  • Kompilācija
  • Uzlādēšana uz reālas FPGA iekārtas
  • Pārbaude

Iekārtai jāveic sekojošas darbības:

  • SW1 slēdzis ieslēdz un izslēdz LED1 spīddiodi.
  • SW2 un SW3 slēdži veido ievaddatus XOR elementam, kura rezultats tiek izvadīts uz LED2.
  • Spīddiode LED3, kas ieslēdzas un izslēdzas reizi sekundē. SW4 to var apstādināt un iedarbināt.

Praktiskajā darbā izstrādātā iekārta jādemonstrē uz Spartan 3E FPGA iekārtas.

PD2

Šaha laukums

Mērķi:

  • iepazīties ar VGA signālu protokolu
  • izpildīt iekartas dizainu Verilog valodā

Izveidot iekārtu, kas uz monitora ekrāna attēlo 8x8 šaha lauciņu. Darba gaita iepazīties ar video signāla formu un laika parametriem. Darbu atļauts izpildīt daļēji vai pilnīgi Verilog valodā.

Praktiskajā darbā izstrādātā iekārta jādemonstrē uz Spartan 3E FPGA iekārtas, kam pieslēgts monitors.

PD3

Kalkulators

Mērķi:

  • iepazīties ar PS/2 (klaviatūras) protokolu
  • Izstrādāt stāvokļu mašīnu - galīgo automātu kalkulatora darbībai

Izveidot digitālu iekārtu, kas darbojas kā kalkulators ar skaitļiem heksadecimālajā sistēmā un var izpildīt saskaitīšanas un atņemšanas operācijas.

Skaitļu ievads ir no klaviatūras, kas pieslēdta ar PS/2 portu.

Skaitļu izvads ir uz LCD ekrāna.

MD - Mājas darbi

Mājas darbi.

MD1

Novērtēt Spartan 3E attīstītājrīka un FPGA iespējas. Atbildēt uz jautājumu: vai iespējams uz Spartan 3E realizēt datoru, kas varētu darbināt Linux klases operētājsistēmu? Atbildi pamatot, izvērtējot nepieciešamos un pieejamos resursus gan FPGA, gan perifērijas iekārtu kontekstā.

MD2

Uzzīmēt un aprakstīt video kontroliera shēmu, kas atbalsta minimālu OpenGL vai līdzīgu instrukciju kopu. Instrukcijas tiek nodotas no datora pa seriālo portu. Instrukcijas jāatkodē un jāizpilda, izmainot lokālu video buferi. No bufera attēls jāizvada uz iebūvēto VGA portu attēla izvadei.

Informācijas resursi

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