Single-Course Engelsk 5 ECTS

Introduction to Chip Design

Overall Course Objectives

This course introduces the design of digital integrated circuits, equipping students with theoretical foundations and hands-on experience in modern chip design. The course covers fundamental digital circuit concepts, design methodologies, and the use of open-source tools for chip development.

Students will explore key topics such as transistor-level design, logic synthesis, floorplanning, verification, and System-on-Chip (SoC) integration. The course also emphasizes practical skills by guiding students through a complete chip design flow, leading to a virtual tapeout and the opportunity for a real tapeout.

The course is divided into lecture-based theoretical sessions and lab-based practical exercises. Topics include:
• Review of transistors, logic gates, combinational circuits, and sequential circuits.
• Introduction to ASIC design and PDK concepts.
• Memory types, organization, and implementation (including register files and memory macros in open-source PDKs).
• Partitioning, floorplanning, interconnects, and networks-on-chip.
• Verification.
• Open-source tools and languages (OpenLane2, Tiny Tapeout, Chisel).
• RTL synthesis, place-and-route, timing closure, and GDSII generation.

This course includes a team-based final project. Students will apply the concepts learned throughout the course and utilize open-source tools for tapeout.

See course description in Danish

Learning Objectives

  • Explain the basics operation of semiconductor devices, including transistors, and apply this knowledge to design basic digital circuits.
  • Use open-source design tools (OpenLane2, Tiny Tapeout, Chisel) to develop and simulate a digital circuit through a complete design flow.
  • Experience the full chip design process, including RTL synthesis, place-and-route, timing closure, and a virtual tapeout, with an opportunity for real tapeout.
  • Apply the principles of System-on-Chip (SoC) design, including interconnects, to develop a basic SoC and to evaluate multicore SoC architectures
  • Implement hardware verification techniques, including simulation-based verification and testbench design, to validate a simple SoC.
  • Analyze different memory architectures, including register files and memory macros, and design simple memory subsystems.
  • Demonstrate an understanding of ASIC design and process design kits (PDKs) by applying standard-cell-based design principles.
  • Gain practical experience in the design, simulation, and implementation of a simple SoC, and experience a virtual tapeout process.
  • Develop critical thinking and problem-solving skills through the design and analysis of medium complexity digital systems.

Course Content

• Fundamentals of digital circuit design (transistors, logic gates, combinational and sequential circuits).
• Introduction to ASIC design and PDK concepts.
• Memory design (types, organization, register files, and memory macros in open-source PDKs).
• System-on-Chip (SoC) design (partitioning, floorplanning, interconnects, and networks-on-chip).
• Verification methodologies and continuous integration.
• Open-source tools and design flows (OpenLane2, Tiny Tapeout, Chisel).
• RTL synthesis, place-and-route, timing closure, and GDSII generation.
• Tapeout process (virtual tapeout with SkyWater PDK, real tapeout with Tiny Tapeout).
• Team-based final project (SoC design and implementation using open-source tools).

Possible start times

  • 6 – 20 (Wed 13-17)

Recommended prerequisites

02139/02132/02135, Basic skills in programming and digital electronics including some knowledge of a hardware description language.

Teaching Method

Lectures, group work, and homework. Mandatory final project.

Faculty

See course in the course database.

Registration

Language

Engelsk

Duration

13 weeks

Institute

Compute

Place

DTU Lyngby Campus

Course code 02118
Course type Bachelor
Semester start Week 6
Semester end Week 20
Days Wed 13-17
Price

9.250,00 DKK

Registration