Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Assura lvs error!resistor matching problem in opamp

Status
Not open for further replies.

jhasan

Newbie level 4
Joined
Dec 15, 2008
Messages
7
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,350
Hello,

I am trying to add the compensation network in a single ended two stage opamp.

I am using a RC compensation for this case.

So, when I try to do the LVS without the RC compensation my LVS is successful.

But when ever I add the resistor or capacitor in the schematic and try to do a LVS - it fails.

I think there might be error with my bind.rul file.

I am using ASSURA version 4.1.

This is the bind.rul I have:

C esq esqNameMapping
C ESQ ESQNAMEMAPPING
C mp2ll mp2llNameMapping
C MP2LL MP2LLNAMEMAPPING
C enm(Generic) n(MOS)
C epm(Generic) p(MOS)


Any help opr suggestion would be appreciated.

Thanks
 

If you expect help for this,please post the exact error that assura returns to you.Is this parameter (or device,rewire etc.) error?Be more precise.
Additionally,which process do you work on and what type of LVS you are performing (VLDB or CDL)?
 

I fixed the earlier problem.

I can do LVS with resistors now and it matches.

But now when I try to make 1 resistor by putting two resistors in series in layout.

I get an error while doing LVS.It seems that it is not recogizing the series connections of the two resistors in the layout.

Does anyone know how I can fix it?I am using ASSURA for my LVS not diva.

Thanks
 

I repeat...if you don't post the exact error that Assura returns NOBODY can guess it and help you unless he is a magician...
 

... when I try to make 1 resistor by putting two resistors in series in layout.
I get an error while doing LVS. It seems that it is not recognizing the series connections of the two resistors in the layout.

Does anyone know how I can fix it?I am using ASSURA for my LVS not diva.

For ASSURA to recognize the series connection, you need the appropriate procedures in the avParameter Section of the RSF include file (e.g. LVSinclude.rsf ) :

procedure( seriesRESISTOR(res1 res2)
let( ((r1 paramToFloat((res1->r || res1->R) res1->m t)) (r2 paramToFloat((res2->r || res2->R) res2->m t)))
when( and(r1 r2)
list(nil 'r r1+r2)
)
))

procedure( compareRESISTOR(res1 res2)
let( ((r1 paramToFloat((res1->r || res1->R) res1->m t)) (r2 paramToFloat((res2->r || res2->R) res2->m t)) (precision 0.05))
cond(
( and(r1 r2)
when( abs(1-r1/r2)>precision
sprintf(nil "Resistance mismatch (L:%L S:%L)." r1 r2)
)
)
( and(!r1 !r2) nil)
( and(r1 !r2) "No resistance in schematic view.")
( and(!r1 r2) "No resistance in layout view.")
)
))

procedure( seriesRES(res1 res2)
let( ( (l1 paramToFloat(res1->l res1->s)) (l2 paramToFloat(res2->l res2->s))
(w1 paramToFloat(res1->w (res1->m || res1->M))) (w2 paramToFloat(res2->w (res2->m || res2->M)))
(eqRes '(nil (m || M) 1))
)
when( and(w1 w2)
eqRes->w=min(w1 w2)
when( and(l1 l2)
eqRes->l=(l1/w1+l2/w2)*eqRes->w
)
)
eqRes
))


procedure( compareRES(res1 res2)
let( ( (l1 paramToFloat(res1->l res1->s)) (l2 paramToFloat(res2->l res2->s))
(w1 paramToFloat(res1->w (res1->m || res1->M))) (w2 paramToFloat(res2->w (res2->m || res2->M)))
(precision 0.05)
)
cond(
( and(and(w1 l1) and(w2 l2))
when( or(abs(1-w1*l2/(w2*l1))>precision abs(1-w1/w2)>precision)
sprintf(nil "Resistance sizes mismatch (L:%L/%L S:%L/%L)." l1 w1 l2 w2)
)
)
( and(and(!w1 !l1) and(!w2 !l2)) nil)
( and(and(w1 l1) !and(w2 l2)) "No resistance sizes in schematic view.")
( and(!and(w1 l1) and(w2 l2)) "No resistance sizes in layout view.")
)
))
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top