The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Apr 18th, 2024, 4:54pm
Pages: 1 2 3 
Send Topic Print
How to simulate this circuit in Spectre??? (Read 44438 times)
Yutao Liu
Community Member
***
Offline



Posts: 76
Guangzhou, China
Re: How to simulate this circuit in Spectre???
Reply #15 - Apr 29th, 2009, 1:10am
 
pancho_hideboo wrote on Apr 28th, 2009, 9:09pm:
Yutao Liu wrote on Apr 28th, 2009, 8:24pm:
attach is the netlists and the model of n18.
Both statements of parameter definition and statements of analysis don't exist. Angry

As I said to you repeatedly, no one except for you knows your specific situations.
What sizes on earth did you use as W and L for "n18" ? Angry

Show me complete netlists. e.g. "input.scs" if you use Cadence Spectre from ADE.


I am sorry for my mistake.  :-[

input.rar is the input.scs file for my simulation.

And "op2 .scs" file listed inside is used to store the operating points while sweeping vds.
There is only one statement in "op2.scs", which is "save NM1:oppoint".

I hope information attached this time would be complete.

best regards
Back to top
 
View Profile   IP Logged
subgold
Community Member
***
Offline



Posts: 97

Re: How to simulate this circuit in Spectre???
Reply #16 - Apr 29th, 2009, 1:30am
 
Yutao Liu wrote on Apr 29th, 2009, 12:33am:
pancho_hideboo wrote on Apr 28th, 2009, 9:09pm:
Yutao Liu wrote on Apr 28th, 2009, 8:24pm:
attach is the netlists and the model of n18.
Both statements of parameter definition and statements of analysis don't exist. Angry

As I said to you repeatedly, no one except for you knows your specific situations.
What sizes on earth did you use as W and L for "n18" ? Angry

Show me complete netlists. e.g. "input.scs" if you use Cadence Spectre from ADE.


I am sorry for my mistake.

input.rar is the input.scs file for my simulation.

And "op2 .scs" file listed inside is used to store the operating points while sweeping vds.
There is only one statement in "op2.scs", which is "save NM1:oppoint".

I hope information attached this time would be complete.

best regards


first thing to try, do not define w and l as variable. specify them directly in the transistor property in the schematic.
Back to top
 
 
View Profile   IP Logged
pancho_hideboo
Senior Fellow
******
Offline



Posts: 1424
Real Homeless
Re: How to simulate this circuit in Spectre???
Reply #17 - Apr 29th, 2009, 1:38am
 
Yutao Liu wrote on Apr 29th, 2009, 1:10am:
I hope information attached this time would be complete.
Still there are some unknown parameters like followings.
Are they all zero ?

Quote:
run Yutao_Liu.scs
.
Yutao_Liu.log

Cadence (R) Virtuoso (R) Spectre (R) Circuit Simulator
Version 6.2.0.493 -- 19 Sep 2007
Copyright (C) 1989-2007 Cadence Design Systems, Inc. All rights reserved
       worldwide. Cadence, Virtuoso and Spectre are registered trademarks of
       Cadence Design Systems, Inc. All others are the property of their
       respective holders.

Protected by U.S. Patents: 5,610,847; 5,790,436; 5,812,431; 5,859,785;
       5,949,992; 5,987,238; 6,088,523; 6,101,323; 6,151,698; 6,181,754;
       6,260,176; 6,278,964; 6,349,272; 6,374,390; 6,493,849; 6,504,885;
       6,618,837; 6,636,839; 6,778,025; 6,832,358; 6,851,097; 6,928,626;
       7,024,652; 7,035,782; 7,085,700; 7,143,021.

Includes RSA BSAFE(R) Cryptographic or Security Protocol Software from RSA
       Security, Inc.

Simulating `Yutao_Liu.scs' on lkenpc06 at 5:32:25 PM, Wed Apr 29, 2009.

Error found by spectre during hierarchy flattening.
   ERROR (SFE-1999): "./n18.scs" 3: model `n18': parameter `tox': Unknown
       parameter name `dtox_n18' found in expression.
       
   ERROR (SFE-1999): "./n18.scs" 3: model `n18': parameter `xl': Unknown
       parameter name `dxl_n18' found in expression.
       
   ERROR (SFE-1999): "./n18.scs" 3: model `n18': parameter `xw': Unknown
       parameter name `dxw_n18' found in expression.
       
   ERROR (SFE-1999): "./n18.scs" 3: model `n18': parameter `vth0': Unknown
       parameter name `dvth_n18' found in expression.
       
   ERROR (SFE-1999): "./n18.scs" 3: model `n18': parameter `pvth0': Unknown
       parameter name `dpvth0_n18' found in expression.
       
spectre terminated prematurely due to fatal error.


Back to top
 
 
View Profile WWW Top+Secret Top+Secret   IP Logged
Yutao Liu
Community Member
***
Offline



Posts: 76
Guangzhou, China
Re: How to simulate this circuit in Spectre???
Reply #18 - Apr 29th, 2009, 1:53am
 
subgold wrote on Apr 29th, 2009, 1:30am:
Yutao Liu wrote on Apr 29th, 2009, 12:33am:
pancho_hideboo wrote on Apr 28th, 2009, 9:09pm:
Yutao Liu wrote on Apr 28th, 2009, 8:24pm:
attach is the netlists and the model of n18.
Both statements of parameter definition and statements of analysis don't exist. Angry

As I said to you repeatedly, no one except for you knows your specific situations.
What sizes on earth did you use as W and L for "n18" ? Angry

Show me complete netlists. e.g. "input.scs" if you use Cadence Spectre from ADE.


I am sorry for my mistake.

input.rar is the input.scs file for my simulation.

And "op2 .scs" file listed inside is used to store the operating points while sweeping vds.
There is only one statement in "op2.scs", which is "save NM1:oppoint".

I hope information attached this time would be complete.

best regards


first thing to try, do not define w and l as variable. specify them directly in the transistor property in the schematic.


Thanks for subgold's suggestion.
I did this change before I change the w and l as variable. But the result did not change.
And when I run the simulation, the simulator warned me that  "Vgs has exceeded the oxide breakdown voltage"
Dose this warning matter? If so, how should I change my simulation?
Back to top
 
 
View Profile   IP Logged
Yutao Liu
Community Member
***
Offline



Posts: 76
Guangzhou, China
Re: How to simulate this circuit in Spectre???
Reply #19 - Apr 29th, 2009, 2:07am
 
pancho_hideboo wrote on Apr 29th, 2009, 1:38am:
Yutao Liu wrote on Apr 29th, 2009, 1:10am:
I hope information attached this time would be complete.
Still there are some unknown parameters like followings.
Are they all zero ?

Quote:
run Yutao_Liu.scs
.
Yutao_Liu.log

Cadence (R) Virtuoso (R) Spectre (R) Circuit Simulator
Version 6.2.0.493 -- 19 Sep 2007
Copyright (C) 1989-2007 Cadence Design Systems, Inc. All rights reserved
       worldwide. Cadence, Virtuoso and Spectre are registered trademarks of
       Cadence Design Systems, Inc. All others are the property of their
       respective holders.

Protected by U.S. Patents: 5,610,847; 5,790,436; 5,812,431; 5,859,785;
       5,949,992; 5,987,238; 6,088,523; 6,101,323; 6,151,698; 6,181,754;
       6,260,176; 6,278,964; 6,349,272; 6,374,390; 6,493,849; 6,504,885;
       6,618,837; 6,636,839; 6,778,025; 6,832,358; 6,851,097; 6,928,626;
       7,024,652; 7,035,782; 7,085,700; 7,143,021.

Includes RSA BSAFE(R) Cryptographic or Security Protocol Software from RSA
       Security, Inc.

Simulating `Yutao_Liu.scs' on lkenpc06 at 5:32:25 PM, Wed Apr 29, 2009.

Error found by spectre during hierarchy flattening.
   ERROR (SFE-1999): "./n18.scs" 3: model `n18': parameter `tox': Unknown
       parameter name `dtox_n18' found in expression.
       
   ERROR (SFE-1999): "./n18.scs" 3: model `n18': parameter `xl': Unknown
       parameter name `dxl_n18' found in expression.
       
   ERROR (SFE-1999): "./n18.scs" 3: model `n18': parameter `xw': Unknown
       parameter name `dxw_n18' found in expression.
       
   ERROR (SFE-1999): "./n18.scs" 3: model `n18': parameter `vth0': Unknown
       parameter name `dvth_n18' found in expression.
       
   ERROR (SFE-1999): "./n18.scs" 3: model `n18': parameter `pvth0': Unknown
       parameter name `dpvth0_n18' found in expression.
       
spectre terminated prematurely due to fatal error.



Oh, god! i forget to show you those datum again! Please forgive me!
Yes, those datum are all zero.
Please try this model file (attached) where all those datum have been set zero.

Thanks a lot.
Back to top
 
View Profile   IP Logged
pancho_hideboo
Senior Fellow
******
Offline



Posts: 1424
Real Homeless
Re: How to simulate this circuit in Spectre???
Reply #20 - Apr 29th, 2009, 4:31am
 
Attached is a method I suggested in http://www.designers-guide.org/Forum/YaBB.pl?num=1240322183/4#4
Your NMOS FET is connected to nodes, "d", "g", "s" and "GND".

From practical point of view, a method subgold suggested is more good because input signals of OPAmp is very small in my method.

Indeed I don't use any of the followings.
  - Testbench which sheldon showed
  - my suggestion
  - subgold suggestion

I use Agilent ADSsim(RFDE) for device characterizations.
Here I invoke optimizer with parametric sweep.

[Parametric Sweep of vds]
    [Optimization of vgs for target Ids under vds]
      [Final Analysis such as DCOP, SP, AC, Noise under seached bias conditions, vgs, vds, Ids]

The followings are non parametric sweep case.
http://www.designers-guide.org/Forum/YaBB.pl?num=1212376329/3#3
http://www.designers-guide.org/Forum/YaBB.pl?num=1203057659/7#7

As you said to us, testbench which sheldon showed don't seem to work correctly.
Later I will investigate causes.
Back to top
« Last Edit: Apr 29th, 2009, 7:11am by pancho_hideboo »  

Yutao_Liu_FB.jpg
View Profile WWW Top+Secret Top+Secret   IP Logged
subgold
Community Member
***
Offline



Posts: 97

Re: How to simulate this circuit in Spectre???
Reply #21 - Apr 29th, 2009, 6:36am
 
Yutao Liu wrote on Apr 29th, 2009, 1:53am:
subgold wrote on Apr 29th, 2009, 1:30am:
Yutao Liu wrote on Apr 29th, 2009, 12:33am:
pancho_hideboo wrote on Apr 28th, 2009, 9:09pm:
Yutao Liu wrote on Apr 28th, 2009, 8:24pm:
attach is the netlists and the model of n18.
Both statements of parameter definition and statements of analysis don't exist. Angry

As I said to you repeatedly, no one except for you knows your specific situations.
What sizes on earth did you use as W and L for "n18" ? Angry

Show me complete netlists. e.g. "input.scs" if you use Cadence Spectre from ADE.


I am sorry for my mistake.

input.rar is the input.scs file for my simulation.

And "op2 .scs" file listed inside is used to store the operating points while sweeping vds.
There is only one statement in "op2.scs", which is "save NM1:oppoint".

I hope information attached this time would be complete.

best regards


first thing to try, do not define w and l as variable. specify them directly in the transistor property in the schematic.


Thanks for subgold's suggestion.
I did this change before I change the w and l as variable. But the result did not change.
And when I run the simulation, the simulator warned me that  "Vgs has exceeded the oxide breakdown voltage"
Dose this warning matter? If so, how should I change my simulation?


i think the warning is exactly the problem. since your netlist looks fine, i think it is purely a simulator related problem, because everyting is ideal here, the cccs is also modeled as an ideal current source, which has very high impedance (seems to be 10^12ohm). therefore, with the current of the ideal current source, your gate voltage goes crazy and the correct dc operation points are never obtained.

try to clamp a diode there, with anode connected to the gate, and cathode connected to the max. allowed voltage (vdd), and see if it works.
Back to top
 
 
View Profile   IP Logged
pancho_hideboo
Senior Fellow
******
Offline



Posts: 1424
Real Homeless
Re: How to simulate this circuit in Spectre???
Reply #22 - Apr 29th, 2009, 9:19pm
 
This is a method which subgold suggested. Here I used Cadence Spectre.
Back to top
 

test_Yutao_Liu_2.JPG
View Profile WWW Top+Secret Top+Secret   IP Logged
pancho_hideboo
Senior Fellow
******
Offline



Posts: 1424
Real Homeless
Re: How to simulate this circuit in Spectre???
Reply #23 - Apr 29th, 2009, 10:07pm
 
This is a result of Agilent ADSsim.
Back to top
 

test_Yutao_Liu_2_ADSsim.jpg
View Profile WWW Top+Secret Top+Secret   IP Logged
Yutao Liu
Community Member
***
Offline



Posts: 76
Guangzhou, China
Re: How to simulate this circuit in Spectre???
Reply #24 - Apr 30th, 2009, 1:46am
 
pancho_hideboo wrote on Apr 29th, 2009, 9:19pm:
This is a method which subgold suggested. Here I used Cadence Spectre.


Thanks for pancho_hideboo's reply.
The simulation results exactly meet what i want.

But I don't quite understand why the opamp in ahdlLib is able to achieve the result while the vcvs in analogLib fails, since both of them are used to make the drain voltage keep tracked with "Vds" while sweeping, and to stabilize the gate voltage?
What 's the difference between them?

Best regards!
Back to top
 
 
View Profile   IP Logged
sheldon
Community Fellow
*****
Offline



Posts: 751

Re: How to simulate this circuit in Spectre???
Reply #25 - Apr 30th, 2009, 5:31am
 
Yutao,

  If you want measure gm, why don't you limit the sweep range
to bias conditions where the device is in saturation? You are forcing
the Vds to be perfectly 0, vds=0, at the same time you are forcing
the transistor to conduct a finite current, ibias=40u. This condition
is not physical so the model and the testbench react non-physically.  
If you sweep the Vds from 3.2V to 0V, you will see that the Vgs
becomes large as the Vds approaches 0 and that the curve starts
to break up at about Vd,sat. The op-amp model clamps at the supply
voltage so that  the results look better. Also you will need to use
a different testbench to measure rds when Vds < Vds,sat.

                                                        Best Regards,

                                                           Sheldon
Back to top
 

Picture1.jpg
View Profile   IP Logged
pancho_hideboo
Senior Fellow
******
Offline



Posts: 1424
Real Homeless
Re: How to simulate this circuit in Spectre???
Reply #26 - May 1st, 2009, 4:51am
 
A method which subgold suggested is unreasonable for low Vds region.
A method which my suggested is more reasonable for low Vds region.

Indeed I don't use any of the followings.
 - Testbench which sheldon showed
 - my suggestion
 - subgold suggestion

I use Agilent ADSsim(RFDE) for device characterizations.
Here I invoke optimizer with parametric sweep.

Attached figure is an example I'm using for device characterization, here I use SP-Analysis as FinalAnalysis of Optimizer.

[Parametric Sweep of Idrain ; Sweep2]
  [Parametric Sweep of Vds ; Sweep1]
       [Optimization of Vgs for target Idrain under Vds ; Optim1 with DC1]
     [SP Analysis as Final Analysis under seached bias conditions, Vgs, Vds, Idrain ; SP1]

This result is also reasonable for low Vds region.
Back to top
 

ADSsim_Optimizer_001.jpg
View Profile WWW Top+Secret Top+Secret   IP Logged
sheldon
Community Fellow
*****
Offline



Posts: 751

Re: How to simulate this circuit in Spectre???
Reply #27 - May 1st, 2009, 6:12am
 
Yutao,

  I am curious about your original testbench. I was looking at the
EE240 website lecture on MOS transistors and found the references
on these pages. Was this your original testbench the circuit described
on page 14?

https://www.eecs.berkeley.edu/~boser/courses/240_2004_sp/index.html

                                                                 Best Regards,

                                                                    Sheldon
Back to top
 
 
View Profile   IP Logged
Yutao Liu
Community Member
***
Offline



Posts: 76
Guangzhou, China
Re: How to simulate this circuit in Spectre???
Reply #28 - May 1st, 2009, 6:47am
 
sheldon wrote on May 1st, 2009, 6:12am:
Yutao,

  I am curious about your original testbench. I was looking at the
EE240 website lecture on MOS transistors and found the references
on these pages. Was this your original testbench the circuit described
on page 14?

https://www.eecs.berkeley.edu/~boser/courses/240_2004_sp/index.html

                                                                 Best Regards,

                                                                    Sheldon


Sheldon,
Not on page 14, but on page 33 instead.  And my reference is http://bwrc.eecs.berkeley.edu/classes/icdesign/ee240_s09/lectures/Lecture04_MOS_... on page 10.

I used the vcvs as the feedback opamp in spectre, and I failed.
I think the testbench that pancho_hideboo provided is feasible and the result looks the same as that on the notes.
But I still don't understand what difference between opamp in ahdlLib and vcvs in analogLib makes the simulation result different, even if I read your reply. Could you explain more clearly, please?
                                                                Best regards,
                                                                     Yutao
Back to top
 
 
View Profile   IP Logged
Yutao Liu
Community Member
***
Offline



Posts: 76
Guangzhou, China
Re: How to simulate this circuit in Spectre???
Reply #29 - May 1st, 2009, 7:05am
 
pancho_hideboo wrote on Apr 29th, 2009, 9:19pm:
This is a method which subgold suggested. Here I used Cadence Spectre.


Pancho_hideboo,
thanks for your work. I think your testbench is feasible and the result looks reliable.
I have tried your testbench in spectre, the result looks the same as yours basically, but discontinuity exist when vds is in low region, as shown below. My schematic and the setting of the opamp is totally the same as you described above. Do you have any idea what makes the discontinuity?
Thanks.

Best regards

yutao
Back to top
 

scheme_005.PNG
View Profile   IP Logged
Pages: 1 2 3 
Send Topic Print
Copyright 2002-2024 Designer’s Guide Consulting, Inc. Designer’s Guide® is a registered trademark of Designer’s Guide Consulting, Inc. All rights reserved. Send comments or questions to editor@designers-guide.org. Consider submitting a paper or model.