IV. Full Custom IC Design Using Device Generators

Table of Contents

Introduction

In this tutorial we will use Pyxis Layout to create a CMOS inverter. In Tutorial 2 we created an inverter by drawing every individual polygon. This time we will use the MOS device generators to quickly draw the required transistors.

Prepare your Workspace

Add a cell to your Tutorials named Tutorial_4 and create a layout called inverter.

1.png

Create a new layout that uses the generic13 process and has No Connectivity.

2.png

Adding the Transistors Using Device Generators

Navigate to DLA Device > AddMos. Add the component to your layout.

3.png

Press ESC and select the component then access it's properties by pressing q. Change the mos type to pmos and the finger width to 2 μm.

4.png

Similarly add another MOSFET of n-type and change the width to 0.6 μm. Then press ESC, select the object, press m to move it. While you're moving it press v to invoke the align function and align it in the middle of the PMOS transistor.

5.png

Remark: The Sequence parameter tells the device generator what combination of polysilicon gates and contacts you want in the transistor. For this case, the default is cgc, which means contact-gate-contact. For a diffusion shared string of three transistors the sequency would be cgggc (e.g., contact-gate-gate-gate-contact). You can have any arbitrary sequence of gates and contacts and also specify a different width for each transistor by putting a comma separated list of numbers in the width field.

Creating the Positive Supply Voltage and the Reference Node

Lay a Metal 1 shape on top of the PMOS transistor – there should be no spacing between the two. Invoke the s command to resize your shape to the width of the transistor. It might be useful to use align (v) while resizing to make sure it is exactly on top of the PMOS transistor. On that note, remember that you can use m to move the shape wherever you want. Finally change the height of the Metal 1 to 0.8 μm.

6.png

Similarly make the ground under the NMOS transistor.

7.png

Select the Metal 1 corresponding to \(V_{DD}\) and navigate to DLA Device > Via* > Fill Selected. Choose m1nwell.

8.png

Select the Metal 1 corresponding to ground and fill it with m1psub.

9.png

We have successfully created the positive supply voltage and the reference node of our circuit. Remember to run DRC during the design of the circuit.

Finishing the Circuit

Instead of creating shapes or paths to make the necessary connections we will instead use the IRoute function to route the circuit

10.png

Click on the IRoute icon as shown above. You can change layer type by pressing 3 to go down a level or 4 to go up a level. Using that information connect the POLYG of the PMOS transistor with the NMOS transistor.

11.png

Connect the NMOS with the ground, the PMOS with \(V_{DD}\), as well as the Metal 1 of the NMOS transistor with the PMOS transistor. Shift+w will automatically change the width of the Metal 1 to the correct size. Simply, start laying the path and press Shift+w.

12.png

Make the input and output paths with Metal 1.

13.png

Finally connect the POLYG with the Metal 1 of the input. Be sure that IRoute is set to POLYG lay the path towards the input node. Press 4, in order to go to Metal 1, while still laying the path to make the necessary connection between the two.

14.png

We've successfully routed the circuit. Make the necessary ports and add text to them as before.

15.png

Run DRC to check for any warnings. If necessary adjust the circuit accordingly. Finally save your cell run a Layout vs. Schematic (LVS) using the schematic from Tutorial 1.

16.png