<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://ift.wiki.uib.no/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lce042</id>
	<title>ift - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://ift.wiki.uib.no/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lce042"/>
	<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/Special:Contributions/Lce042"/>
	<updated>2026-04-20T14:35:16Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Cadence_Virtuoso_overview&amp;diff=1222</id>
		<title>Cadence Virtuoso overview</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Cadence_Virtuoso_overview&amp;diff=1222"/>
		<updated>2010-03-25T13:25:56Z</updated>

		<summary type="html">&lt;p&gt;Lce042: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Analog IC design flow using Cadence from basics(Schematic capture, Netlist extraction, Simulating using ELDO, Layout, Signoff Layout)=&lt;br /&gt;
&lt;br /&gt;
==Starting up==&lt;br /&gt;
This tutorial will start from very basics in analog IC design then take you through the whole analog IC design process using a combination of cadence and mentor tools.&lt;br /&gt;
&lt;br /&gt;
Here is the outline of the analog IC design flow:&lt;br /&gt;
1. Schematic capture (Cadence tool)&lt;br /&gt;
2. Netlist extraction from schematic&lt;br /&gt;
3. Simulating using ELDO simulator and viewing results with EZWAVE (ELDO is a Mentor Graphic&#039;s tool for netlist level simulations)&lt;br /&gt;
4. Layout using Cadence&lt;br /&gt;
5. Signoff layout (DRC, LVS and parasitic extraction) using Calibre (Calibre is a Mentor Graphic&#039;s tool)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ssh -X mikroserver2&lt;br /&gt;
 source /prog/design_kits/cadence_init/cshrc.cadence.ams&lt;br /&gt;
 ams_cds -tech c35b4 -nologo -mode fb&lt;br /&gt;
&lt;br /&gt;
Virtuoso Mixed Signal Design Environment should now start up:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/icms_uppstart.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the &amp;quot;icms&amp;quot; dialog box, choose &amp;quot;File &amp;gt; New &amp;gt; Library&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In the &amp;quot;New Library&amp;quot; dialog box, you must give the library a name (for example TORLIB, as I did). You must also specify a technology file. Here you choose &amp;quot;Attach an existing techfile&amp;quot;. Then click the OK button. When asked for technology, choose TECH_C35B4.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/new_library.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After successfully creating the new library, it is time to create your first design. In the &amp;quot;icms&amp;quot; dialog box, choose &amp;quot;File &amp;gt; New &amp;gt; Cellview&amp;quot;. In the &amp;quot;Create New File&amp;quot; dialog box, you must give the design a name (for example &amp;quot;torcell&amp;quot;, as I did). You must also specify which library the design belongs to, and here you specify the library that you have just created (in my case, TORLIB).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/create_new_file.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now click OK, and the Virtuoso Schematic Editor should pop up. We will now draw a simple inverter design, as shown in the picture:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/virtuoso_schematic_editor.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Entering the design==&lt;br /&gt;
To create the inverter design, do the following:&lt;br /&gt;
&lt;br /&gt;
1. Press &#039;i&#039; or click on the &amp;quot;Instance&amp;quot; icon to invoke the transistors. The &amp;quot;Add Instance&amp;quot; dialog box will now pop up. In the &amp;quot;Library&amp;quot; field, click &amp;quot;Browse&amp;quot; to open the &amp;quot;Library Browser&amp;quot;. In the library browser, choose &amp;quot;PRIMLIB&amp;quot; as library, &amp;quot;nmos&amp;quot; (for n-type transistor) or &amp;quot;pmos&amp;quot; (for p-type transistor) as cell and &amp;quot;spectreS&amp;quot; as view. The cell is placed in the schematic by moving the cursor to the desired location and clicking the left mouse button.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/library_browser.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. To insert the voltage sources, pick the &amp;quot;vdc&amp;quot; cell from the &amp;quot;analogLib&amp;quot; library. &lt;br /&gt;
&lt;br /&gt;
3. To insert the ground and vdd nets, pick the &amp;quot;vdd&amp;quot; and &amp;quot;gnd&amp;quot; cells from the &amp;quot;analogLib&amp;quot; library. Here the view name should be &amp;quot;symbol&amp;quot;, not &amp;quot;spectreS&amp;quot; (in fact, &amp;quot;symbol&amp;quot; is the only available option).&lt;br /&gt;
&lt;br /&gt;
4. To connect the symbols, press &#039;w&#039; or click the &amp;quot;Wire (narrow)&amp;quot; icon. Then use the left mouse button to click the nodes togeter, two by two.&lt;br /&gt;
&lt;br /&gt;
5. To remove an instance or a wire, left click at the instance or wire that you want to remove, then press the &amp;quot;Delete&amp;quot; button on the keyboard.&lt;br /&gt;
&lt;br /&gt;
6. To change the properties of the icons, press &#039;q&#039; or click at the &amp;quot;Properties&amp;quot; icon. Then click at the instances or nets that you want to modify. For the vdc source connected between vdd and gnd, set the &amp;quot;DC voltage&amp;quot; property to 3.3. For the transistors, set the &amp;quot;Width&amp;quot; and &amp;quot;Lenght&amp;quot; properties to &amp;quot;4u&amp;quot; and &amp;quot;1u&amp;quot;. For the pmos transistor, set the &amp;quot;Model name&amp;quot; property to &amp;quot;modp&amp;quot;. For the nmos transistor, set the &amp;quot;Model name&amp;quot; property to &amp;quot;modn&amp;quot;. As we will see later, the &amp;quot;modn&amp;quot; and &amp;quot;modp&amp;quot; models correspond to SPICE simulation models used by the simulator in the Analog Environment.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/edit_object_properties.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/edit_object_prop_pmos.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
7. To check and save the schematic, press &#039;X&#039; or click the &amp;quot;Check and save&amp;quot; icon. Make sure you get no errors or warnings. Then open &amp;quot;Tools &amp;gt; Analog Environment&amp;quot;. The &amp;quot;Virtuoso Analog Environment&amp;quot; should now come up:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/analog_env_1.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Simulating the design==&lt;br /&gt;
8. Choose &amp;quot;Setup &amp;gt; Simulator/Directory/Host&amp;quot; and set spectreS as your simulator.&lt;br /&gt;
&lt;br /&gt;
9. Choose &amp;quot;Setup &amp;gt; Model Path&amp;quot; and add directory &amp;quot;/prog/hk_37/spectreS/c35/cmos53/tm&amp;quot; to your model path.&lt;br /&gt;
&lt;br /&gt;
10. Choose &amp;quot;Simulation &amp;gt; Netlist &amp;gt; Create Raw&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
11. Choose &amp;quot;Outputs &amp;gt; To be plotted &amp;gt; Select on Schematic&amp;quot;. Click at the &amp;quot;vdc&amp;quot; node connected to the inverter input, the drain node of the nmos transistor and the net connected between the drain nodes of the nmos and pmos transistor.&lt;br /&gt;
&lt;br /&gt;
12. Choose &amp;quot;Analyses &amp;gt; Choose&amp;quot;. We will now run a dc analysis to obtain the DC transfer characteristics of the inverter. Choose &amp;quot;Component parameter&amp;quot; as your sweep variable. Then click at &amp;quot;Select component&amp;quot;. In the schematic, click at the input &amp;quot;vdc&amp;quot; instance. In the &amp;quot;Select Component Parameter&amp;quot; dialog box, choose dc as your sweep parameter. The sweep range should go from 0 to 3.3.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/choosing_analyses.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/select_comp_parameter.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The analog environment should now look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/analog_env_2.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
13. Choose &amp;quot;Simulation &amp;gt; Run&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
14. After the simulation has completed, choose &amp;quot;Results &amp;gt; Plot Outputs &amp;gt; DC&amp;quot;. The outputs should look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/plot_output_dc.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To save your simulation settings, choose &amp;quot;Session &amp;gt; Save state&amp;quot; to save your state information under whatever file namn you want. In a later session, you can reload your saved states using &amp;quot;Session &amp;gt; Load state&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Generating a Symbol==&lt;br /&gt;
Finally, we want to generate a symbol for our inverter. This symbol is needed if we want to use our inverter design inside another design (hierarchical design methodology). &lt;br /&gt;
&lt;br /&gt;
First we return to the schematic editor to add the IN and OUT pins that connect our inverter to the outside world. Click at the &amp;quot;Pin&amp;quot; symbol or press &#039;p&#039; to place pins. Connect an input pin to the inverter input and an output pin to the inverter output.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/add_pin.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After checking and saving the design, choose &amp;quot;Design -&amp;gt; Create Cellview -&amp;gt; From Cellview&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/create_cellview_from_cellview.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now press OK:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/symbol_generation_options.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Connect the left pin to the input pin and the right pin to the output pin. Then press OK. The symbol editor will pop up: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/symbol_editor.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Draw the symbol in whatever way you want, and then save it by clicking the &amp;quot;Save&amp;quot; symbol or pressing &#039;S&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]]&lt;/div&gt;</summary>
		<author><name>Lce042</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Cadence_Virtuoso_overview&amp;diff=1221</id>
		<title>Cadence Virtuoso overview</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Cadence_Virtuoso_overview&amp;diff=1221"/>
		<updated>2010-03-25T13:18:50Z</updated>

		<summary type="html">&lt;p&gt;Lce042: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Analog IC design flow using Cadence from basics(Schematic capture, Netlist extraction, Simulating using ELDO, Layout, Signoff Layout)=&lt;br /&gt;
&lt;br /&gt;
==Starting up==&lt;br /&gt;
To invoke Cadence Virtuoso, type the following from unix shell&lt;br /&gt;
&lt;br /&gt;
 ssh -X mikroserver2&lt;br /&gt;
 source /prog/design_kits/cadence_init/cshrc.cadence.ams&lt;br /&gt;
 ams_cds -tech c35b4 -nologo -mode fb&lt;br /&gt;
&lt;br /&gt;
Virtuoso Mixed Signal Design Environment should now start up:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/icms_uppstart.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the &amp;quot;icms&amp;quot; dialog box, choose &amp;quot;File &amp;gt; New &amp;gt; Library&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In the &amp;quot;New Library&amp;quot; dialog box, you must give the library a name (for example TORLIB, as I did). You must also specify a technology file. Here you choose &amp;quot;Attach an existing techfile&amp;quot;. Then click the OK button. When asked for technology, choose TECH_C35B4.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/new_library.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After successfully creating the new library, it is time to create your first design. In the &amp;quot;icms&amp;quot; dialog box, choose &amp;quot;File &amp;gt; New &amp;gt; Cellview&amp;quot;. In the &amp;quot;Create New File&amp;quot; dialog box, you must give the design a name (for example &amp;quot;torcell&amp;quot;, as I did). You must also specify which library the design belongs to, and here you specify the library that you have just created (in my case, TORLIB).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/create_new_file.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now click OK, and the Virtuoso Schematic Editor should pop up. We will now draw a simple inverter design, as shown in the picture:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/virtuoso_schematic_editor.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Entering the design==&lt;br /&gt;
To create the inverter design, do the following:&lt;br /&gt;
&lt;br /&gt;
1. Press &#039;i&#039; or click on the &amp;quot;Instance&amp;quot; icon to invoke the transistors. The &amp;quot;Add Instance&amp;quot; dialog box will now pop up. In the &amp;quot;Library&amp;quot; field, click &amp;quot;Browse&amp;quot; to open the &amp;quot;Library Browser&amp;quot;. In the library browser, choose &amp;quot;PRIMLIB&amp;quot; as library, &amp;quot;nmos&amp;quot; (for n-type transistor) or &amp;quot;pmos&amp;quot; (for p-type transistor) as cell and &amp;quot;spectreS&amp;quot; as view. The cell is placed in the schematic by moving the cursor to the desired location and clicking the left mouse button.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/library_browser.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. To insert the voltage sources, pick the &amp;quot;vdc&amp;quot; cell from the &amp;quot;analogLib&amp;quot; library. &lt;br /&gt;
&lt;br /&gt;
3. To insert the ground and vdd nets, pick the &amp;quot;vdd&amp;quot; and &amp;quot;gnd&amp;quot; cells from the &amp;quot;analogLib&amp;quot; library. Here the view name should be &amp;quot;symbol&amp;quot;, not &amp;quot;spectreS&amp;quot; (in fact, &amp;quot;symbol&amp;quot; is the only available option).&lt;br /&gt;
&lt;br /&gt;
4. To connect the symbols, press &#039;w&#039; or click the &amp;quot;Wire (narrow)&amp;quot; icon. Then use the left mouse button to click the nodes togeter, two by two.&lt;br /&gt;
&lt;br /&gt;
5. To remove an instance or a wire, left click at the instance or wire that you want to remove, then press the &amp;quot;Delete&amp;quot; button on the keyboard.&lt;br /&gt;
&lt;br /&gt;
6. To change the properties of the icons, press &#039;q&#039; or click at the &amp;quot;Properties&amp;quot; icon. Then click at the instances or nets that you want to modify. For the vdc source connected between vdd and gnd, set the &amp;quot;DC voltage&amp;quot; property to 3.3. For the transistors, set the &amp;quot;Width&amp;quot; and &amp;quot;Lenght&amp;quot; properties to &amp;quot;4u&amp;quot; and &amp;quot;1u&amp;quot;. For the pmos transistor, set the &amp;quot;Model name&amp;quot; property to &amp;quot;modp&amp;quot;. For the nmos transistor, set the &amp;quot;Model name&amp;quot; property to &amp;quot;modn&amp;quot;. As we will see later, the &amp;quot;modn&amp;quot; and &amp;quot;modp&amp;quot; models correspond to SPICE simulation models used by the simulator in the Analog Environment.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/edit_object_properties.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/edit_object_prop_pmos.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
7. To check and save the schematic, press &#039;X&#039; or click the &amp;quot;Check and save&amp;quot; icon. Make sure you get no errors or warnings. Then open &amp;quot;Tools &amp;gt; Analog Environment&amp;quot;. The &amp;quot;Virtuoso Analog Environment&amp;quot; should now come up:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/analog_env_1.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Simulating the design==&lt;br /&gt;
8. Choose &amp;quot;Setup &amp;gt; Simulator/Directory/Host&amp;quot; and set spectreS as your simulator.&lt;br /&gt;
&lt;br /&gt;
9. Choose &amp;quot;Setup &amp;gt; Model Path&amp;quot; and add directory &amp;quot;/prog/hk_37/spectreS/c35/cmos53/tm&amp;quot; to your model path.&lt;br /&gt;
&lt;br /&gt;
10. Choose &amp;quot;Simulation &amp;gt; Netlist &amp;gt; Create Raw&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
11. Choose &amp;quot;Outputs &amp;gt; To be plotted &amp;gt; Select on Schematic&amp;quot;. Click at the &amp;quot;vdc&amp;quot; node connected to the inverter input, the drain node of the nmos transistor and the net connected between the drain nodes of the nmos and pmos transistor.&lt;br /&gt;
&lt;br /&gt;
12. Choose &amp;quot;Analyses &amp;gt; Choose&amp;quot;. We will now run a dc analysis to obtain the DC transfer characteristics of the inverter. Choose &amp;quot;Component parameter&amp;quot; as your sweep variable. Then click at &amp;quot;Select component&amp;quot;. In the schematic, click at the input &amp;quot;vdc&amp;quot; instance. In the &amp;quot;Select Component Parameter&amp;quot; dialog box, choose dc as your sweep parameter. The sweep range should go from 0 to 3.3.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/choosing_analyses.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/select_comp_parameter.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The analog environment should now look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/analog_env_2.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
13. Choose &amp;quot;Simulation &amp;gt; Run&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
14. After the simulation has completed, choose &amp;quot;Results &amp;gt; Plot Outputs &amp;gt; DC&amp;quot;. The outputs should look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/plot_output_dc.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To save your simulation settings, choose &amp;quot;Session &amp;gt; Save state&amp;quot; to save your state information under whatever file namn you want. In a later session, you can reload your saved states using &amp;quot;Session &amp;gt; Load state&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Generating a Symbol==&lt;br /&gt;
Finally, we want to generate a symbol for our inverter. This symbol is needed if we want to use our inverter design inside another design (hierarchical design methodology). &lt;br /&gt;
&lt;br /&gt;
First we return to the schematic editor to add the IN and OUT pins that connect our inverter to the outside world. Click at the &amp;quot;Pin&amp;quot; symbol or press &#039;p&#039; to place pins. Connect an input pin to the inverter input and an output pin to the inverter output.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/add_pin.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After checking and saving the design, choose &amp;quot;Design -&amp;gt; Create Cellview -&amp;gt; From Cellview&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/create_cellview_from_cellview.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now press OK:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/symbol_generation_options.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Connect the left pin to the input pin and the right pin to the output pin. Then press OK. The symbol editor will pop up: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/symbol_editor.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Draw the symbol in whatever way you want, and then save it by clicking the &amp;quot;Save&amp;quot; symbol or pressing &#039;S&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]]&lt;/div&gt;</summary>
		<author><name>Lce042</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Cadence_Virtuoso_overview&amp;diff=1213</id>
		<title>Cadence Virtuoso overview</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Cadence_Virtuoso_overview&amp;diff=1213"/>
		<updated>2010-03-23T10:52:06Z</updated>

		<summary type="html">&lt;p&gt;Lce042: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Building and simulating a simple CMOS inverter in Cadence Virtuoso=&lt;br /&gt;
&lt;br /&gt;
==Starting up==&lt;br /&gt;
To invoke Cadence Virtuoso, type the following from unix shell&lt;br /&gt;
&lt;br /&gt;
 ssh -X mikroserver2&lt;br /&gt;
 source /prog/design_kits/cadence_init/cshrc.cadence.ams&lt;br /&gt;
 ams_cds -tech c35b4 -nologo -mode fb&lt;br /&gt;
&lt;br /&gt;
Virtuoso Mixed Signal Design Environment should now start up:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/icms_uppstart.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the &amp;quot;icms&amp;quot; dialog box, choose &amp;quot;File &amp;gt; New &amp;gt; Library&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In the &amp;quot;New Library&amp;quot; dialog box, you must give the library a name (for example TORLIB, as I did). You must also specify a technology file. Here you choose &amp;quot;Attach an existing techfile&amp;quot;. Then click the OK button. When asked for technology, choose TECH_C35B4.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/new_library.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After successfully creating the new library, it is time to create your first design. In the &amp;quot;icms&amp;quot; dialog box, choose &amp;quot;File &amp;gt; New &amp;gt; Cellview&amp;quot;. In the &amp;quot;Create New File&amp;quot; dialog box, you must give the design a name (for example &amp;quot;torcell&amp;quot;, as I did). You must also specify which library the design belongs to, and here you specify the library that you have just created (in my case, TORLIB).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/create_new_file.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now click OK, and the Virtuoso Schematic Editor should pop up. We will now draw a simple inverter design, as shown in the picture:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/virtuoso_schematic_editor.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Entering the design==&lt;br /&gt;
To create the inverter design, do the following:&lt;br /&gt;
&lt;br /&gt;
1. Press &#039;i&#039; or click on the &amp;quot;Instance&amp;quot; icon to invoke the transistors. The &amp;quot;Add Instance&amp;quot; dialog box will now pop up. In the &amp;quot;Library&amp;quot; field, click &amp;quot;Browse&amp;quot; to open the &amp;quot;Library Browser&amp;quot;. In the library browser, choose &amp;quot;PRIMLIB&amp;quot; as library, &amp;quot;nmos&amp;quot; (for n-type transistor) or &amp;quot;pmos&amp;quot; (for p-type transistor) as cell and &amp;quot;spectreS&amp;quot; as view. The cell is placed in the schematic by moving the cursor to the desired location and clicking the left mouse button.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/library_browser.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. To insert the voltage sources, pick the &amp;quot;vdc&amp;quot; cell from the &amp;quot;analogLib&amp;quot; library. &lt;br /&gt;
&lt;br /&gt;
3. To insert the ground and vdd nets, pick the &amp;quot;vdd&amp;quot; and &amp;quot;gnd&amp;quot; cells from the &amp;quot;analogLib&amp;quot; library. Here the view name should be &amp;quot;symbol&amp;quot;, not &amp;quot;spectreS&amp;quot; (in fact, &amp;quot;symbol&amp;quot; is the only available option).&lt;br /&gt;
&lt;br /&gt;
4. To connect the symbols, press &#039;w&#039; or click the &amp;quot;Wire (narrow)&amp;quot; icon. Then use the left mouse button to click the nodes togeter, two by two.&lt;br /&gt;
&lt;br /&gt;
5. To remove an instance or a wire, left click at the instance or wire that you want to remove, then press the &amp;quot;Delete&amp;quot; button on the keyboard.&lt;br /&gt;
&lt;br /&gt;
6. To change the properties of the icons, press &#039;q&#039; or click at the &amp;quot;Properties&amp;quot; icon. Then click at the instances or nets that you want to modify. For the vdc source connected between vdd and gnd, set the &amp;quot;DC voltage&amp;quot; property to 3.3. For the transistors, set the &amp;quot;Width&amp;quot; and &amp;quot;Lenght&amp;quot; properties to &amp;quot;4u&amp;quot; and &amp;quot;1u&amp;quot;. For the pmos transistor, set the &amp;quot;Model name&amp;quot; property to &amp;quot;modp&amp;quot;. For the nmos transistor, set the &amp;quot;Model name&amp;quot; property to &amp;quot;modn&amp;quot;. As we will see later, the &amp;quot;modn&amp;quot; and &amp;quot;modp&amp;quot; models correspond to SPICE simulation models used by the simulator in the Analog Environment.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/edit_object_properties.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/edit_object_prop_pmos.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
7. To check and save the schematic, press &#039;X&#039; or click the &amp;quot;Check and save&amp;quot; icon. Make sure you get no errors or warnings. Then open &amp;quot;Tools &amp;gt; Analog Environment&amp;quot;. The &amp;quot;Virtuoso Analog Environment&amp;quot; should now come up:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/analog_env_1.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Simulating the design==&lt;br /&gt;
8. Choose &amp;quot;Setup &amp;gt; Simulator/Directory/Host&amp;quot; and set spectreS as your simulator.&lt;br /&gt;
&lt;br /&gt;
9. Choose &amp;quot;Setup &amp;gt; Model Path&amp;quot; and add directory &amp;quot;/prog/hk_37/spectreS/c35/cmos53/tm&amp;quot; to your model path.&lt;br /&gt;
&lt;br /&gt;
10. Choose &amp;quot;Simulation &amp;gt; Netlist &amp;gt; Create Raw&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
11. Choose &amp;quot;Outputs &amp;gt; To be plotted &amp;gt; Select on Schematic&amp;quot;. Click at the &amp;quot;vdc&amp;quot; node connected to the inverter input, the drain node of the nmos transistor and the net connected between the drain nodes of the nmos and pmos transistor.&lt;br /&gt;
&lt;br /&gt;
12. Choose &amp;quot;Analyses &amp;gt; Choose&amp;quot;. We will now run a dc analysis to obtain the DC transfer characteristics of the inverter. Choose &amp;quot;Component parameter&amp;quot; as your sweep variable. Then click at &amp;quot;Select component&amp;quot;. In the schematic, click at the input &amp;quot;vdc&amp;quot; instance. In the &amp;quot;Select Component Parameter&amp;quot; dialog box, choose dc as your sweep parameter. The sweep range should go from 0 to 3.3.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/choosing_analyses.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/select_comp_parameter.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The analog environment should now look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/analog_env_2.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
13. Choose &amp;quot;Simulation &amp;gt; Run&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
14. After the simulation has completed, choose &amp;quot;Results &amp;gt; Plot Outputs &amp;gt; DC&amp;quot;. The outputs should look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/plot_output_dc.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To save your simulation settings, choose &amp;quot;Session &amp;gt; Save state&amp;quot; to save your state information under whatever file namn you want. In a later session, you can reload your saved states using &amp;quot;Session &amp;gt; Load state&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Generating a Symbol==&lt;br /&gt;
Finally, we want to generate a symbol for our inverter. This symbol is needed if we want to use our inverter design inside another design (hierarchical design methodology). &lt;br /&gt;
&lt;br /&gt;
First we return to the schematic editor to add the IN and OUT pins that connect our inverter to the outside world. Click at the &amp;quot;Pin&amp;quot; symbol or press &#039;p&#039; to place pins. Connect an input pin to the inverter input and an output pin to the inverter output.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/add_pin.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After checking and saving the design, choose &amp;quot;Design -&amp;gt; Create Cellview -&amp;gt; From Cellview&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/create_cellview_from_cellview.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now press OK:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/symbol_generation_options.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Connect the left pin to the input pin and the right pin to the output pin. Then press OK. The symbol editor will pop up: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;uploads/symbol_editor.JPG&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Draw the symbol in whatever way you want, and then save it by clicking the &amp;quot;Save&amp;quot; symbol or pressing &#039;S&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]]&lt;/div&gt;</summary>
		<author><name>Lce042</name></author>
	</entry>
</feed>