When running VUnit with modelsim, all testcases (from several testbench files) run as a new seperate simulation. This results in modelsim retreiving a license every time a simulation starts and then returning it when it is finished, which gives that the license is unused for a while in between simulations. This is a problem because another user may retreive the license, when that happens the simulation fail because it couldn't retreiva a license.
There is possibly a couple solutions for this, I've tried some but haven't found a working solution because of different reasons.
I set up flexlm using the LINGER option, meaning that when a user returns the license flexlm will hold it for that user for a specified time. This method would have worked excellent if it wasn't for modelsim asking for lincense with a different identity every time, so the runner would quickly use all available licenses and I'm back to square one.
VUnit supports an option "run_all_in_same_sim", it can be set up either in the tb-file or as a directive. I would need to set i as a directive but I haven't managed to get this correct. Also I don't know if this would make all testbench files and cases run in one simulation or just every testbench file run in one simulation resulting in several simulations anyway.
If VUnint could be instructed to rerun failed tests when the failure is because of a licinsing issue would solve the problem. I don't know if this is possible or how to do it.
If modelsim could be instructed to wait for a free license would also solve the problem. I haven't explored this option yet.
Any ideas?
发布者:admin,转转请注明出处:http://www.yc00.com/questions/1744255399a4565373.html
评论列表(0条)