Hi,
When I am trying to write a small non-blocking tarnsfer code ( attached), I am getting fallowing error.
* ** Error: (vsim-3567) …/…/…/src/tlm/ovm_imps.svh(55): No field named ‘get’.
Region: /ovm_pkg:vm_get_imp:vm_get_imp__1
** Error: (vsim-3567) …/…/…/src/tlm/ovm_imps.svh(55): No field named ‘can_get’.
Region: /ovm_pkg:vm_get_imp:vm_get_imp__1
** Error: (vsim-3567) …/…/…/src/tlm/ovm_imps.svh(55): No field named ‘get’.
Region: /ovm_pkg:vm_get_imp:vm_get_imp__1
** Error: (vsim-3567) …/…/…/src/tlm/ovm_imps.svh(55): No field named ‘can_get’.
Region: /ovm_pkg:vm_get_imp:vm_get_imp__1
Error loading design
Error loading design
*
Can you please Let me know, how to solve these issues.
Hi Malik,
Since you declared an ovm_get_imp in the producer, you will need to implement all the API’s of TLM get: get(), try_get(), and can_get(). In your code, you only implemented try_get().
Hi Huynh,
Thanks for the solution it is working now.
BTW, I have one doubt that,
what is the need of defining other virtual functions “can_get”, “get”, when I am using only try_get function?
Please LMK the answer.
Use ovm_nonblocking_get_imp. That interface says you are only providing try_get. ovm_get_imp includes the methods from both ovm_nonblocking_get_imp and ovm_blocking_get_imp.
It would be great if you can post some of your code. I have worked on TLM extensively so looking forward to help you provided you supplement some code.
I am trying to simulate with the download version(ovm-2.0.1) of xbus example from ovmworld.org. The questa version I use is “QuestaSim vlog 6.3f Compiler 2008.02 Feb 28 2008”.
Please also u can download same ovm-2[1].0.1.zip
Thanks for immediate response. if you able to suggest the fix ASAP it will be great. Uploaded log file in zip format.
If you are ok with basic TLM usage, then you can go ahead with ovm1.0. No issues.
But there were many TLM fixes in OVM 2.0 and 2.0.1 release. I am not exactly sure which are they.