• 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. How to save warning messages appearing in icfb window(CIW...

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 143
  • Views 2177
  • 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

How to save warning messages appearing in icfb window(CIW)

yayla
yayla over 13 years ago

 Hi,

Using Virtuoso schematic editor 5.10.41, I am running script to correct some transistor properties like LOD and diffusion area props by loading script into CIW. During that script, at ICFB window I have some warning mesages (like warning messages when we are generating netlist if the port order is not matched etc).

Do you know how to reach whole list of warning message or to save into an output file since CIW shows a limited of them and overwrites the old ones with new ones after some point.

Regards,

yayla

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 13 years ago

    Yayla,

    Well, they all go to the CDS.log regardless - they don't overwrite - but the CIW only shows a finite length of the filtered log.

    You can also get it to start replicating to a different place (as well as the CDS.log) using hiStartLog() and hiEndLog() - see the documentation for details.

    You could also use one of these two SKILL++ approaches. Note that these examples are redirecting "poport" (which is the normal output). If you wanted to redirect warnings, you'd need to alter them to redirect "woport" instead of "poport" (woport is the port for warnings):

    /* abPoPortPush.ils
    
    Author     A.D.Beckett
    Group      Custom IC (UK), Cadence Design Systems Ltd.
    Language   SKILL
    Date       Jan 20, 1999 
    Modified   
    By         
    
    Defines two functions abPoPortPush(port) and abPoPortPop()
    which allow the current poport to be replaced by a new value,
    and restored afterwards. Implemented internally as a stack,
    so the calls can be nested.
    
    This is SKILL++ code, so must keep the .ils extension
    
    ***************************************************
    
    SCCS Info: @(#) abPoPortPush.ils 01/20/99.08:23:43 1.1
    
    */
    
    /* make the normal output port accessible */
    (importSkillVar poport)
    
    /* predeclare exported functions - don't have to do this really */
    (define abPoPortPush nil)
    (define abPoPortPop nil)
    
    (let (portStack)
      (defun portPush (port)
    	 (setq portStack (cons poport portStack))
    	 (setq poport port)
    	 )
      (defun portPop ()
    	 (when portStack
    	       (setq poport (prog1 (car portStack) 
    				   (setq portStack (cdr portStack))))
    	       ))
      /* export the functions */
      (setq abPoPortPush portPush)
      (setq abPoPortPop portPop)
      )
    Or:

     

     

    /* abRedirectOutput.ils
    
    Author     A.D.Beckett
    Group      Custom IC (UK), Cadence Design Systems Ltd.
    Language   SKILL
    Date       Aug 12, 1998 
    Modified   Dec 22, 2011 
    By         A.D.Beckett
    
    Call using abRedirectOutput(t) or abRedirectOutput(nil)
    to turn printing to CIW on or off.
    
    Note, this is SKILL++, so requires file to end in .ils
    
    ***************************************************
    
    SCCS Info: @(#) abRedirectOutput.ils 12/22/11.11:08:13 1.3
    
    */
    
    /* going to define abRedirectOutput */
    (define abRedirectOutput nil)
    
    /* private variable containing port to /dev/null */
    (let (nullport)
    
    (procedure (redirect on)
      (if on
          (progn
           (unless nullport
    	       (setq nullport (outfile "/dev/null")))
           (setq poport nullport)
           )
          (progn
           (setq poport (inSkill stdout))
           (close nullport)
           (setq nullport nil)
           )
          )
      on)
    
    /* export it */
    (setq abRedirectOutput redirect)
    )

     

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

    Yayla,

    Well, they all go to the CDS.log regardless - they don't overwrite - but the CIW only shows a finite length of the filtered log.

    You can also get it to start replicating to a different place (as well as the CDS.log) using hiStartLog() and hiEndLog() - see the documentation for details.

    You could also use one of these two SKILL++ approaches. Note that these examples are redirecting "poport" (which is the normal output). If you wanted to redirect warnings, you'd need to alter them to redirect "woport" instead of "poport" (woport is the port for warnings):

    /* abPoPortPush.ils
    
    Author     A.D.Beckett
    Group      Custom IC (UK), Cadence Design Systems Ltd.
    Language   SKILL
    Date       Jan 20, 1999 
    Modified   
    By         
    
    Defines two functions abPoPortPush(port) and abPoPortPop()
    which allow the current poport to be replaced by a new value,
    and restored afterwards. Implemented internally as a stack,
    so the calls can be nested.
    
    This is SKILL++ code, so must keep the .ils extension
    
    ***************************************************
    
    SCCS Info: @(#) abPoPortPush.ils 01/20/99.08:23:43 1.1
    
    */
    
    /* make the normal output port accessible */
    (importSkillVar poport)
    
    /* predeclare exported functions - don't have to do this really */
    (define abPoPortPush nil)
    (define abPoPortPop nil)
    
    (let (portStack)
      (defun portPush (port)
    	 (setq portStack (cons poport portStack))
    	 (setq poport port)
    	 )
      (defun portPop ()
    	 (when portStack
    	       (setq poport (prog1 (car portStack) 
    				   (setq portStack (cdr portStack))))
    	       ))
      /* export the functions */
      (setq abPoPortPush portPush)
      (setq abPoPortPop portPop)
      )
    Or:

     

     

    /* abRedirectOutput.ils
    
    Author     A.D.Beckett
    Group      Custom IC (UK), Cadence Design Systems Ltd.
    Language   SKILL
    Date       Aug 12, 1998 
    Modified   Dec 22, 2011 
    By         A.D.Beckett
    
    Call using abRedirectOutput(t) or abRedirectOutput(nil)
    to turn printing to CIW on or off.
    
    Note, this is SKILL++, so requires file to end in .ils
    
    ***************************************************
    
    SCCS Info: @(#) abRedirectOutput.ils 12/22/11.11:08:13 1.3
    
    */
    
    /* going to define abRedirectOutput */
    (define abRedirectOutput nil)
    
    /* private variable containing port to /dev/null */
    (let (nullport)
    
    (procedure (redirect on)
      (if on
          (progn
           (unless nullport
    	       (setq nullport (outfile "/dev/null")))
           (setq poport nullport)
           )
          (progn
           (setq poport (inSkill stdout))
           (close nullport)
           (setq nullport nil)
           )
          )
      on)
    
    /* export it */
    (setq abRedirectOutput redirect)
    )

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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