• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC Design
  3. .altergroup usage question

Stats

  • Locked Locked
  • Replies 1
  • Subscribers 125
  • Views 13777
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

.altergroup usage question

GaneshShamnur
GaneshShamnur over 12 years ago

Hi All,

I want to use altergroup in the below scenario of a spectre netlist.

------------------------------------------------------------

<netlist_section>

...

I1 (a1) MyCell1
I0 (a1 0 0 0 0 0) MyCell2

tran1 tran stop=10n write="spectre.ic" writefinal="spectre.fc" \
    annotate=status maxiters=5

...

altTest altergroup {

// I0 (a1 0 0 0 0 0) MyCell2 ( Works well simulating 2nd analysis tran2!)
 I0 (0 a1 0 0 0 0) MyCell2  //(This fails !)
}

tran2 tran stop=10n write="spectre.ic" writefinal="spectre.fc" \
    annotate=status maxiters=5

------------------------------------------------------------

My intension in trying the above scenario is to change the netlist connection for I0 from 1st-pin[i.e I0(a1 0 0 0 0)] to 2nd-pin[i.e I0( 0 a1  0 0 0)] 

Spectre errors out complaining about a connection happening to different node in comparison to earlier definition !

 

I have also tried another option where the whole subcircuit for I1 instance was redefined in altergroup. This failed too !

Any ideas on how to achieve my objective ?

Thanks,
Ganesh
 

  • Cancel
  • GaneshShamnur
    GaneshShamnur over 12 years ago

    Hi All,

    I figured out solution to my problem although, it wasn't achievable via altergroup since Spectre-Altergroup( current latest revision as of this writing) doesn't natively support netlist topology modifications.

    Below were two solutions:

    1)  Refer to the link to replicate the suggested method:http://support.cadence.com/wps/mypoc/cos?uri=deeplinkmin:ViewSolution;solutionNumber=11002322

    2) Include some parameterized components ( e.g: switch/resistor) and control their parameter values in altergroup. Thereby select an appropriate connection.

    e.g: The above problem was solved for first two pins with below netlist, assuming the other 3 pins were grounded. If we were select amongst the other three pins aswell, we need additional 3 pins.

     ------------------------------------------------------------

    <netlist_section>

    parameters sw1=1 sw2=0

    ...

    I1 (a1) MyCell1

    I2 (a1,out1) MySwitch1 // This switch is ON only when sw1=1 and OFF when sw1=0

    I3 (a1,out2) MySwitch2 // This switch is ON only when sw2=1 and OFF when sw2=0

     

    I0 (out1 out2 0 0 0) MyCell2

    tran1 tran stop=10n write="spectre.ic" writefinal="spectre.fc" \

        annotate=status maxiters=5

    ...

    altTest altergroup {

    parameters sw1 = 0 sw2 = 1

    I0 (out1 out2 0 0 0) MyCell2 

    }

    tran2 tran stop=10n write="spectre.ic" writefinal="spectre.fc" \

        annotate=status maxiters=5

    ------------------------------------------------------------

     Both have pros and cons to each method.

    1st method would need netlist-modification and oceanscript creation. But the flow can be automated.

    2nd method is additional components insertion into design. But this flow has cleaner netlisting mechanism.

     

    Regards,

    Ganesh 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information