• 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. looking for SV testbench command file Hiisequencer code

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 64
  • Views 13868
  • 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

looking for SV testbench command file Hiisequencer code

archive
archive over 17 years ago

I'm working on exsiting test bench , and i need to modify it.
At the moment all our tests are running in serial one after the other .
 
We want to run tests in a different way. To be able to kick tests using “control file” that will be able to
Run test in serial or parallel (fork/join) , test in a loop or  have a “name” of test with input variables (like SEED for random run).
 
My question is , is there SystemVerilog (AVM) open source code we can use of a Sequencer that can read external files and kick test in similar manner ?
Or something similar that can be a good starting point ?
 
 
It may look like this :
 
Sync = 0, wait = 1
test  0  test1   0
test   1  test2   1
 
Sync and wait are controls to the sequencer to run the test in specific manner . and same for values after the test name.
 Thanks Dan
 


Originally posted in cdnusers.org by danny_isr
  • Cancel
  • archive
    archive over 17 years ago

    actually doesn't need to be real code. even just definition will help


    Originally posted in cdnusers.org by danny_isr
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 17 years ago

    It's best if you put each test in a separate module (or at least separate tasks). You can then instantiate each test in the top level and use $test$plusargs system task to choose which test to trigger. Here is an excerpt from "NC-Verilog Simulator Help", Ch 14: The following example illustrates how to use $test$plusargs to control which stimulus file is used for a particular simulation. initial if ($test$plusargs("test01")) $readmemh("test01.dat", stim_mem); if ($test$plusargs("test02")) $readmemh("test02.dat", stim_mem); if ($test$plusargs("test03")) $readmemh("test03.dat", stim_mem); if ($test$plusargs("test04")) $readmemh("test04.dat", stim_mem); By using the $test$plusargs system function, you can change the stimulus without rebuilding the design. This method is also an easy way to run multiple simulations in parallel. For example: % ncsim snapshot_name +test01 & % ncsim snapshot_name +test02 & % ncsim snapshot_name +test03 & % ncsim snapshot_name +test04 & Tim


    Originally posted in cdnusers.org by tpylant
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 17 years ago

    Hi Danny,

    similarly you can use $value$plusargs to pass the sequence.
    According to which your testcases you can execute.

    As per parallel execution is concerned you can pass command for that with testcase name to be executed in parallel through same
    $value$plusargs on command line.(both testcase thread should not overlap.).


    Originally posted in cdnusers.org by divyeshg
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 17 years ago

    thanks so much for your replies .
    looking into it .

    Danny


    Originally posted in cdnusers.org by danny_isr
    • 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