• 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. Running xrun command in vsif file

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 65
  • Views 25998
  • 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

Running xrun command in vsif file

yPerrot
yPerrot over 5 years ago

Hi,

I found a basic Specman E/Verilog program at http://www.asic-world.com/examples/specman/memory.html and I would like to run it through a vsif file, with vManager.

I'm able to run it, without problems, with this command : xrun -Q -unbuffered '-timescale' '1ns/1ns' '-access' '+rw' memory_tb.v mem_tb_top.e test_write_read_all.e.

I wrote a first vsif which look like this:

---- vm_basic.vsif -----

session vm_basic {
        top_dir : /home/cadence/xrunTest/;
        output_mode: terminal;
};

group basic {
        test test {
                run_script: xrun -Q -unbuffered '-timescale' '1ns/1ns' '-access' '+rw' memory_tb.v mem_tb_top.e test_write_read_all.e
        };
};

----------------------------

This solution didn't work due to the prompt change with xrun, and I have no clue how to manage this issue.

Have you any idea?

Best regards,

Yohan

  • Cancel
  • StephenH
    StephenH over 5 years ago

    When you say there is a "prompt change", I guess you mean the working directory change, right? This is by design; vManager creates a unique working directory for each test so that they can run in parallel without all trying to write to the same log files etc. You script needs to point to the full path where the files are located. There are many ways to do this, perhaps the easiest, if your source files are in the same directory where you started vmanager, is to use the syntax $ENV(PWD) to point to vManager's working directory.

    group basic {
            test test {
                    run_script: <text>xrun -quiet -timescale 1ns/1ns -access +rw $ENV(PWD)/memory_tb.v $ENV(PWD)/mem_tb_top.e $ENV(PWD)/test_write_read_all.e </text>;
            };
    };

    There are other ways to do it, e.g. for the e files you can setenv SPECMAN_PATH before launching vManager, and ensure that SPECMAN_PATH points to all the directories where your e files are located. This doesn't work for Verilog or VHDL though.

    By the way, I've cleaned up your quotes as your original command had them where they were not required, and I propose you remove the -unbuffered as it hurts performance.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • yPerrot
    yPerrot over 5 years ago in reply to StephenH

    Hi Stephen,

    Thank you for tour reply, it works perfectly.

    It seems that my file's path was wrongly defined.

    Best regards.

    Yohan

    • 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