• 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. Functional Verification
  3. xrun cannot initialize values

Stats

  • Locked Locked
  • Replies 1
  • Subscribers 65
  • Views 12322
  • 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

xrun cannot initialize values

quantumion
quantumion over 3 years ago

Context: a digital design, with memory elements

Goal: run power simulations with Voltus

Conditions: need to run the behavioral simulations using systemverilog testbenches where it is really important to initialize the values of all elements, aiming to avoid undefined values in the signals, in the post-simulation exported VCD waveforms. For that I used the xcelium simulator's command -xminitialize

https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1O0V000009MoQDUA0&pageName=ArticleContent

https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1Od0000000vhucEAA&pageName=ArticleContent

the list of nets, registers, flipflops and memories initialized and the value exactly is done with the option below, and it worked

https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1O0V000009EWnaUAG&pageName=ArticleContent

However the nets are not initialized, check the screenshot Post

/resized-image/__size/1280x960/__key/communityserver-discussions-components-files/30/gtkwave.png

p.s. the full simulation is invoked by a command of this structure

-----

xrun -stats -ieee1364 -errtcl_verbose -access r -timescale 1ps/1ps -top tb_full -v200x -64bit -ALLOWREDEFINITION -gui VHDL/file1.vhd VHDL/file2.vhd Verilog/file1.sv Verilog/file2.v -linedebug -sv -xminitialize rand:4 -xminit_log init_list.log  tb_file1.sv

------

thank you on any advice on how to run this correctly

  • Cancel
  • StephenH
    StephenH over 3 years ago

    My understanding is that xminitialize works for variables (reg and memory) only and does not work for wires (nets). That's why the 2nd link you referred to talks about using Tcl to deposit values onto nets. In principle I would expect nets to get new values based on the initialised regs once the design starts and the always blocks evaluate their outputs.

    • Cancel
    • Vote Up +1 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