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.
THis is a very tentative list of lectures. The course will be adapted to the students' needs and interests.
- Overview of chip design and its importance in modern electronics.
- Basic terminology and concepts.
- Covering the process
- AISC with standard cells
- PDK
- SiliWiz drawing and simulation
- Small exercises on connecting a module
- Write a testbench and run it on post-synthesis
- Do the same testbench in Chisel
- Synthesis flow
- Logic optimization
- Timing analysis
- Placement and routing
- OS tools (local) installation
- 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
- Start a Project
- APB
- AXI
- NoC
- Building systems
- Memories and Macros (IP blocks)
- Power grid
- Clock tree
- Clock gating
- Timing closure