Introduction

Analog (Integrated) Circuit Design

1 Introduction

Introduction

Important

All course material (source code of this document, Jupyter notebooks for calculations, Xschem circuits, etc.) is made publicly available on GitHub (follow this link) and shared under the Apache-2.0 license.

Please feel free to submit pull requests on GitHub to fix errors and omissions!

Introduction

Important

The production of this document would be impossible without these (and many more) great open-source software products: VS Code, Quarto, Pandoc, TexLive, Jupyter Notebook, Python, Xschem, ngspice, CACE, pygmid, schemdraw, Numpy, Scipy, Matplotlib, Pandas, Git, Docker, Ubuntu, Linux, …

Introduction

Important

Please use the IIC-OSIC-TOOLS image with tag 2026.06 or later!

Introduction

Further Reading

These notes are considered to be self-contained, although some explanations are kept short and probably lack depth. To dive into details, there are many excellent textbooks on analog circuit design available. Among them, we can recommend the following ones:

Introduction

Further Reading

  • (Gray et al. 2009) is a classic book and a definitive read.
  • (Razavi 2017) is an excellent introduction into CMOS analog circuit design.
  • (Sansen 2006) is a book with a lot of very useful information hard to find elsewhere.
  • (Hu 2010) is a great reference for MOSFET device physics and modeling.
  • (Tsividis and McAndrew 2011) is the in-depth reference for MOSFET device operation.

Additionally, there are several noteworthy IEEE paper series that we recommend:

Introduction

Further Reading

  • Shop Talk: What you didn’t Learn in School by Chris Mangelsdorf
  • The Analog Mind by Behzad Razavi
  • A Circuit for All Seasons by Behzad Razavi
  • Circuit Intuitions by Ali Sheikholeslami

Finally, (Pretl and Eberlein 2021) collects fifty variations of two-transistor circuits, ranging from simple standard configurations to ingenious arrangements. It is also available as an interactive web version.

1.1 IHP’s SG13G2 130nm CMOS Technology

IHP’s SG13G2 130nm CMOS Technology

