• 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 SKILL
  3. Post copy trigger in Cadence 5

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 149
  • Views 14961
  • 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

Post copy trigger in Cadence 5

tyanata
tyanata over 13 years ago

 Hello,

 

I have to create procedure which is doing certain things after object ( library, cell or view ) copying.

I searched the documentation and created the routine (based on Solution 11361080 ). The procedure works perfectly in Cadence 6 but in Cadence 5 not. It seems that post copy trigger does not work in Cadence 5 at all.

 

Just for example following procedure:

 

procedure(copyTriggerPrint(myFunction copyPhaseStr checkOffList supplementList otherFromSpecs otherToSpecs updateList retHint ctxList reserved "stgggggggx")
    let((retOK)
        retOK = t
       
        println("works YEEEEEEE")
       
        retOK
    )
)
ccpRegTrigger("ccpPostCopyTrigger" 'copyTriggerPrint t)
envSetVal("ddserv.lib"  "enableCopyInDFII" 'boolean t)

 

In Cadence 6 when some object is copied, in CIW text appears "works YEEEEEE", in Cadence 5 it does nothing.

 

So my question is: is there some additional option which have to be switched ON in order Post Copy trigger to work in Cadence 5?

 

In the support page I found similar solutions:

Solution: 11696072 is marked for  Product Version: 5.1.41

Solution: 11361080 is marked for  Product Version: 5.1.41  and also is mentioned in the Solution that works on IC5141

 

In fact no one of the both solutions works in Cadence 5.

The our Cadence 5 version is IC5.10.41.500.151 .

 

Best regards,

tyanata

 

 

 

 

  • Cancel
  • tyanata
    tyanata over 13 years ago

    Hello,

     I succeeded to go little bit further in that issue.

    If I run icfb -nocdsinit  and then load my script in CIW before "Library Manager" opening, then the script works. If after icfb -nocdsinit first I open "Library Manager" and then load the script in CIW, the script does not work.

    For Cadence 6 there is not such dependence.

     

    Best regards,

     

    tyanata

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 13 years ago

    Two solutions - one would be to put:

     ddserv.lib enableCopyInDFII boolean t

    in your ~/.cdsenv or in <ICinstDir>/tools/dfII/local/.cdsenv

    The other would be to put a call to ddsCloseLibManager() in your code - provided the library manager is reopened after the envSetVal() it will be picked up.

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • tyanata
    tyanata over 13 years ago

     Hello Andrew,

     

    Including the string ddserv.lib enableCopyInDFII boolean t in .cdsenv file, solves the problem.

    Just curious, why the string envSetVal("ddserv.lib"  "enableCopyInDFII" 'boolean t) in .cdsinit does not work in IC5, when automatic "Library Manager" opening is enabled. 

    May be it must be mentioned in the both mentioned above solutions about that bug in IC5.

     

    Best regards,

     

    tyanata

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • dmay
    dmay over 13 years ago

    It is one of two things:

    1. The order that things happen. The .cdsenv file is read immediately when Cadence starts and the .csdinit is read later. It could be that the envSetVal runs AFTER the library manager is opened.

    2. Since the Library Manager is a separate process, the envSetVal in the Cadence session may not even help. The Libary Manager may simply get configured by the .cdsenv.

    The envSetVal is useful for setting values during your Cadence session in custom Skill code. The .cdsenv is the best place to set variables for startup.

    Derek

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 13 years ago

    I believe that if the library manager is started after the envSetVal() has been set in the main Virtuoso session, the library manager is started knowing that Virtuoso (icfb in this case) will take care of copying. The setting is only passed across at the time the library manager is started, not after it has been launched.

    You don't see the problem in IC615 because copying in DFII is enabled by default (but it wasn't in IC5141).

    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