Setup

Imports

PySpice

Compiled libraries for ngspice 36 are provided compiled for either CentOS 7 or Ubuntu20.04 so simulation can be performed without needing to install ngspice. One can comment out the setting of the NGPSICE_LIBRARY_PATH environment variable and then ngspice executable in the path will be used to find the shared library. When using own ngspice it is adviced to use version 35 or later to speed up the Also the provided .spiceinit file in the running directory is needed to get this speed up.

klayout

ADC design

setup

Currently code is stored locally in file ADC_support.py to speed up co-development of the code and this notebook. Code in the file can be reloaded by executing cell below without the need to restart the kernel.

common library to store generated ADC cells

common setup for verification; verify ADC operation at 100MHz clock

8-bit ADC

Currently the 8 bit version of the ADC is highest number of bits supported for layout generation.

The PMOS switch to drive the capacitance during the capture cycle limits the input range of the ADC to about 0.6V-1.8V.

6-bit ADC

Also a 6-bit version of the ADC is generated; this is to show the flexibility of the layout generation. Reducing the number of bits also reduces the highest capacitance in the capacitive DAC; this is now only 32 times the unit capacitance and not 128 as for the 8 bit one. As the same drive strength is used to drive the capacitances this means that unit capacitance can be increased to increase the offset caused by transistor matching.

export lib