Učni načrt predmeta

Predmet:
Snovanje vgradnih sistemov
Course:
Embedded System Design
Študijski program in stopnja /
Study programme and level
Študijska smer /
Study field
Letnik /
Academic year
Semester /
Semester
Informacijske in komunikacijske tehnologije, 3. stopnja Računalniške strukture in sistemi 1 1
Information and Communication Technologies, 3rd cycle Computer Structures and Systems 1 1
Vrsta predmeta / Course type
Izbirni / Elective
Univerzitetna koda predmeta / University course code:
IKT3-699
Predavanja
Lectures
Seminar
Seminar
Vaje
Tutorial
Klinične vaje
work
Druge oblike
študija
Samost. delo
Individ. work
ECTS
15 15 15 105 5

*Navedena porazdelitev ur velja, če je vpisanih vsaj 15 študentov. Drugače se obseg izvedbe kontaktnih ur sorazmerno zmanjša in prenese v samostojno delo. / This distribution of hours is valid if at least 15 students are enrolled. Otherwise the contact hours are linearly reduced and transfered to individual work.

Nosilec predmeta / Course leader:
izr. prof. dr. Gregor Papa
Sodelavci / Lecturers:
doc. dr. Anton Biasizzo
Jeziki / Languages:
Predavanja / Lectures:
Slovenščina, angleščina / Slovenian, English
Vaje / Tutorial:
Pogoji za vključitev v delo oz. za opravljanje študijskih obveznosti:
Prerequisites:

Zaključen študij druge stopnje s področja informacijskih ali komunikacijskih tehnologij ali zaključen študij druge stopnje na drugih področjih z znanjem osnov s področja predmeta. Potrebna so tudi osnovna znanja matematike, računalništva in informatike.

Completed second cycle studies in information or communication technologies or completed second cycle studies in other fields with knowledge of fundamentals in the field of this course. Basic knowledge of mathematics, computer science and informatics is also requested.

Vsebina:
Content (Syllabus outline):

Vgradni sistemi: uvod, pregled področja snovanja vgradnih sistemov, pregled glavnih smeri razvoja, trendov in tehnologij vgradnih sistemov.

Strojna oprema vgradnih sistemov: vgradni procesorji, mikrokrmilniki, RISC in DSP procesorji, pomnilnik in neizbrisljiv pomnilnik, vhodno/izhodne naprave, prekinitve, vmesniki, časovniki, pretvorniki, krmiljenje napajanja.

Napredne strukture vgradnih sistemov: večprocesorski vgradni sistemi, zanesljivi vgradni sistemi, namenska strojna jedra, rekonfigurabilni sistemi.

Izvedba s programirljivimi vezji FPGA: vezja FPGA, jezik za opis strojne opreme VHDL, mehka procesorska jedra, jedra zunanjih naprav, razvijalska vezja FPGA.

Izvedbe zmogljivejših vgradnih sistemov:
- ARM procesorji,
- FPGA strojni pospeševalniki,
- sistemi z nizko porabo energije.

Programska oprema vgradnih sistemov: operacijski sistem, razvrščevalnik opravil, obdelava prekinitev in izjem, latentnost prekinitev, operacijski sistemi v realnem času, gonilniki.

Snovanja programske opreme: tok razvoja programske opreme, prevajanje izvorne kode in križni prevajalniki, prilagoditev jedra operacijskega sistema, simulacija in emulacija, razhroščevanje.

Napredno snovanje vgradnih sistemov: sočasno načrtovanje programske in strojne opreme.

Embedded system: introduction, embedded system design survey, new research areas, trends and technologies in embedded system design.

Embedded system hardware: embedded processors, microcontrollers, RISC and DSP processors, RAM memory and nonvolatile memory, peripheral devices, interrupts, interfaces, timers, converters, power control.

Advanced embedded system structures: multiprocessor embedded system, dependable embedded system, application specific hardware cores, reconfigurable systems.

FPGA based implementation: FPGA circuits, VHDL hardware description language, soft processor cores, peripheral cores, FPGA development boards.

Advanced embedded system implementations:
- ARM processors,
- FPGA hardware accelerators,
- Low power design.

Embedded system software: operating system, task scheduler, interrupt and exception servicing, interrupt latency, real-time operating system, device drivers.

Embedded system software design: software design flow, source code compilation and cross-compilers, operating system kernel porting, simulation and emulation, debugging.

Advanced topics in embedded system design: hardware/software co-design.

Temeljna literatura in viri / Readings:

Izbrana poglavja iz naslednjih knjig: / Selected chapters from the following books:
- S. Heath, Embedded Systems Design. Newnes, 2003. ISBN 0-750-65546-1.
- K. Iniewski, Embedded Systems: Hardware, Design and Implementation. Wiley, 2013. ISBN 978-1-118-
35215-1.
- A.A. Jerraya and W. Wolf, Multiprocessor Systems-on-Chips. Elsevier, Morgan Kaufmann Publishers,
2005. ISBN 978-0-123-85251-9.
- F. Vahid and T. Givargis, Embedded System Design: A Unified Hardware/Software Introduction. John
Wiley & Sons, 2002. ISBN 0-471-38678-2.
- S. Hauck and A. DeHon, Reconfigurable Computing: The Theory and Practice of FPGA-Based Computing.
Morgan Kaufmann, 2008. ISBN 978-0-123-70522-8.
- J.G. Ganssle, The Art of Designing Embedded Systems. Newnes, 2008. ISBN 0-080-56879-3.

