Hi All,
I’m working on a block which has a state machine , and i need to verify the functionality of the state machine without verifying the exact state machine ,
The problem I’m facing is in building the functional coverage model that cover all inputs that cover all the state machine states , so is it logic to implement the behavior of the state machine in the scoreboard and implement a coverage model in the scoreboard that cover the states of the behavior state machine in the scoreboard?
BR,
AA
I Thought my problem is common , Does anyone face that situation before ?
You need to have one more state machine in the monitor which will traverse in the same way DUT state machine. When stimulus is applied to the Block, both Block state machine and Monitor State machine will traverse in similar way.
In this case you can write cover groups on the Monitor state machine, from which you can collect information.
In reply to vishnuprasanth:
You really don’t want to re-implement the state machine your testbench, unless the state-machine is part of the specification. What you want to do is go back to the requirements from which the state-machine was created and cover each of those requirements independently.
@Vish : That is actually what i doing , but i put the coverage model in the scoreboard which emulate the state machine not the monitor directly.
@Dave : In my case the state machine is a part of the specification , so i emulate the state machine in the scoreboard , and it was very hard to me to build a coverage model that cover all possible inputs and outputs that lead to covering all the state machine sates and arcs , so i implemented the coverage model in the scoreboard , so is that violate any of the OVM main principles like usability and maintainability , or the preferred coding style for an OVM environment ??
Thanks
I think you should focus on the stimuli strategy in order to generate all valid situations for your DUT and let the FSM in charge of the code coverage, your simulation tool can do this for you, you don’t need to create a model to cover all the states in DUT.