Ovm_imps.svh(55): No field named 'get'

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.

Thanks & Regards,
Mallik

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 your reply.
I will try it and let you know the update.

Thanks & Regards,
Mallik

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.

Regards,
Mallik

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.

i HAVE SIMILAR ERROR IN OVM2.0.1 PACKAGE. Please help me.

vsim +OVM_TESTNAME=test_read_modify_write -do vsim.do -l xbus.log -c -suppress 3829 xbus_tb_top

// ModelSim SE 6.3h Jul 4 2008 Linux 2.6.5-7.287.3.PTF.363939.1-smp

//

// Copyright 1991-2008 Mentor Graphics Corporation

// All Rights Reserved.

//

// THIS WORK CONTAINS TRADE SECRET AND

// PROPRIETARY INFORMATION WHICH IS THE PROPERTY

// OF MENTOR GRAPHICS CORPORATION OR ITS LICENSORS

// AND IS SUBJECT TO LICENSE TERMS.

//

Loading sv_std.std

Loading work.xbus_tb_top

Loading work.xbus_if

Loading work.dut_dummy

** Error: (vsim-3567) …/…/…/src/base/ovm_port_base.svh(87): No field named ‘get_type_name’.

Region: /xbus_tb_top/ovm_port_component::ovm_port_component__1

** Error: (vsim-3978) …/…/…/src/base/ovm_port_base.svh(87): Assigning a packed type to a string requires a cast

Time: 0 ns Iteration: 0 Region: /xbus_tb_top/ovm_port_component::ovm_port_component__1 File: xbus_tb_top.sv

** Error: (vsim-3567) …/…/…/src/base/ovm_port_base.svh(100): No field named ‘do_display’.

Region: /xbus_tb_top/ovm_port_component::ovm_port_component__1

** Error: (vsim-3567) …/…/…/src/base/ovm_port_base.svh(100): No field named ‘do_display’.

Hi Madammohan,

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.

Thanks,
Ashish

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.

Thanks,
Madan

Hi Madan,

Unfortunately to use TLMs and OVM 2.0.1, you will need to use Questasim 6.4a and above. Your code wont simulate with lower version of Questa.

Thanks,
Ashish

Thanks for your info. Let me try lower version of OVM package 1.0.

Do you recommend this?

Thanks,
Madan

Hi Ashish,

How about using VCS with version " vcsmx/2008.12-B-1_08262008" to compile OVM package ?

Thanks,
Madan

Hi Madan,

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.

But yes, you can still try out ovm1.0

Thanks,
Ashish

Hi Ashish,

One quick question. Do we count Assertions in functional coverage ?

Thanks,
Madan

Yes Madan.

We can cover assertions in functional coverage.

Thanks,
Ashish

Please point me if have any reference document.

Thanks,
Madan