Dear Readers
I had a doubt on the uvm_do & uvm_do_with macros and this is what i understand from the UVM discussion forums and posting here as it may be useful for the interviews
uvm_do and uvm_do_with macros, the answer is that the second one assumes you need to further constrain your sequence/sequence_item(by providing this constraint as the second macro parameter) before it is get consumed.
uvm_do does the following 3 things,
1) create object
2) object.randomize
3) send packet
uvm_do_with there is only one difference, it calls 'randomize with ' (inline constraints) instead of randomize.
Hope you find it useful
-Happy Reading
Hash
Disclaimer
Posting on this blog to learn building UVM test benches, UVCs ,UVM VIPs from various online sources/discussion forums/Attended training/Seminars /Webinars/Interviews. Am JUST sharing here to Learn from the experts and make this small effort better as i believe learning is a continuous process. Due credit goes to the trainers/online resources
I had a doubt on the uvm_do & uvm_do_with macros and this is what i understand from the UVM discussion forums and posting here as it may be useful for the interviews
uvm_do and uvm_do_with macros, the answer is that the second one assumes you need to further constrain your sequence/sequence_item(by providing this constraint as the second macro parameter) before it is get consumed.
uvm_do does the following 3 things,
1) create object
2) object.randomize
3) send packet
uvm_do_with there is only one difference, it calls 'randomize with ' (inline constraints) instead of randomize.
Hope you find it useful
-Happy Reading
Hash
Disclaimer
Posting on this blog to learn building UVM test benches, UVCs ,UVM VIPs from various online sources/discussion forums/Attended training/Seminars /Webinars/Interviews. Am JUST sharing here to Learn from the experts and make this small effort better as i believe learning is a continuous process. Due credit goes to the trainers/online resources
No comments:
Post a Comment