johannes.walter Posted July 4, 2011 Report Share Posted July 4, 2011 I'm new to UVM. So I wanted to implement a small basic example to get used to the techniques. Basically I followed the instructions in the UVM 1.0 User Guide. So here is what i've got: - An agent including driver, monitor and sequencer - My driver inherited from uvm_driver - My monitor inherited from uvm_monitor - A sequencer: uvm_sequencer itself - An item inherited from uvm_sequence_item - A custom sequence inherited from uvm_sequence The driver requests the new item using the get_next_item() function (port and export to sequencer are connected by agent). Everything so far is working fine. But only one time. After he got the first item and trys to get the next one the whole simulation stops. No warnings, no errors. I'm searching for the problem for days now and I would be pleased if someone could help me. I attached the whole source code to this post. Regards, Johannes Quote Link to comment Share on other sites More sharing options...
uwes Posted July 4, 2011 Report Share Posted July 4, 2011 hi, adding +UVM_PHASE_TRACE leads you to the issue. it shows you that all phases are ended before you starting/continue driving. looking at your code it is obvious that: 1. you object uvm_test_done in your sequence 2. your sequences are started in the "main_phase" as you are starting your sequences in the main-phase you cant utilize the backward compatibility switch on +UVM_USE_OVM_RUN_SEMANTIC and your objection is towards end of test (the old way) and not to the end of phase you are locking the whole system. so what you should do is the following: 1. object "starting_phase" instead of "uvm_test_done" this should get you going. (there are some other smaller things but they do not matter for the issue. regards /uwe Quote Link to comment Share on other sites More sharing options...
johannes.walter Posted July 4, 2011 Author Report Share Posted July 4, 2011 Hi! Thank you for your reply. It's working now! Regarding the other small things. I'm currently reading a lot about UVM and try to figure out how to use it correctly. Although some hints would be nice. Regards, Johannes Quote Link to comment Share on other sites More sharing options...
ashu_83 Posted August 17, 2011 Report Share Posted August 17, 2011 In my case, the simulation exits at time 0 itself adding +UVM_PHASE_TRACE leads you to the issue.It does not make any difference in my logfile, could you please elaborate the expectation with this switch. 1. object "starting_phase" instead of "uvm_test_done" could you please post sample code for same Regards, Saurabh Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.