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.
- Opensource Tools used
- Performance Specifications
- Block Diagram
- Cloning the Project
- Installation Instructions
- Prelayout Simulation in eSim and Ngspice
- Layout design in Magic
- Post Layout Simulation
- Differences between Prelayout and Postlayout and Why?
- Future Scope
- Contributor
- Acknowledgments
-
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
-
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/
-
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/
-
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/
Clone this repository using the following commands:
$ sudo apt install -y git
$ git clone https://github.com/Eyantra698Sumanto/avsdspamp_3v3_sky130
Refer the following websites for installation of eSim :
- https://static.fossee.in/esim/installation-files/Install_eSim_on_Windows.pdf
- https://github.com/FOSSEE/eSim/blob/master/INSTALL
Ngspice gets installed alongwith eSim. If any other version ids to be installed refer: http://ngspice.sourceforge.net/download.html
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
Open the terminal and follow these steps:
git clone git://opencircuitdesign.com/magic
cd magic
sudo ./configure
sudo make
sudo make install
Refer following manual to know how to operate eSim: https://static.fossee.in/esim/manuals/eSim_Manual_2020_August.pdf
Add the sky130 devices and the libraries in .cir.out file
Check here how to run Ngspice: http://ngspice.sourceforge.net/ngspice-tutorial.html
Use Ngspice 34
Run the following commands in the terminal(Use NGSPICE 34):
$cd avsdspamp_3v3_sky130/Prelayout/simulations
$ngspice spamp_tran.cir
Run the following commands in the terminal(Use NGSPICE 34):
$cd avsdspamp_3v3_sky130/Prelayout/simulations
$ngspice spamp_ac.cir
Run the following commands in the terminal(Use NGSPICE 34):
$cd avsdspamp_3v3_sky130/Prelayout/simulations
$ngspice spamp_supplyana.cir
Run the following commands in the terminal(USe NGSPICE 34):
$cd avsdspamp_3v3_sky130/Prelayout/simulations
$ngspice spamp_current.cir
Copy and paste the sky130A.tech file and execute following command in terminal:
magic -T sky130A.tech
Layout:
(Note: Take care of the DRC errors while designing layout)
After designing the layout run following command in tkcon terminal:
The spice code will get generated.
Save the spice code as .cir file and add the simulation parameters and sky130 libraries.
Use NgSpice 35
The simulation waveforms are as follows:
Run the following commands in the terminal(Use NGSPICE 35):
$cd avsdspamp_3v3_sky130/Post_Layout_Simulations
$ngspice spamp_tran.cir
Run the following commands in the terminal(Use NGSPICE 35):
$cd avsdspamp_3v3_sky130/Post_Layout_Simulations
$ngspice spamp_ac.cir
Run the following commands in the terminal(Use NGSPICE 35):
$cd avsdspamp_3v3_sky130/Post_Layout_Simulations
$ngspice spamp_supplyana.cir
Run the following commands in the terminal(Use NGSPICE 35):
$cd avsdspamp_3v3_sky130/Post_Layout_Simulations
$ngspice spamp_current.cir
- 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.
- 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.
- 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.
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.
Sumanto Kar
Contact: jeetsumanto123@gmail.com
Kunal Ghosh, Co-founder, VSD Corp. Pvt. Ltd. - kunalpghosh@gmail.com
Kunal Ghosh, Co-founder, VSD Corp. Pvt. Ltd. - kunalpghosh@gmail.com