Has the UVM Connect library been used for TLM1 transport interfaces? There appear to be a bunch of places in uvmc_ports.h where the request/response types are incorrectly interchanged.
For example:
[cpp]
template <class T1, class T2=T1,
class CVRT_T1=uvmc_converter,
class CVRT_T2=uvmc_converter >
class uvmc_tlm1_port_proxy : public uvmc_proxy_base
{
T1 req;
T2 rsp;
virtual void x_put (const bits_t *bits) {
m_packer->init_unpack(bits);
CVRT_T2::do_unpack(req,*m_packer); // NOTE: req is T1 but using CVRT_T2?
notify_blocking_sync_process(PUT);
}
};
[/cpp]
I’m using the 2.2 release of UVM Connect. After correcting a handful of lines I’m able to compile and use transport interfaces.
I would upload a full diff file but the user-contribution link referred to in another post:
http://verificationacademy.com/verification-methodology/ovmworld/ovm-user-contributions
…appears to be 404’d.
-Matt