Functional verification coverage closure

Verification is a critical phase of the development cycle. It confirms the compliance of a design implementation with its functional specification. Coverage measures the progress of the verification plan. Structural coverage determines the code exercised by the functional tests. Modified Condition D...

Full description

Bibliographic Details
Main Author: Salem, Mohamed A.
Published: University of Bristol 2015
Subjects:
Online Access:http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.685927
Description
Summary:Verification is a critical phase of the development cycle. It confirms the compliance of a design implementation with its functional specification. Coverage measures the progress of the verification plan. Structural coverage determines the code exercised by the functional tests. Modified Condition Decision Coverage (MC/DC) is a structural coverage type. This thesis is based on a comprehensive study for MC/DC conventions. It provides a new MC/DC test generation algorithm, presents associated MC/DC empirical work from which it draws novel insights into MC/DC utilization as a coverage metric, and investigates the design faults detection strength of MC/DC. The research results have had significant impact on industry. The MC/DC study in hardware verification is motivated by the MC/DC certification requirements for critical software applications, the MC/DC foundation on hardware principles like controllability and observability, and the linear growth of MC/DC test set. A new MC/DC test generation algorithm named OBSRV is developed, implemented, and optimized based on the D-algorithm. It is distinguished from conventional techniques as it is mainly based on logic analysis. The thesis provides the empirical work, and associated results that represent an exhaustive validation of OBSRV. It has identified novel MC/DC insights represented by the minimal MC/DC requirements optimization, the MC/DC compositionality aspects, and the design options for MC/DC fulfillment. The research has had direct impact on industrial MC/DC applications. A major EDA MC/DC product has been completely re-architected, and the verification of an industrial safety critical embedded processor has been guided for MC/DC fulfillment. It demonstrates the feasibility of MC/DC as an applicable solution for structural, and functional coverage by an evaluation that proves the MC/DC detection strength for main design faults in microprocessors. The results motivate the continuity of future research leading to MC/DC adoption as main metric for functional verification coverage closure in hardware, and software domain.