Well, I'm interested in creating a VPI interface for my code coverage tool, Covered.  Currently, the tool reads in generated VCD files and then performs a partial "resimulation" of the data to figure out the coverage metrics that it needs for reporting purposes.  The benefit of reading VCD files is that most, if not all, simulators are capable of generating one, allowing Covered to remain simulator independent.  However, the process of "resimulation" is quite costly in terms of time (and possibly file space -- if the VCD file(s) is/are quite large) and I don't currently support all Verilog constructs, so I'm interested in removing the need to perform this "resimulation" step.
 
The VPI is quite interesting to me in that I can access more than just value changes within the design as it is running.  Thus, I can get the information I need (signal, _expression_ and statement information) without having to do a lot of post-processing of the results.  Of course, there would be some overhead for getting this information, but the end result is something that is quite a bit better than what I currently have.  Additionally, the VPI seems to be becoming standardized and accepted by many simulator vendors -- achieving my original goal of not becoming a simulator-dependent tool.
 
I really enjoy using Icarus Verilog (it is my simulator of choice when I'm not at work :) and would like to see/learn with this tool, if possible.  I currently don't know exactly what I need to be added to the VVP VPI, but was more interested in knowing if it would be possible to extend IV's VPI interface in the future (I wasn't sure if the current state of the VPI in the VVP was more or less fixed for good reasons that I wasn't aware of).
 
I appreciate the responses and will make suggestions for pieces/parts that I would need to be added as I come across them.  I will also take a look at Cver and give that a try in the meantime.  As always, keep up the great work that is being done to Icarus!
 
Trevor

Reply via email to