How to improve UVM use effectiveness?
UVM is primarily based on a framework reuse model. Effective use of Universal verification methodology (UVM) requires understanding of effective framework reuse requirements. Effective framework reuse requires…
UVM is primarily based on a framework reuse model.
Effective use of Universal verification methodology (UVM) requires understanding of effective framework reuse requirements.
Effective framework reuse requires user to do bit of deep diving. Effective framework reuse cannot be achieved by just reading the documentation of it or playing around with the examples. They are necessary but not sufficient. Framework reuse model to be effective, certain level of familiarity with the framework source code is required.
The user needs to understand the verification problem to be solved clearly. Framework is one of the possible solutions. Solution offered by framework is not complete on its own. It is a partial solution. It’s a guiding skeleton, user needs to customize and populate it with the application specific code to make it a complete solution.
User needs to have very clear understanding of the problem, what is offered by the framework, which parts of his problem fit into offerings of framework and which does not fit. Developing this understanding is very critical. Without clear understanding of the intentions and objectives of framework, its usage can turn out to be only a pain without any gain. Even worse, rather than aiding the solution, framework can come in your way of solving the problem.
Framework reuse takes time for adoption. Experienced veterans can do a really good job of its reuse. Framework reuse is not a blind code reuse. One needs to dissect problem. Dissect and understand the framework. Fit the pieces of problem into framework without loosing the end objectives. Attempt to force fit a problem into framework or losing track of the end objective while mapping problem to framework can be catastrophic.
Successful framework reuse is an art.
User does need some exposure to UVM source code. That does not mean, user should read every class, every property and every method of it. Whenever user encounters certain concepts that are not clear by reading documentation or examples, user should not hesitate to read the UVM source code. In fact documentation will not be able to document everything. That’s reason the class reference manuals and source code itself is provided.
It’s only this type of source exploration that will make developer feel confident in its usage and debug.
Bottom line, in framework reuse is like answering fill in the blanks type of questions. User’s code is filling in the blanks of framework code with application specific code. This results in very close interaction between the user and framework code.
In order for user to fill in blanks of UVM framework code effectively UVM dissection is required.