The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Other CAD Tools >> Physical Verification, Extraction and Analysis >> Questions on LVS commands
https://designers-guide.org/forum/YaBB.pl?num=1251973209

Message started by nobody on Sep 3rd, 2009, 3:20am

Title: Questions on LVS commands
Post by nobody on Sep 3rd, 2009, 3:20am

Hello, all


I have questions on LVS commands and the following are commands.


AS = area(S) * (W / perimeter_inside(S, diff))
AD = area(D) * (W / perimeter_inside(D, diff))

PS = perimeter(S) * W / perimeter_inside(S, diff)
PD = perimeter(D) * W / perimeter_inside(D, diff)


1. Why is it reqired to multiply a factor perimeter_inside(D, diff) when calculationg PD or AD ?

2. What is the physical meaning of perimeter_inside(D, diff) ?

3. What is going to happen if perimeter_inside(D, diff)==0 ?

Thanks in advance.

Title: Re: Questions on LVS commands
Post by Andrew Beckett on Sep 3rd, 2009, 4:01am

This is posted in the wrong board - it's not an Analog Design issue, but presumably should be in Other CAD Tools->Physical Verification, Extraction and Analysis.

Also, you don't say what LVS tool these are for. I don't recognize the syntax, so I'm guessing it's probably Calibre or Hercules. A quick google search suggests that it's Calibre. I found one example showing a similar statement, but the text in the Forum was in Russian.

It looks a pretty odd calculation. Perhaps you need to show the complete device statement - such as in http://electronix.ru/forum/index.php?showtopic=28705&mode=linearplus so that the derivation of W is shown. And also you'll need somebody who can look up the definition of perimiter_inside. Presumably if you have Calibre rules, you probably have Calibre, and hence have the documentation? Can you look up what perimiter_inside does there?

Regards,

Andrew.

Title: Re: Questions on LVS commands
Post by nobody on Sep 3rd, 2009, 7:09pm

You are right that  the tool is Calibre. I have documents like user guide and Standard Verification Rule Format manual but that is kind of hard to me to read after I tried. There is the whole syntax in the end and description of perimeter_inside is shown below.
Function     : perimeter_inside
Description : Returns the total length of the parts of perimeters on the first pin or layer that lie strictly inside shapes of the second pin or layer.

DEVICE MP(P) pgate  POLY PSD PSD WEL <PDIFF>

DMACRO MOSPROP DEVICELAYER PIN AUX1{
[Property W,L,AD,AS,PD,PS
W=PERIMETER_COINCIDE(DEVICELAYER,PIN)/2
L=AREA(DEVICELAYER)/W
IN_D=PERIMETER_INSIDE(D,AUX1)
IN_S=PERIMETER_INSIDE(S,AUX1)
IF(IN_S==0){
AD=AREA(D)*W/IN_D
PD=PERIMETER(D)*W/IN_D-W
AS=AD
PS=PD
}
ELSE
IF(IN_D==0){
AS=AREA(S)*W/IN_S
PS=PERIMETER(S)*W/IN_S-W
AD=AS
PD=PS
}
Else{
AD=AREA(D)*W/IN_D
PD=PERIMETER(D)*W/IN_D-W
AS=AREA(S)*W/IN_S
PS=PERIMETER(S)*W/IN_S-W
}
]
}

#ELSE
DMACRO MOSPROP DEVICELAYER PIN AUX1{
 
 [Property W,L
   W=PERIMETER_COINCIDE(DEVICELAYER,PIN)/2
   L=AREA(DEVICELAYER)/W
 ]
}
#ENDIF

Title: Re: Questions on LVS commands
Post by Andrew Beckett on Sep 4th, 2009, 1:47pm

OK, from that I would understand that perimeter_inside(D,diff) would be the part of the perimeter of D (the Drain) which is strictly inside the diffusion. Since the diffusion will be the complete region of the transistor, and the Drain outer edge will be coincident with the diffusion edge, it will be the perimeter of the Drain area along the poly gate, most likely. This should in effect be the width of the transistor.

You didn't show the W line from your rule deck (only the example from the manual), but I would imagine it's more closely defined to the dimensions of the poly gate. Either way, I'd expect W and perimeter_inside(D,diff) to be the same, so W/perimeter_inside(D,diff) would be 1. I imagine this calculation is being done to cope with some unusual transistor geometries, perhaps? Perhaps sometimes the width measured one way is not the same as this perimeter_inside?

Best Regards,

Andrew.

Title: Re: Questions on LVS commands
Post by nobody on Sep 4th, 2009, 7:34pm

Hello, Andrew

Good reasoning ablitlies in the deriving perimeter_inside(D,diff). Like you said, I go for you with a fact that perimeter_inside(D,diff) = PERIMETER_COINCIDE(DEVICELAYER,PIN)/2 in most cases.
Here comes another question. Since it is the same, why do we need another equation or parameter to describe width ? I was told perimeter_inside(D,diff) will equal to zero for making a dummy, which means you add half transitors as dummies but I am not sure about that and you already talked unusual transistor geometries in the last post.

The syntax is not copied from the manual and is used for us now. I am wondering what W line is. Width or other specific syntax format?

W/perimeter_inside(D,diff) looks like it trys to mimic an idea like a sheet resistance. I am not sure about above.

Title: Re: Questions on LVS commands
Post by Andrew Beckett on Sep 7th, 2009, 3:42am

I think I've figured it out. The W line calculates the width of the gate. For a single transistor, the perimeter_inside will give the same as W. If you have this:

S | D | S

Where the "|" are the gates, the D area in the middle will be shared between the two transistors. The perimeter_inside in that case will actually be twice the width of the gate, because both the left and right edges of the drain region are "inside" the diffusion. Since the factor is W/perimeter_inside(D,diff), it will end up being 1/2 - so the area seen will be half. Consequently the area is shared between the two transistors, which is exactly what  you want!

Best Regards,

Andrew.

Title: Re: Questions on LVS commands
Post by nobody on Sep 7th, 2009, 8:01am

Thanks, Andrew

I think I figure that out after looking through your excellent explanation.

Best Regards,

Richard.

The Designer's Guide Community Forum » Powered by YaBB 2.2.2!
YaBB © 2000-2008. All Rights Reserved.