adding/ deleting elements to schematics

Discussion in 'Cadence' started by Partha, Sep 26, 2003.

  1. Partha

    Partha Guest

    Folks,

    I would like to know if there are simple fuctions that would do the
    following, rather than re-inventing the wheel.

    given a net name in the schematic i would like to delete that net &
    add a elemnet( say a resistor) between the trminals of the net.

    Do i need to do the following,
    1. get the net & terminals
    2. Delet the net( schDelete?)
    3. check and see if the net is vertical or horizontal( by coparing the
    co-ordinates of the terminals)
    4. place the resistor in the appropriate orientation returned by 3
    5. connect the resistor to one terminal & place a wire between the
    other terminal of the resistor to complete the circuit

    Should i do the above in skill, or is there a fancy skil
    function/expression to do the above?

    Thanks
    Partha
     
    Partha, Sep 26, 2003
    #1
  2. There isn't any fancy builtin function to do this, but it wouldn't be that hard
    using the sch functions.

    You obviously need to collect the instTerms connected to the net - or rather
    find the instance pins connected to the wires before you delete anything.
    Probably using dbDeleteObject of the wire would be sufficient.

    You can then use dbCreateInst() to create the component instance, and
    schCreateWire to wire it up again (I'd use this, because you can then
    use the router built in).

    Plus you'd then do an schCheck at the end (probably) to re-extract the
    connectivity.

    The hardest bit is the heuristic to determine the orientation. Actually,
    that's probably not too bad - it will be dealing with the exceptions - what
    to do if there's not enough space to fit in the component, what to do
    if there are more than two instance terminals on the net, etc, etc.

    Andrew.
     
    Andrew Beckett, Oct 3, 2003
    #2
  3. Partha

    Partha Guest

    Andrew,
    Thankyou,

    Partha


     
    Partha, Oct 3, 2003
    #3
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.