How to modify cadence divaLVS

Status
Not open for further replies.

flara

Newbie level 4
Joined
Nov 7, 2004
Messages
5
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
42
divalvs

I use tsmc .35um technology file to simulate. There exists pnp BJT symbol and layout in the library. However, in the LVS file ( or extract file ?) it can't tell there exists BJT. It means that I can't do LVS. Anyone knows how to solve this problem ? Thx
 

geomavoiding

Bipolar transistors can be compared whether there is or not BJT-rules in divaLVS rule deck. But the divaEXT.rul file should be capable of handling bipolar devices. You may check the extractDevice statements in the divaEXT.rul file.
 

I checked the divaEXT.rul file. You are right, there is no BJT extraction in the file. Anyone knows how to fix it ? Thanks a lot !!
 

I think you can add some external layer to the bipolar.
 

flara said:
I checked the divaEXT.rul file. You are right, there is no BJT extraction in the file. Anyone knows how to fix it ? Thanks a lot !!

You may add the bipolar extraction rules to the extraction rule deck. One method is to add an accessary layer, BJTID for example, to indicate which part of the layout is for bipolar transistors. Then use emitter as the recognition layer and use geomStamp statement to set the node information for collection area.

If the bipolar transistors are in a set of fixed sizes, they can be recognized even without any accessary layer. By this way, I have writen some diva rules for parasitic pnp transistor in CMOS technology.
 

m.. Could you give me your diva rule file ? My email address: ckkang@gmail.com

thx
 

Hi flara,

I do my research with UNIX workstation and explore internet with PC, so I am sorry that I can't transfer the file to you. But I can post some codes (those related to bipolar extraction) here later.

If needed, you may PM your diva rule file to me. I will add the bipolar extraction rules for you.
 

waiting........
 

The bipolar extraction section is like the following codes.

In the following code section, there is an assumption that layers nw, psub, ndiff, poly, and resistor are all derived -- nw is nwell except nw-resistors; ndiff is n+ diffusion; and resistor is all resistor marker layer including nwres and diffres. nw, psub, ndiff, should have node information.

P+ diffusion in nwell in size of 5x5 or 10x10 is treated as pnp transistors; otherwise will be treated as diodes (not shown in the code).

Code:
nw_bipolar = geomAvoiding(nw geomOr(poly resistor))
pnpe = geomInside(pdiff nw_bipolar)
tmp = geomGetRectangle(pnpe)
pnp5 = drc(tmp 4.999<width<5.001 length==5.0)
pnp10 = drc(tmp 9.999<width<10.001 length==10.0)
pnpc = geomStamp(geomSize(nw_bipolar 0.01) psub)

extractDevice( pnp5
    (pnpe "E") (nw "B") (pnpc "C")
    "pnp ivpcell"
)
saveProperty(pnp5 "model" "pnp5")
saveRecognition(pnp5 "PDIFF")

extractDevice( pnp10
    (pnpe "E") (nw "B") (pnpc "C")
    "pnp ivpcell"
)
saveProperty(pnp10 "model" "pnp10")
saveRecognition(pnp10 "PDIFF")

Since I can't test the codes in this computer (by which I visiting internet), the above codes may have some bugs. But the method has been tested in my projects.
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…