avsdspamp_3v3_sky130

This project focuses on design of a Sziklai Pair Amplifier using Google Skywater (sky130) Technology node with operating voltage of 1.8V and 3.3V. The project is build using Open Source Tools like Magic, Sky130PDK and eSim. Refer following website for more details on Sziklai Amplifier: https://en.wikipedia.org/wiki/Sziklai_pair.

Table of Contents

Opensource Tools used

  1. eSim: eSim (previously known as Oscad / FreeEDA) is a free/libre and open source EDA tool for circuit design, simulation, analysis and PCB design developed by FOSSEE, IIT Bombay. It is an integrated tool built using free/libre and open source software such as KiCad, Ngspice and GHDL. eSim is released under GPL. eSim offers similar capabilities and ease of use as any equivalent proprietary software for schematic creation, simulation and PCB design, without having to pay a huge amount of money to procure licenses. Hence it can be an affordable alternative to educational institutions and SMEs. It can serve as an alternative to commercially available/licensed software tools like OrCAD, Xpedition and HSPICE. For more info refer: https://esim.fossee.in/home

  2. Ngspice: Ngspice is the open source spice simulator for electric and electronic circuits. Ngspice offers a wealth of device models for active, passive, analog, and digital elements. Model parameters are provided by the semiconductor manufacturers. The user add her circuits as a netlist, and the output is one or more graphs of currents, voltages and other electrical quantities or is saved in a data file. For more info refer: http://ngspice.sourceforge.net/

  3. Skywater Pdk: The SkyWater Open Source PDK is a collaboration between Google and SkyWater Technology Foundry to provide a fully open source Process Design Kit and related resources, which can be used to create manufacturable designs at SkyWater’s facility. As of May 2020, this repository is targeting the SKY130 process node. If the SKY130 process node release is successful then in the future more advanced technology nodes may become available. For more info refer: https://github.com/google/skywater-pdk, https://skywater-pdk.readthedocs.io/en/latest/

  4. Magic: Magic is a venerable VLSI layout tool, written in the 1980's at Berkeley by John Ousterhout, now famous primarily for writing the scripting interpreter language Tcl. Due largely in part to its liberal Berkeley open-source license, magic has remained popular with universities and small companies. The open-source license has allowed VLSI engineers with a bent toward programming to implement clever ideas and help magic stay abreast of fabrication technology. However, it is the well thought-out core algorithms which lend to magic the greatest part of its popularity. Magic is widely cited as being the easiest tool to use for circuit layout, even for people who ultimately rely on commercial tools for their product design flow. For more info refer: http://opencircuitdesign.com/magic/

Performance Specifications

image

Block Diagram

image

Cloning the Project

Clone this repository using the following commands:

$ sudo apt install -y git
$ git clone https://github.com/Eyantra698Sumanto/avsdspamp_3v3_sky130

Installation Instructions

eSim Installation

Refer the following websites for installation of eSim :

Ngspice Installation

Ngspice gets installed alongwith eSim. If any other version ids to be installed refer: http://ngspice.sourceforge.net/download.html

Skywater Pdk Installation(Ubuntu)

Open the terminal and follow these steps:

git clone git://opencircuitdesign.com/open_pdks
cd open_pdks
./configure --enable-sky130-pdk
make
sudo make install

Magic Installation(Ubuntu)

Open the terminal and follow these steps:

git clone git://opencircuitdesign.com/magic
cd magic
sudo ./configure
sudo make
sudo make install

Prelayout Simulation in eSim and Ngspice

Refer following manual to know how to operate eSim: https://static.fossee.in/esim/manuals/eSim_Manual_2020_August.pdf

Schematic:

image

Adding Simulation parameters

image

Adding Sky130 parameters

Add the sky130 devices and the libraries in .cir.out file

Simulations in Ngspice

Check here how to run Ngspice: http://ngspice.sourceforge.net/ngspice-tutorial.html Use Ngspice 34

Output Vs. Input Plot

Run the following commands in the terminal(Use NGSPICE 34):

$cd avsdspamp_3v3_sky130/Prelayout/simulations
$ngspice spamp_tran.cir

image

Frequency Response Plot

Run the following commands in the terminal(Use NGSPICE 34):

$cd avsdspamp_3v3_sky130/Prelayout/simulations
$ngspice spamp_ac.cir

image

Output Vs.Supply Plot

Run the following commands in the terminal(Use NGSPICE 34):

$cd avsdspamp_3v3_sky130/Prelayout/simulations
$ngspice spamp_supplyana.cir

image

Current Gain Vs. Output

Run the following commands in the terminal(USe NGSPICE 34):

$cd avsdspamp_3v3_sky130/Prelayout/simulations
$ngspice spamp_current.cir

image

Layout design in Magic

Copy and paste the sky130A.tech file and execute following command in terminal:

magic -T sky130A.tech

Layout:

spamplayout

(Note: Take care of the DRC errors while designing layout)

After designing the layout run following command in tkcon terminal:

image

The spice code will get generated.

Post Layout Simulation

Save the spice code as .cir file and add the simulation parameters and sky130 libraries. Use NgSpice 35 The simulation waveforms are as follows:

Output Vs. Input

Run the following commands in the terminal(Use NGSPICE 35):

$cd avsdspamp_3v3_sky130/Post_Layout_Simulations
$ngspice spamp_tran.cir

Input-Output_plot

Frequency Response Plot

Run the following commands in the terminal(Use NGSPICE 35):

$cd avsdspamp_3v3_sky130/Post_Layout_Simulations
$ngspice spamp_ac.cir

frequency response

Output Vs.Supply Plot

Run the following commands in the terminal(Use NGSPICE 35):

$cd avsdspamp_3v3_sky130/Post_Layout_Simulations
$ngspice spamp_supplyana.cir

output vs supply

Current Gain Vs. Output Plot

Run the following commands in the terminal(Use NGSPICE 35):

$cd avsdspamp_3v3_sky130/Post_Layout_Simulations
$ngspice spamp_current.cir

current gain vs output

Differences between Prelayout and Postlayout and Why?

  1. There is a fall in the gain and changes in other plots as well of postlayout simulation due to various reasons like very high resistances in order of MegaOhms and GigaOhms is difficult to achieve as the length of the resistor is very high for these ranges.
  2. There is a change in frequency response as high value of capacitance of order of micro and milli Farad is difficult to achieve as the size increases. There are various other reasons like substrate capacitance and various other stray capacitances.
  3. Also at high values of resistors and capacitors, accurately calculating the sizes becomes an important factor. Slight variation in calculation results deviation from ther prelayout simulation.

Future Scope

More accurate responses can be achieved if the above drawbacks can be considered. Any other material for the layout of resistors and capacitors can also be used for better results.

Contributor

Sumanto Kar Contact: jeetsumanto123@gmail.com

Kunal Ghosh, Co-founder, VSD Corp. Pvt. Ltd. - kunalpghosh@gmail.com

Acknowledgments

Kunal Ghosh, Co-founder, VSD Corp. Pvt. Ltd. - kunalpghosh@gmail.com