Skip to content

os-chip-design/chip-design-intro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction to Chip Design

This course is an introduction to the design of digital integrated circuits. It covers the basics of digital circuits, the tools used, and the process of designing a chip. The course is based on the open-source tools and the open-source PDKs. Student projects will be taped out on Tiny Tapeout.

Lectures

THis is a very tentative list of lectures. The course will be adapted to the students' needs and interests.

Lecture 1: Introduction to the Chip Design course

  • Overview of chip design and its importance in modern electronics.
  • Basic terminology and concepts.
  • Covering the process
  • AISC with standard cells
  • PDK

Lecture 2: Transistor, inverter, NAND gate

  • SiliWiz drawing and simulation

Lecture 3: Verilog

  • Small exercises on connecting a module
  • Write a testbench and run it on post-synthesis
  • Do the same testbench in Chisel

Lecture 4: Tool flow

  • Synthesis flow
  • Logic optimization
  • Timing analysis
  • Placement and routing
  • OS tools (local) installation

Lecture X: memory and CPU register file

  • RF topics: FF, sync mem, latches, custom design
  • Synthesize in SkyWater and simulate
  • how to incorporate in processor designs (ask SyFive)
  • where are the limits

Lecture 5: Chip design rules

Lecture 6: Standard cells

  • Start a Project

Lecture 7: SoC and NoC

  • APB
  • AXI
  • NoC
  • Building systems

Lecture 8: Memory

  • Memories and Macros (IP blocks)

Lecture 9: Power & Clock

  • Power grid
  • Clock tree
  • Clock gating
  • Timing closure

Releases

No releases published

Packages

No packages published