Jump to content
GiuseppeDiGuglielmo

SystemC / SystemC TLM Verification

Recommended Posts

Dear all,

up to my knowledge, there are two main verification environments/libraries/methodologies for SystemC (and SystemC TLM). That is SystemC Verification Environment (SCV) and SystemC UVM from Cadence.

  • SCV development stopped in 2006. Do you know what is the current status of the Verification Group? Is there any plan of further improvements?
  • UVM, w.r.t. SCV, is a more robust methodology but still SystemC UVM provided by Cadence is a "Prodigal Son" if compared with the SystemVerilog support of UVM.

Are you aware of any other solution for verification of SystemC designs? SCV and SystemC UVM are simulation based approaches? Do you know any available formal-technique-based verification tool for SystemC (e.g., a model checker)?

Thanks!

Share this post


Link to post
Share on other sites

There is a SystemC VMM class library (VMM came before OVM which came before UVM which will probably be replaced again soon by another acronym .....)

I believe SCV is still being looked at but constraint solvers are complex pieces of technology combine this with non-perfect C++ introspection and you have a complex task at hand.

From what I have heard Cadence continues to maintain and update SCV commercially (for NCsim), so what we need is for some of their engineers to have a look at the current SCV version and bring it back to live ;-)

Hans.

www.ht-lab.com

PS I would not compare UVM with SCV as they are quite different. UVM is a Verification framework whereas SCV is more of a verification toolbox.

Share this post


Link to post
Share on other sites

Hi Hans,

There is a SystemC VMM class library (VMM came before OVM which came before UVM which will probably be replaced again soon by another acronym .....)

I am aware of that. This is an image that I use in my presentations:

verification_methodologies.png

I believe SCV is still being looked at but constraint solvers are complex pieces of technology combine this with non-perfect C++ introspection and you have a complex task at hand.

Yes. SCV is definitely complex for people who are used to Verilog or VHDL but not C++. The introspection/extension stuff could be "cumbersome" sometimes.

From what I have heard Cadence continues to maintain and update SCV commercially (for NCsim), so what we need is for some of their engineers to have a look at the current SCV version and bring it back to live ;-)

I am using Cadence NCsim. I will check if any difference exist between SCV 2006 (Accellera) and the Cadence SCV. Most likely Cadence guys are just supporting the latest GNU g++ compiler, as I did (some patches and still a lot of warnings in compilation).

PS I would not compare UVM with SCV as they are quite different. UVM is a Verification framework whereas SCV is more of a verification toolbox.

Yes indeed. I consider SCV just a library (let's call it a toolbox) and UVM a methodology. But I am not sure if in UVM I can use SCV or if SCV is deprecated and I have to use e language. What do you think?

Share this post


Link to post
Share on other sites

Hello Alan,

I am not able to join the group. The authentication form does not let me in.

The group page says:

Join this Working Group

If you are an employee of a member company and would like to join this working group,click here (requires login) and click Join Group. WG participation requires right of entry by the group chair.

I am a researcher at Columbia University, not a employee of a member company. Can I join the group too?

Share this post


Link to post
Share on other sites

Hi Guiseppe,

you can register with the Accellera website (it has a separate registration from these forums).

Once you're registered, I think you can join the group as an observer (a non-voting member), as long as the group chair approves you.

I hope what I've said is true!

kind regards

Alan

Share this post


Link to post
Share on other sites

Hi Guiseppe,

we are indeed working toward a new "maintenance" update of scv which will brings compatibility with more recent systems (64-bit, etc.). Working group members are also investigating new requirements and possibilities for an bigger update. Meanwhile, you may want to check the CRAVE and SCIVER libraries:

http://www.systemc-verification.org

which brings several improvements over the existing SCV code.

Best regards,

Jerome

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×