• Aucun résultat trouvé

3. Une plate-forme de conception amont

3.2 Plates-formes et modes d’utilisation

Une plate-forme est, par définition, un support technique proposant un ensemble d’outils informatiques et/ou des moyens matériels partagés, permettant de concevoir et/ou de réaliser un objet ou de développer une solution à un problème spécifique. Ce concept est aujourd’hui

présent dans plusieurs secteurs d’activité, car la complexité croissante des applications exige des méthodes unifiées et l’intégration de plusieurs outils pour aboutir à des solutions appropriées et performantes. Une plate-forme doit être implémentée de façon à assurer l’interopérabilité et l’accessibilité de ses éléments constituants et partenaires, en minimisant les difficultés de passages d’une étape à l’autre. Il s’agit de garantir une totale cohérence dans les évolutions et transformations subies par l’action, le processus ou le produit à l’intérieur de la plate-forme.

Le concept de plate-forme est très répandu dans les applications électroniques, microélectroniques et informatiques. Dans ce dernier cas, plusieurs outils existent dans le but d’exécuter ou de développer [Nak03] des applications logicielles. L’application la plus ancienne et la plus courante des plate-formes est la CAO électronique, notamment dans les étapes finales de conception et de réalisation des produits électroniques : aujourd’hui, nous trouvons des produits commerciaux qui proposent plusieurs modules pour aider le concepteur dans la simulation des circuits jusqu’au « lay-out ». C’est le cas de la plate-forme OrCad [CDS03b] de chez Cadence qui intègre Capture, PSpice, PCB Layout et Specctra routage automatique. La Figure 3-1 illustre l’organisation très séquentielle de cette plate-forme.

OrCad Capture

Saisie schématique

OrCad Capture

Saisie schématique

PSpice A/D

Simulation

PSpice A/D

Simulation

OrCad Layout

Layout PCB

OrCad Layout

Layout PCB Routage automatique

Specctra

Specctra

Routage automatique

Figure 3-1 Schéma de l’organisation de la plate-forme OrCad Ultra [CDS03b].

R T L /N e tli s t G D S II

Figure 3-2 Diagramme des éléments de la plate-forme ENCOUNTER [CDS04a].

Au niveau de la microélectronique, nous trouvons des plate-formes telles que ENCOUNTER [CDS04a] de chez Cadence qui permettent de réaliser le cycle complet de synthèse des circuits intégrés. ENCOUNTER est dédiée à la conception des circuits intégrés numériques avec une

précision de montage nano métrique. Le principe d’opération consiste à prendre une description RTL (Register transfer level) du circuit, de la transformer et de l’optimiser pour aboutir à une représentation GDSII (Graphic Design Station II). La Figure 3-2 illustre l’organisation générale et les modules logiciels qui composent cette plate-forme.

Figure 3-3. Schéma de la plate-forme « Platform Express » de Mentor Graphics

D’autres fabricants proposent des plate-formes crées avec l’objectif d’accélérer au maximum le processus de conception. Tel est le cas de Platform Express™ [MG04] de Mentor Graphics. Ce produit permet de concevoir des SoC à partir d’une base de données de modules IP construite en XML. Cette plate-forme propose des fonctionnalités permettant de tester plusieurs configurations et combinaisons d’IP sur un projet.

Il faut observer que, même si les outils sont nombreux et organisés pour couvrir l’ensemble des besoins des ingénieurs, de nombreuses insuffisances subsistent et font l’objet de recherches importantes :

• La question des spécifications des produits et de la réutilisation des acquis,

• La question de la synthèse automatique des solutions techniques, notamment des parties analogiques,

• La question de l’organisation des tests apportant les supports de validation, vérification, certification…

Revenons aux systèmes à base d’électronique. D’autres plate-formes s’adressent d’avantage à l’intégration de « Systems on chip » (SoC) et l’assemblage électronique en mettant en jeu des options technologiques hétérogènes et en nécessitant des arbitrages difficiles : « hardware/software ». Ces options et ces arbitrages posent aussi des questions difficiles encore sans réponses comme l’illustre la problématique qui nous a été posée au lancement de notre travail par les concepteurs d’AIRBUS, sur la partition matériel/logiciel : y a t’il une approche méthodologique qui permettrait d’analyser, au plus tôt, ces alternatives technologiques et ces arbitrages matériel/logiciel ? Cela a donné la motivation fondamentale de notre travail et le choix initial d’un objectif de plate-forme HiLeS (Figure 1-3).