Cilji in kompetence:
Objectives and competences:

Cilj predmeta je nadgraditi znanje s področja vgradnih sistemov ter pridobiti poglobljeno znanje o naprednih metodah snovanja stojne ter programske opreme vgradnih sistemov.

Kompetence študenta z uspešno zaključenim predmetom bodo vključevale poznavanje zmogljivih vgradnih sistemov, sposobnost snovanja napredne strojne opreme, sposobnost snovanja namenskih strojnih jeder in snovanja programske opreme vgradnih sistemov.

The goal of the course is to upgrade the knowledge of the field of embedded system and to gain deeper knowledge of the advanced embedded system hardware and software design methods.

The competencies of the students completing this course successfully would include the knowledge of the state-of-the art embedded systems, the ability to design advanced embeded system hardware, to
design application specific hardware cores, and to design embedded system software.

Predvideni študijski rezultati:
Intendeded learning outcomes:

Študenti bodo z uspešno opravljenimi obveznostmi tega predmeta pridobili:
- poglobljeno poznavanje področja vgradnih sistemov,
- poznavanje zgradbe in delovanja strojne opreme naprednih vgradnih sistemov,
- poznavanje programskih komponent naprednih vgradnih sistemov in njihove povezanosti s strojno opremo,
- sposobnost snovanja strojne opreme vgradnih sistemov za dano aplikacijo,
- poznavanje sistemov-v-čipu in večprocesorskih vgradnih sistemov,
- poznavanje okolij za razvoj programske opreme vgradnih sistemov,
- sposobnost snovanja, simuliranja in razhroščevanja programske opreme vgradnih sistemov,
- sposobnost snovanja realno-časovne programske opreme za vgradne sisteme,
- sposobnost razvoja vgradnega sistema s programirljivimi vezji FPGA z rekonfigurabilnimi moduli.

Students successfully completing this course will acquire:
- In-depth knowledge of the field of the embedded systems,
- Knowledge of the structure and operation of the advanced embedded system hardware,
- Knowledge of software components of the advanced embedded system and their interaction with hardware,
- Ability to design application specific embedded system hardware,
- Knowledge of system-on-chip and multiprocessor embedded systems,
- Knowledge of the design environments for the embedded system software design,
- Ability to design, simulate, and debug the embedded system software,
- Ability to design real-time software for the embedded system,
- Ability to develop custom embedded system based on FPGA devices using reconfigurable modules.

Metode poučevanja in učenja:
Learning and teaching methods:

Predavanja, seminar, konzultacije, individualno delo

Lectures, seminar, consultations, individual work

Načini ocenjevanja:
Delež v % / Weight in %
Assesment:
Seminarska naloga
50 %
Seminar work
Ustni zagovor seminarske naloge
50 %
Oral defense of seminar work
Reference nosilca / Lecturer's references:
1. MEHRA, Sumiran, RAUT, Gopal, DAS, Ribhu, VISHVAKARMA, Santosh Kumar, BIASIZZO, Anton. An empirical evaluation of enhanced performance softmax function in deep learning. IEEE access. [in press] 2023, 13 str. ISSN 2169-3536. DOI: 10.1109/ACCESS.2023.3265327.
2. RAUT, Gopal, BIASIZZO, Anton, DHAKAD, Narendra, GUPTA, Neha, PAPA, Gregor, VISHVAKARMA, Santosh Kumar. Data multiplexed and hardware reused architecture for deep neural network accelerator. Neurocomputing. [Print ed.]. 2022, vol. 486, str. 147-159, graf. prikazi, tabele. ISSN 0925-2312. https://dirros.openscience.si/IzpisGradiva.php?id=14652, DOI: 10.1016/j.neucom.2021.11.018
3. VREČA, Jure, PILIPOVIĆ, Ratko, BIASIZZO, Anton. Hardware–software co-design of an audio feature extraction pipeline for machine learning applications. Electronics. Feb. 2024, vol. 13, no. 5, str. 1-14, DOI: 10.3390/electronics13050875
4. BIASIZZO, Anton, KOROUŠIĆ-SELJAK, Barbara, VALENČIČ, Eva, PAVLIN, Marko, SANTO-ZARNIK, Marina, BLAŽICA, Bojan, O'KELLY, Damian, PAPA, Gregor. An open-source approach to solving the problem of accurate food-intake monitoring. IEEE access. 2021, vol. 9, str. 162835-162846. ISSN 2169-3536. DOI: 10.1109/ACCESS.2021.3128995
5. PAPA, Gregor, SANTO-ZARNIK, Marina, VUKAŠINOVIĆ, Vida. Electric-bus routes in hilly urban areas : overview and challenges. Renewable & sustainable energy reviews : an international journal. [Print ed.]. 2022, vol. 165, str. 112555-1-112555-19. ISSN 1364-0321