Friday, March 27, 2009

gm/Id plot in cadence

Our main concern is to get suitable method for determining the size of the transistors for any region of operation.We know that the old transistor design equations are no longer sufficient enough for the design of any circuit in submicron region due to various other iterative parameters that come in picture.So to design a circuit we select the sizes from our old experience and then try to optimize it. This approach is very tedious.
In this project thus we try to find out the design parameters in submicron regime, using a plot between gm/id and id/(w/l).
In order to obtain a Gm/Id plot in cadence(for 180um technology),the following steps are to be done:
1) create a simple nmos ckt, with Vgs and Gdd set to 1.8V

2)As spectre doesnt save the DC operating point, so we can save them by the following steps:
a)change simulator to spectre
b)create info.scs file from text editor and save it in the folder which contains all other files of cadence
c) write in the info.scs file:
save N0:oppoint
d)(here N0 is the instance name for the NMOS used in the circuit).Add info.scs as model library in through analog environment.
e)select AWD waveform tool.This can be done by:
Analog Environment -> options -> select waveform tools : AWD
f)sweep Vgs from 0 to 1.8V using DC analysis.
g)Run simulation and go to the result browser as:
Analog design Environment-> tools -> result browser
then
schematic->psf/ -> Run 1 -> DC to DC -> N0
this gives the see DC operating points saved
h)Right click Gm and get the gm plot
3)We used OCEAN to get the desired curves then
4)Analog Environment -> menu -> save script
this script file gives us the setup we have made for simulation
5)Add few lines to this simple script file to save the DC operating point parameters you are
interested in (copy this text exactly):
selectResult('dc)
plot(getData("N0:gm"))
ocnPrint(?output "~/gmid.dat" ?numberNotation 'scientific
getData("N0:gm"),getData("N0:id"))
6)Load this file and run the simulation again from CIW window by typing:
load(“gmid.ocn”)
7)Go to the root directory (or where ever you saved the file) and you can find gmid.dat. All the desired parameters gm, Id are saved here.

6 comments:

  1. Hi.

    this would be very good to me if I could get the values, but I have a doubt in step d.

    Where in the analog environment do I put the path to the info.scs file?

    Thanks for your blog, it has some very helpful things.

    ReplyDelete
  2. hi,

    Sure.I will put up the values too.

    To get the info.scs file go to
    analog environment -> setup -> libraries

    Browse for the library: info.scs and add it along with the technological model libraries.

    ReplyDelete
  3. hi,i tried this method but keep on getting an error "subcktInst:oppoint is not supported", "Ignoring invalid item NM0:oppoint in save statement". NM0 the is instance name.I also tried to use the delimiter NM0.nmhp:oppoint but still it's not working.do you have any idea how to troubleshoot this issue? I'm a newbie to Cadence.

    ReplyDelete
  4. Hi,
    I am able to plot gm/id vs vgs, but i couldn't plot
    gm/id vs id/(w/l).

    can you pls help me out..?

    Thanks,
    Rahul.

    ReplyDelete
  5. Hi

    I read this post two times.

    I like it so much, please try to keep posting.

    Let me introduce other material that may be good for our community.

    Source: General Motors interview questions

    Best regards
    Henry

    ReplyDelete