Validation de descriptions VHDL fondée sur des techniques issues du domaine du test de logiciels - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2001

Validation of VHDL descriptions based on software testing techniques

Validation de descriptions VHDL fondée sur des techniques issues du domaine du test de logiciels

Christophe Paoli

Résumé

The objective of this work is to develop an original validation approach for complex digital systems in VHDL language. We propose to generate automatically from a behavioral VHDL description at the algorithmic level, the test vectors to be applied to a description at the register transfer level. First, we present the validation of VHDL descriptions at the algorithmic level, in the general context of the design process of complex circuits. Since this type of description is similar to a software program, we explore the techniques used in the software testing field, in particular those using coverage criteria. We present the structured test criterion, which is based on the control flow graph of the program under test, and on the cyclomatic complexity of McCabe as an index of the number of paths to be tested. We also present the Poole's algorithm which allows to generate this set of paths. However, VHDL language contains features which are not found in traditional software programming languages (concept of time, multiple communicating concurrent processes, delta delay mechanism). We thus propose an internal model in the form of graphs, allowing to apply the preceding techniques on VHDL descriptions: a control flow graph, a process model graph, a dependence graph. We restrict VHDL to a subset that is related to the algorithmic style. Then we expose a methodology for the test vectors generation in order to execute selected paths: application of the Poole's algorithm on the use of cyclomatic complexity, analysis and possible modification of the paths, constraints generation and solving, extraction of the test vectors. The approach is finally illustrated by the implementation of the software prototype GENESI which enabled us to obtain results on ITC'99 benchmarks.
L'objectif de cette dissertation est de développer une approche originale de validation de circuits digitaux complexes décrits dans le langage VHDL. Nous proposons de générer automatiquement, à partir d'une description VHDL comportemental au niveau algorithmique, les vecteurs de test à appliquer sur une description de niveau RTL. Nous présentons d'abord la validation de descriptions VHDL au niveau algorithmique dans le contexte général du processus de conception de circuits complexes. Ce type de description étant similaire à un programme, nous explorons les techniques utilisées dans le domaine du test de logiciels, notamment celles basées sur un critère de couverture. Nous présentons le critère du test structuré, qui est fondé sur l'utilisation du graphe de flot de contrôle du programme sous test, et de la complexité cyclomatique de McCabe comme index du nombre de chemins à tester. Nous présentons également l'algorithme de Poole qui permet de générer cet ensemble de chemins. Cependant, le langage VHDL possède des caractéristiques que l'on ne retrouve pas dans les langages de programmation traditionnels (notion de temps, interconnexion de « process » s'exécutant en parallèle, mécanisme de « retard delta »). Nous proposons donc une modélisation adéquate sous forme de graphes, permettant d'appliquer les techniques précédentes à des descriptions VHDL restreintes à un sous-ensemble prenant en compte un style de description algorithmique : un graphe de flot de contrôle, un graphe de modélisation de « process », un graphe de dépendance. Nous exposons ensuite une méthodologie pour la génération de vecteurs de test à partir des chemins générés depuis ces graphes : application de l'algorithme de Poole sur la base de la complexité cyclomatique, analyse et modification éventuelle des chemins, génération et résolution des contraintes, extraction des vecteurs de test. L'approche est finalement illustrée par la réalisation du prototype logiciel GENESI qui nous a permis d'obtenir des résultats sur les « benchmarks ITC'99 ».
Fichier principal
Vignette du fichier
TheseCPaoliVersionWeb.pdf (2.16 Mo) Télécharger le fichier
Loading...

Dates et versions

tel-00438748 , version 1 (04-12-2009)

Identifiants

  • HAL Id : tel-00438748 , version 1

Citer

Christophe Paoli. Validation de descriptions VHDL fondée sur des techniques issues du domaine du test de logiciels. Informatique [cs]. Université de Corse, 2001. Français. ⟨NNT : ⟩. ⟨tel-00438748⟩
309 Consultations
2559 Téléchargements

Partager

Gmail Facebook X LinkedIn More