get instance terminals to print as pins in AMS

Discussion in 'Cadence' started by erikwanta, Feb 1, 2009.

  1. erikwanta

    erikwanta Guest

    I am trying to get instance nets to netlist as terminals in AMS. I
    want to use the amsPrintIO function but I need to create an
    amsobject. I have the terminal name that I want to use but don't know
    how to create the amsobject. Any ideas?

    *Error* amsPrintIO: argument #2 should be amsobject (type template =
    "AA") - "gnd!"

    (defun MYIONetProc ( formatterId cellViewId @optional xx)
    foreach(inst cellViewId~>id~>instances
    when(car(inst~>instTerms~>net~>name)
    iostruct=car(inst~>instTerms~>net~>name)
    amsPrintIO(formatterId iostruct )
    ) ; when
    ) ; foreach

    ;(foreach io (sort cellViewId->IOs (lambda (a b) (alphalessp a->name
    b->name)))
    ; (amsPrintIO formatterId io)
    ; amsPrint(formatterId io~>attributes)
    ; ) ; foreach

    t
    ) ; defun

    ;; Set up the custom netlist procedure
    netId = amsGetNetlister()
    vlog = netId->vlog
    vlog->iosProc = 'MYIONetProc
     
    erikwanta, Feb 1, 2009
    #1
  2. erikwanta wrote, on 02/01/09 03:53:
    Hi Erik,

    I think the only way to get an IO object is via cellViewId->IOs . In fact I
    don't think there's any way to create amsobjects yourself - it is only ever done
    by the formatter itself.

    Can you not do what you want by using amsPrint() instead?

    Regards,

    Andrew.
     
    Andrew Beckett, Feb 4, 2009
    #2
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.