182.701 HW/SW Codesign
This course is in all assigned curricula part of the STEOP.
This course is in at least 1 assigned curriculum part of the STEOP.

2020W, LU, 4.5h, 4.5EC
TUWEL

Properties

  • Semester hours: 4.5
  • Credits: 4.5
  • Type: LU Laboratory Exercise
  • Format: Online

Learning outcomes

After successful completion of the course, students are able to

  •  perform an efficient HW/SW partitioning for a given problem
  •  understand the implications of a decision for a HW- or a SW-implementation
  • develop and integrate custom hardware components for a soft-core processor
  •  complete autonomously a small challenging problem in a team
  •  accomplish time management for a small project

Subject of course

Solution of a practical assignment from the field of HW-SW codesign - design, commissioning and optimisation of a complete system consisting of a processor, self-designed HW modules (FPGA), software (including drivers). Examples of necessary steps are:

  • Code optimization (C-level)
  • Rewriting code in assembly when compilers do not achieve the optimum
  • Adding application-specific instructions to perform common operations to the instruction set of the processor
  • Transferring functionality into hardware (designing (or finding) appropriate modules and integrating them)

Teaching methods

The students learn to handle the soft-core processor Nios II from Intel and the corresponding tools such as the Platform Designer and Quartus. There is furthermore a major focus on giving the students a lot of room to make their own decisions.

Mode of examination

Immanent

Additional information

An overview and introduction to this course (as well as other Master courses offered by the ECS group) will be given on

Oct 2nd 2020 at 9am at https://tuwien.zoom.us/j/96129868152 

 

ECTS Breakdown

98.5 h    Solving the task assignments
      4 h    Preparation of the mid-term presentation
      4 h    Preparation of the final presentation
      6 h    Presence at the presentations/exercise interviews
-----------------------------------------------
112.5 h ( = 4.5 ECTS)

Lecturers

Institute

Course dates

DayTimeDateLocationDescription
Fri09:00 - 10:0002.10.2020 https://tuwien.zoom.us/j/96129868152 (LIVE)Course Introduction (+ preview/intro of other master courses of the institute)
Wed13:00 - 15:0007.10.2020 https://tuwien.zoom.us/j/95270238437?pwd=cGFidEdueVl2VHdXays0Zm1MY01FUT09 (LIVE)Tool Introduction (Quartus, Nios 2, Platform Deseigner, Remote Access)
Tue14:00 - 16:0013.10.2020 https://tuwien.zoom.us/j/92329941447?pwd=Mk82cG1TSTdBZ3V1cWZDV3VqRFppQT09 (LIVE)Performance Lecture
Thu16:00 - 18:0029.10.2020 TBA (LIVE)Hardware modelling lecture and maintask Q/A
Thu00:00 - 23:5924.12.2020 Location and Date TBA (LIVE)Midterm Presentations

Examination modalities

demonstration of the acchieved solution to the supervisor and defence of implemenation details
presentation of a proper concept to the remaining groups and discussion of chosen design decisions.

Distance-Learning Information:

This course will be held using distance learning. Zoom is used for lectures and meetings. Exercise interviews are also held online (a webcam is required for identity verification).

For the initial phase of the course (non-group phase) a remote access to the required hardware (FPGA development board ) is provided. For the group-phase one FPGA board per group can be borrowed. Physical access to the computer lab (TILab) is not possible during this semester!

Based on the current situation we will decide whether the midterm-presentations (early December) will be held in person at the university or if we will switch to a remote solution for the meeting as well.  

 

Course registration

Begin End Deregistration end
14.09.2020 14:00 16.10.2020 23:59 16.10.2020 23:59

Curricula

Study CodeObligationSemesterPrecon.Info
066 504 Master programme Embedded Systems Not specified
066 938 Computer Engineering Mandatory elective

Literature

No lecture notes are available.

Previous knowledge

  • VHDL hardware design
  • C Software development
  • Computer architecture - instruction set, pipelining, memory organisation (SRAM, DRAM, I-/D-cache, scratchpad, register)
  • Understanding of algorithms - loop unrolling, pipelining, parallelization

Preceding courses

Accompanying courses

Continuative courses

Miscellaneous

Language

if required in English