Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.
WEll, I had a good look at the website well before i made this request.
it seems that you need to replace the extracted stuff with resistor statement itself. what i am worried is whether it will actually be fabricated, in the manner that I wanted. i had fabricated one before, but it was digital (ALU, FIR). not so sure about op-amp. just waiting to see whether anyone has actually done some of which they had designed.
thanks to vamsi. if you can get any model specifically let me know..
We definately use Poly resistors with Salicide block (which causes the high resistance). I have seen foundry runs for more than 3 LDOs and a couple of DACs and there i have used the resistors. Well, mostly all CMOS processes should support resistors because, they are not any extra layer. I will see if I can get any of the resistor models for 0.5 micron AMI process
Dear Vamsi:
Nice to know that there is someone who has fabricated what they design. I do know that they have resistors in the AMI 0.5 um process. actually, i have pasted the statement after the ext2spice -f spice3 -t! -t# <filename.ext>; which contains the resistance.
This means that the resistor is extracted as "Special MOSFET", with one end Vdd and the other end a_58_42; this encompasses W vs L area.
Now if I can get the model for phrResistor (which has to be as simple as L*Rsquare/W), then it should work .... .. or I am not able to write a simple model file, i dont know the reason.
Now I hope the above statements are clear.
If you can get it... I would really appreciate it..
thanks.
srivatsan
I have a model file for resistors in some of the SPICE decks we have. Look at how they have done that. Please look into each model a foundry normally has. Ours is a CMOS single well process.
Then after making changes and adding the subcircuit statement.. it becomes:
x1000 nRb c_n237_n48 Vdd GND phrResistor w=4.2u l=15u
.subckt phrResistor d g s b w=width l=length
.param rsheet=1120
rbias d s 'rsheet*(l/w)'
rd1 g d 0
rd2 b 0 0
.ends phrResistor
But it does not work at all. I am not able to spot the problem.
the following are debugs I tried: to both rd1 rd2... i had quotes to 0 value. it didnt work.
May be there is some problem because of 0 values. Do not comment them. Or the problem could be with the type of resistor here. Connect b to VDD and invert the source and drain connections at the XCall level
Dear Vamsi:
Instead of working with b and g nodes; I removed them and made them see like a two terminal subcircuit. IF this works, it wont take time to put the other two nodes. Hence the subcircuit contains only d and s nodes.
It results in the following statements.
*m1000 Out c_n40_37 Vdd Gnd phrResistor w=5.7u l=21.6u
*+ ad=0p pd=0u as=0p ps=0u
x1000 Out Vdd rphrResistor
*w=5.7u l=57.0u
.subckt rphrResistor d s
.param w=5.7e-6 l=57.0e-6 rsquare=1120
rbias d s 'rsquare*l/w'
.ends rphrResistor
Note: I have included the asterik statements so that you can see the way I had proceeded.
This results in the following error:
.param w=5.7u l=57.0 rsquare=1120
unimplemented control card - error
Another approach that I took was: the following are the statements
x1000 Out Vdd rphrResistor w=5.7u l=57.0u
.subckt rphrResistor d s rphrResistor w=width l=length
.param rsquare=1120
rbias d s 'rsquare*l/w'
.ends rphrResistor
the error associated with it is:
Error: unknown subckt x1000 out Vdd .......
I kinda struck up here. Of course if I eliminated the l and w and just put 10e3 for rbias it works.... (within quotes).
I used your deck and gave a dummy run for ac and OP analysis. I am able to run the file. And seemly I am not seeing any error.
The following is your spice file
************************************************************
*m1000 Out c_n40_37 Vdd Gnd phrResistor w=5.7u l=21.6u
*+ ad=0p pd=0u as=0p ps=0u
x1000 Out Vdd rphrResistor
*w=5.7u l=57.0u
.subckt rphrResistor d s
.param w=5.7e-6 l=57.0e-6 rsquare=1120
rbias d s 'rsquare*l/w'
.ends rphrResistor
VDD vdd 0 5V ac 1V
CL Out 0 1p
.op
.ac dec 1 100M 10
.end
This is the result I have got for the resistor value from the spice .LIS file, which is correct value as per the calculations
r value 11.2000k
Case II
=====
I have also exported the data for length and width. Please follow this .LIS file for full details
Init: hspice initialization file: C:\synopsys\Hspice2003.03\hspice.ini
* hspice.ini
*
* use ascii only for initial pc hspice release
*
.option post = 2
*m1000 out c_n40_37 vdd gnd phrresistor w=5.7u l=21.6u
*+ ad=0p pd=0u as=0p ps=0u
x1000 out vdd rphrresistor length=57u width=5.7u
*w=5.7u l=57.0u
.subckt rphrresistor d s
.param l=length w=width rsquare=1120
rbias d s 'rsquare*l/w'
.ends rphrresistor
vdd vdd 0 5v ac 1v
cl out 0 1p
.op
.ac dec 10 1 100meg
.end
1 ****** HSPICE -- U-2003.03 (20030106) 20:51:24 03/03/2005 pcnt
******
************************************************************
****** circuit name directory
******
circuit number to circuit name directory
number circuitname definition multiplier
0 main circuit
1 x1000. rphrresistor 1.00
Opening plot unit= 79
file=c:\proj\spice\restest.pa0
1 ****** HSPICE -- U-2003.03 (20030106) 20:51:24 03/03/2005 pcnt
******
************************************************************
****** operating point information tnom= 25.000 temp= 25.000
******
***** operating point status is all simulation time is 0.
node =voltage node =voltage
+0ut = 5.0000 0:vdd = 5.0000
**** voltage sources
subckt
element 0:vdd
volts 5.0000
current 0.
power 0.
total voltage source power dissipation= 0. watts
**** resistors
subckt x1000
element 1:rbias
r value 11.2000k
v drop 0.
current 0.
power 0.
op point 0.04 1 4
ac analysis 0.06 81 81
readin 0.00
errchk 0.02
setup 0.09
output 0.00
total cpu time 0.20 seconds
job started at 20:51:24 03/03/2005
job ended at 20:51:35 03/03/2005
Dear Vamsi:
I have attached my spice code for Start up with current reference circuit. Can you please execute it using HSPICE and let me know the value of i(VD) by plotting it. Thanks....
Regards,
srivatsan
When I am trying to run a dc analysis- sweeping the VDD values, I am getting very huge currents at the initial condition. In the transient ramp test(for VDD), the circuit is not converging. Are you sure that there is no problem in the file you have sent to me? Because, these values are rare, I am curious about the netlist. Can you update the schematic for me?
Dear Vamsi,
Well they are from the layout; I am not able to printscreen it and save it as a jpeg for some reason... well here is the spic file again.. i am defintiely not suprised because my circuit gives 7uA when simulated in spectre and correct stuff in ngspice. Since yours is HSPICE, it should actually corroborate with mine. Please simulate the following one for me; they are the same file. I will upload the schematic and layout asap. Thanks man..
Regards,
srivatsan
spice code:
* SPICE3 file created from stcm3.ext - technology: scmos
* MEASUREMENT OF CURRENTS THROUGH EACH BRANCH OF THE CIRCUIT
* Basic Biasing voltages
VD Vdd 0 DC 5
VG Gnd 0 DC 0
RB nRb Vdd 3.5k
* EXECUTION PART FOLLOWS..........
.tran 2e-6 2e-3
Added after 14 minutes:
Dear Vamsi:
Here is the schematic; the resistor has been changed to 3.5k for understanding the cirucit with respect to resistor variations. Hopefully they help you understand the cirucit... Thanks for the help..
Regards,
srivatsan
Added after 32 seconds:
Dear Vamsi:
Here is the schematic; the resistor has been changed to 3.5k for understanding the cirucit with respect to resistor variations. Hopefully they help you understand the cirucit... Thanks for the help..
Regards,
srivatsan
p.s.;: accidently did not attach the cirucit in the previous one.
This is a constant transconductance circuit. The start up seems fine from the schematic. But I have two questions:
1. The ratios of the W/Ls of the transistors which are in the loop. I mean the PMOS transistors need to have different W/Ls for it to satisfy the equation VGS1 = VGS2 + IR. I hope that you have taken care of this thing.
2. The start up circuit needs a weak pull up transistor in PMOS. I see that the transitor is pretty strong. Kindly come back on this as well.
Added after 1 minutes:
My bad......Actually it is a weak pull up device. I got confused with the W and L. But can you reduce the length a little bit?
Dear Vamsi:
Since the Cadence was set up here just a year ago and they did not do a good job. Infact, I had to get the Spectre, CdsSpice and NGSpice installed and to get them running. Now the question is: Whether they run "correctly"? Well I think I am confident on NGSpice. Not on others, I really dont have a good reason ; a hunch.
Now to your questions:
1. You are right that W/L for the PMOS near the resistor is not "right".
I forgot to write the m=4 for that specific transistor (in schematic but is there in layout). Infact if you look at the spice code (from the layout), it is evident that there is one PMOS which is 4x of 43.2um. So It should be okay...
2. thats Okay... I did that to myself many times.. Hence I have an agreement that I never re-work on my own circuit after I am 100% sure the previous day.
Now; Few more questions to you:
1: Is it giving 40uA?
2: Since my L=1.8um, I see no reason to put dummy poly on either sides (Effect of RIE). Is this a good idea or not?
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.