why is write() a function and put() and get() are tasks in UVM TLM?
Hi,
You can understand from the basic difference of function and task. In tasks you can include timing delays, like posedge, negedge, # delay and wait, while in function you can not.
The same concept applicable in put/get and write function. Analysis port generally used for analysis of the transaction. For analysis you do not need to consume any time so its a function while in put/get they are itself time consumer if they are blocking so they are tasks.
I hope you got my point.
Best Regards,
Chetan Shah
Sr. ASIC Verification Engineer
Product Engineering Services
Software | Embedded | Semiconductor
www.einfochips.com
Frost & Sullivan Company of the Year 2013-14