A des niveaux moins généraux, il existe des plate-formes qui sont utilisées pour résoudre des problèmes spécifiques tels que le développement de systèmes embarqués [VG01], la mise en œuvre de réseaux de télécommunications [IUN98], parmi d’autres… Par exemple, les plates-formes « matérielles » permettent d’implémenter plusieurs solutions en utilisant une même base « hardware », c’est le cas des cartes électroniques programmables, permettant d’utiliser une base fixe de hardware pour des applications diverses [ZWI99]. Les plate-formes matérielles sont aussi utilisées pour trouver plusieurs solutions différentes à une même problématique [ZAB+99][CSC+04], en particulier comme des ressources reconfigurables.

Dans notre cas, le point de départ est bien l’électronique mais considérée dans un environnement de système hétérogène : nous voulons y proposer un ensemble d’outils permettant de réaliser la première étape du processus de conception, l’élaboration des modèles « amont » issus des spécifications et représentatifs du fonctionnement du système. Idéalement ces modèles peuvent être considérés comme des spécifications exécutables qui évolueront vers des hypothèses

d’architectures du système, en assurant une cohérence complète entre la modélisation et les spécifications. Ces modèles de haut-niveau doivent permettre d’engager des procédures de

validation, vérification et certification, dès les premières étapes de la conception.

!

!

+

!

% + +$ + B8 BB

Figure 3-4. Diagramme général de notre concept de plate-forme.

Dans la Figure 3-4, nous représentons le concept général et le domaine d’intérêt de notre travail (déjà indiquée par des pointillés sur la Figure 1-3 du chapitre1). Nous pouvons le considérer comme une présentation synthétique de la plate-forme proposée. Nos options, à ce jour, pour le fonctionnement de cette plate-forme sont :

1. Le cahier des charges et spécifications du système seront interprétées par le concepteur et mis en forme avec l’interface d’utilisateur de notre outil : HiLeS Designer. Cette première représentation désignera les fonctions principales du système, leurs interconnexions et leurs dépendances hiérarchiques. Elle permettra de décrire son comportement général, par des réseaux de Petri associés.

2. Le modèle fonctionnel structurel, notamment la partie réseaux de Petri, sera validé en arrière plan en utilisant l’outil TINA par l’analyse des caractéristiques et propriétés des

réseaux de Petri. Pour ce faire, nous avons profité des modes opératoires de TINA et nous avons développé les interfaces nécessaires.

3. Nous proposons finalement de générer un modèle complet écrit en langage VHDL-AMS. Celui-ci est l’objectif à atteindre, cependant, à l’heure actuelle cette fonctionnalité n’est pas complètement opérationnelle. Ici, notre objectif n’est pas de créer des nouveaux outils de simulation, mais d’écrire nos modèles pour les simuler en utilisant des outils logiciels commerciaux.

Cette plate-forme de conception système à haut niveau devra à terme comporter les constituants suivants :

• Un outil ou mécanisme d’interprétation et de capture des spécifications,

• Un outil de représentation graphique permettant de mettre en forme les spécifications interprétées,

• Un outil de vérification des propriétés du modèle formel utilisé pour décrire le comportement du système,

• Un outil de génération automatique du code du système modélisé,

• Un outil de simulation permettant de vérifier, par exécution, le fonctionnement de la totalité du modèle (prototype virtuel).

En utilisant ces éléments de base, le concepteur pourra générer, à partir du cahier des charges, un premier modèle exécutable de haut niveau pour simuler et vérifier le comportement attendu de son système. Cette étape de conception intervient avant toute réalisation de prototypes physiques et avant même de définir précisément les choix technologiques, et les procèdes de fabrication… Tel que nous l’avons mentionné précédemment, ces modèles de haut niveau s’inscrivent dans une démarche générale de conception dans laquelle on doit faciliter trois actions essentielles visant la qualité du produit final :

La validation : Pour estimer la viabilité d’un système en cours de conception,

la vérification : Pour garantir que le système conçu répond correctement et complètement

aux exigences spécifiées,

la certification : Pour confirmer que le système conçu est conforme à des normes établies

en interne ou en externe et démontrer que les choix conceptuels n’altèrent pas le comportement du système et qu’ils n’introduisent pas des états non attendus de fonctionnement.

Dans notre approche, nous n’abordons pas, pour les résoudre, tous les aspects considérés ci- dessus. Nous limitons notre ambition à un espace de travail (Figure 3-4) permettant de représenter les spécifications des systèmes graphiquement avec le formalisme HiLeS, de vérifier les propriétés du modèle formel ainsi établi sous la forme de réseaux de Petri, et de générer un modèle équivalent écrit en langage VHDL-AMS.