Module also offered within study programmes:
General information:
Annual:
2017/2018
Code:
EME-1-501-s
Name:
Programmable logic devices
Faculty of:
Faculty of Electrical Engineering, Automatics, Computer Science and Biomedical Engineering
Study level:
First-cycle studies
Specialty:
-
Field of study:
Microelectronics in industry and medicine
Semester:
5
Profile of education:
Academic (A)
Lecture language:
Polish
Form and type of study:
Full-time studies
Course homepage:
 
Responsible teacher:
dr inż. Kasiński Krzysztof (kasinski@agh.edu.pl)
Academic teachers:
dr inż. Kasiński Krzysztof (kasinski@agh.edu.pl)
dr inż. Otfinowski Piotr (potfin@agh.edu.pl)
Module summary

Metody projektowania systemów rekonfigurowalnych z wykorzystaniem układów FPGA, języka VHDL. Programowanie FPGA, diagnostyka, projektowanie obwodów pod kątem FPGA.

Description of learning outcomes for module
MLO code Student after module completion has the knowledge/ knows how to/is able to Connections with FLO Method of learning outcomes verification (form of completion)
Social competence
M_K001 Student potrafi odpowiednio rozplanować pracę tak, by osiągnąć zamierzone i oczekiwane rezultaty np. pracując w grupie. ME1A_K04, ME1A_K05 Activity during classes,
Execution of laboratory classes
Skills
M_U001 Stosuje języki opisu sprzętu do projektowania podstawowych układów cyfrowych realizowanych w technice układów programowalnych. ME1A_U10, ME1A_U16, ME1A_U15, ME1A_U03, ME1A_U20 Activity during classes,
Execution of laboratory classes
M_U002 Wykorzystuje dostępne narzędzia do symulacji, optymalizacji oraz konfiguracji i diagnostyki prostych systemów cyfrowych. ME1A_U25, ME1A_U10, ME1A_U16, ME1A_U15, ME1A_U08 Activity during classes,
Execution of laboratory classes
Knowledge
M_W001 Opisuje zasadę działania, właściwości i rozpoznaje rodzaje układów programowalnych oraz wymienia popularne modele tych układów. ME1A_W18, ME1A_W06, ME1A_W19, ME1A_W13 Activity during classes,
Test results
M_W002 Wymienia podstawowe języki opisu sprzętu i rozróżnia je. ME1A_W18 Activity during classes,
Test results
M_W003 Wymienia obszary zastosowania układów programowalnych oraz różnice między programowalnymi układami logicznymi a układami mikroprocesorowymi. ME1A_W18, ME1A_W19, ME1A_W13 Activity during classes,
Execution of laboratory classes,
Test results
FLO matrix in relation to forms of classes
MLO code Student after module completion has the knowledge/ knows how to/is able to Form of classes
Lecture
Audit. classes
Lab. classes
Project classes
Conv. seminar
Seminar classes
Pract. classes
Zaj. terenowe
Zaj. warsztatowe
Others
E-learning
Social competence
M_K001 Student potrafi odpowiednio rozplanować pracę tak, by osiągnąć zamierzone i oczekiwane rezultaty np. pracując w grupie. - - + - - - - - - - -
Skills
M_U001 Stosuje języki opisu sprzętu do projektowania podstawowych układów cyfrowych realizowanych w technice układów programowalnych. + - + - - - - - - - -
M_U002 Wykorzystuje dostępne narzędzia do symulacji, optymalizacji oraz konfiguracji i diagnostyki prostych systemów cyfrowych. - - + - - - - - - - -
Knowledge
M_W001 Opisuje zasadę działania, właściwości i rozpoznaje rodzaje układów programowalnych oraz wymienia popularne modele tych układów. + - + - - - - - - - -
M_W002 Wymienia podstawowe języki opisu sprzętu i rozróżnia je. + - + - - - - - - - -
M_W003 Wymienia obszary zastosowania układów programowalnych oraz różnice między programowalnymi układami logicznymi a układami mikroprocesorowymi. + - + - - - - - - - -
Module content
Lectures:

Zakres tematyczny wykładów:
- Wprowadzenie do języków opisu sprzętu (Verilog, VHDL, System Verilog, SystemC).
- Architektury i zastosowania cyfrowych układów programowalnych.
- Oprogramowanie do syntezy i implementacji, ścieżki projektowania dla układów FPGA.
- Operatory i typy danych w języku VHDL. Opis behawioralny i strukturalny. Opis współbieżny i sekwencyjny. Poziomy abstrakcji w opisie układów cyfrowych. Układy kombinacyjne i sekwencyjne, liczniki, dekodery, multipleksery, rejestry przesuwne, operacje matematyczne, bloki specjalizowane (np. BlockRAM, mnożarka), dystrybucja sygnałów zegarowych, metastabilność. Maszyny stanów.
- Zagadnienia związane z weryfikacją projektu, symulacje, optymalizacja, pamięć konfiguracji, testbench’e.
- Bloki IP Core, interfejsy, generatory komponentów, biblioteki – zarys.
- Aspekty projektowania obwodów drukowanych pod kątem FPGA
- Zagadnienia związane z szybkimi interfejsami cyfrowymi.

