LU-DIP-m13
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:
- Google grupa lu-dip-m@googlegroups.com Lai pieteiktos, sekot http://groups.google.lv/group/lu-dip-m un pieslēgties ar savu google kontu, vai arī sūtīt epastu pasniedzējam.
Praktisko un mājas darbu iesniegšana izpildāma noteiktajos datumos un laikos elektroniski.
- Iesniegšanas termiņa laiks ir 30 minūtes pirms lekcijas sākuma.
- e-pasta Subj. jānorāda sekojošā formā "DIP MD1 Vards Uzvards" - piemērs MD1 iesniegumam.
- Iesniegto failu vārdam arī jābūt līdzīga formātā, bet 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% pirmo septiņu dienu laikā pēc termiņa, un
- 50% plus 10% par katru nokavēto dienu septiņas vai vairāk dienas pēc termiņa.
Kalendārs
Datums, nedēļa | Kursa saturs | Uzdevumi un piezīmes |
---|---|---|
12.02.2015. |
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". |
|
19.02.2015. |
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. |
26.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. |
|
05.03.2015. |
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ņš. |
12.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. |
19.03.2015. |
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. Takts ģeneratora sadales metodes. |
|
26.03.2015. |
Diskusija par kursa projektu - video kontrolieris ar OpenGL atbalstu. |
|
30.03.2015. - 06.04.2015. |
Lieldienu brīvdienas |
|
09.04.2015. |
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ņš. |
16.04.2015. |
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.04.2015. |
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. |
|
30.04.2015. |
Projekts - OpenGL kontrolieris |
|
07.05.2015. |
Projekts - OpenGL kontrolieris |
|
14.05.2015. |
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. |
|
21.05.2015. |
Kopsavilkums |
|
28.05.2015. |
Izvēlētās papildus tēmas |
|
20.06.2015. |
10:30 Eksāmens - projektu demonstrācijas un plakāti. |
PD - Praktiskie darbi
Praktiskie darbi.
PD1
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
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.
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
Literatūra
- Computer organization and design: the hardware/software interface
- Computer Organization & Design The Hardware/Software Interface, 2nd Edition PPT 5.89MB (lekciju slaidi no National Chiao Tung University)
- Computer Organization & Design The Hardware/Software Interface, 3nd Edition PPT 1.86MB (lekciju slaidi no National Chiao Tung University)
- FPGA-Based Prototyping Methodology Manual: Best practices in Design-for-Prototyping (FPMM) is a comprehensive and practical guide to using FPGAs as a platform for SoC development and verification.
- FPGA 101 - Making awesome stuff with FPGAs: Karsten Becker @ 30th Chaos Communication Congress [30c3] by the Chaos Computer Club
Digital design textbooks @ Digilent Inc.
- Introduction to Digital Design - Verilog Edition PDF 5.81MB
- Introduction to Digital Design - VHDL Edition PDF 6.68MB
- Real Digital - A hands-on approach to digital design
- Module 1: Introduction to Electronic Circuits PDF 465.54KB
- Module 2: Introduction to Digilent's Digital Design Circuit Boards PDF 65.94KB
- Module 3: Circuit Structure with an Introduction to CAD Tools PDF 247.60KB
- Module 4: Logic Minimization PDF 353.07KB
- Module 5: Introduction to VHDL PDF 197.37KB
- Module 6: Combinational Circuit Blocks PDF 244.46KB
- Module 7: Combinational Arithmetic Circuits PDF 361.00KB
- Module 8: Signal Propagation Delays PDF 126.77KB
- Module 9: Basic Memory Circuits PDF 232.41KB
- Module 10: The Structural Design of Sequential Circuits PDF 245.58KB
Saites
Xilinx produkti (FPGA čipi)
Xilinx attīstītajrīki
DiLab ir pieejami sekojoši Xilinx (Digilent) attīstītajrīki:
- Spartan-3E
Xilinx ISE WebPACK (14.7)
- ISE WebPACK 14.7 USB driver instalācija
Papildus:
- Digilent driver installation (no Xilinx portāla)
- Install Xilinx ISE on Ubuntu (learn&think)
- Install Linux ISE (George Smart)
Xilinx ISE WebPACK (12.2)
- Installer for Linux TAR/GZ 3.02GB (nepieciešams reģistrēties www.xilinx.com)
- Installer for Windows TAR/GZ 2.96GB (nepieciešams reģistrēties www.xilinx.com)
- ISE In-Depth Tutorial PDF 5.04MB
- ISE Design Suite: Logic Edition – A Quick Tour WMV 47.50MB
- ISim User Guide PDF 1.96MB
- How to Use the ISE Simulator (ISim) WMV 40.90MB
Video applications using FPGA
HDL tutorials
- Verilog Tutorials
- handout by Peter Milder (15 pages).
- by asic-world (227 pages) PDF 876.25KB
- by asic-world, online version
- VHDL Tutorials
- VHDL Tutorial I (15 pages)
- VHDL Tutorial II (84 pages) PDF 391.95KB
IP cores priekš FPGA
- LatticeMicro 32 soft-procesors
Ieteikumi prezentāciju veidošanā
Piezīmes par plakātu un prezentāciju veidošanu
Atsauksmes par kursu
Citi kursi un saites
- Circuitlab.com - vienkāršu shēmu testēšana interneta pārlūkā
- FPGA 4 fun! - FPGA informācija un projekti iesācējiem un ne tikai.
- Hades demonstration applets
- CPU Shack
- Why hardware development is hard by Dan Luu
- How a CPU is made (video)
- FPGA 101 - Making awesome stuff with FPGAs - FPGA 101 lekcija "30th Chaos Communication Congress (30c3) by the Chaos Computer Club (CCC)" konferencē.
- Intel: The Making of a Chip with 22nm/3D Transistors (video)
- Down to the silicon: how the Z80's registers are implemented
- MIT Introductory Digital Systems Lab (2008.g. MIT kurss)