- Introduction to Digital and Analog IC Design
- Lecture Schedule: Tue/Thu, 1pm – 2:30pm, Rm 421
- Lecture Instructors:
- Louis Alarcon
- Anastacia Alvarez
- Maria Theresa de Leon
- Laboratory Schedules: Mon, 9am – 12nn OR Sat, 1pm – 4pm, Rm 429
- Laboratory Instructor: Ryan Antonio
Announcements
- 1/14: Welcome to CoE 197U!
- 1/30: HW1 on MOS and inverter due on Feb 7, 1 pm (to be submitted in class)
- 2/1: HW2 on Gates due Feb 14, 1 pm (to be submitted in class)
- 2/12: NO LEC CLASS
- 2/15: Problem Set #1 due Feb 26, 12 noon
- 2/15: Sign-up for your consultation session for the midterm exam here. Please sign-up on or before Feb 22.
- 2/28: HW3 on MOS models and DC analysis. Due on March 8, Friday, 5pm (to be submitted in my pigeonhole). [solution]
- 3/11: HW4 on DC/AC analysis. Due on March 20, Wednesday, 5pm (to be submitted in my pigeonhole) [prob1-sol prob2-sol]
- 3/19: HW5 on Differential Pair. Due on March 26, Tuesday, 1pm (to be submitted in class)
- 3/25: HW6 on Process Variations and Device Mismatch. Due on May 31, Friday, 5pm, (via email)
- 5/26: Grades (link)
Class Lectures
Part 1: Digital Circuits
- Lecture 1: Introduction [pdf]
- Lecture 2: IC Fabrication and Scaling [pdf]
- Lecture 3: MOS Switch [pdf]
- Lecture 4: MOS Inverter [pdf]
- Lecture 5: CMOS Gates [pdf]
- Lecture 6: Energy-Delay Optimization [pdf]
- Lecture 7: Sequential Circuits [pdf]
- Lecture 8: Timing [pdf]
- Lecture 9: Summary
- Lecture 10: Review
Part 2: Analog Circuits
- Lecture 11-12: MOS Single-Stage Amplifiers: DC Analysis [pdf]
- Lecture 13-14: MOS Single-Stage Amplifiers: Frequency Response [pdf]
- Lecture 15: MOS Current Sources [pdf]
- Lecture 16: The High-Swing MOS Current Mirror [pdf]
- Lecture 17: The MOS Differential Pair [pdf]
- Lecture 18: The Two-Stage CMOS Operational Amplifier [pdf]
- Lecture 19: The Folded Cascode Operational Amplifier [pdf]
- Lecture 20: Review
Part 3: PVT Variations
- Lecture 21: Intro to PVT
- Lecture 22: Mathematical Tools for Variations
- Lecture 23: Effects of Variations
- Lecture 24: Power, Energy and Delay with Variations
- Lecture 25: Designing for Reliability
Lab Materials
- Extra Laboratory Resources:
- Lab Class Policies [pdf]
- Cadence Shortcuts [pdf]
- Student Profile Form [pdf]
- Set-up for Windows users [pdf]
- Lab 1: Introduction, Tool Familiarization and NMOS Characterization
- Exercise [pdf]; Worksheet [pdf]
- Lab 2: PMOS Characterization, The Inverter Switch
- Pre-lab [pdf]; Exercise [pdf]; Worksheet [pdf]
- Lab 3: More on Inverters, Optimizing The Inverter Chain, Static CMOS Gates Part I
- Pre-lab [pdf]; Exercise [pdf]; Worksheet [pdf]
- Lab 4: Static CMOS Gates Part II, Energy-delay Trade-offs
- Pre-lab [pdf]; Exercise [pdf]; Worksheet [pdf]
- DP 1: Logical Effort for MIPS R3000
- Doc [pdf]; Partner Sheet [link]; Submission Link [link]
- Lab 5: Layout Effects and Sequential Circuits
- Lab 6: Introduction to Analog, DC Analysis and Small-signal Parameters
- Exercise [pdf]; Worksheet [pdf]
- Lab 7: DC Transfer Curve, 1T Amplifiers
- Pre-lab [pdf]; Exercise [pdf]; Worksheet [pdf]
- Lab 8: AC Analysis, Current Sources, Current Mirrors
- Pre-lab [pdf]; Exercise [pdf]; Worksheet [pdf]
- Lab 9: Differential Pairs and Frequency Response of Transistors
- Exercise [pdf]; Worksheet [pdf]
- Lab 10: Design Exercise: Common Source with PMOS Load
- Take home for Holy Week
- Exercise [pdf]
- Lab 11: PVT Exercise
- DP 2: Two-Stage Amplifier Design
- Additional Lab Materials for Command-Line Execution of Spectre
- Look at this tutorial on how to run the Cadence Spectre simulator via the command line. This makes it easy to run Spectre simulations without the GUI overhead. Try to run the sample simulation in the tutorial to make sure your Cadence setup is working.
- One very good environment for Python3 is Spyder. You can download this for multiple platforms. The easiest way to install Spyder is as part of the Anaconda distribution.
- To install anaconda on your Microlab network account, download the Anaconda install script and run it. This will install Python3, Anaconda, and Spyder in your home directory.
- After the completion of the installation process, add the module si_prefix since it is not included in the default setup. At the command line, run pip install si_prefix
- Here is a sample netlist for Monte Carlo simulation, using this Python code.
- Auxillary Python codes used by the main code above:
- Read transient analysis results (code)
- Plot transient analysis results (code)