Courses
Undergraduate Courses
[ΗΥ-501] HARDWARE/SOFTWARE CO-DESIGN tutors: Dr Nikolaos Voros
The goal of this course is to introduce to the students the challenges and problems when designing systems comprising both from hardware and software. During the course, the students will learn about:
- Fast evolution of product properties, like: more functionality and diversity; the requirement to manage product families; the requirement for more effort when designing new, functionally complex systems; the need for more designers involved in design of a product
- Fast evolution of technologies, requiring frequent adaptations of the methodology
- New application domains, requiring novel use of designer expertise
- Decreasing time-to-market (TTM) despite increased functionality, diversity and complexity
- Demand for decreasing cost in the market encountering price erosion
Moreover, the students will learn techniques how to improve the product development capabilities and how to cope with the above challenges.
The knowledge and skills acquired will form the basis for the courses of forthcoming semesters like EMBEDDED SYSTEMS I and EMBEDDED SYSTEMS II.
[ΗΥ-502] MICROPROCESSORS & MICROSYSTEMS tutors: Dr Christos Antonopoulos
The main objective of this course is to introduce the students to the areas of microcontroller systems and microprocessors. In this context in-depth analysis and presentation will be offered concerning the fundamentals components of contemporary microcontroller systems, the architecture of such systems as well as the performance and interface capabilities with the end user. At the same time a critical goal will be offer valuable training concerning the use and programming of typical respective platforms.
Following the successful completion of the course students will have obtained knowledge and skills required in more specialized course like Digital Signal Processing, Telecommunications, Networks, Sensors Networks, Embedded systems etc.
[ΗΥ-503] REAL TIME SYSTEMS tutors: Dr Nikolaos Voros
In the context of the course, the students will be taught:
- Implementation theory of real time systems
- Architectures and operating systems for time sharing and performance assurance in worst case scenarios
- Analysis and routing techniques
- Requirements in methodologies and analysis languages
- Confirmation and validation techniques for real time systems
[ΗΥ-601] FORMAL SYSTEM MODELING LANGUAGES tutors: Dr Nikolaos Voros, Christos Panagiotou
The main goal of the course is to introduce to the students the concepts of system design using formal languages. In this context, SDL (Specification and Description Language) will be presented. The structural constructs of the language will be detailed and the students will learn how to SDL for the design of complex systems. In parallel, the students will be trained in using SDL tools during all system design phases.
After the successful course completion, the students will have acquired the knowledge and the skills for modeling complex systems using SDL. Moreover, they will be able to develop, control and correct hierarchical system models based on SDL and to produce C code for from the models of the system under development.
The knowledge and skills acquired will form the basis for the courses of forthcoming semesters like EMBEDDED SYSTEMS I.
[HY-602] EMBEDDED SYSTEMS I tutors: Dr Nikolaos Voros, Dr Christos Antonopoulos
[ΗΥ-603] ADVANCED PARALLEL ARCHITECTURES tutors: Christos Panagiotou
[ΗΥ-604] SPECIAL PURPOSE PROCESSORS tutors: Christos Panagiotou
The main objectives of this course if to introduce the students to the areas of application specific microprocessors, respective applications and requirements. In this context, specific architectures, approaches and implementations will be presented and analyzed focusing on specific and specialized requirements while differentiating from general purpose counterparts.
Following the successful completion of the respective lectures the students will have acquired the required knowledge and skills for following courses like digital signal processing, telecommunications, networks, sensor networks, embedded systems etc.
[ΗΥ-701] EMBEDDED SYSTEMS II tutors: Dr Nikolaos Voros, Christos Panagiotou
[ΗΥ-702] ARCHITECTURES OF NETWORK SYSTEMS AND PROCESSORS tutors: Christos Panagiotou
Postgraduate Courses
[MSC 14] HARDWARE/SOFTWARE SYSTEM DESIGN FRAMEWORKS AND METHODOLOGIES tutors: Dr Nikolaos Voros, Dr Georgios Keramidas
In the context of the course, the students will be taught:
- Domain based Methodological Needs: Telecommunications, Automotive, Bioinformatics, Signal- and Image Processing, Cyberphysical systems
- Introduction to Design Methodologies: Hardware/Software Engineering Processes, Requirements Analysis, Iterative and Incremental Development, Object Oriented System Modelling. Introduction to Formal Methods
- Program Design: Matlab/Scilab based design, SystemC based design, ImpulseC based design, VHDL based design, High Level Synthesis Tools/C-to-HDL tools
- Quality assurance: Hints and tips, Design Patterns for embedded systems
- Architecture Based Design: Single core architectures, Multicore architectures, Reconfigurable architectures, Architectural Templates, Architecture Description Languages, Networks-on-Chip
- Hardware/Software Partitioning Tools and Methodologies: Scheduling and Allocation, Partitioning algorithms, Functional evaluation of design alternatives
- Evaluation Frameworks: How to test programs to verify their correctness: traditional vs formal methods, Test Driven Development, Testing Frameworks
[MSC 43] EMBEDDED SYSTEM DESIGN tutors: Dr Nikolaos Voros, Dr Georgios Keramidas, Dr Christos Antonopoulos, Dr Vaggelis Mariatos
In the context of the course, the students will be taught:
- Review of Embedded System Design: System-on-Chip (SoC) and System-of-Systems (SoSs)
- Embedded System Architecture: Modern embedded systems architecture overview. CISC/RISC processors overview, Case studies of small RISC processors (ARM, MIPS, ARC, Intel 8051)
- Building blocks of embedded systems: Caches, memory and network-on-chip (NoC) architectures, Digital Signal Processors (DSPs), Embedded Graphic Cards, Microcontrollers
- Memory system design: Memory systems and types (flash, CAMs etc)
- Embedded development methodologies and tools: Embedded system modeling, Real-time constraints and constraint-driven design (time, size, cost trade-offs)
- Software techniques, compilers and operating systems: Software and firmware for embedded systems, Software/compiler optimization techniques to decrease execution and/or power consumption of embedded software, Embedded system programming, Parallel processing in (multicore) embedded systems, Reconfigurable systems