Laboratory classes:

Zakres tematyczny laboratorium:
1. Wprowadzenie do środowiska Xilinx ISE i symulatora ModelSIM.
2. Synteza podstawowych układów cyfrowych (dekoderów, maszyn stanu, funkcji kombinacyjnych, pamięć rozproszona i blokowa) w języku VHDL.
3. Weryfikacja układów logicznych (symulacja funkcjonalna i czasowa, testbench).
4. Implementacja projektu w układzie FPGA (interfejs JTAG, metody programowania układu FPGA, wbudowany analizator logiczny).
5. Projektowanie obwodów drukowanych ściśle pod kątem układów FPGA.

Student workload (ECTS credits balance)
Student activity form Student workload
Summary student workload 106 h
Module ECTS credits 4 ECTS
Participation in lectures 28 h
Participation in laboratory classes 28 h
Realization of independently performed tasks 20 h
Preparation for classes 30 h
Additional information
Method of calculating the final grade:

Warunkiem uzyskania pozytywnej oceny końcowej jest uzyskanie pozytywnej oceny z wykonania ćwiczeń laboratoryjnych oraz pozytywnej oceny z kolokwium z wykładu.
Średnia ważona punktów (laboratorium: 70%, wykład 30%) podlega konwersji na ocenę końcową zgodnie z regulaminem studiów.

Prerequisites and additional requirements:

1. Podstawy elektroniki cyfrowej.
2. Podstawy cyfrowego przetwarzania sygnału.
3. Podstawy projektowania układów z wykorzystaniem oprogramowania CAD/CAM.

Recommended literature and teaching resources:

1. Kilts, Advanced FPGA Design, John Wiley and Sons, 2007.
2. E. Stavinov, 100 Power Tips for FPGA Designers, Create Space, 2011.
3. The Verilog Golden Reference Guide, Doulos, 1996.
4. Karen Parnell, Nick Mehta, Programmable Logic Design Quick Start Handbook, Xilinx, 2004.
5. www.xilinx.com
6. www.altera.com
7. Jerzy Pasierbiński, Piotr Zbysiński, Układy programowalne w praktyce, WKiŁ, 2002.
8. J. Majewski, P. Zbysiński, Układy FPGA w przykładach, BTC, 2007.

Scientific publications of module course instructors related to the topic of the module:
  1. K. Kasinski, et al., Test system of the Time-over-Threshold based chip optimized for linear transfer characteristics and low power for particle tracking applications, Proc. MIXDES 2015.
  2. K. Kasinski, et al., STS-XYTER, a High Count-Rate Self-Triggering Silicon Strip Detector Readout IC for High Resolution Time and Energy Measurements, Proc. 2014 IEEE NSS/MIC.
  3. G. W. Deptuch, G. Carini, T. Collier, P. Grybos, P. Kmon, R. Lipton, P. Maj, D. P. Siddons, R. Szczygiel, and R. Yarema, “Results of Tests of Three-Dimensionally Integrated Chips Bonded to Sensors,” IEEE Trans. Nucl. Sci., vol. 62, no. 1, pp. 349–358, Feb. 2015
  4. G. W. Deptuch, G. Carini, P. Grybos, P. Kmon, P. Maj, M. Trimpl, D. P. Siddons, R. Szczygiel, and R. Yarema, “Design and Tests of the Vertically Integrated Photon Imaging Chip,” IEEE Trans. Nucl. Sci., vol. 61, no. 1, pp. 663–674, Feb. 2014.
  5. P. Maj, “FPGA based extension to the multichannel pixel readout ASIC,” in 2013 IEEE Nuclear Science Symposium and Medical Imaging Conference (2013 NSS/MIC), 2013, pp. 1–4.
  6. G. W. Deptuch, G. Carini, P. Enquist, P. Grybos, S. Holm, R. Lipton, P. Maj, R. Patti, D. P. Siddons, R. Szczygiel, and R. Yarema, “Fully 3-D Integrated Pixel Detectors for X-Rays,” IEEE Trans. Electron Devices, pp. 1–1, 2015.
Additional information:

None