Lab 3 - ECE 421L 

Authored by Jimmy Manone,

9/12/15


Prelab:


Continuing from the point in the tutorial where the circuit was simulated,

we now will delete voltage and add pins as follows:




We will turn this into a symbol (create->cell view-> from cell view), deleting all of the unnecessary items (boxes, names, etc) and drawing in the

resistors and ground:



To draw: menu->create->shape->line




After drawing the lines:



 

Now the symbol can be used as an instantiation (we can sim the symbol).



(NOTE: If we had made the first cell as 'r_div', we will want to copy it to a new cell called 'sim_r_div'. For reference, consider cell1 as r_div, and 'cell2' as sim_r_div)


*Delete state in cell1

*Delete symbol in cell2

*Open schematic in cell2 and delete everything


Press 'i', browse to where cell1 is, choose symbol and place the new symbol in this schematic:





Add wires, gnd and power source (DC 1V) ito it.

Check and save ....should only get 2 warnings (floating nets). If more, panic a bit, then fix whatever errors there. Re-check.





Once we have it down to these two warnings, we go to menu->check->find marker


On this window, hit 'ignore' twice (and untick 'show ignored' to not see them):




Now let's sim the symbol:


With circuit open, sim it: menu->ADE L -> load state (it exists, but need to add outputs): menu->outputs->to be plotted->select on schem

(select in, out...) menu->session->Save State

Green button (run sim), and the voltage division is reflected in the simulation result:





LAYOUT:

In cell1 hit menu->file->new->Cell View (if 'what's new' select menu->edit->off at startup)


NOTE: Type should be LAYOUT,  not schematic!


[Layout window opens....looks a lot like schematic window]....look towards top left...hit 'AV' (all layers visible)



menu->view->redraw refreshes window

hit 'e' (display) tick box 'pin names shown', snap mode to 'diagonal'


Go to top left, click the 'n-well' in those colorful tabs on the left. Type 'r' for rectangle, draw it.




Type 'q' to edit properties. From the math, place the proper dimensions in there (for left/right: -28, 28 and for down/up: -2.25, 2.25 , click 'ok')

Press 'f' to fit:


DRC it (menu->verify->DRC)
If all is right in the world, we'll have 4 errors:


 
Go to menu->verify->find marker 'zoom to markers' , 'ok'


It'll be a little off. After checking with ruler ('k') adjust so the left/right values are -28.05, 28.05.


DRC should have no errors.





Press 'i'. On left: NCSU_techlib_ami06 in middle: 'ntap', on right: 'layout'

On 2nd window (at the bottom...row of contacts should be 2, columns at 1)


Drag them on either side of the n-well

Press 'e' at bottom start 0 stop 10

'm', move them perfectly to each side of n-well, then go to menu->create->pin, and have metal1 selected at the left.


Draw the rectangle around part in the middle of both connectors, and name the left one 'L' and the right one 'R'



DRC it


Next, we'll add the res layer (the actual n-well resistance layer).


If you're a fellow student reading this part - you're lucky: There's a shortcut.


Just highlight the N-well in the middle:



Right click and select 'copy' , select 'change to layer', select "res_id", then drag the whole thing back perfectly on top of itself.


Voila! You have a res layer on the n-well without having to draw all those squares:










DRC it - should be error free.




Save, then go to verify->extract. Open extracted view and look at the resistor value. Zoom in by one of the pins, and it should be near 10k:




Go to cell1, open its layout (if one isn't there - make it)

Hit 'i' and place however many n-wells in there as needed from cell2

DRC it....if errors, they're too close together....spread them out and try again.


To wire them, we now use metal layers...go to colorful tabs, hit 'metal1', hit 'r' and wire them together (if together)...or draw open pins out to 'nothing' a bit (make a little blue square)

menu->create->pin
Do one for each named input/output (in, out, gnd!  Exclamations are necessary for global)





Entire layout:



DRC it

Extract it *menu->verify->extract, 'ok'

Hit menu->verify->LVS....verify it against the schematic we drew

It should say 'success'. If not - panic.


We should see this:




and this:






Lab 3 DAC design using n-well resistors




Using the n-well configuration as outlined in the pre-lab, the DAC design will be implemented as per the LAB 3 assignment.



Using the circuit from Lab 2 to LVS against, we first create a folder, and start a new layout.


The, we place the resistors in vertical fashion along the y-axis:






For this configuration, there are 31 resistors in total, spaced ~18 lambda (no less) from one another.


Based off the actual schematic, we utilize the metal 1 layer to make the necessary connections.


For reference, here is the original diagram/schematic:


 


 


The metal layers connecting the resistors and pins are added.


To add pins, we select menu->create->pin. NOTE: The direction (input, output, input/output) must correspond to the schematic.


The Layout is as follows:


(Lowest level: which is different from the other levels, as this 'block' contains 4 resistors to correspond with the lowest resistor in the schematic above gnd)


Also - the lowest pin is gnd!, and the upper pin is B0



The next levels (B1-B8) above this level are all similar, except the input pins are named differently to reflect the bit:





The top level (at B9) is different as there is the pin for Vout:





At this point, assuming the routing corresponds with the schematic, we can DRC it , then run an LVS to see if the two match:


The entire layout:




Verified (DRC)





The real joy was felt upon getting a successful LVS result:







Some items to be aware of:


Make sure that there no named nets where the resistors are connected (other than the pins desired). Also, make sure that circuit is routed correctly. Mine looked perfect, however upon closer inspection, I had to re-route it for it to work properly.


Discussion Questions:


1) Discuss how to select the width and length of the resistor by referencing the process information from MOSIS:


The process information is available at MOSIS. Since MOSIS Scalable design rules require a 1/2 lambda grid for layouts, measurements scaled by lambda require would be halved with its negative and positive values reflecting length and width.


2) Discuss, in your lab report, how the width and length of the resistor are measured:

R = R_square L/W

Min width: 12 lambda = 3.6um

If we made the width to be 4.5um, then

10k = 800(L/4.5um)

Solving for L we have:

L = 56.25 um

We then halve these width and length values to enter after creating the square and hitting 'q', and enter each value as negative (min), positive (max) respectively for width and height.

The .zip file for this lab is HERE




As for every lab, all work is backed up using my Dropbox account in an attempt to minimize the effects of Murphy's Law: