Skip to main content

Cadence ~~


As modern technology goes on increasing the size of components used in it goes on decreasing. that is, we have VLSI and then AVLSI.

In engineering studies we use a tool called CADENCE that is used for this VLSI designing and simulation.

It's quite difficult to be honest at first, but after 2 years in it, the following steps basic one's ofcourse might help you out surviving in VLSI practicals .. :)

Running the Cadence tools
Log in to your UNIX/LINUX account. Open the terminal window.

Now you should be able to run the Cadence tools. Never run Cadence from your root directory, it
creates many extra files that will clutter your root. Instead please create a directory (e.g.
cadence).

>> mkdir cadence
>>cd cadence

Now start Cadence by typing
>>csh
>> source cshrc
>>cd cadence_ms_labs_613
>>virtuoso

The command will start Cadence and after a while you should get a window with the
“Virtuoso@ 6.1.5”, also called Command Interpreter Window (CIW) as below:



now :

Go to file -> New -> Library from the file menu
You
will see a “New Library” window (Fig 3). Fill in the name of the new library (e.g.
CMOSInverter) in the dialog window (this will create the library in the directory where you
started “Virtuoso”, you could also choose to set a path if you wanted another directory). Click on
“Attach to existing tech library” and click OK.




Once you have created your library. Let's start making a simple schematic file.

Go to File-> New ->Cell View



Wait for a while. “The schematic window will appear. You should get the “Virtuoso Schematic
Editing” window as shown below (Fig 5). Spend some time analyzing the window. On the left
side you have various shortcuts to common used commands such as: placing component
instances (looks like an IC), drawing wires, placing ports, stretching, copying, zooming in and
out, saving, etc. If you pass the mouse pointer on top of the buttons you get short pop-up help
messages. You also have access to these commands (and others) from the menu. It is not possible
here to describe all the functionality of Virtuoso Schematic so you are strongly encouraged to
read the on-line user manuals.




So here we are ready with the environment we have to create our circuit diagram to implement any circuit.

Adding a component.

press i or Click on the “Instance” button (icon) on the left side (which looks somewhat like an IC, or go to
Add -> Instance), this will pop-up an “Add Instance” window



Now click on the Browse. Another window called “Library Browser – Add Instance” (Fig 6) will
pop up. We will select PMOS transistor and will place it on the Virtuoso Schematic window.
Follow the steps now. Select as follows in the Library Browser window (Fig 7).
Library =>gpdk180
Cell => pmos
View => symbol



choose every component you want to add from this library and note always click on symbol and then add it.

 

Making a Symbol From the Schematic

Follow the steps as given below:
Once you are done with your schematic and you want to make a symbol representing the whole schematic, do the following

1. Go to create -> Cellview -> From cell view
2. Then here only change the symbol name .. the name with which the symbol is going to be saved
3. note the symbol always gets saved in the library you are working and under the cell name of the schematic
4. once you have change the symbol name, click ok
5. The you'll get a window showing top,left, up and down pins
6. Here you can arrange the way you want the pins in schematic to be displayed ..e.g Vdd on top and Gnd at below
7. Note: Also if you have multiple pins of same name coming you can delete them too ( no worries  :) )
8. Then click ok
9. A new window appears where you have a square box with your pins as per you define them and a Partname in middle
10. You can change the Part name by double-click on it. Once you are done, just go to File-> Save Symbol

YOU ARE DONE CREATING A SYMBOL :)

You can add this symbol in any other schematic ...
Click i --> Go to your library where the schematic of your symbol is saved --> then click on the cellview name i.e. schematic name and then --> On the right hand side choose the symbol you created  --> That's it :)

BIG NOTE: While doing a symbol always replace your Vdd and Gnd by Pins ... click P --> Name it as VDD/GND ... Input ... And don't forget to make it a POWER function instead the default SIGNAL option.  
 

THE "ADE L" :

So after setting up your schematic and getting done with the symbol, you'll surely like to see whether it is working as per you design or not.. ;)

Cadence provides us with a powerful tool named as ADE --> ANALOG DESIGN ENVIRONMENT

http://nano.wiki.ifi.uio.no/images/thumb/4/4a/Cadence_Starting_LayoutGXL.png/600px-Cadence_Starting_LayoutGXL.png 
  
So above is the window that you see when you are in schematic mode, now go to Launch --> click on ADE L

After clicking on it the following window will appear ..
http://www.bioee.ee.columbia.edu/courses/cad/html/ade.png 

 Here is where you'll setup the things you need to see at the output screen.

