Recently an ABV early stage user/explorer realized it is little hard to get started with OVL-VHDL-Modelsim combination. It surprised us as it would many others in the industry, having known how well folks at Mentor have been supporting OVL, VHDL etc.
As valuable QVP partner with Mentor, we at TeamCVC decided to make it easier for end users. When we dug further we did realize it is not out-of-the-box. Hence we created a quick start example and uploaded it to our website.
Feel free to grab it from here: http://www.cvcblr.com/downloads/ovl_vhdl.tgz
It is certainly a quick example just to demo the flow. Will add more soon. Here is the README for the example:
CVC’s OVL VHDL Example with Modelsim
To compile and run OVL VHDL example in Questa/MTI follow this example
We’ve used ovl_one_hot on a DUMMY signal, just to demo the flow.
You need latest OVL 2.7 release. We’ve included a part of that in this tar ball
Still we strongly suggest VHDL users to choose PSL. But in case you need OVL, this example could help. Feel free to grab it from here: http://www.cvcblr.com/downloads/ovl_vhdl.tgz
Send us your comments via firstname.lastname@example.org
For those VHDL folks exploring advanced verification techniques such as ABV (Assertion Based Verification), here is some trick for you all! A many of you would be aware VHDL 2008 standard incorporated IEEE 1850 PSL (VHDL flavor) in it and much before that EDA tools supported PSL + VHDL as a good combination. One of the earliest tutorials on PSL and most widely read one is available @ http://www.project-veripage.com/psl_tutorial_1.php and was authored by our CEO Mrs. Ajeetha Kumari.
As it can be seen in the tutorial PSL makes ABV adoption really simple and effective and leads to immediate benefits to the design verification cycle. One of the not-so-uncommon requirements from user community of VJDL + PSL is the ability to refer to PSL events/status from within VHDL Testbench code. This could then be used for PASS/AIL detection, coverage etc. A nice trick in PSL is to use “endpoints”. Now coming to specific syntax, there are2 variants – in Accellera version of PSL, endpoint was a keyword as shown in ode below. This feature works like charm in most of the EDA tools. However in IEEE 1850 version of PSL, this has been replaced with ended() method. We will focus on endpoint in this example, but do try the alternate if your tool already supports it.
Basic idea is to use the endpoint to detect end of a desired sequence of temporal and that now becomes an implicit boolean inside the underlying HDL framework (VHDL in this case).
A broader scope would be to expand this capability to assert/cover etc. There is a proposal for it at; http://www.eda.org/twiki/bin/view.cgi/P1076/PslAttributes but NOT approved/implemented by tools yet. Start adding your view in that TWIKI page and push your vendor for supporting the same.