Table 1: IHP SG13G2 devices
Component Device Name Specifications
Low-voltage (LV) NMOS sg13_lv_nmos operating voltage (nom.) \(V_\mathrm{DD}=1.5\,\text{V}\), \(L_\mathrm{min}=0.13\,\mu\text{m}\), \(V_\mathrm{th}\approx 0.5\,\text{V}\); isolated NMOS available
Low-voltage (LV) PMOS sg13_lv_pmos operating voltage (nom.) \(V_\mathrm{DD}=1.5\,\text{V}\), \(L_\mathrm{min}=0.13\,\mu\text{m}\), \(V_\mathrm{th}\approx -0.47\,\text{V}\)
High-voltage (HV) NMOS sg13_hv_nmos operating voltage (nom.) \(V_\mathrm{DD}=3.3\,\text{V}\), \(L_\mathrm{min}=0.45\,\mu\text{m}\), \(V_\mathrm{th}\approx 0.7\,\text{V}\); isolated NMOS available
High-voltage (HV) PMOS sg13_hv_pmos operating voltage (nom.) \(V_\mathrm{DD}=3.3\,\text{V}\), \(L_\mathrm{min}=0.45\,\mu\text{m}\), \(V_\mathrm{th}\approx -0.65\,\text{V}\)
Silicided poly resistor rsil \(R_\square=7\,\Omega \pm 10\%\), \(\text{TC}_1=3100\,\text{ppm/K}\)
Poly resistor rppd \(R_\square=260\,\Omega \pm 10\%\), \(\text{TC}_1=170\,\text{ppm/K}\)
Poly resistor high rhigh \(R_\square=1360\,\Omega \pm 15\%\), \(\text{TC}_1=-2300\,\text{ppm/K}\)
MIM capacitor cap_cmim \(C'=1.5\,\text{fF}/\mu\text{m}^2 \pm 10\%\), \(\text{VC}_1=-26\,\text{ppm/V}\), \(\text{TC}_1=3.6\,\text{ppm/K}\), breakdown voltage \(>15\,\text{V}\)
MOM capacitor n/a The metal stack is well-suited for MOM capacitors due to 5 thin metal layers, but no primitive capacitor device is available at this point.

1.2 Schematic Entry Using Xschem

1.3 Circuit Simulation Using ngspice

1.4 Integrated IC Design Environment (IIC-OSIC-TOOLS)

Integrated IC Design Environment (IIC-OSIC-TOOLS)

Preparation

Please make sure to receive information about your personal VM access ahead of the course start.

Integrated IC Design Environment (IIC-OSIC-TOOLS)

Linux

In this course, we assume that students have a basic knowledge of Linux and how to operate it using the terminal (shell). If you are not yet familiar with Linux (which is basically a must when doing integrated circuit design as many tools are only available on Linux), then please check out a Linux introductory course or tutorial online, there are many resources available.

A summary of important Linux shell commands is provided in Section 19.

1.5 Setting up the Design Directory

Setting up the Design Directory

  • Open your VM by entering the URL in your browser.
  • Open a terminal (third icon in the taskbar at the bottom). You should get the following prompt: /foss/designs >
  • Clone the git repository into the current directory: git clone https://github.com/iic-jku/analog-circuit-design.git
  • This GitHub repository includes a file called .designinit, which sets the PDK and certain paths. However, this must be located in /foss/designs/
  • Therefore, we first need to copy it there: cp analog-circuit-design/.designinit .

Setting up the Design Directory

  • Then we adjust the variable XSCHEM_USER_LIBRARY_PATH by opening the file in an editor e.g. nano .designinit
    • Change the last line from export XSCHEM_USER_LIBRARY_PATH=$DESIGNS/xschem to export XSCHEM_USER_LIBRARY_PATH=$DESIGNS/analog-circuit-design/xschem
  • To apply the changes, we need to close the current terminal window: exit
  • Open again a terminal
  • Test if the correct PDK gets selected: echo $PDK (you should get sg13g2 as the answer)
  • Change into the GitHub repository: cd analog-circuit-design
  • Start xschem using xschem or directly open a specific schematic using xschem xschem/dc_lv_nmos.sch

1.5.1 Creating Backups

  • Change to the parent directory: cd /foss/designs
  • Create a zip archive from the complete design folder: zip backup.zip analog-circuit-design -r

1.5.2 Updating the Repository

  • Create a backup!
  • Go to directory: e.g. cd /foss/designs/analog-circuit-design
  • Fetch newest changes from the origin: git fetch origin
  • Merge changes from the origin into your local branch main: git merge origin/main

Updating the Repository

Git Merge Conflicts

It is possible that git merge does not complete successfully. Either you are able to resolve the merge conflict manually, or it may be easier to make a fresh clone of the repository and adding your local changes manually from the backup.

Updating the Repository

Important

Please think twice before executing any git command without a backup, as this could lead to permanent loss of data!

References

Gray, Paul R., Paul J. Hurst, Stephen H. Lewis, and Robert G. Meyer. 2009. Analysis and Design of Analog Integrated Circuits. Wiley.
Hu, Chenming. 2010. Modern Semiconductor Devices for Integrated Circuits. Pearson.
Nagel, Laurence W. 1975. “SPICE2: A Computer Program to Simulate Semiconductor Circuits.” PhD Thesis UCB/ERL M520. EECS Department, University of California, Berkeley. http://www2.eecs.berkeley.edu/Pubs/TechRpts/1975/9602.html.
Pretl, Harald, and Matthias Eberlein. 2021. “Fifty Nifty Variations of Two-Transistor Circuits: A Tribute to the Versatility of MOSFETs.” IEEE Solid-State Circuits Magazine 13 (3): 38–46. https://iic-jku.github.io/fifty-nifty-circuits/.
Razavi, Behzad. 2017. Design of Analog CMOS Integrated Circuits. McGraw-Hill.
Sansen, Willy M. C. 2006. Analog Design Essentials. Springer.
Tsividis, Yannis, and Colin McAndrew. 2011. Operation and Modeling of the MOS Transistor. Oxford University Press.

References