DO254 Pour Les Nuls 6
DO254 Pour Les Nuls 6
DO254 Pour Les Nuls 6
Il y a couverture et couverture
La DO254 et surtout les vangiles associs voquent de nombreuses reprises des objectifs de couverture . Aprs un peu de pdagogie et de clarification, nous allons ici aborder le paradoxe trs tonnant li lutilisation de la couverture de code dans un design respectant la DO254 (et particulirement lindpendance).
Couverture fonctionnelle
En ce qui concerne le corps de la DO254, et particulirement la partie ddie la vrification, il ny a aucune ambigut : il sagit dune notion fondamentale de la mthodologie de conception sre : Lobjectif principal de la vrification consiste assurer la couverture exhaustive par les moyens appropris de lensemble des exigences de lobjet en cours de dveloppement. Evidence is provided that the hardware implementation meets the requirements. (DO254 6.2.1-1) Cette notion de couverture fonctionnelle est la seule aborde de faon explicite dans le texte de la DO254. Rappelons simplement ici limportance mcanique de cette approche : le centre du dveloppement est bien la spcification (Hardware Requirement Data) et elle est la source unique qui dtermine la stratgie de vrification. La couverture fonctionnelle est un objectif partag tous les niveaux de dveloppement dun systme (quipement, carte, composant, IP) et quel que soit le niveau de DAL et la complexit de lobjet en dveloppement.
Ce document est la proprit de DMAP. Le contenu ne peut tre reproduit ou utilis sans lautorisation crite de la socit.
Ce document est la proprit de DMAP. Le contenu ne peut tre reproduit ou utilis sans lautorisation crite de la socit.
Ce document est la proprit de DMAP. Le contenu ne peut tre reproduit ou utilis sans lautorisation crite de la socit.
Quelle efficacit, en termes de couverture de code, peut avoir un testbench dvelopp en aveugle total, sans aucune visibilit du code (parfois avant lcriture du code) ?
La premire rponse est vidente : les deux objectifs sont incompatibles et la couverture de code par un test dvelopp en aveugle est probablement trs mauvaise et incomplte. La pratique, couple avec un peu de rflexion, donne un rsultat tout autre. Le niveau de couverture du code obtenu partir dune couverture fonctionnelle est toujours proche de la perfection (100%).
Pourquoi ? Tout dabord il faut faire quelques hypothses concernant le dveloppement : La spcification (exigences) a t valide et est donc rpute complte et correcte : le vrificateur part dune entre utilisable et suffisamment claire et prcise (description de la fonction) La vrification fonctionnelle couvre compltement la fonction (objectif majeur de la vrification) Le code HDL reprsente exactement la fonction ( partir de la spcification)
Ce document est la proprit de DMAP. Le contenu ne peut tre reproduit ou utilis sans lautorisation crite de la socit.
Le rapprochement des deux univers (design et vrification) doit donc conduire gratuitement un niveau de qualit lev (cest--dire une couverture de code trs satisfaisante).
Bien entendu, il reste toujours quelques cas non compltement couverts quil faut examiner attentivement : Du code mort, de la redondance ou des transitions impossibles (modification du code) Des configurations non testes (complment de la vrification) Un dficit de clart ou de prcision de la spcification (complment de la vrification ,reprise de la spcification)
Au final, aprs cette phase de finalisation, en principe marginale, la spcification, le code et la vrification fonctionnelle ont gagn en qualit et en maturit.
CQFD
Ce document est la proprit de DMAP. Le contenu ne peut tre reproduit ou utilis sans lautorisation crite de la socit.
DMAP DESIGN
Ce document est la proprit de DMAP. Le contenu ne peut tre reproduit ou utilis sans lautorisation crite de la socit.
www.dmap.fr