• Mixed-Signal Systems
  • Lecture Schedule:
    • Tue/Thu 10am-11:30am, Room: EEEI 123 EEE 421 (SC2)

Announcements

  • A1/15: Welcome to EE 224!
  • 1/15: New room assignment: EEE 421 (SC2)
  • 2/6: In preparation for Assignment #1:
    • Let’s have fun with Python programming. Here is a sample Python3 code to (1) determine the Butterworth filter order from specifications, and (2) determine the normalized ladder component inductor and capacitor values. Try to run this code to make sure you have a working Python3 setup.
      • 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.
      • Update: 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
    • 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.
      • Update: Here is an sample Python code for invoking Spectre via command line, and then plotting the magnitude and phase response, as well as the group delay. Plots are then saved as PDF files.
  • 2/12: Assignment #1 is here. Due 5pm, 3/1.
    • Assignment #1 submission link. PDF files only. This is via Google forms so please use your EEE account.
    • Update: Here is a sample netlist for an RC circuit, and a sample python code to run the Spectre noise analysis. To run the simulation, at the command line (assuming you have already installed anaconda in your account):
      • ~/anaconda3/bin/python python_code.py netlist.scs
  • 2/13: Updated Assignment #1. Please download it again.
  • 2/16: Assignment #1 Update: Instead of sending assignments via email, please use the submission link above.
  • 2/26: No class today.
  • 3/26: Assignment #2 is here. Due 5pm, 4/12.
    • Here is a sample netlist containing the tuneable Gm cell as a subcircuit with parameters k and Gm.
    • Update: Here is a sample netlist for plotting the ac response for different tuning voltages, a sample netlist for plotting the ac response for different temperatures, and a sample Python code to run and plot the results.
  • 5/20: Here is a sample netlist for simulating a serial charge redistribution DAC, using this Python code.
    • Auxillary Python codes used by the main code above:
      • Read transient analysis results (code)
      • Plot transient analysis results (code)
  • 5/20: Here is a sample netlist for Monte Carlo simulation, using this Python code.
  • 5/25: Assignment #3 is here. Due 5pm, 5/31.

Class Lectures

  • Lecture 0: Introduction and Review (pdf)
  • Lecture 1: Filter Basics (pdf)
  • Lecture 2: Filter Families (pdf)
  • Lecture 3: Active Filters; Signal Flow Graphs (pdf) (pdf)
    • Sample Spectre netlist for a 5th-order opamp-RC integrator-based active lowpass Butterworth filter, including the balun subcircuit for differential to single-ended conversions
  • Lecture 4: Filter Non-idealities (pdf)
  • Lecture 5: Filter Tuning (pdf)
  • Lecture 6: High Pass and Band Pass Filters
  • Lecture 7: Discrete-Time Filters
  • Lecture 8: Switched-Capacitor Filters
  • Lecture 9: Introduction to Data Converters

References

  • Williams, A., Taylor, F. J. Electronic Filter Design Handbook, 4e McGraw-Hill Professional, 2006.
  • Zverev, A. I. Handbook of Filter Synthesis. New York: John Wiley and Sons, 1967.

Simulation Resources

  • Cadence Spectre Circuit Simulator Reference
    • /nfs/cad/cadence/MMSIM151/doc/spectreref/spectreref.pdf
  • Cadence Spectre User Guide
    • /nfs/cad/cadence/MMSIM151/doc/spectreuser/spectreuser.pdf
  • Cadence Spectre Components and Device Models Reference
    • /nfs/cad/cadence/MMSIM151/doc/spectremod/spectremod.pdf