Integrated Circuits Design Automation (ILV)

Back
Course numberM2.02840.30.071
Course codeAutomation
Curriculum2023
Semester of degree program Semester 3
Mode of delivery Presencecourse
Units per week3,0
ECTS credits5,0
Language of instruction German

  • Students have a deep understanding and are experienced in hands-on work on actual scripting languages, applying meta-modelling and code generation for regular design structures, automated design generation for analog and digital designs and layouts.
  • They have an overview of state-of-the-art high-level synthesis with C/C++ in the digital design.
  • They can implement gm-over-Id methods in the analog design domain and understand layout generator concepts like Berkeley Analog Generator (BAG).

ILV "Digital Integrated Circuits 1"
ILV "Digital Integrated Circuits 2"
ILV "Analog Integrated Circuits 1"
ILV "Analog Integrated Circuits 2"
ILV "Computer Aided Design 1"
ILV "Computer Aided Design 2"

This module introduces advanced topics in the field of System-on-Chip design and will be offered as elective course. The choice of topic is open and will depend on demand or availability.

  • The course will provide an overview of actual scripting languages and dive into very actual and popular script languages like Python
  • Metamodelling is explained and will be investigated based on templates, XML, DTD, XSLT and similar for code generation. Standards like IP-XACT are investigated as well
  • For automated design generation, tools like HDL coders or abstract languages like Scala (used by Chisel), Python (used by Berkeley Analog Generator, Skillbridge or Pycell from Synopsys), or MATLAB for HW design will be introduced
  • High-level synthesis (HLS) will be explored from C/C++ entry down to ASIC implementation and FPGA prototyping
  • Usage of the gm/Id design method for analog block design will be explained
  • Concepts for layout generators of analog building blocks (like Berkley Analog Generator - BAG) will be introduced
  • An overview of state-of-the-art design practices for high complexity design and AI/ML infrastructure support in the design flow will be given
  • Practical examples

Lecture material as provided in the course (required)
Recommended reading as follows:

  • E. Matthes, Python Crash Course: A Hands-On, Project-Based Introduction to Programming, No Starch Press, 2023.
  • R. Martins, Analog Integrated Circuit Design Automation: Placement, Routing and Parasitic Extraction Techniques, Springer, 2017.
  • M. Lutz, Learning Python: Powerful Object-Oriented Programming, O'Reilly, 2013.
  • D. Jones, Python & XML: XML Processing with Python, O'Reilly, 2002.
  • E. R. Harold, W. S. Means, XML in a Nutshell, O'Reilly, 2004.
  • D. Tidwell, XSLT, O'Reilly, 2008.
  • H. Vuopio, C++ coding principles for High-Level Synthesis, Master Thesis, Univ. of Oulu, 2021.
  • N. Werblun, Closing the Analog Design Loop with the Berkeley Analog Generator, Berkeley Technical Report, 2019.
  • "Vivado HLS users guide", Xilinx Inc., 2021.
  • "HDL coder: Generate VHDL and Verilog code for FPGA and ASIC designs", Mathworks Inc., 2020.
  • T. Dillinger, VLSI Design Methodology Development, Pearson, 2019.
  • J. Chen et al., Mixed Signal Methodology Guide, Cadence Design Systems Inv., 2012.
  • D. Jansen et al., The Electronic Design Automation Handbook, Kluwer, 2003.
  • P. G. A. Jespers, B. Murmann, Systematic Design of Analog CMOS Circuits: Using Pre-Computed Lookup Tables,Cambridge University Press, 2017.

Project-based learning based on hands on examples.
Collaborative learning based on assignments covering different topics.
Flipped classroom by incorporating student presentations from asynchronous learning, (homework) tasks.

Integrated module examination
Immanent examination character: Written/oral exam, including homework assignments, presentations and lecture contribution