Lab 3 - ECE 421L 

Authored by Michael Kajkowski,

9/17/2014

kajkowsk@unlv.nevada.edu 

  

Introduction:
In this lab we will learn the basics of creating a layout. Using this knowledge we will then create a layout for the DAC circuit that we made in the previous lab. The first step will be to make a 10K n well resistor, then we will use this resistor (like a component) to build the 2R_R schematic. Note that because our DAC consists of 10 individual 2R_R symbols, we only need to make the layout for the one bit 2R_R schematic/symbol. The layout for this schematic/symbol will propagate through the entire DAC. 

  

Creating the 10K n well resistor:
Before we get started lets continue reading through tutorial 1. The rest of this tutorial will give us the knowledge needed to create the n well resistor layout. After doing so, we will go into library manager and create two new cells. Located inside the same library as the previous lab, we will create a layout view for 2R_R & a layout cell named R_nwell_10k. The R_nwell_10k cell will be our component that we will use later on. 

  

First, open the R_nwell_10k cell and select n well in the Layer Selection Window (LSW). Then hit R on the keyboard and draw any shaped rectangle. Note that our n well should be 4.5 um wide and 56 um long. We will discuss these dimensions in more detail later on in this lab. Once you have drawn this rectangle, you will then click inside the rectangle and hit Q to change properties. A window will appear and you will need to input -28 into “left”, 28 into “right, -2.25 into “bottom” and 2.25 into “top”. Then hit OK. Here is what you should get:

2_R_nwell_10K.JPG

 Notice how the rectangle's dimensions changed.

    

 To verify that we satisfy the design rules, go to Verify=> DRC. A window will appear, hit OK and watch for any errors. If your n well did not pass the DRC then error messages will appear. Generally because we are using the C5 process our minimum width of n well should be at least 3.6 um. In our case our width is 4.5 um, so we should expect no errors in this regard. However we do find four errors. Reading these errors (in the CIW window) we learn that the edges of the n well are not on the grid. To fix this we need to slightly modify our dimensions, so that our n well will snap to the grid. First we need to kit E on the keyboard. A window will appear and you can then see what that the Snap Spacing is set to .15 um.

   

 Using this information, we can simply divide our width and length by .15 um.  Here’s what we see, 4.5/.15=30 & 56/.15=373.33333. We can see that 56/.15 is an irrational number; this is the root of our problem. To correct this we can simply add .1 to 56. Click the rectangle and hit Q. 

Here is what you should input:

 1_nwell_dimensions.JPG

  

 Perform a DRC check once again and you should receive no errors.

  

 Now that our n well passes DRC we can now add connections to our resistor. 

Hit I and select the ntap component as seen below:

3_instance_metal1.JPG

   

 Make sure to select 2 rows of contacts. Place the ntap’s at the right and left ends of the n well.
Be sure to hit shift E and the layer editor options window will appear. Make sure to de-select “Gravity On”. Next hit E and the display options window will appear. Make sure “Pin Names” is checked and change the “Stop” entry from zero to 10. Hit OK

  

Now we can give these connectors pin names.
 
Select metal 1 in the LSW and goto Create=>Pin. Zoom in to the right connector and draw a rectangle matching the size of the box as seen below.  Then position the label in the center. Make sure to name the pin in the Terminal Name box & select the correct I/O type.

pin_name.JPG

   

Perform the same procedure for the left side.
 
Next select res_id in LSW and draw a rectangle over the n well (excluding the connectors).
Then save and perform a DRC, there should be no errors.

 Here is what you resistor should look like:

close_up_res_id.JPG

  

 Finally, we need to verify that our resistor is 10k ohms. Goto Verify=> Extract and then hit OK. Goto library manger and go to the R_nwell_10k cell. You will notice that there is a new view called extracted. Open the extracted view. Here is what you will see:

 10k_verify_ohms.JPG

We can see that the resistance is approximately 10K ohms. (Note that the MK Extract is just a label to personalize my view). 

  

 We now have a 10K n well resistor!!!

  

Creating the 2R_R Layout:
Open you newly created 2R_R layout view. Hit I and find your 10K n well. Place three of them onto the layout (stacking them on top of each other with some spacing between them). You will have to space them as close as possible without violating DRC rules. For this process the minimum spacing is 12 lambdas. Here’s what your completed layout should look like:
completed_2r_r.JPG

  

As seen above, use metal 1 to draw rectangles to connect the resistor connectors.  Further, as done before, create pin names ( left, top, and bot) to match the labels seen in the 2R_R schematic. Remember that the left pin is an input and the other two are in/out type of terminals.

    

Perform a DRC check and extract the layout.
   
Now we are ready to perform a LVS check (this ensures that the layout matches the schematic).
Open the extracted view and goto Verify=>LVS.
Here is what you will see:

LVS_extracted_view.JPG

   

Click run or outputs to verify.

  

Here is what you will see when you hit Run

LVS_run.JPG

  

Here is what you will see when you hit output:

LVS_output.JPG

This output shows that the LVS passed, but it provides more detail.

  

 We have successfully created a layout for our one bit DAC schematic, which has propagated through the entire 10 bit DAC cell.

   
Discussion Points:
One important point to discuss is how we determined which dimensions to use for the n well resistor.  We know that, according to the C5 MOSIS process, the resistance per unit square for n well is 800, lambda=300nm, and the allowed minimum width of n well is 12 lambdas. We also know that we want to achieve a resistance of 10K ohms.
   
Knowing these things we can determine our dimensions. For this lab we arbitrarily decided our width to be 15 lambdas. We then calculate our length:    10k=800(length/15) =>  length= 187.5 lambdas. So the dimensions are Length=187.5*300nm=56 microns & Width=15*300nm=4.5 microns. To verify our dimensions and resistance, cadence allows us to create a ruler (hit k on keyboard) to measure the dimensions and while in the extraction view, as seen before, we can visibly see the actual resistance of the n well.

   

Here is the measured dimensions for our n well resistor:

measurement.JPG

 As you can see the dimensions match our calculated results.

  

 Furthermore, we can verify that our well spacing is acceptable with the C5 MOSIS process:

 

measure_between_nwell.JPG

 

Notice that each space is greater than the 5.4 micron minimum requirement (18 lambda => 18*300nm=5.4 microns).

   

     

 And here is our final DRC check of our 2R_R layout:

final_DRC_check.JPG

 Here is our final DRC check for the extracted view:

final_DRC_extract.JPG

        

    

    

This concludes the lab.

In this lab we covered the basic procedures for creating a layout.

       

Here is my lab 3 directory: mk_lab3.zip 

       

MAKE SURE TO BACK UP ALL OF YOUR LAB 3 CONTENTS 

(zip and email your work to yourself).

zip.JPG

      

Return to EE421L Labs