This blog will help you understand the utility and way to
use Tanner Layout Edit, starting from creating a file to getting the code that
could be used to run in Tanner’s T Spice software, *solution with images*
Along with basic errors that you might encounter and tips
and tricks to increase your efficiency.
Remember: All things I mention are regarding tanner v16 but
will work similarly for other versions as well, read comments for any updates
or put your queries.
Don’t worry it is very easy.
Installing Tanner EDA
Let me get straight to the point I have a folder in the link
below you just need to download the zip and extract in any of your folders and
you can get started with tanner. Just make sure you extract the documents
folder in your C drive’s document folder. The link will be added soon.
Opening Layout editor
Step 1. Go to: Tanner\Tanner EDA\Tanner Tools v16.0\Ledit64
Step 2. Opening a new design. “Press Ctrl + n “or go to:
File/New/Design
Step 3. You need to add TDB file in Database (refer to image
below) location: Documents\Tanner EDA\Tanner Tools
v16.0\Process\Generic_250nm\Generic_250nm_Tech\Generic_250nm_TechSetup.tdb
And
Technology reference as TDB and again the same file.
Step 4. Click OK.
Note: Keep in mind I am using Generic_250 nm technology you
can use any you just will need to change a few things after you start drawing,
don’t worry I will explain.
If it says that do you want to overwrite the file you can do
2 things
1: Click yes
2: Click No LOL
If you click no you will have to recreate the design file
and now in the database, you can click on three dots and then change the file
name to your desire.
Anything will work. ## Read Design vs Cell ##
Step 4. You need to go to Cell/New Once you do that you will
see a dialog box as shown below:
Name your cell as per your needs.
To correct that you need to import technology from
setup/import technology …
Put technology TDB use the link: Documents\Tanner EDA\Tanner
Tools
v16.0\Process\Generic_250nm\Generic_250nm_Tech\TDB\Generic_250nm_TechSetup.tdb
Click OK.
Before we proceed, I want to tell you the difference b/w
Design and Cell
Suppose you need to design a computer It contains various
circuit boards/ ICs. You will create one design and then add cells as you need
to add more ICs.
I recommend not to start every day with a new design but
with new cells instead, it will reduce your time and increase your
productivity.
Anyway, on to the topic.
Now you have Cell opened in front of you before you draw you
have to get it working for your technology.
Go to Setup/Design…
Click technology mini tab.
Technology units: Other: Lambda
And Display Unit as Lambda too.
Once you click that you will get Technology to micron
mapping,
Now if you are using 250nm Generic put 1/4 Micron (micron
means micrometer)
If you are using 180nm put 9/50 Micron or if you are any other do the conversion as per
requirement.
Now click on Grid mini tab,
You can leave it as it is, but as you might know me, I need
productive settings so here you go:
Minor display grid: 1 Lambda
Cursor type: snapping
Mouse snap grid: .5 Lambda
This will help.
Click OK
It will prompt you that you have changed the units click
yes, as you know that you have done it. Don’t you. 😉
Now get ready we are going to play with rules:
To do that we need to set rules first, SO here we go.
Remove all the rules by clicking on each rule and then clicking
on the red cross just above the box. You will be left with one rule named as
DRC Standard Rule Set. Click OK
For this, I am going to use an example of PMOS
Note: there is nothing like that if you put something first
it is above the other, it is dependent on the size if one is big than the other
it is below the first. Thanks for reading the notes.
Hope you are learning. If
you are do leave a comment.
The white background in your cell is predefined as a P-type
layer.
Step 1. We need to add N-well, make sure you can see the
points on the cell as few things require a certain size.
Select N well from the Layer palette that we added before
you can search above in the layer palette itself. Now to place it you need to
select the type in which you want to place it Select the square button from the
top toolbar on the right side of the pointer
Now place your cursor on the top left of a cell and drag
till the bottom right. It doesn’t matter what size you draw.
The first button is DRC Run
(do this for the first time then you will know what errors
occur and will be able to resolve when they are low, I’ve seen people dealing
with 400+ errors at once and they understand none: lol)
All dealings with an error are in the last as I don’t want
to break the flow. AGAIN.
Step 2. Adding P_IMPLANT or P_SELECT, add it in the right
half only (See fig below)
RUN DRC TEST
Step 3. Add Active layer
Run DRC
Step 4. Add 2 metal, use metal1 recommended as rules are
designed as per that.
Run DRC
Step 5. Add contact, this needs to be of precisely 1 Lambda
length and width.
Add N_IMPLANT for the body terminal on the left side.
Add Active and Metal connected with another side also,
contact.
Step 6. Add a poly layer in between and add metal and
contact.
Run DRC.
Now your device is complete.
What to do with rules?
Errors of each rule are shown in Verification Navigator you
can expand and click on each error to get to know where they are.
1. Grid
Error: IGNORE
2. Density
Error:
a. Right-click
the error and select to jump to rule in DRC.
b. Deselect
the rule from the list on the left side clicks OK.
3. Distance
error:
a. Click on
the rule and find where it is. If the rule is saying less than .7 Lambda or
something like that increases the distance between those points.
b. Run DRC
again and the error should be gone in no time
4. If you
find any other error do tell in comments, I will make sure to help ASAP.
Naming the connections:
This is a good practice to do as you
might forget the numberings.
The first one in this picture. Click on the connection (The
black colored one or anywhere on the metal connecting it)
A dialog box will appear.
Name it appropriately and select the layer you are on, metal
in most cases.
Click OK
Getting Code to Run In T-Spice
Step 1. Click on the Setup Extract button on the right side
of the setup DRC.
Step 2. Remove all rules
Step 3. Add new rule by clicking the button right of the red cross.
Click 3 dots and go to address: Documents\Tanner EDA\Tanner
Tools v16.0\Process\Generic_250nm\Generic_250nm_Tech\TDB\Rules
And select Generic_250nm.ext file.
Step 4. Click OK
Step 6. Click Ok Again
Now Run EXT, button Right of the Run DRC.
Now you have got your code.
Editing and Understanding the code
Your one line must look something like this:
M1 Vout A GND GND_ NMOS25 l=7.5e-007 w=2.375e-006 ad=3.71094e-012 as=5.64063e-012 pd=5.5e-006 ps=9.5e-006 $ (5.625 2.125 6.375 4.5)
if not then it must contain some numbers like:
M1 1 A GND 4 NMOS25 l=7.5e-007 w=2.375e-006 ad=3.71094e-012 as=5.64063e-012 pd=5.5e-006 ps=9.5e-006 $ (5.625 2.125 6.375 4.5)
We only require to check or change only 4 things in this line I.e:
M1 1 A GND 4 NMOS25
Edit: If you don't make body terminals you will see the numbers. Name them appropriately.
Edit 2: There is a difference between GND and GND_ the 2nd one is floating ground. Keep that in mind, of you are having problem with wave form try making all GND_ to GND.
There is an order in this which is Source Gate Drain Body.
Now you need to verify are they connected in the correct spot. If you see numbers it means naming of your connection was not perfect. Correct it or directly replace it here.
To use the code you need to open T-Spice and paste the code there:
Once you have named all the terminals you need to:
Step 1: Import library file from: Documents\Tanner EDA\Tanner Tools v16.0\Process\Generic_250nm\Generic_250nm_Tech\Generic_250nm.lib
Step 2: add the voltage for VDD
using: VDD Vdd GND 5v
Step 3: Add DC or AC inputs for your inputs as desired.
Step 4: print your outputs by using .print command
Run and clear the errors if any.
for help view this: Click here
Kudos, you have got your Tanner project completed.
Thanks for reading.

thank you...maynak
ReplyDeleteyour very welcome
DeleteIf there is an error Contact Exact size = .25 lambda Go to jump in rule DRC and change rule distance from 0.25 to 1. It will resolve it.
ReplyDeleteThank you...Maynak
ReplyDelete