Verification quality improvement – Regression & Debug

Regression phase is the climax of the functional verification. This is phase during while the real value of the functional verification is being realized. That’s…

Regression phase is the climax of the functional verification. This is phase during while the real value of the functional verification is being realized. That’s why this phase has to be highly efficient to meet the verification objectives planned. By nature this is a phase very hard to constrain it under a strict schedules. The only way to keep under control is to have highly efficient flow to manage regression and debugging.

Improve the efficiency of the regression and debug process to support reactive fire fighting process to meet the deadline.

Regression productivity

Full regression is process that requires religious commitment to maintain quality. It contains elements that require repetition.

Regressions are repetitive tasks. The efficiency of the overall regression process significantly affects the productivity of the overall verification and team. Frequent repetition can only be effectively when it’s automated.

Regression system should be able to help manage:

  • Regression results summary
  • Regression triaging
  • Regression failure debug tracking

Debug productivity

Logging is another important areas to review. It can have very quick and significant impact on the debug productivity. This becomes even more important when there is regression instability requiring frequent debugs.

Logging also should be architected like testbench architecture. Nature of the information seeked during debug would be known after going through debug cycles. Logging architecting also should be easy do it after going through the debug cycles. It should be fixed now.

Expectations from logging are, debug information at first level should help isolate the issues between the testbench and design. Second level if it’s found to be test bench issue, logging should help isolate it to test bench component. Subsequently area should be localized enough that it can be debugged single stepping or other such techniques.

As part of the review identify the redundant logging information. It has impact on runtime performance and memory usage. Longer run times can slow down the debug cycles. So it’s important to cut down the redundant logging information, logging information that is not applicable, temporary logging information just forgotten after debug or plain negligence of developers. Applicable debug logging tips and log formatting guidelines from this list should be adopted.

Also check-in regression should reviewed for the log sizes. It should be minimum. If not it should be fixed. Check-in regression times directly affected the fixing and development efficiency.

 

Similar Posts

Leave a Reply