Synthesis and optimization of microelectronic systems

The content on this page was translated automatically.

The course takes place in the winter semester.

Dates: Wednesdays between 10:00 and 13:00 in WA -1606 

Structure: 6 CP, 2V+1Ü, 3 SWS

Contents and goals

The aim of the course is an introduction to the basic algorithms and data structures used in the high-level design flow of digital systems as well as an overview of the general subject area. For this purpose, the lecture deals with the algorithms and procedures in HW/SW codesign, in high-level synthesis, register transfer synthesis and in register transfer optimization as well as the data structures used for this purpose.

General optimization approaches and concrete optimization algorithms are discussed, as they are the basis for all current software systems in industrial use in digital design.

Thus, the first part of the system design (high-level design) is covered in the lecture from the side of the methods and algorithms used. The resulting structural description of the circuit to be implemented (optimized gate netlist) can now be implemented in various ways. The methods in the realization in the form of an ASIC design (application-specific integrated circuit), the so-called physical design, are dealt with in detail in the lecture"Computer-aided design...". You can learn more about the target technology FPGA (field-programmable gate array) in the lecture"Reconfigurable Structures" !

The course (2V+1Ü, 6 CP) is intended for Master students ofComputer Science, Electrical Engineering and Mechatronics with an interest in Computer Engineering or Information and Communication Technology (ICT).

Learning Objectives: The learner will be able to.

  • outline the process and goals of high-level synthesis,
  • explain given or known algorithms,
  • compare implementations of given algorithms,
  • develop extensions for existing algorithms,
  • evaluate synthesis results qualitatively.

The lecture will also use pseudocode formulations of algorithms. You will learn to understand pseudocode and also to reproduce it step by step. The re-implementation of algorithms in a programming language will also be practiced.


All materials as well as a forum can be found in Moodle of the University of Kassel. Please log in to Moodle in any case, as current information will be disseminated via Moodle.

All course materials as well as a discussion forum can be found in the Moodle course of the lecture. Please be sure to enroll in this course if you plan to attend the lecture.

Literature: The following textbooks will be used in the lecture.

  • Patrick R. Schaumont. 2010. a practical introduction to hardware/software codesign (1st ed.). Springer Publishing Company, Incorporated.
  • Giovanni DeMicheli: Synthesis and Optimization of Digital Circuits (McGraw-Hill Series in Electrical & Computer Engineering), Mcgraw-Hill Publ.Comp. (March 1994), ISBN: 0070163332. 
  • Petra Michel, Peter Duzy , Ulrich Lauther (Editors): The Synthesis Approach to Digital System Design (Kluwer International Series in Engineering & Computer Science), Springer, Berlin; Edition: 2 (March 1992), ISBN: 0792391993 

Further sources: An online course on complexity theory: (please copy the link into your browser address bar).

Udacity is an organization committed to democratizing higher education by offering science degree level courses on its web platform . Participation in the course is free of charge.

Proof of performance

The certificate of achievement will be awarded by means of a term paper with lecture and disscussion. The exact modalities will be announced in the course.