UVM

In reply to Muthamizh:

Any possible help for me??

In reply to Muthamizh:

instead of controlling reset from tb top, i want to do it through seq item. But somewhere i am missing out the connection. Could someone check that link and help me out??

In reply to Muthamizh:

This is one of the issues. The second one is rst is not rand in the seq_item definition.
And then you have to refine your driver with respect to the reset. the Reset function is mot usefula as it is now.

In reply to chr_sue:

I tried giving reset through seq item. but im missing out the logic in refining driver according to that. Can you tell how am i supposed to change the driver logic?

In reply to Muthamizh:

Please look here and compare with your code.

In reply to chr_sue:

i did that. The output is correct. but in my waveform, the in, out and states are not starting from 0. They start from 4ns.am not able to attach a screenshot of the waveform here.

In reply to Muthamizh:

They are starting from 0, but with undefined value (x). The data are synchronous with your clock.

In reply to chr_sue:

Is that correct? Cant i make it to start it from 0? nd why is it starting from x?

In reply to Muthamizh:

Yes, it is. You can’t see the seq_items in the waveforms. There you see only the signals/variables. Because you are using logic as data type you see the x. logic is initialized to x.

In reply to chr_sue:

Thanks for your help and suggestions. Im thinking about using $root to control reset from tb top itself. In that case, how the driver logic should be changed?

In reply to Muthamizh:

If you are replazing the logic data type by bit you’ll see the 0 instead of x. Another wa is to initialize your values to z. But what you have is completely fine.

In reply to chr_sue:

i have changed it to bit. Still it starts from x. Then it is not the correct one, right??

In reply to Muthamizh:

You have to do this in the interface definition.

In reply to chr_sue:

i did it in interface only.

In reply to Muthamizh:

I think you have seen in is 0 from the beginning and out and state is x. This comes from your design.Simple Verilog does not know 2-state variables. There is the type reg used.

In reply to chr_sue:

Yes in is 0 from the beginning. Thank you so much for your suggestions. They were very helpful and useful. Thanks again.

In reply to Muthamizh:

What is phase objection actually?

In reply to Muthamizh:
What do you mean with phase objection?

The objection mechanism is used stop the simulation after completing all sequences and run_phase tasks.
If you do not implement this mechanism the simulation stucks at time 0.
You can implement the objections in different objects (components, sequences).

In reply to chr_sue:

This is what i wanted to know. Thank you for the explanation.

In reply to Muthamizh:
Now i need to do another testcase for the same fsm. i need to stop the clock generation and check the response. How to do that? Any idea please?