View Full Version : Questasim QVL component instance possible in interface?
We have been using QVL checkers in our testbenches and are now trying to move to OVM. The obvious place to put a checker is the interface, but it doesn't seem possible to instance them there. Is there a way of doing this that I haven't found?
Thanks, Neil
pmarriott
01-22-2008, 05:29 AM
We have been using QVL checkers in our testbenches and are now trying to move to OVM. The obvious place to put a checker is the interface, but it doesn't seem possible to instance them there. Is there a way of doing this that I haven't found?
Thanks, Neil
I believe there's a compiler directive that will make the QVL checkers be compiled as interfaces, rather than modules. Then they can be instantiated inside another interface. It is mentioned in the reference manual, but I don't have a copy in front of me right now.
Paul.
Thanks for that pointer Paul - I have just found the section in the manual. Now to try to make it work :)
Neil
I believe there's a compiler directive that will make the QVL checkers be compiled as interfaces, rather than modules. Then they can be instantiated inside another interface. It is mentioned in the reference manual, but I don't have a copy in front of me right now.
Paul.
hansv
01-22-2008, 06:38 AM
Neil,
Would you mind sharing with the forum the required compiler directive, and any other relevant details to make this work.
Thanks.
Certainly Hans, having just made it work :)
The OVL and QVL libraries need to be recompiled with appropriate `define so they are compiled as interfaces rather than modules. As interfaces they can be instanced inside another interface.
For the OVL library I used the defines:
vlog -work ovl_lib -sv -mfcu +define+OVL_ASSERT_ON+OVL_SVA+OVL_SVA_INTERFACE
Similarly for the QVL library:
vlog -work qvl_lib -sv -mfcu +define+QVL_ASSERT_ON+QVL_COVER_ON+QVL_SVA_INTERFA CE
The essential bits being the OVL_SVA_INTERFACE and QVL_SVA_INTERFACE.
How this will work if/when the prebuilt libraries are included in Questasim I don't know :)
Maybe you can answer this?
Regards, Neil
Neil,
Would you mind sharing with the forum the required compiler directive, and any other relevant details to make this work.
Thanks.
hansv
01-22-2008, 07:44 AM
Doing this when the libraries have been prebuilt is the issue I am facing. I kind of doubt this is possible, but I will aim to investigate internally and report back.
OK, understood. When compiled as an interface it appears they can be instanced in a module successfully. So subject to checking if there may be other problems with doing so, maybe that could be the default.
Regards, Neil
Doing this when the libraries have been prebuilt is the issue I am facing. I kind of doubt this is possible, but I will aim to investigate internally and report back.
hansv
01-23-2008, 11:08 AM
It is likely that for the foreseeable future compiling QVL using modules will remain the default for various reasons, including their continued popularity among the user base and this matching the 'old' use model of OVL.
Regards.
Powered by vBulletin™ Version 4.0.3 Copyright © 2010 vBulletin Solutions, Inc. All rights reserved.