LU-DIP-b
Ī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.
- Pasniedzējs: Leo Seļāvo
- Vēstkopa komunikācijai par kursa aktualitātēm, uzdevumiem, termiņiem un problēmām:
- Google grupa lu-dip-b@googlegroups.com Lai pieteiktos, sekot http://groups.google.lv/group/lu-dip-b un pieslēgties ar savu google kontu, vai arī sūtīt epastu pasniedzējam.
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.
|
#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. |
Spartan 3E praktiskais darbs.
|
16.10.2020 |
Aparatūras apraksta valodas. Verilog. | |
23.10.2020 |
Verilog (turpinājums). Galīgs Stāvokļu Automāts (FSM)
CPU. DataPath (nobeigums). Ātrāks summators. Reģistru fails. |
Praktiskais darbs #PV1 par Verilog un galīgo stāvokļu automātu (FSM). Izveidot FSM (diagrammu) luksoforam, kurš maina gaismas no zaļās uz dzelteno un tad sarkano, tad atkal dzelteno, un tad visu atkārto.
|
30.10.2020 |
Atmiņa. Fiziskās realizācijas varianti. | |
06.11.2020 |
Vientakts Procesors. | |
13.11.2020 |
Kopnes, saskarnes, to iedalījums.
|
|
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 |
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.
PV1
Praktiskais darbs par Verilog un galīgo stāvokļu automātu (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
- Bonusa uzdevums: simulēt Verilog kodu ICE ietvarā.
PD - praktiskie darbi ar aparatūru zemā līmenī
Spartan 3E - projekta iestatījumi:
- Target device: xc3s500e-4fg320
Praktiskie darbi:
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
- 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)
- Introduction to Digital Design - VHDL Edition (PDF)
- 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 kompānijas (FPGA ražotājs) portāls
- Spartan 3E FPGA Family datasheet
- Spartan-6 FPGA Family datasheet
- Using Digital Clock Managers (DCMs) in Spartan-3 FPGAs
Xilinx attīstītajrīki
DiLab ir pieejami sekojoši Xilinx (Digilent) attīstītajrīki:
- ANVYL
- Anvyl Reference Manual: (PDF) (Website)
- ANVYL programmēšana - Pamācība, kā uzlādēt dizainu uz Anvyl dēļa
- UCF file templates.
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ā.
- ADC modulis PmodAD1 PB200064
- DAC modulis: PmodDA2 PB200-113
- 3.5mm konektori ar pastiprinātāju: PmodAmp1
- RCA konektori: Pmod CON4 (CON1 RevB)
- BNC konektori: Pmod CON2 PB200066
- 7-segmentu LED x 2: PmodSSD
- Pmod LED x 4: PB200076
- Komutācijas modulis PTPH PB200-001
- Seriālā zibatmiņa: PmodSF
- Video signālu dekodera modulis VDEC1
- Pmod kabelis 6x1
- Skaļrunis ar 3.5mm konektoru: SPEAKER
- Konektors vadiem PmodCON1
- Rotējošais enkoderis PmodENC
- USB saskarne PmodUSBUART
- Ultraskaņas distances mērītājs PmodMAXSONAR
- Audio DAC SPI PmodMIC3
Xilinx ISE instalācija
Xilinx ISE WebPACK (14.7)
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 (ver.12.2) PDF 5.04MB
- ISim User Guide (ver.12.2) PDF 1.96MB
Xilinx ISE lietošana
- UCF failu šabloni FPGA platformām.
Vispārīga lietošana
- ISE In-Depth Tutorial (ver.14.7) PDF
- Xilinx ISE dokumentācija - dažādi dokumenti
Simulācija ar ISim
- ISim User Guide (ver.14.7) PDF 1.96MB
- ISim in-depth Tutorial PDF
- Simulācija ar ISim - pamācības video
Simulācija ar ModelSim
- Xilinx ISE In-Depth Tutorial - PDF
- Pamācība no Pensilvānijas Universitātes
- How to do a Timing Simulation using Modelsim and Xilinx ISE - video pamācība
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.
- ANVYL programmēšana - kā uzlādēt dizainu uz Anvyl dēļa
- Video ar Anvyl programmēšanas piemēru
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)
- Verilog Tutorials
- handout by Peter Milder (15 pages).
- by asic-world (227 pages) PDF 876.25KB
- by asic-world, online version
- by NANDLand.com
- VHDL Tutorials
- VHDL Tutorial I (15 pages)
- VHDL Tutorial II (84 pages) PDF 391.95KB
- Debouncing
RISC-V
- Specifications
- Getting started - Assembly manual
- Green card
- RISC-V Instruction Set Manual from five-embeddev.com
- RISC-V Interpretators online
- RISC-V Online Assembler
Seriālie protokoli
- Asinhroni seriālais ports, RS232 un tml.
- SPI protokols
- SPI tutorial at Sparkfun
- I2C un 2-wire protokols
- I2C communication protocol at Circuit basics
- I2C Tutorial at Sparkfun
- One-wire protokols
- 1-wire protocol basics at rfwireless-world.com
- Guide to 1-wire devices at Maxim-IC
- USB
- Specifikācija - Infineon / Cypress.
IP cores priekš FPGA
- LatticeMicro 32 soft-procesors
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.
- 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)
- ASIC izmaksu kalkulators (Sigenics)
- HotMobile 2017 - Separated by Birth: Hidden Differences Between Seemingly-Identical Smartphone CPU's
Domu graudi
- Tranzistors - 1953.gada dokumentālā filma