blob: 302043b8e31736269548f6674af4457416fb7c1c [file] [log] [blame] [view]
an3oldfebf1d2021-03-24 01:53:13 +05301# General Purpose Bandgap Reference Circuit - avsdbgp_3v3_sky130_v2
an3ol77c768c2021-03-23 18:32:12 +05302
3A Bandgap Reference is an analog circuit, which is used to provide a constant output reference voltage being independent of Temperature, Process and Supply voltage variations. The analog IP **avsdbgp_3v3** is a General Purpose Bandgap Reference ciruit, which is designed using **Sky130nm** technology in this project.
4
an3olc9da6ff2021-03-23 18:39:59 +05305For detailed information regarding the Bandgap Reference circuit click [here](https://github.com/vsdip/avsdbgp_3v3_sky130_v2/blob/main/Documents/General_purpose_BGR.pdf). The Design specifications provided for avsdbgp_3v3 can be found [here](https://github.com/vsdip/avsdbgp_3v3_sky130_v2/blob/main/Documents/Specifications.pdf).
an3ol77c768c2021-03-23 18:32:12 +05306
7<p>&nbsp;</p>
8
9# Table of Contents
10* Performance parameters Bandgap Reference IP
11
12* Circuit Implementation of Bandgap Reference IP
13
14 - Block Diagram of Bandgap Reference IP
15 - Schematic of Bandgap Reference IP
16* Downloading the files on your System
17* Pre-Layout Simulation of Bandgap Reference IP circuit using Ngspice
18 - Ngspice
19 - Pre-Layout Simulation plots of Bandgap Reference IP circuit
20 - Vbgp v/s Temperature [ -40C - 140C] @ RL = 100M ohms plot
21 - Vbgp v/s VDD [ 2V - 4V] @ RL = 100M ohms plot
22 - Temperature Coefficient of Vbgp v/s Temperature [ -40C - 140C] @ RL = 100M ohms plot
23 - Voltage Coefficient of Vbgp v/s VDD [ 2V - 4V] @ RL = 100M ohms plot
24 - Start-Up Time of Vbgp @ RL = 100M ohms plot
25 - On-Off-Current of Vbgp wrt Enable @ RL = 100M ohms plot
26* BGR Layout
27 - Magic
28 - Layout
29* Post-Layout Simulation of Bandgap Reference IP circuit using Ngspice
30 - Vbgp v/s Temperature [ -40C - 140C] @ RL = 100M ohms plot
31 - Vbgp v/s VDD [ 2V - 4V] @ RL = 100M ohms plot
32 - Temperature Coefficient of Vbgp v/s Temperature [ -40C - 140C] @ RL = 100M ohms plot
33 - Voltage Coefficient of Vbgp v/s VDD [ 2V - 4V] @ RL = 100M ohms plot
34 - Start-Up Time of Vbgp @ RL = 100M ohms plot
35 - On-Off-Current of Vbgp wrt Enable @ RL = 100M ohms plot
36
37
38<p>&nbsp;</p>
39
40# Performance parameters of Bandgap Reference IP
41<p>&nbsp;</p>
42
43| Parameter | Description | Min | Type | Max | Unit | Condition |
44| :----: | :----: | :----: | :----: | :----: | :----: | :----: |
45| VBGP | Output reference voltage | 1.19490 | 1.19756 | 1.19764 | Volt | T= -40 to 140C, VDD=3.3V |
46| VBGP | Output reference voltage | 1.11400 | 1.19756 | 1.21933 | Volt | VDD=2V to VDD=4V, T=27C |
47| VDD | Supply Voltage | | 3.3 | | Volt | T=-40C to 125C|
48| IDD | Supply Current | | 21.9636 | | uA | EN=1 |
49| IDD | Supply Current | | 24.4 | | pA | EN=0 |
50| RL | Load Resistance | | 100 | | Mohm |VDD=3.3V, T=27C|
51<p>&nbsp;</p>
52
53# Circuit Implementation of Bandgap Reference IP
54## Block Diagram of Bandgap Reference IP
an3olc9da6ff2021-03-23 18:39:59 +053055![Block diagram](https://raw.githubusercontent.com/vsdip/avsdbgp_3v3_sky130_v2/main/photo/block_diagram.png)
an3ol77c768c2021-03-23 18:32:12 +053056
57## Schematic of Bandgap Reference IP
58<p>&nbsp;</p>
59
an3olc9da6ff2021-03-23 18:39:59 +053060![Schematic](https://raw.githubusercontent.com/vsdip/avsdbgp_3v3_sky130_v2/main/photo/Schematic.png)
an3ol77c768c2021-03-23 18:32:12 +053061<p>&nbsp;</p>
62
63# Downloading the files on your System
64<p>&nbsp;</p>
65
66The files from this repository can be downloaded and used by the following commands :-
67>`sudo apt install -y git`
68
an3ol3c432892021-03-24 01:56:06 +053069>`git clone https://github.com/vsdip/avsdbgp_3v3_sky130_v2.git`
an3ol77c768c2021-03-23 18:32:12 +053070<p>&nbsp;</p>
71
72# Pre-Layout Simulation of Bandgap Reference IP circuit
73
74The circuit implementation of Bandgap reference IP **avsdbgp_3v3** is simulated using Ngspice to analyse its performance according to the Design Specifications provided.
75<p>&nbsp;</p>
76
77## Ngspice
78<p>&nbsp;</p>
79Ngspice is an open source mixed-signal circuit simulator. To install Ngspice on Ubuntu, open terminal window and type :-
80
81>`sudo apt-get install -y ngspice`
82
83After successful installation, to invoke Ngspice type the following command on the terminal window.
84>`ngspice <circuit file to be simulated>`
85
86<p>&nbsp;</p>
87
88
89
90## Pre- Layout Simulation plots of Bandgap Reference IP circuit
91<p>&nbsp;</p>
92
93
94To simulate the files for Pre- Layout simulations
95<p>&nbsp;</p>
96
an3ol2cfb9142021-03-24 01:52:25 +053097>`cd avsdbgp_3v3_sky130_v2/Pre_Layout_Simulations/Circuits/`
an3ol77c768c2021-03-23 18:32:12 +053098<p>&nbsp;</p>
99
100## Vbgp v/s Temperature [ -40C - 140C] @ RL = 100M ohms plot
101<p>&nbsp;</p>
102To observe the effect of temperature on the circuit, the temperature is varied from -40C to 140C. On the terminal window, type :-
103<p>&nbsp;</p>
104
105>`ngspice temp_avsdbgp_3v3.cir`
106<p>&nbsp;</p>
107The output plot as obtained can be seen below :-
108
109<p>&nbsp;</p>
110
an3ol2cfb9142021-03-24 01:52:25 +0530111![Vbgp vs Temperature](https://raw.githubusercontent.com/vsdip/avsdbgp_3v3_sky130_v2/main/Pre_Layout_Simulations/Results/temp_var.png)
an3ol77c768c2021-03-23 18:32:12 +0530112<p>&nbsp;</p>
113
114
an3ol2cfb9142021-03-24 01:52:25 +0530115![Vbgp Vptat Vctat vs Temperature](https://raw.githubusercontent.com/vsdip/avsdbgp_3v3_sky130_v2/main/Pre_Layout_Simulations/Results/temp_all.png)
an3ol77c768c2021-03-23 18:32:12 +0530116<p>&nbsp;</p>
117
118## Vbgp v/s VDD [ 2V - 4V] @ RL = 100M ohms plot
119<p>&nbsp;</p>
120To observe the effect of Supply voltage on the circuit, the temperature is varied from 2V to 4V. On the terminal window, type :-
121<p>&nbsp;</p>
122
123>`ngspice vdd_variation_avsdbgp_3v3.cir`
124<p>&nbsp;</p>
125The output plot as obtained can be seen below :-
126<p>&nbsp;</p>
127
an3ol2cfb9142021-03-24 01:52:25 +0530128![Voltage vs Vbgp](https://raw.githubusercontent.com/vsdip/avsdbgp_3v3_sky130_v2/main/Pre_Layout_Simulations/Results/vdd_var.png)
an3ol77c768c2021-03-23 18:32:12 +0530129<p>&nbsp;</p>
130
131## Temperature Coefficient of Vbgp v/s Temperature [ -40C - 140C] @ RL = 100M ohms plot
132<p>&nbsp;</p>
133On the terminal window, type :-
134<p>&nbsp;</p>
135
136>`ngspice Temp_coeff_avsdbgp_3v3.cir`
137<p>&nbsp;</p>
138The output plot as obtained can be seen below :-
139<p>&nbsp;</p>
140
an3ol2cfb9142021-03-24 01:52:25 +0530141![Temperature coefficient of Vbgp](https://raw.githubusercontent.com/vsdip/avsdbgp_3v3_sky130_v2/main/Pre_Layout_Simulations/Results/temp_coeff.png)
an3ol77c768c2021-03-23 18:32:12 +0530142<p>&nbsp;</p>
143
144## Voltage Coefficient of Vbgp v/s VDD [ 2V - 4V] @ RL = 100M ohms plot
145<p>&nbsp;</p>
146On the terminal window, type :-
147<p>&nbsp;</p>
148
149>`ngspice voltage_coeff_avsdbgp_3v3.cir`
150<p>&nbsp;</p>
151The output plot as obtained can be seen below :-
152<p>&nbsp;</p>
153
an3ol2cfb9142021-03-24 01:52:25 +0530154![Voltage coefficient of Vbgp](https://raw.githubusercontent.com/vsdip/avsdbgp_3v3_sky130_v2/main/Pre_Layout_Simulations/Results/vol_coeff.png)
an3ol77c768c2021-03-23 18:32:12 +0530155<p>&nbsp;</p>
156
157## Start-Up Time of Vbgp @ RL = 100M ohms plot
158<p>&nbsp;</p>
159On the terminal window, type :-
160<p>&nbsp;</p>
161
162>`ngspice Start_up_avsdbgp_3v3.cir`
163<p>&nbsp;</p>
164The output plot as obtained can be seen below :-
165<p>&nbsp;</p>
166
an3ol2cfb9142021-03-24 01:52:25 +0530167![Start up circuit](https://raw.githubusercontent.com/vsdip/avsdbgp_3v3_sky130_v2/main/Pre_Layout_Simulations/Results/Startup.png)
an3ol77c768c2021-03-23 18:32:12 +0530168<p>&nbsp;</p>
169
170## On-Off-Current of Vbgp wrt Enable @ RL = 100M ohms plot
171<p>&nbsp;</p>
172On the terminal window, type :-
173<p>&nbsp;</p>
174
175>`ngspice enable_current.cir`
176<p>&nbsp;</p>
177The output plot as obtained can be seen below :-
178<p>&nbsp;</p>
179
an3ol2cfb9142021-03-24 01:52:25 +0530180![Enable](https://raw.githubusercontent.com/vsdip/avsdbgp_3v3_sky130_v2/main/Pre_Layout_Simulations/Results/enable_current.png)
an3ol77c768c2021-03-23 18:32:12 +0530181<p>&nbsp;</p>
182
183# BGR Layout
184<p>&nbsp;</p>
185
186## Magic
187
188The Layout for the circuit was done using Magic Layout editor tool. To observe the layout, install magic using the following commands :-
189<p>&nbsp;</p>
190
191>`sudo wget "http://opencircuitdesign.com/magic/archive/magic-8.3.122.tgz" `
192
193>`tar -xvzf magic-8.3.122.tgz`
194
195>` cd magic-8.3.122 `
196
197>`sudo ./configure`
198
199>`sudo make`
200
201>`sudo make install`
202<p>&nbsp;</p>
203
204## Layout
205
206After successful installation, type:-
207<p>&nbsp;</p>
208
an3ol2cfb9142021-03-24 01:52:25 +0530209>`cd avsdbgp_3v3_sky130_v2/Layout/`
an3ol77c768c2021-03-23 18:32:12 +0530210
211>` magic -T ../libs/sky130A.tech BGR.mag`
212<p>&nbsp;</p>
213
an3olc9da6ff2021-03-23 18:39:59 +0530214![Layout](https://raw.githubusercontent.com/vsdip/avsdbgp_3v3_sky130_v2/main/photo/Layout.png)
an3ol77c768c2021-03-23 18:32:12 +0530215<p>&nbsp;</p>
216
217# Post-Layout Simulation plots of Bandgap Reference IP circuit
218<p>&nbsp;</p>
219
220To simulate the files for Post-Layout simulations using ngspice :-
221
an3ol2cfb9142021-03-24 01:52:25 +0530222>`cd avsdbgp_3v3_sky130_v2/Post_Layout_Simulations/Circuits/`
an3ol77c768c2021-03-23 18:32:12 +0530223<p>&nbsp;</p>
224
225## Vbgp v/s Temperature [ -40C - 140C] @ RL = 100M ohms plot
226<p>&nbsp;</p>
227To observe the effect of temperature on the circuit, the temperature is varied from -40C to 140C. On the terminal window, type :-
228<p>&nbsp;</p>
229
230>`ngspice temp_avsdbgp_3v3.spice`
231<p>&nbsp;</p>
232The output plot as obtained can be seen below :-
233
234<p>&nbsp;</p>
235
an3ol2cfb9142021-03-24 01:52:25 +0530236![Vbgp vs Temperature](https://raw.githubusercontent.com/vsdip/avsdbgp_3v3_sky130_v2/main/Post_Layout_Simulations/Results/temp.png)
an3ol77c768c2021-03-23 18:32:12 +0530237<p>&nbsp;</p>
238
239
an3ol2cfb9142021-03-24 01:52:25 +0530240![Vbgp Vptat Vctat vs Temperature](https://raw.githubusercontent.com/vsdip/avsdbgp_3v3_sky130_v2/main/Post_Layout_Simulations/Results/temp_all.png)
an3ol77c768c2021-03-23 18:32:12 +0530241<p>&nbsp;</p>
242
243## Vbgp v/s VDD [ 2V - 4V] @ RL = 100M ohms plot
244<p>&nbsp;</p>
245To observe the effect of Supply voltage on the circuit, the temperature is varied from 2V to 4V. On the terminal window, type :-
246<p>&nbsp;</p>
247
248>`ngspice vdd_variation_avsdbgp_3v3.spice`
249<p>&nbsp;</p>
250The output plot as obtained can be seen below :-
251<p>&nbsp;</p>
252
an3ol2cfb9142021-03-24 01:52:25 +0530253![Voltage vs Vbgp](https://raw.githubusercontent.com/vsdip/avsdbgp_3v3_sky130_v2/main/Post_Layout_Simulations/Results/vdd_var.png)
an3ol77c768c2021-03-23 18:32:12 +0530254<p>&nbsp;</p>
255
256## Temperature Coefficient of Vbgp v/s Temperature [ -40C - 140C] @ RL = 100M ohms plot
257<p>&nbsp;</p>
258On the terminal window, type :-
259<p>&nbsp;</p>
260
261>`ngspice Temp_coeff_avsdbgp_3v3.spice`
262<p>&nbsp;</p>
263The output plot as obtained can be seen below :-
264<p>&nbsp;</p>
265
an3ol2cfb9142021-03-24 01:52:25 +0530266![Temperature coefficient of Vbgp](https://raw.githubusercontent.com/vsdip/avsdbgp_3v3_sky130_v2/main/Post_Layout_Simulations/Results/temp_coeff.png)
an3ol77c768c2021-03-23 18:32:12 +0530267<p>&nbsp;</p>
268
269## Voltage Coefficient of Vbgp v/s VDD [ 2V - 4V] @ RL = 100M ohms plot
270<p>&nbsp;</p>
271On the terminal window, type :-
272<p>&nbsp;</p>
273
274>`ngspice voltage_coeff_avsdbgp_3v3.spice`
275<p>&nbsp;</p>
276The output plot as obtained can be seen below :-
277<p>&nbsp;</p>
278
an3ol2cfb9142021-03-24 01:52:25 +0530279![Voltage coefficient of Vbgp](https://raw.githubusercontent.com/vsdip/avsdbgp_3v3_sky130_v2/main/Post_Layout_Simulations/Results/vol_coeff.png)
an3ol77c768c2021-03-23 18:32:12 +0530280<p>&nbsp;</p>
281
282## Start-Up Time of Vbgp @ RL = 100M ohms plot
283<p>&nbsp;</p>
284On the terminal window, type :-
285<p>&nbsp;</p>
286
287>`ngspice Start_up_avsdbgp_3v3.spice`
288<p>&nbsp;</p>
289The output plot as obtained can be seen below :-
290<p>&nbsp;</p>
291
an3ol2cfb9142021-03-24 01:52:25 +0530292![Start up circuit](https://raw.githubusercontent.com/vsdip/avsdbgp_3v3_sky130_v2/main/Post_Layout_Simulations/Results/Startup.png)
an3ol77c768c2021-03-23 18:32:12 +0530293<p>&nbsp;</p>
294
an3olf12df8c2021-03-24 02:16:06 +0530295# Author
296* [Anmol Purty](https://github.com/an3ol)
an3ol77c768c2021-03-23 18:32:12 +0530297
an3olb65f0eb2021-03-24 02:23:48 +0530298# Acknowledgements
an3ol77c768c2021-03-23 18:32:12 +0530299
an3olf12df8c2021-03-24 02:16:06 +0530300* [Kunal Ghosh](https://github.com/kunalg123), Co-founder of VLSI System Design (VSD) Corp. Pvt. Ltd.
301* [Tim Edwards](https://github.com/RTimothyEdwards), Senior Vice President of Analog and Design at efabless corporation.
an3ol77c768c2021-03-23 18:32:12 +0530302* [Sheryl Corina Serrao](https://github.com/sherylcorina), Undergraduate Student, Mumbai University.
303
304# Contact Information
305* Anmol Purty - nmlpurty@gmail.com