• 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 only print output (\o) and not the script (\i) lines...

Stats

  • Locked Locked
  • Replies 1
  • Subscribers 143
  • Views 1557
  • 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 only print output (\o) and not the script (\i) lines?

nmz787intel
nmz787intel 6 months ago

when I run this code:
```

(defun nestedFunction ()
(printf "Inside nested function\n")
(exit(1))
(printf "This will not be printed\n")
)

(defun mainFunction ()
(printf "Inside main function\n")
(nestedFunction)
(printf "This will also not be printed\n")
)

if(errset({
(mainFunction)
} t) then
exit(0)
else
exit(1)
)

```

Using this cmd-line:
virtuoso -nographE -replay test.il -cdslib my.cds.lib -log my.log

I get output like this, which is driving me insane due to the "noise" of repeating the input I am feeding:

```

### license and version info I am skipping for brevity

\i (defun nestedFunction ()
\i (printf "Inside nested function\n")
\# [10:47:58.352074] Periodic Lic check successful
\# [10:47:58.352096] Feature usage summary:
\# [10:47:58.352096] 111
\# [10:47:58.352097] Virtuoso_Adv_Node_Framework
\i (exit(1))
\i (printf "This will not be printed\n")
\i )
\t nestedFunction
\p >
\i (defun mainFunction ()
\i (printf "Inside main function\n")
\i (nestedFunction)
\i (printf "This will also not be printed\n")
\i )
\t mainFunction
\p >
\i if(errset({
\i (mainFunction)
\i } t) then
\i exit(0)
\i else
\i exit(1)
\i )
\o Inside main function
\o Inside nested function
\e *Error* eval: not a function - exit(1)
\o

### license and memory info I am skipping for brevity

```


How do I disable printing \i input lines to the log file?

  • Cancel
  • Andrew Beckett
    Andrew Beckett 6 months ago

    The purpose of a log file from Virtuoso is to act as a transcript of the session, capturing all inputs and outputs. This allows the log file to be used for replay (via -replay - exactly what you're doing with your code). It's not really supposed to just be a convenient way of capturing some of the output. You could just open an output file yourself within the file you're replaying and print to that.

    So the answer is, no, you can't omit the input lines from a Virtuoso log file.

    However, another approach could be to do this:

    virtuoso -nographE -restore test.il -cdslib my.cds.lib -log my.log

    This outputs to standard out, and the my.log won't contain input lines because there were no input lines (you need to ensure that your script will always exit because otherwise it goes interactive).

    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