Jump to content

carningli

Members
  • Posts

    5
  • Joined

  • Last visited

carningli's Achievements

Member

Member (1/2)

0

Reputation

  1. I am using a virtual sequence to control multiple sequencers, i am having trouble getting a configuration object from the database. Is there anything additional that has to be done to retrieve configuration objects from the configuration database, when using virtual sequences? Ultimately I would like to use the configuration object to pass a task to allow the virtual sequence to wait for an IRQ, I would connect the configuration objects virtual interface in the build phase of the test, thus allowing the task to wait for the IRQ
  2. Hi UWES, Thanks for your response, it was very helpful In your response you say 'raise+drop should only be done for self-active sequences (and not for slaves, nor reactive sequences, nor background sequences)' Is there a prescribed UVM way for handling background sequences, which has not been discussed so far in this thread? I have before started the background sequence manually on the sequencer via my virtual sequencer which runs all the sequences that run on all sequencers in the tb. (Hope this makes sense!) This means that for every new sequence created for the virtual sequencer you must remember start the background traffic. I have wasted enough time debugging other engineers sequences where they have forgotten to do this, so for this port where it runs background traffic 99% of the time I would prefer to have a self activating sequence to produce the background traffic. So far I have concluded that the background sequence can be started as a default sequence, but to prevent it raising an objection I must either modify the base sequence as per dwikle suggestion if (starting_phase != null && enable_objection) or I could drop the objection in the background sequence with the consequence of not using the sequence as subsequence any more, (which is not that much of a problem for this sequence) Thanks for your input
  3. For further understanding of the way UVM works (as I'm a new adopter) why can't you drop the objection in the body of the sequence? Is this just a convention or it it not possible. I ask as I have set up a base sequence that does the raising and dropping of objection, the sequence that has the forever loop just extends this and only has a body. I can see your code idea will still work, but for further understanding of UVM I wondered why I could just not drop the objection in the extended sequence body task.
  4. I have started a sequence using the "default_sequence", the sequence is running background traffic and has been set up to deliberately run continuously using a forever loop. The problem I have is that the sequence raises an objection at start up, through if (starting_phase!=null) begin starting_phase.raise_objection(this); Is it possible to get the default sequence I have chosen to run to drop this objection, as this sequencer is only running background traffic, and it is the sequences that run on other sequencers that should control the finishing of the test.
×
×
  • Create New...