Cadence Virtuoso overview: Difference between revisions
No edit summary |
No edit summary |
||
Line 17: | Line 17: | ||
csh | csh | ||
source /prog/cadence_init.csh | source /prog/cadence_init.csh | ||
ams_cds_start | |||
Virtuoso Mixed Signal Design Environment should now start up: | Virtuoso Mixed Signal Design Environment should now start up: | ||
[[File:icms_uppstart.jpg]] | |||
In the log window, choose "File > New > Library". | In the log window, choose "File > New > Library". | ||
Line 27: | Line 27: | ||
In the "New Library" 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 "Attach to an existing technology library". Then click the OK button. When asked for technology, choose TECH_C35B4. | In the "New Library" 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 "Attach to an existing technology library". Then click the OK button. When asked for technology, choose TECH_C35B4. | ||
[[File:new_library.jpg]] | |||
After successfully creating the new library, it is time to create your first design. In the log windowox, choose "File > New > Cellview". In the "Create New File" dialog box, you must give the design a name | After successfully creating the new library, it is time to create your first design. In the log windowox, choose "File > New > Cellview". In the "Create New File" dialog box, you must give the design a name. You must also specify which library the design belongs to, and here you specify the library that you have just created. Choose to open the cell with "Schematics XL" and add a checkmark to always use this application if it is not checked. | ||
[[File:create_new_file.jpg]] | |||
Now click OK, and the Virtuoso Schematic Editor should pop up. We will now draw a simple inverter design, as shown in the picture: | Now click OK, and the Virtuoso Schematic Editor should pop up. We will now draw a simple inverter design, as shown in the picture: | ||
[[File:virtuoso_schematic_editor.jpg]] | |||
==Entering the design== | ==Entering the design== | ||
To create the inverter design, do the following: | To create the inverter design, do the following: | ||
1. Press 'i' or click on the "Instance" icon to invoke the transistors. The "Add Instance" dialog box will now pop up. In the "Library" field, click "Browse" to open the "Library Browser". In the library browser, choose "PRIMLIB" | 1. Press 'i' or click on the "Instance" icon to invoke the transistors. The "Add Instance" dialog box will now pop up. In the "Library" field, click "Browse" to open the "Library Browser". In the library browser, choose "PRIMLIB" as library, "nmos4" (for n-type transistor) or "pmos4" (for p-type transistor) as cell and "spectreS" as view. The cell is placed in the schematic by moving the cursor to the desired location and clicking the left mouse button. | ||
[[File:library_browser.jpg]] | |||
2. To insert the voltage sources, pick the "vdc" cell from the "analogLib" library. Add one connected to vdd and gnd and one connected to the input. | 2. To insert the voltage sources, pick the "vdc" cell from the "analogLib" library. Add one connected to vdd and gnd and one connected to the input. | ||
Line 54: | Line 54: | ||
6. To insert a pin, press 'p'. Choose a name for the pin in the dialog that occurs and click on the schematic to place it. Create one input and one output. | 6. To insert a pin, press 'p'. Choose a name for the pin in the dialog that occurs and click on the schematic to place it. Create one input and one output. | ||
6. To change the properties of the icons, press 'q' or click at the "Properties" icon. Then click at the instances or nets that you want to modify. For the vdc source connected between vdd and gnd, set the "DC voltage" property to 3.3 | 6. To change the properties of the icons, press 'q' or click at the "Properties" icon. Then click at the instances or nets that you want to modify. For the vdc source connected between vdd and gnd, set the "DC voltage" property to 3.3. | ||
[[File:edit_object_properties.jpg]] | |||
[[File:edit_object_prop_pmos.jpg]] | |||
7. To check and save the schematic, press 'X' or click the "Check and save" icon. Make sure you get no errors or warnings. Then open " | 7. To check and save the schematic, press 'X' or click the "Check and save" icon. Make sure you get no errors or warnings. Then open "Launch > ADE GXL" and press create new view. The "Virtuoso Analog Environment" should now come up: | ||
[[File:analog_env_1.jpg]] | |||
==Simulating the design== | ==Simulating the design== | ||
8. Choose "Create > Test..." select the cell to simulate. | |||
11. Choose "Outputs > To be plotted > Select on Schematic". Click at the "vdc" 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. | 11. Choose "Outputs > To be plotted > Select on Schematic". Click at the "vdc" 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. | ||
Line 75: | Line 72: | ||
12. Choose "Analyses > Choose". We will now run a dc analysis to obtain the DC transfer characteristics of the inverter. Choose "Component parameter" as your sweep variable. Then click at "Select component". In the schematic, click at the input "vdc" instance. In the "Select Component Parameter" dialog box, choose dc as your sweep parameter. The sweep range should go from 0 to 3.3. | 12. Choose "Analyses > Choose". We will now run a dc analysis to obtain the DC transfer characteristics of the inverter. Choose "Component parameter" as your sweep variable. Then click at "Select component". In the schematic, click at the input "vdc" instance. In the "Select Component Parameter" dialog box, choose dc as your sweep parameter. The sweep range should go from 0 to 3.3. | ||
[[File:choosing_analyses.jpg]] | |||
[[File:select_comp_parameter.jpg]] | |||
The analog environment should now look like this: | The analog environment should now look like this: | ||
[[File:analog_env_2.jpg]] | |||
13. Choose "Simulation > Debug". The outputs should look like this: | |||
[[File:plot_output_dc.jpg]] | |||
To save your simulation settings, choose "Session > Save state" to save your state information under whatever file namn you want. In a later session, you can reload your saved states using "Session > Load state". | To save your simulation settings, choose "Session > Save state" to save your state information under whatever file namn you want. In a later session, you can reload your saved states using "Session > Load state". | ||
Line 96: | Line 91: | ||
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 "Pin" symbol or press 'p' to place pins. Connect an input pin to the inverter input and an output pin to the inverter output. | 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 "Pin" symbol or press 'p' to place pins. Connect an input pin to the inverter input and an output pin to the inverter output. | ||
[[File:add_pin.jpg]] | |||
After checking and saving the design, choose "Design -> Create Cellview -> From Cellview". | After checking and saving the design, choose "Design -> Create Cellview -> From Cellview". | ||
[[File:create_cellview_from_cellview.jpg]] | |||
Now press OK: | Now press OK: | ||
[[File:symbol_generation_options.jpg]] | |||
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: | 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: | ||
[[File:symbol_editor.jpg]] | |||
Draw the symbol in whatever way you want, and then save it by clicking the "Save" symbol or pressing 'S'. | Draw the symbol in whatever way you want, and then save it by clicking the "Save" symbol or pressing 'S'. | ||
[[Category:Mikroelektronikk]] | [[Category:Mikroelektronikk]] |
Revision as of 13:11, 4 September 2013
Analog IC design flow using Cadence from basics(Schematic capture, Netlist extraction, Simulating using ELDO, Layout, Signoff Layout)
Starting up
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.
Here is the outline of the analog IC design flow: 1. Schematic capture (Cadence tool) 2. Netlist extraction from schematic 3. Simulating using ELDO simulator and viewing results with EZWAVE (ELDO is a Mentor Graphic's tool for netlist level simulations) 4. Layout using Cadence 5. Signoff layout (DRC, LVS and parasitic extraction) using Calibre (Calibre is a Mentor Graphic's tool)
ssh -X mikroserver2 csh source /prog/cadence_init.csh ams_cds_start
Virtuoso Mixed Signal Design Environment should now start up:
In the log window, choose "File > New > Library".
In the "New Library" 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 "Attach to an existing technology library". Then click the OK button. When asked for technology, choose TECH_C35B4.
After successfully creating the new library, it is time to create your first design. In the log windowox, choose "File > New > Cellview". In the "Create New File" dialog box, you must give the design a name. You must also specify which library the design belongs to, and here you specify the library that you have just created. Choose to open the cell with "Schematics XL" and add a checkmark to always use this application if it is not checked.
Now click OK, and the Virtuoso Schematic Editor should pop up. We will now draw a simple inverter design, as shown in the picture:
File:Virtuoso schematic editor.jpg
Entering the design
To create the inverter design, do the following:
1. Press 'i' or click on the "Instance" icon to invoke the transistors. The "Add Instance" dialog box will now pop up. In the "Library" field, click "Browse" to open the "Library Browser". In the library browser, choose "PRIMLIB" as library, "nmos4" (for n-type transistor) or "pmos4" (for p-type transistor) as cell and "spectreS" as view. The cell is placed in the schematic by moving the cursor to the desired location and clicking the left mouse button.
2. To insert the voltage sources, pick the "vdc" cell from the "analogLib" library. Add one connected to vdd and gnd and one connected to the input.
3. To insert the ground and vdd nets, pick the "vdd" and "gnd" cells from the "analogLib" library. Here the view name should be "symbol", not "spectreS" (in fact, "symbol" is the only available option).
4. To connect the symbols, press 'w' or click the "Wire (narrow)" icon. Then use the left mouse button to click the nodes togeter, two by two.
5. To remove an instance or a wire, left click at the instance or wire that you want to remove, then press the "Delete" button on the keyboard.
6. To insert a pin, press 'p'. Choose a name for the pin in the dialog that occurs and click on the schematic to place it. Create one input and one output.
6. To change the properties of the icons, press 'q' or click at the "Properties" icon. Then click at the instances or nets that you want to modify. For the vdc source connected between vdd and gnd, set the "DC voltage" property to 3.3.
File:Edit object properties.jpg
File:Edit object prop pmos.jpg
7. To check and save the schematic, press 'X' or click the "Check and save" icon. Make sure you get no errors or warnings. Then open "Launch > ADE GXL" and press create new view. The "Virtuoso Analog Environment" should now come up:
Simulating the design
8. Choose "Create > Test..." select the cell to simulate.
11. Choose "Outputs > To be plotted > Select on Schematic". Click at the "vdc" 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.
12. Choose "Analyses > Choose". We will now run a dc analysis to obtain the DC transfer characteristics of the inverter. Choose "Component parameter" as your sweep variable. Then click at "Select component". In the schematic, click at the input "vdc" instance. In the "Select Component Parameter" dialog box, choose dc as your sweep parameter. The sweep range should go from 0 to 3.3.
File:Select comp parameter.jpg
The analog environment should now look like this:
13. Choose "Simulation > Debug". The outputs should look like this:
To save your simulation settings, choose "Session > Save state" to save your state information under whatever file namn you want. In a later session, you can reload your saved states using "Session > Load state".
Generating a Symbol
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).
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 "Pin" symbol or press 'p' to place pins. Connect an input pin to the inverter input and an output pin to the inverter output.
After checking and saving the design, choose "Design -> Create Cellview -> From Cellview".
File:Create cellview from cellview.jpg
Now press OK:
File:Symbol generation options.jpg
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:
Draw the symbol in whatever way you want, and then save it by clicking the "Save" symbol or pressing 'S'.