CHAPITRE 4 : PROPOSITION D’UNE METHODE DE VERIFICATION DE L’INTEGRATION POUR
III. B.2. Présentation des éléments de description d’un composant
Pour réaliser la modélisation d’un composant en vue d’en réaliser la vérification par la
méthode présentée ici, il est nécessaire de décrire les trois types d’éléments (ressources,
entrées /sorties et configuration) qui sont utilisés.
III.B.2.a. La définition des ressources d’un composant ou la
description des registres
Le premier type de paramètres qui est utilisé pour caractériser un composant est celui
décrivant les ressources du composant. La définition des ressources correspond à la définition
des registres du composant.
Cette spécification des ressources du composant réalise la définition pour chaque
registre :
• Du nom et de l’adresse ;
• Des champs et du type d’accès (lecture / écriture).
Un tel format a déjà été développé au sein de l’équipe TV. Une représentation de ce
format de description est donnée sous la forme d’une pseudo grammaire sur la Figure 26. A
partir de cette description, un outil a été développé et permet la génération de programme de
test de bas niveau permettant de vérifier tous les types d’accès aux registres. Ce formalisme
peut être intégré directement dans le cadre de notre modélisation, ainsi que la génération de ce
type de test.
Figure 26 : Présentation de la définition des registres sous la forme d’une grammaire et
exemple de description
AXIOME → REGISTER_DEF
REGISTER_DEF → Register"nom_registre " SIZE_DEF
SIZE_DEF → Size" taille " OFFSET_DEF
OFFSET_DEF → Offset" offset " BITFIELD_DEF
BITFIELD_DEF → BitfieldBITFIELD_TYPE
BITFIELD_TYPE → {" nom_champ " | - }:"bit_index" :"bit_index"
{BITFIELD_DEF * | INITVAL_DEF}
INITVAL_DEF → Initialvalue" valeur_reset " ACCESS_DEF
ACCESS_DEF → AccesstypeACCESS_TYPE
ACCESS_TYPE → { RO| RW} REGISTER_DEF *
HDPP
Exemple de définition des ressources Register CTRL Size 32 Offset 0x000 Bitfield VED:1:1 Bitfield HED:2:2 … Initialvalue 0x00000001 Accesstype RW Register PRG_VSYNC_OFF Size 32 Offset 0x004 …
AXIOME → REGISTER_DEF
REGISTER_DEF → Register"nom_registre " SIZE_DEF
SIZE_DEF → Size" taille " OFFSET_DEF
OFFSET_DEF → Offset" offset " BITFIELD_DEF
BITFIELD_DEF → BitfieldBITFIELD_TYPE
BITFIELD_TYPE → {" nom_champ " | - }:"bit_index" :"bit_index"
{BITFIELD_DEF * | INITVAL_DEF}
INITVAL_DEF → Initialvalue" valeur_reset " ACCESS_DEF
ACCESS_DEF → AccesstypeACCESS_TYPE
ACCESS_TYPE → { RO| RW} REGISTER_DEF *
HDPP
Exemple de définition des ressources Register CTRL Size 32 Offset 0x000 Bitfield VED:1:1 Bitfield HED:2:2 … Initialvalue 0x00000001 Accesstype RW Register PRG_VSYNC_OFF Size 32 Offset 0x004 …
III.B.2.b. Présentation des paramètres de modélisation d’un
composant et leurs relations avec la modélisation des services.
En plus de la définition des registres d’un composant, il est nécessaire d’en modéliser
les principales caractéristiques. Cette modélisation est réalisée par l’intermédiaire de
paramètres qui abstraient le fonctionnement. Ces paramètres peuvent être divisés en deux
ensembles :
• Les paramètres spécifiques au système ;
• Les paramètres spécifiques au composant.
Les paramètres relatifs au système permettent de définir si le composant possède une
zone mémoire qui lui est allouée. Ces paramètres sont nécessaires pour vérifier la cohérence
du plan mémoire spécifié pour le système. Ils sont génériques pour tous les composants. Il
existe deux paramètres de ce type, le premier est noté « memory_map ». Il permet ainsi de
spécifier l’espace mémoire accessible au composant. Un second paramètre est attaché à cette
description, il est noté « memory_map_service ». Il permet de spécifier le ou les services qui
mettent en œuvre les accès mémoires.
Les paramètres relatifs aux composants sont de deux types :
• Les paramètres d’entrés/sorties réalisent l’abstraction du type de données que
manipule le composant ;
• Les paramètres de configuration définissent le mode de fonctionnement du
composant.
Comme cela a été évoqué lors de la description des services, les services et les
paramètres sont liés. Les paramètres spécifiés pour un composant sont ainsi hérités par les
services. Au moment de la spécification des paramètres du composant, il n’est pas nécessaire
de définir les valeurs respectives de chaque paramètre. Aussi, certaines valeurs de ces
paramètres sont différentes voire non définies d’un service à l’autre. La seule contrainte de
modélisation fixée ici est que tous les paramètres du composant soient définis pour les feuilles
de l’arbre de service.
Ces deux types de paramètres permettent pour un service donné de définir le mode de
fonctionnement du composant. Les paramètres de configuration sont ensuite utilisés dans les
programmes de test de haut niveau. Ils constituent un ensemble des paramètres, utilisé lors de
l’appel des fonctions de l’API de vérification. Ils permettent au travers de l’API la
configuration, la gestion et le contrôle du composant pendant le test.
Si l’on considère maintenant le composant HDPP utilisé pour l’illustration du concept
de services, la Figure 27 présente un exemple de la modélisation de celui-ci par les paramètres
et leurs relations avec la modélisation des services offerts. On notera que ce composant ne
dispose pas d’un accès mémoire, d’où l’absence de paramètres spécifiques au système.
Figure 27 : Exemple de modélisation pour le composant HDPP des paramètres
d’abstraction des entrées/sorties et de la configuration
Comme cela apparaît sur la Figure 27, les paramètres « IT_* » spécifient quelles
interruptions du composant sont activées lors du test. Les autres paramètres constituent la
définition du flux vidéo d’entrée et sont utilisés pour définir la configuration du composant.
III.B.3. Présentation de la structure du modèle d’un système
Dans le document
Méthode de validation globale pour les systèmes monopuces
(Page 93-96)