LU-DIP-m12:index

From DiLab
Jump to: navigation, search

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

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


Par kursu

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

Februāra un marta mēnešos kurss notiks eksperimentālā, virtuālā režīmā. Tas nozīmē, ka studentu klātbūtne nav fiziski nepieciešama, bet nepieciešams sekot kursa portālam, ziņu kopai un pildīt uzdevumus.

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.2012.

Digitālā projektēšana (DIP)

Ievads. Pielietojumi. Pamati. Iekartas, moduļi, loģiskie elementi un tranzistori. Tranzistora darbības modelis un pielietojums loģikas elementu izveidošanai. Enerģijas patēriņa kritēriji. Zema enerģijas patēriņa programmēšana un Gray kodi. Loģisku iekārtu projektēšana: tabulas, normālformas un shēmas.

Praktiskie darbi - loģiskas funkcijas realizācija uz FPGA ar slēdžiem un LED kā ārējām iekārtām.


Kursa materiāli:

16.02.2012. - 29.03.2012.

Virtuālās lekcijas (studenti piedalās neklātienē).
22.03.2012.

Digitālu iekārtu prototipēšana

(Virtuālā lekcija)

Digitālie attīstītājrīki un to iespējas. Spartan 3E FPGA attīstītājrīks (development board).


Kursa materiāli:

  • Xilinx rokasgrāmatas sadaļā Saites.
MD1 -

Termiņš: 12.04.2012

29.03.2012.

Digitālu iekartu aprakstīšanas valodas

(Virtuālā lekcija)

Hardware description languages (HDL). Verilog un VHDL.


Kursa materiāli:

  • Sadaļā Saites apakšsadaļa "HDL tutorials". Lasīt par "Verilog" valodu.
MD2 -

Termiņš: 12.04.2012

05.04.2012. Lieldienu brīvdienas
12.04.2012.

Kursa pārskats un kursa projekts

(Klātienes lekcija!)

Līdz šim apskatītās tēmas un perspektīva kursā. Kursa projekta definēšana. Mini-datora projekts ar VGA, RAM, PS/2 un CPU moduļiem.

Jāiesniedz MD1 un MD2.

Paziņots MD3.

19.04.2012.

Instrukciju kopas arhitektūra

(Virtuālā lekcija)

Instrukciju kopas arhitektūra. Atvērtie procesoru kodoli priekš Spartan 3E FPGA.


Kursa materiāli:

  • Instruction set architecture
Jāiesniedz MD3
26.04.2012.

Procesora arhitektūra

(Klātienes lekcija!) Procesora arhitektūra. Reģistru fails, ALU. Instrukciju reģistrs un dekodētājs. IP reģistrs. Nulles reģistrs. Datu plūsma un tās kontrole. Zīmes paplašinātājs. Konveijera izpilde un tās tipiskās fāzes.

03.05.2012.

FPGA uzbūve. Veiktspējas uzlabošana.

FPGA arhitektūra un uzbūve. CLB. IOB. Konfigurējama komutācija (interconnect). FPGA uzbūves optimizācijas aspekti.

CPU veiktspēja saistībā ar koda kompilātoriem. Spekulatīva izpilde. "Branch prediction". "Value prediction". "Trace caches" un "Value caches". Enerģijjas patēriņa optimizācijas. "Clock gating". "Voltage scaling".

Paziņots MD4 - FPGA dizains.
10.05.2012.

Procesora veiktspēja

CPU veiktspējas uzlabošana. Superskalāras arhitektūras. Vairāki paralēli izpildāmi ALU un citi moduļi. Mūra likums. Ievads kešatmiņās un lokalitātes princips. Datu un instrukciju kešatmiņas.

Jāiesniedz MD4


17.05.2012.

Datu kopnes

Wishbone kopne. Resursu arbitrācija. Atmiņas pieejas saskarne.


24.05.2012.

Atmiņas arhitektūra

Atmiņas masīvi. Statiskā un dinamiskā atmiņa.


