The Designer's Guide Community
Forum
Models in Minutes
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines. Feb 18th, 2019, 12:41am
  HomeHelpSearchLoginRegisterPM to admin  
 
1  Design / RF Design / RF Inductor Layout
 on: Feb 15th, 2019, 6:56pm 
Started by MWJ1975 | Post by MWJ1975
Hi,

I am currently doing a layout for an RF 2.4GHz receiver in GF 130nm CMOS technology using Cadence Virtuoso. I have begun planning my layout and I have some general questions regarding the inductors.

I have two single-ended inductors about 18nH (pretty large area, an outer diameter of 300um for both of them) which are connected to a cross-coupled CMOS pair to form the differential LC oscillator. There is also a varactor across the pair for frequency tuning.

I am trying to determine a reasonable space between the inductors and the varactor/nfets. In the training document, the only information I found was the spacing between the bond pads and the inductor. Reading Alan Hastings book I couldn't really find any information on this. The inductors are at the highest metal levels (MA, E1). Could anyone help assist with the following questions:

1) Related material for inductor layout

2) General spacing and area rules besides the DRC

Thank you.

2  Simulators / Circuit Simulators / Re: Spectre simulation using SPICE model
 on: Feb 14th, 2019, 12:42pm 
Started by hzhang | Post by Andrew Beckett
Glad it was resolved. BTW, yes I was using spectre.

Regards,

Andrew.

3  Simulators / Circuit Simulators / Re: Warning in Cadence OCEAN
 on: Feb 13th, 2019, 11:49am 
Started by cheap_salary | Post by sysadmin
Wanted to share how we got rid of the warning message on our Rhel2.6 server:  
Turned out /etc/fstab was set with SELinux context (ls -l /etc/fstab showed a trailing "." permission bit).  Ran "setfacl -b" and "setfattr -x security.selinux" to remove ACL and SELinux context.  Confirm SELinux is disabled with "sestatus".
Warning message disappeared after the change.

4  Simulators / Circuit Simulators / Re: Spectre simulation using SPICE model
 on: Feb 12th, 2019, 10:13am 
Started by hzhang | Post by hzhang
Hi,

Problem solved and it was caused by my definition of terminal names.

Thanks for your help.

5  Simulators / Circuit Simulators / Re: Spectre simulation using SPICE model
 on: Feb 12th, 2019, 8:01am 
Started by hzhang | Post by hzhang
Hi Geoffery,

My bad. Yes, the used model name is NTP75N03-06.SP3.

Geoffrey_Coram wrote on Feb 12th, 2019, 7:50am:
The original post said the subckt was in NTP75N03.sp3, but I couldn't find that file; I found the same one Andrew did (NTP75N03-06.SP3) and various others that were even more different.


6  Simulators / Circuit Simulators / Re: Spectre simulation using SPICE model
 on: Feb 12th, 2019, 7:59am 
Started by hzhang | Post by hzhang
Hi, Andrew,

Thank you for your help.

Yes, the simulation result you got also makes sense to me. It seems that something went wrong when I tried to import SPICE model.

One more question, is your simulator spectre? My netlist is attached.
[img][/img]
Andrew Beckett wrote on Feb 12th, 2019, 7:41am:
I ran (from command line, because I was lazy and didn't want to set up the symbol) with this netlist:

Code:
//

include "NTP75N03-06.SP3"

parameters vi=10 vg=2
M1 (d g 0) ntp75n03\-06
Vd (d 0) vsource dc=vi
Vg (g 0) vsource dc=vg

sweepvd sweep param=vi start=1 stop=10 step=0.5 {
  dc dc param=vg start=0 stop=10 step=0.1
}
save M1:1 



Here's the curves I got - I've selected the vi=10 curve (I simulated without sweeping the drain voltage initially). Is that not what you got? Doesn't look to unreasonable to me, but I didn't check the datasheet.


7  Simulators / Circuit Simulators / Re: Spectre simulation using SPICE model
 on: Feb 12th, 2019, 7:50am 
Started by hzhang | Post by Geoffrey_Coram
The original post said the subckt was in NTP75N03.sp3, but I couldn't find that file; I found the same one Andrew did (NTP75N03-06.SP3) and various others that were even more different.

8  Simulators / Circuit Simulators / Re: Spectre simulation using SPICE model
 on: Feb 12th, 2019, 7:41am 
Started by hzhang | Post by Andrew Beckett
I ran (from command line, because I was lazy and didn't want to set up the symbol) with this netlist:

Code:
//

include "NTP75N03-06.SP3"

parameters vi=10 vg=2
M1 (d g 0) ntp75n03\-06
Vd (d 0) vsource dc=vi
Vg (g 0) vsource dc=vg

sweepvd sweep param=vi start=1 stop=10 step=0.5 {
  dc dc param=vg start=0 stop=10 step=0.1
}
save M1:1 



Here's the curves I got - I've selected the vi=10 curve (I simulated without sweeping the drain voltage initially). Is that not what you got? Doesn't look to unreasonable to me, but I didn't check the datasheet.

9  Design / Analog Design / Moved: RC oscillator cannot oscillate
 on: Feb 12th, 2019, 7:26am 
Started by Jacki | Post by Jacki
This Topic has been moved to Circuit Simulators by Ken Kundert.

10  Simulators / Circuit Simulators / Re: RC oscillator cannot oscillate
 on: Feb 12th, 2019, 7:26am 
Started by Jacki | Post by Andrew Beckett
Circuit simulators are quite good at finding the metastable state of such circuits, because the first thing you do is to find the DC operating point by (effectively) removing all the capacitors and shorting all the inductors - this will then solve all the equations so that everything balances.

Then when the transient starts and the capacitors/inductors are re-introduced, nothing happens to cause the simulator to move away from that steady state that was found. With transient noise, you are getting something other than simulator numerical noise which helps any oscillation to build up.

Without reverting to transient noise though, a simple approach is often to use an initial condition on one of the key nodes in the feedback to hold it in one of the extremes of the oscillation which then means that it is held away from the metastable state and will start oscillating.

That sometimes isn't enough with higher-Q oscillators - you sometimes need to do things like giving an impulse at the beginning (e.g. turning the supplies on abruptly, or injecting a current pulse) to kickstart the oscillator.

It can also help to set the transient maxstep parameter to be (say) 1/20th of the expected oscillation period - this tends to help ensure the oscillator starts quickly. You don't often need to set maxstep - this is one of the few cases where it can be useful though (this is for spectre - other simulators may have a similar setting).

Regards,

Andrew.

Trouble viewing this site? Copyright © 2002-2018 Designer's Guide Consulting. 'Designer's Guide' is a registered trademark of Designer's Guide LLC. All rights reserved.

Our colleges are not as safe as they seem. Sexual assault is pervasive and the treatment of the victim by the adminstration is often as damaging as the assault: Campus Survivors, Campus Survivors Forum.

Some of our other sites that you might find useful: Avendesora, Inform and QuantiPhy.