Thursday, August 22, 2013

Difference between uvm_component and uvm_object

What is the difference between uvm_component and uvm_object?
OR
We already have uvm_object, why do we need uvm_component which is actually derived class of uvm_object?


uvm_component is a static entity and always tied(bind) to a given hardware and/or a TLM interface
uvm_object is a dynamic entity and is not tied to any hardware/TLM interface

uvm_component like uvm_driver is always connected to a particular DUT interface because throughout the simulation its job is fixed i.e. to drive the designated signals into DUT

uvm_object like uvm_transaction is not connected to any particular DUT interface and its fields can take any random value based on randomization constraints.

Though uvm_component is derived from uvm_object, uvm_component has got these additional interfaces
* Hierarchy provides methods for searching and traversing the component hierarchy.
* Phasing defines a phased test flow that all components follow, with a group of standard phase methods and an API for custom phases and multiple independent phasing domains to mirror DUT behaviour e.g. power
* Configuration provides methods for configuring component topology and other parameters ahead of and during component construction.
* Reporting provides a convenient interface to the uvm_report_handler. All messages, warnings, and errors are processed through this interface.
* Transaction recording provides methods for recording the transactions produced or consumed by the component to a transaction database (vendor specific).
* Factory provides a convenient interface to the uvm_factory. The factory is used to create new components and other objects based on type-wide and instance-specific configuration



Thanks!


DUT - Design Under Test
TLM - Transaction Level Modelling
API - Application Programming Intefaces

Sample STMicroelectronics interview questions





Sample HR question which I need to prepare


1. Tell me about yourself?


2. Why do you want to work for STMicroelectronics?


3. Do you know anyone who works for STMicroelectronics?


4. Why should STMicroelectronics hire you?


5. What can you do for this company?


6. What can you do for STMicroelectronics that other candidates can’t?


7. How would your past experience translate into success in this job?


8. Explain how you would be an asset to STMicroelectronics?


9. What do you know about STMicroelectronics?


10. Please tell me some products/services of STMicroelectronics in the market? What are likes/dislikes of them?


11. If you worked for STMicroelectronics, what are you doing?


12. Please tell me some products/services that are competitors of STMicroelectronics’s in the market? And what are differences?


13. Why have you applied for this particular job for this field?


14. What do you like about your present job for this field?


15. What have you learned from your mistakes?


16. What do you dislike about your present job for this field?


17. What are the most difficult decisions to make?


18. How would you describe your work style?


19. Are you overqualified for this job?


20. Why do you want to leave your current employer?


Ethernet and more

Ethernet is a protocol under IEEE 802.33 standard User Datagram Protocol (UDP) UDP is a connectionless transport protocol. I...