In reply to Tudor Timi:
Dave,
agreed - i don’t have objections in every sequence, but i have found that it useful to have them in a few top level sequences that are forked in the top level test. It ensures that all of the stimulus is applied.
Good information on the set_drain_time timescale. That begs the question - where do i find out what the UVM package was compiled with? I am using questa 10.3d so i am using the pre-complied code with the simulator.
Tudor,
great example! I do fundamentally agree with you. I do need to set a reasonable value for my drain time. In my case it will be a really big number that is related to processing latency(see below) or a smaller number that is related to period of activity on my output bus if i use an objection in a monitor.
This falls in line with Daves comments on the overheads of objections. Ideally i do not want my monitor to raise objections.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
- x - x - x - x - x - x - x - x - x - x - x - x - x - x - x - x - x - x - x - x -
^ ^ ^ ^ ^ ^ ^
| | | | | | |
stimulus output output output output final |
ends output |
drain time
elapsed