• 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. A divide by zero exception in connect_lib

Stats

  • Locked Locked
  • Replies 1
  • Subscribers 125
  • Views 13671
  • 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

A divide by zero exception in connect_lib

twen
twen over 9 years ago

Hello,

I am converting my pure schematic and verilogA testbench into the AMS testbench. There is no digital component yet. Here is the ie card spec: 

// This is the Cadence AMS Designer(R) analog simulation control file.
// Generated 'ie' card statement for the Connect Rules.
// TIME : May 17 10:30:09 2016
// IC subversion:  IC6.1.6-64b.500.14
// IUS version: 15.20-s004

amsd{
    ie vsup=0.7 discipline=logic tr=(10p)
}

When the transient simulation does the IC analysis, it spits out a lot of ASL-6236 warnings:

    WARNING (ASL-6236):
        "Incisive//v15.20.002/tools/affirma_ams/etc/connect_lib/Bidir_2.vams"
        180:
        TB.DUT.VDDH1__Bidir_2__logic._cds_internal_Bidir_2_:
        A divide by zero exception has occurred. Therefore, zero will be
        replaced with a small non-zero value of 1e-5.

    WARNING (ASL-6236):
        "Incisive/v15.20.002/tools/affirma_ams/etc/connect_lib/L2E_2.vams"
        153:
        TB.outp__L2E_2__logic._cds_internal_L2E_2_:
        A divide by zero exception has occurred. Therefore, zero will be
        replaced with a small non-zero value of 1e-5.

The offensive lines in both Incisive/v15.20.004/tools.lnx86/affirma_ams/etc/connect_lib/Bidir_2.vam and v15.20.004/tools.lnx86/affirma_ams/etc/connect_lib/L2E_2.vams are:

 analog begin
  rout = transition(Rout,tdelay,tr,tf,ttol_t);     // rout shifts linearly also;
  I(Aout) <+ (V(Aout)-transition(Vstate,tdelay,tr,tf,ttol_t))/rout;    // <<== divide by zero
  highzState = transition($dyn_highz(Aout, enable_highz), 0, tr, tf);
 end


I tried setting the tr=(100p) in the ie card and the warnings still exist. My first question is does anyone know how I can fix these warnings? My second question is why are these connection modules still used even if I do not have any digital verilog/vhdl/ams component in my testbench although I am using the ams simulator.

Thanks,

TJ

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 9 years ago

    Hi TJ,

    Can you please contact customer support? I know I won't have time to look into this myself in the next few days, so that would be the best way forward, I think. We may need to look at your setup because nothing sounds terribly unusual from your description.

    Regards,

    Andrew.

    • 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