problem with lxRemoveDevice property and DIVA LVS

Discussion in 'Cadence' started by Thomas Ussmueller, Nov 1, 2006.

  1. Hello all,

    I have a problem with DIVA LVS and the lxRemoveDevice property. I have
    included a parasitic inductor in my schematic. For LVS I want to remove
    the device. Therefore I have set the lvsIgnore property to true and the
    lxRemoveDevice property to (short(PLUS MINUS)).

    The inductor is removed from the netlist, but the nets (net16 and
    off_chip1) don't seem to be shorted. Therefore DIVA thinks that these
    two nets are seperate nets and that's the reason why the netlists don't
    match.

    Does anybody know what I can do to fix this error?

    Thanks
    Thomas

    P.S.: this is the netlist that's causing me headaches. The nets /net16
    and /off_chip1 should be the same.

    t 2 off_chip1 inputOutput
    t 5 vdd inputOutput
    t 4 on_chip1 inputOutput
    t 3 gnd inputOutput
    n 0 sub!
    n 2 /off_chip1
    n 3 /gnd
    n 4 /on_chip1
    n 5 /vdd
    n 6 /net16
    n 6 /off_chip1
    ; mares Instance /R0 = auLvs device R0
    d lvsres PLUS MINUS (p PLUS MINUS)
    i 0 lvsres 6 4 " r \"1e-3\""
    ; varx Instance /I5/var.0 = auLvs device D1
    d var A C BULK (f A C BULK)
    i 1 var 3 4 0 " l \"20e-6\" w \"2e-6\" nf 12 m 1"
    ; varx Instance /I5/var.1 = auLvs device D2
    d var A C BULK (f A C BULK)
    i 2 var 4 5 0 " l \"20e-6\" w \"2e-6\" nf 12 m 1"
    ; subc Instance /I4 = auLvs device S4
    d subc SUBCON sub (f SUBCON sub)
    i 4 subc 3 0 ""
    ; bondpad Instance /I1 = auLvs device B5
    d bondpad in gp sub (f in gp sub)
    i 5 bondpad 6 3 0 " nlev \"7\" grnd -1 rect 1 area 1.2996e-08 perim
    0.000\
    456"
    t 0 sub! global
     
    Thomas Ussmueller, Nov 1, 2006
    #1
  2. Sounds like you're using Diva LVS in Analog mode. Try only setting the
    lxRemoveDevice property. I think the lvsIgnore property is taking
    precedence.
     
    Edward Kalenda, Nov 1, 2006
    #2
  3. Thanks for your answer. Yes I am using DIVA in analog mode. Removing the
    lvsIgnore property didn't help. I could solve the problem with the
    unmatched nets. I only had to activate the rewiring switch in Diva. Now
    all the nets match, but the terminal off_chip1 is still floating. Does
    anyone know a trick on how to solve this.
     
    Thomas Ussmueller, Nov 2, 2006
    #3
  4. Ed, does Diva know about lxRemoveDevice? If it does, perhaps it is only in
    recent versions? lxRemoveDevice is for VirtuosoXL, but I didn't know that
    Diva had been extended to support that too?

    Anyway, the other way to do this is to use the removeDevice() command in your
    LVS rules - this is the Diva way of shorting devices.

    Regards,

    Andrew.
     
    Andrew Beckett, Nov 3, 2006
    #4
  5. In Analog Artist mode, several of the Diva operations are over-ridden by
    Artist. Netlisting is one of these. There is a separate OSS netlisting
    module for analog mode which does various modifications to the LVS
    netlist before invoking the Diva LVS binary, then it massages the LVS
    output files. The lxRemoveDevice property may, or may not, be understood
    by Artist LVS netlisting. I know Diva LVS netlisting does not support
    any of those properties, unless OSS itself supports them under the
    covers.
     
    Edward Kalenda, Nov 4, 2006
    #5
  6. Hi Ed,

    I'm pretty certain the Artist netlisting doesn't support this. The parasitic
    filtering stuff there (which predates Diva's removeDevice()) hasn't changed in
    years, AFAIK.

    Regards,

    Andrew.
     
    Andrew Beckett, Nov 7, 2006
    #6
  7. I finally found the error (sometimes RTFM really helps;-) ). According
    to the VXL UG:
    Global nets or nets connected to I/O pins always survive
    My Problem is now that both terminals of the inductor are connected to
    an I/O pin. Therefore both nets survive and this causes the LVS errors.

    Thanks for your efforts
    Thomas
     
    Thomas Ussmueller, Nov 17, 2006
    #7
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.