Tutorial 4: CMOS NAND gate
Start Mobaxterm and log on to the
Cadence server.
Copy the Tutorial_3 library into a new library called Tutorial_4.  Make sure that when you copy Tutorial_3 that the "update instances" box is checked.
Next copy the inverter cell into a cell called nand2 (a 2-input NAND gate). This is useful because now we do not have to remake the cells when we are creating a new circuit layout. 

Open that NAND cell schematic and create the circuit below. The pmos and nmos widths are now 6u.  To copy objects select the object that you want to copy then press "c",  then click close to the object .  Pin "B" is an input, pin "AnandB" is an output. 

Check and save. The errors that appear are a result of the symbol not matching the schematic.   In the library manager delete the symbol view of the nand2 gate. This is a symbol of the inverter.  

Now check and save, there should be no errors.

Next we are going to create a symbol for the nand gate.  Click "Yes" to overwrite sim info and add/update inherited parameters.

Just like previously delete everything except for the pins and then draw a NAND symbol (below). When you are finished check and save.


Now let's simulate the operation of the gate. 
In the library manager create a new schematic cell called
sim_nand2_tran. Create the following schematic.  Use a vpulse instead of a vdc. We also need a cap and gnd





Next, open ADE L and set up the model libraries. You need both ami0P.m (pmos) and ami0N.m (nmos).

Set the vdd! to 5 V by setting up the "stimuli" under "setup". Make sure that it is on Global Sources and "Enabled" is checked. 


The outputs that will be save and plotted are the "in"  and  "out" wires.



Finally, set the analysis to tran, then save the state as a cellview.



In the plot window spilt the graphs.
The two plot should look like the image below.


Save and close all open cell views. 

Open the nand cell layout from the library manager. 
Delete the metal1 and "Ai" pin connecting the pmos and the nmos together. 

Then delete the metlal1 connecting the nmos to the ptap. 

Then move the ptap over to the left side.  Save and DRC. Fix any errors.

Next delete the metal1 from the ntap to the left side of the PMOS and delete the "vdd!" pin. Also delete the "gnd!" pin
Then copy the pmos cell. 


Move the new pmos cell so that is overlapping the original pmos.  Then change the number of contacts in the ptap and ntap to 5. Save then DRC.


Now let’s make a copy  nmos and overlap it with the first, like we did above for the PMOS.
Let’s also move the m1_poly and A pin over adjacent to the vertical poly and add a poly rectangle, m1_poly, and B pin (input) for the added PMOS.
Ensure that pin names are showing, the pins are added on metal1.  Now add add inputOutput pins for vdd! and gnd!
The result is seen below.


We now need to make it so there is not metal between the two nmos.  To do this we will the flatten the hierarchies. With both nmoses selected, click on "Edit" then to "Hierarchy" then click on "Flatten".


In the pop up window under the "Preserve" drop down deselect " Pins" and " Pin geometries" . Then click "Ok".

Now delete the metal in-between the two nmos.  To do this you will have to move some things around.

It should look as below when it is reassembled.


Add metal1 to gnd!, vdd!.  Connect the drains of the two pmos to the drain of the nmos. Finally add pin "AnandB" output as seen. DRC and save. 


With the stop level set to 0 we get...

Extract the layout and open the extracted view with the Library Manager.

Run  LVS.



Make sure the layout and schematic match. 



Congratulations You have finished Tutorial 4. Continue to tutorial 5