Cadence Tutorial -- Presented by Chaitanya Emmela cxe1177@cacs VLSI Research Group CACS Contents Setting up the Cadence Usage Schematic Layout Layout Extracted View Extracted View Simulation Conclusion Future Work Acknowledgements Questions Setting up the Cadence Create a working Directory, where all your projects will be stored. Copy all the files, including the dot files from the “imp_files” directory. Create alias, say stmhsll for stmhsll.cshrc in the .cshrc file. Source the .cshrc file. The stmhsll (stmllull) file sets environment and path for the Cadence STM for high speed and low leakage (low leakage and ultra low leakage) designs. Usage Type in the command: cd working_dir (Figure 1). Type in the command: stmhsll (alias set up for stmhsll.cshrc, in the .cshrc file). Type in the command to start cadence tool: icfb& (Figure 1). Usage Figure 1: Terminal Window Usage Figure 2: ICFB Usage Figure 3: Library Manager Usage Go to “Tools Library Manager”, which starts the Library Manager (Figure 3). This window should show CORE9GPHS, CORE9GPLL, CORX9GPHS, CORX9GPLL, DK_process_013u, IOLIB_65_3V3_m6_LL_65A, IOLIB_65_M6_LL, PR9M6, REG9GPHS, REG9GPLL, STlib, analogLib, device_symbols and device_symbols_a. Usage Figure 4: New Library Usage Figure 5: Attaching Tech File to New Lib Usage To create a new library “File New Library”, this pops a new window as shown in the Figure 4. Attach to existing Tech Library to the New Library created as shown in the Figure 5 (DK_process013u). Click Ok. Usage Figure 6: Create New Cell View Usage Create a New cell view; “File New Cell View”, this will open a window which is shown in Figure 6. Clicking Ok opens up a schematic editor (for drawing the Schematic of the circuit being designed as shown in the Figure 7). Schematic Layout Figure 7: Schematic Schematic Layout During the Schematic remember to define the Vdd and Gnd as Bidirectional pins. Once you are done with the Schematic do check and save. Schematic Layout Figure 8: Layout XL Schematic Layout Then use the Layout XL for the layout from “Tools Design Synthesis Layout XL”. Create New or open existing one (Figure 8). Click Ok and it opens up a new Window, “Layout XL”. Schematic Layout Figure 9: Generate from Source Schematic Layout Click “Design Generate from Source”, to get a window (Figure 9) to generate the pmos, nmos and the pins in the schematic to Layout. Choose “Metal1” as the Layer and click on Apply. Generally, the width of Gnd and Vdd used is 0.78. Do not forget to click on Update or the changes will not be applied. The Boundary height is fixed at 6.5 and the design can stretch horizontally. Click Ok. The output of the Gen. from Source is given in Figure 10. Schematic Layout Figure 10: Output of Gen. from Source Schematic Layout Figure 11: Component Types Schematic Layout Click “Design Component Types”, this opens a window for creating component types (Figure 11). Use Capitals for the Component type names. Type in the Component name in the “Type” text box and click Add. For e.g. Type: PHSMOS/NHSMOS. Choose the Component Class PMOS/NMOS, as appropriate. Schematic Layout Figure 12: Fold Threshold Schematic Layout Figure 13: Source Terminal Schematic Layout Figure 14: Drain Terminal Schematic Layout Figure 15: Gate Terminal Schematic Layout Figure 16: Bulk Terminal Schematic Layout Figure 17: Active layer Schematic Layout In the Edit parameters section, use the following for the various options: - Width Par Name : w, Fold Threshold : 5, Source Terminal : S, Drain Terminal : D, Gate Terminal : G, Bulk Terminal : should be B but leave blank as the Standard PMOS and NMOS cell we are using has no Bulk, we have to create one, Active layer : active drawing (Active dg). This is shown in the Figures 11, 12, 13, 14, 15, 16 and 17. Select “device_symbols phsmos”/”design_symbols nhsmos” from the “Cells in selected scope” section on the left and using “>>>” button add it to “Components in Type” section on the right. Click Ok after all the above options have been set. Schematic Layout Figure 18: Pin Placement Schematic Layout Click “Place Pin Placement” and it opens up a dialog box shown in Figure 18. Do the Following for placing the pins in the layout. Click on the “Link to Layout” Button which turns into “Unlink from Layout” Button as shown in the Figure 18. Click on the “Schematic View” in the “Place pins as in” section. Schematic Layout Figure 19: Output from Pin Placement Schematic Layout Select gnd! and vdd! separately from the Pin Name section and click on the “HRail” Button which turns into “unHRail”. Click Ok. The output from the Pin Placement is shown in Figure 19. Schematic Layout Figure 20: PPART Partitioning Schematic Layout Click “Place Partitioning”, which pops up a window shown in Figure 20. This is used to create partitions. In the section “Choose or type a Partition name”, type the name of the partition one would like to create for e.g. PPART/NPART and click on “Create Partition”. Click on the “Link to design” which turns into “Unlink”. Choose “Softfence (SoftFnc dg) from the LSW window (Figure 21). Create a rectangle (“Create Rectangle”) inside the Boundary area of the Design (between Vdd and Gnd). Click on “Attach Shape” and click on the rectangle drawn on the layout window. If the shape is attached the “Detach Shape” will be activated. (Incase this doesn't happen just check whether the “Link to Design” button is showing "Unlink", otherwise click on "Link to Design".) Schematic Layout Figure 21 -- LSW Schematic Layout Figure 22: NPART Partitioning Schematic Layout Select the MOSFETS in the Component names and move the components by clicking the Move button and choosing the right Partition from the “Target Partitions” section (PMOS in PPART and NMOS in NPART). The NPART Partitioning is shown in Figure 22. After shifting all the MOSFETS to respective partitions, Click Ok. Schematic Layout Figure 23: Placement Planning Schematic Layout Click “Place Placement Planning”, and a window shown in Figure 23 opens up. Incase the Partitions are created choose the required partition or else the default is Boundary. Choose the “Components” tab and change the Option for “Align Components” to "Outside". Click on Calculate Estimates Button on the lower left corner. Schematic Layout Figure 24: Output of Placement Planning Schematic Layout This will calculate the number of NMOS and PMOS in the design and the area in which it will be placed inside the boundary area (Figure 24). Click Ok. Schematic Layout Figure 25: Placer Schematic Layout Click on “Place Placer”, to open the window shown in Figure 25. Select the Options (apart from the already activated ones), “Group CMOS Pairs” and “Optimize Placement”. Click on the “Set File” button (for the rules file) and select Placer.rul from the Browse window. Click Ok. Schematic Layout Figure 26: Output from Placer Schematic Layout Incase the Placer gives an error just close the placer and restart it. This should work. After placing is done, just verify that all the I/O pins are outside the PMOS and NMOS region, if not then manually shift them out (Figure 26). Schematic Layout Figure 27: Export to Router Schematic Layout Click “Route Export to Router”, which opens a window “Export to Router” (Figure 27). In the “Routers” section, select "Cadence chip assembly router", the other option will give license error. Click Ok. Schematic Layout Figure 28: Router Schematic Layout Incase this gives an error, close ICFB and restart it, and try the “Router Export to Router”, this should work (just check that the option "Cadence chip assembly router" is selected in the “Routers” section. A new window opens up (Figure 28). Schematic Layout Figure 29: Router Schematic Layout Goto “Autoroute Detail Router Detail Route”, this opens a window (Figure 29) where one can specify the number of passes. Click Ok. This will route the whole design. The output is shown in Figure 30. Schematic Layout Figure 30: Output from Router Schematic Layout Figure 31: Clean Schematic Layout In case one doesn't like the Routing, one can use “Autoroute Clean”: where one can specify the number of passes, if one wants to (Figure 31). Click Ok. This will clean the Routing, like try to remove higher layers of metal, if possible, etc (Figure 32). Schematic Layout Figure 32: Output from Clean Schematic Layout Figure 33: Routing Done Schematic Layout When the routing seems fine save it and exit. This will save the Routing in the Layout Window (Figure 33). Schematic Layout Figure 34: Adding PTAP and NTAP Schematic Layout Add Instance of NTAP and PTAP, “Create Instance” (the number depends on the size of the design). For arraying a row of NTAP/PTAP, just fill in the number in the Columns section and the Delta X section for the space between each NTAP/PTAP (Figure 34). Click Hide. Schematic Layout Figure 35: Creating Nwell Schematic Layout Choose Nwell (Nwell dg) from the LSW window and using “Create Rectangle”, Create nwell as shown in Figure 35. Layout Extracted View Figure 36: Extractor Layout Extracted View Click “Verify Extract”, to view the window as shown in Figure 36. Specify the “Extracted” name, in the “View Names” Section, if not mentioned default is "extracted". Specify the Rules file as "divaDRCEXT.rul", in the “Rules File” Section. Set switches as extPAR_CapSingleNode, in the “Switch Names”, by pressing “Set Switches” button. Click Ok. Layout Extracted View Figure 37: Extracted View Layout Extracted View This gives an extracted view of the design (Figure 37). Incase the extracted view has some error as "pin in layout not in extracted view", then this is problem and one may have to do the whole procedure again, maybe including changes in Schematic. Close the Layout (without saving), as one has the extracted view already. This will also help in generating many extracted view using the same layout. Extracted View Simulation Figure 38: Spectre Extracted View Simulation From the “Library Manager”, open the “Extracted View” (Usually stored above the layout and schematic for the “cell view”). Click “Tools Analog Environment”, opens up Cadence Analog Design Environment (Figure 38). Extracted View Simulation Figure 39: Simulator Directory Extracted View Simulation Click “Setup Simulator/Directory/Host”, to setup the simulator directory. Choose “spectre” option in the “Simulator” section (Figure 39). Choose the “Project Directory” as “./simulation” (usually default is ~/simulation, don’t forget to change this to ./simulation, this will create simulation files local to the project). Click Ok. Extracted View Simulation Figure 40: Model Libraries Extracted View Simulation Click “Setup Model Libraries”, to setup the Model Libraries for the Spectre Simulation (Figure 40). Click on Browse button to add one by one, common_active.scs, common_go1.scs, common_ploy.scs and mos.scs, in the same order as given, from the Corners Directory, (will be in the imp_dot_files directory copied during the setup or from the original Setup directory) all with the Section TT. Click Ok. Extracted View Simulation Figure 41: Simulation Files Extracted View Simulation Click “Setup Stimuli”, for providing input values to the input signals. If this doesn't work, then try “Setup Simulation Files” (Figure 41). Specify the Stimulus File (like for e.g., "./fa.scs"), in the Stimulus File section. Extracted View Simulation Note the format for the pulse from the following example: V0 (A 0) vsource dc=1.2 type=pulse val0=0.0 val1=1.2 period=1n delay=0 rise=100p fall=100p width=500p V1 (B 0) vsource dc=1.2 type=pulse val0=0.0 val1=1.2 period=1n delay=3n rise=100p fall=100p width=500p V2 (Cin 0) vsource dc=1.2 type=pulse val0=0.0 val1=1.2 period=2n delay=0 rise=100p fall=100p width=1n V3 (vdd! 0) vsource dc=1.2 type=dc Extracted View Simulation Figure 42: Analyses Extracted View Simulation Click on “Analyses Choose”, a window opens up as shown in Figure 42. Choose the radio option "tran" for “transient analysis”, in the “Analysis” section. Choose the “Stop Time” say "10n". Choose the Accuracy Defaults as Moderate and just be sure that the enabled is activated. Click Ok. Extracted View Simulation Figure 43: Save Options Extracted View Simulation Choose “Outputs Save all”, and click on all for “select power signals for output” and “select device currents” sections (Figure 43). Extracted View Simulation Figure 44: Netlist Extracted View Simulation Click on “Simulation Netlist and Run”. This will open a window. Click Ok. If this gives any error try copying the CORNERS Directory into Your Project Directory. One can see the Netlist by clicking “Simulation Netlist Display”. This will open the netlist in a new window (Figure 44). Extracted View Simulation Figure 45: Waveform Window Extracted View Simulation To view the waveform, go to “Results Direct plot Transient Signal”. Just select the signals (pins, both input and output) from the “Extracted View” window and press "ESC" keeping the pointer in the “Waveform Window”. This will plot the waveform in the waveform window (Figure 45). Extracted View Simulation Figure 46: Browse Project Hierarchy Extracted View Simulation More Analysis can be done using “Tools Results Browser”. A window opens as shown in the Figure 46. Click Ok. This will open another window as shown in Figure 47. In the “Result Browser” window, click on the “Extracted_name psf trantran”, Figure 48. Extracted View Simulation Figure 47: Result Browser Extracted View Simulation Figure 48: Tran-Tran Extracted View Simulation Figure 49: Calculator Extracted View Simulation Figure 50: Waveform Window Function Extracted View Simulation This gives Pwr, Currents (ID, IB, etc), etc. Double click any of these, which open up in calculator (Figure 49) by which one can do lot of operations on them like average, integrate, etc. Click on the required Special Function using the “Special Function” button and clicking plot to plot that function on “Waveform Window” (Figure 50). Click on the “Extracted_name psf finalTimeOP-info” (Figure 51). Extracted View Simulation Figure 51: FinalTimeOP-Info Extracted View Simulation Figure 52: Saving State Extracted View Simulation This gives the values for Vds, Vth, Ids, and many more values regarding the various MOSFETs used. Double click any of these to see the Value. Before closing the Design environment, save the state so that it helps the next time one has to use the tool. Click “Session Saving State”, which opens a dialog box as shown in Figure 52. Conclusion Schematic to Layout Automated Extracted View from Layout, does a better extraction and gives all parasitic capacitances. Simulation from extracted view using Spectre. Detailed analysis available apart from Waveform, like power, Ids, etc. Documentation completed and submitted. Future Work Compaction PLS Extract Abutment Acknowledgements Dr. Bayoumi Soumik ST Microelectronics Questions ???? Thank You !!!!