Hi, guys. I am new to UVM and wondering if anyone can help me with idea how to make an OCP UVC in which I have one master device UVC and one slave device UVC. During the data transfer, the master request is accepted immediately, while the slave response is returned in the same or a later cycle.
I already have all classes ready and working for the case of non-pipelined request . Just don’t know how to create the slave device driver to match new functionality required. Should I use queues or semaphore or something else? Each help is welcome. Thanks!
In reply to Nikola Stanojev:
See if this helps.
In reply to dave_59:
Hi, Dave and first of all thank You for this fast reply. The link You sent me is really useful, but when I start developing the code for slave driver, in OCP protocol, I don’t understand how to configure it to do the required tasks.
If You have just a little time, please take a look at the specs of OCP protocol (page 114):
OCP SPECIFICATION
Me and my colleagues start by using SystemVerilog queues as a tool, but it never worked correctly. I also found that articleabout using semaphore but cannot understand how it works in OCP protocol. I am completely new to the whole uvm thing and appreciate any help.
Thank You in advance for helping me on this!
In reply to dave_59:
Any ideas? Thank You so much.
In reply to Nikola Stanojev:
UVM is not just one click. It is more complicated and you Need as a Basis good knwoledge in SystemVerilog.
I recommend to look for Training modules in the Verification Academy.
In reply to chr_sue:
Thank You. I will, for sure.