21.06.2012. 10:30 Eksāmens - projektu demonstrācija un plakāti. Pārcelts uz 27.06 !
27.06.2012. 10:30 Eksāmens - projektu demonstrācija un plakāti.

MD

Mājas darbi.

MD1

Izvērtēt Spartan 3E pielietojumu mini-datora izstrādei.

Uzrakstīt esseju vienas lapas apjomā, kas atbild uz šādiem jautājumiem mini-datora projektēšanas kontekstā:

  • Kādi resursi pieejami uz Spartan 3E attīstītājrīka
  • Vai attīstītājrīka FPGA ietilpība ir atbilstoša minidatora izstrādei?
  • Kādi parametri būtu šādam mini-datoram? Piemēram, ātrums, vārda platums, atmiņas apjoms...
  • Kādas perifērijas iekartas šāds dators atbalstītu?
  • Kādu operētājsistēmu būtu iespējams darbināt uz šī prototipa?

Mājas darbu iesniegt kā pdf failu pa epastu saskaņā ar kursa noteikumiem.


MD2

Tuvojoties Lieldienām aicinu tām gatavoties un uzbūvēt šūpoles ("lai odi nekož") ... ar FPGA vadību, lietojot Verilog.

Šūpoles varat veidot vienā no diviem variantiem:

  • Variants A: Šūpoles ir LED gaismiņas uz dēļa, kas periodiski "skrien" uz vienu pusi un atpakaļ.
  • Variants B: Šūpoles ir reālas šūpoles (piemēram, modelis ka būvets no LEGO Technics vai Mindstorms, kas pieejami DiLab), ko kustina servo motors (arī pieejams DiLab), kuru vada FPGA. Šajā gadījumā jums jāizstrādā iekārta kas ģenerē attiecīgus signālus servo motora vadībai. Tie ir impulsi ar laikā mainīgu garumu. Sīkāka informācja atrodama lasot dokumentus par servo motoru vadību.

Noklusētais svārstību perioda garums - 1 sekunde.

Bonusa punkti:

  • +10% - kustības ātrumu regulē ar rotējošo pogu uz FPGA "dēļa". Pa labi - ātrāk, pa kreisi - lēnāk. Ar pogas piespiešanu vai slēdzi tiek iestadīts noklusētais ātrums.
  • +20% - kustība ir reālistiska, abos galos šūpoles kustas lēnāk un pa vidu visātrāk. Ātrumus un paātrinājumus aprēķināt pēc fizikas likumiem.

Mājas darbs tiek ieskaitīts pēc demonstrācijas praktiso darbu laikā. Tad iesūtāmi arī arhivēti projekta izejas koda faili.

Termiņš - pēc Lieldienām.


MD3

Eseja par kursa projekta moduļu uzbūvi: VGA, Atmiņas kontrolieris, PS/2 klaviatūra un CPU. Esejā aprakstīt arhitektūru, īpašības un konkretizēt saskarni attiecīgajiem moduļiem. Īpašu vērību pievērst CPU instrukciju kopas arhitektūras izvēlei.


MD4

Izstrādāt projektu FPGA arhitektūrai, tai skaitā CLB shēmu, balstoties uz lekcijas materiāliem un diskusiju.

  • Parametri: 4x4 CLB matrica. Katrā CLB 3 ieeju LUT un viens Flip-Flop trigeris.
  • Mērķis: minimizēt elementu, komutācijas vadu un konfigurācijas bitu skaitu.
  • Iesniegt kā pdf dokumentu:
  1. attēlu ar FPGA arhitektūru
  2. attēlu ar CLB arhitektūru
  3. aprakstu un resursu novērtējumu (konfigurācijas biti uz CLB, komutāciju un kopā) ne vairāk kā 1 lpp.

Saites

Digital design textbooks @ Digilent Inc.

Xilinx ISE WebPACK 12.2

Xilinx attīstītajrīki

DiLab ir pieejami sekojoši Xilinx (Digilent) attīstītajrīki:

Video applications using FPGA

HDL tutorials

IP cores priekš FPGA


Citi kursi un saites