Follow the steps below to do the simulation:

1. Go to setup --> Stimuli --> following window appears

http://www.cse.buffalo.edu/~shixiong/CadenceTutorial_files/image032.jpg  

 2. Here we are having inputs and Global Sources , the inputs will contain all the pins that you have assigned as inputs and global sources are the Vdd and Gnd pins in your schematic.
 3. As seen in the pic above, you have enable the pin --> Choose the type of function you want , e.g. pulse, bit , dc etc and type of signal whether current or voltage.
4.  Do this for all the inputs 

NOTE: When you are choosing function as pulse always the Period > Pulse width 

5. In Global source you'll get only one pin as Vdd/Gnd .. choose dc function and put the required value (usually 1.8V )
6. So after you are done with this , click apply --> ok
7. Then you need to select the outputs that need to be plotted in the simulation --> Go to Outputs in the ADE L window --> To be plotted --> Select on schematic.So, here just select the pins you want to see in the simulation either be inputs or outputs.
8.  After this you need to setup the analysis part .. meaning how much you want the simulation to run and all the things like whether you want transient analysis or something else. ( SOMETHING LIKE THIS )
 
http://eda.engineering.wustl.edu/wiki/images/7/79/Tutorials-Cadence-Schematic_TestInv_Transient3.gif 
9 . In tran don't forget to Choose Moderate and Enable it.
10. the final window will look like below all  you need now is click on the Green Button that runs the Simulation :) YOU'RE DONE

BIG NOTE: Always save your states before exiting the ADE L , go to Session --> Save state the following window will appear .. just browse where you want to save the states and always click on select all at the bottom so all the settings are saved -- > Click OK.. Also you can load these states any time following Session --> Load state --> Browse --> Select the state --> OK

http://eda.engineering.wustl.edu/wiki/images/d/db/Tutorials-Cadence-SaveState-002.png

Comments

  1. thanks a lot..that was very helpful

    ReplyDelete
  2. Nice work Prasad. Looking forward to the updates !!!

    ReplyDelete
  3. Thanks malhar , will sure add more things here :)

    ReplyDelete

Post a Comment

Popular posts from this blog

VLSI viva compilation

All the below stuff is a compiled post from google of all the viva questions asked on vlsi and avlsi , do take a look  I've actually made this for me :P ( Last minute Reading Stuff :) ;) ) 1. Why does the present VLSI circuits use MOSFETs instead of BJTs? Compared to BJTs, MOSFETs can be made very small as they occupy very small silicon area on IC chip and are relatively simple in terms of manufacturing. Moreover digital and memory ICs can be implemented with circuits that use only MOSFETs i.e. no resistors, diodes, etc. 2. What are the various regions of operation of MOSFET? How are those regions used? MOSFET has three regions of operation: the cut-off region, the triode region, and the saturation region. The cut-off region and the triode region are used to operate as switch. The saturation region is used to operate as amplifier. 3. What is threshold voltage? The value of voltage between Gate and Source i.e. V GS at which a sufficient number of mobile e...

Pylove

For the PyLovers , here we bring more coding examples. Written and tested by us, today we have 5 of the codes from basic to moderate that would help you get more attract towards #Python. Here are some codes that we have been practicing. Hope you try them too!!! Don't just copy+paste, edit too and see what changes can be done :) 1. Stringers: In this code, we have created a function that will take any string as a input and perform various string operations using the inbuilt string function as follows: 1. length of string using len 2. First occurrence of a char in string using  .index 3. Counting the number of times the char as appeared using .count 4. Convert string to upper and lower case using .upper and .lower respectively 5. Checking if the string starts and ends with a particular letter using .startswith and .endswith  6. Splitting the string using .split and storing it in a list. THE CODE: def stringers():     s=input('Enter ...

Microsoft BizTalk Server | Interview Questions | Set 1

Hi Folks, Below is list of Some important questions that you may want to go through for a Biztalk developer role opening. Sharing the set 1 now just with questions. Will be sharing more soon. What is BizTalk Server? List down components of Biztalk server Biztalk architecture how is it? Types of schemas Document schema vs Envelope schema How to create envelope schema and its properties What is Property schema , how to create and its basic properties Purpose of using Flat file schema How to create a Flat file schema What do you mean by Canonical Schema What's is a message type Can a schema be without namespace What is min max and group min max property in a schema Explain Block default property Property promotion and types Distinguished field vs Promoted field Is it possible to promote XML record of complex content What is <Any> element in a schema Max length Promoted field and distinguished field What's Auto mapping and Default mapping  Can w...