contribution au développement de modèles pour l...

27
THESE – Their Ibrahim Contribution au développement de modèles pour l’électronique de puissance en VHDL-AMS CHAPITRE 1 : Langage VHDL-AMS et modélisation

Upload: duongtuyen

Post on 13-Sep-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Contribution au développement de modèles pour l ...docinsa.insa-lyon.fr/these/2009/ibrahim_t/06_chapitre_1.pdf · Introduction La modélisation et la simulation sont des tâches

THESE – Their Ibrahim Contribution au développement de modèles pour l’électronique de puissance en VHDL-AMS

CHAPITRE 1 : Langage VHDL-AMS et modélisation

Page 2: Contribution au développement de modèles pour l ...docinsa.insa-lyon.fr/these/2009/ibrahim_t/06_chapitre_1.pdf · Introduction La modélisation et la simulation sont des tâches

Chapitre 1. Langage VHDL-AMS et modélisation

1. Langage VHDL-AMS et modélisation

1.1. Introduction

La modélisation et la simulation sont des tâches primordiales sur le chemin de la conception des systèmes de puissance. La simulation, avant d’entamer les démarches de matérialisation et de réalisation technologique, permet de corriger plus facilement les erreurs éventuelles et d’optimiser le coût de développement et d’industrialisation. Par ailleurs, elle permet aussi d’envisager des scénarios non mesurables sur des composants réels sans les détruire. Les progrès faits ces dernières années sur la conception des semi-conducteurs de puissance permettent l’utilisation de l’électronique de puissance pour des équipements de plus en plus puissants, demandant un effort préalable de modélisation plus important. La complexité croissante des circuits et des systèmes de puissance actuels nous pousse à considérer des systèmes hétérogènes, mettant en œuvre à la fois l’électronique numérique, l’électronique analogique, la thermique, l’optique, la mécanique ou encore d’autres disciplines. Ces enjeux pluridisciplinaires et le besoin d’optimiser le processus de conception pour réduire le « time to market » conduisent au développement de nouvelles techniques telles que la modélisation et la validation à haut-niveau, la modélisation fonctionnelle, la réutilisation et la génération de modules de propriété intellectuelle (IP) [Herv02], …etc. Ces approches nouvelles doivent être considérées dès les premières étapes de la conception. Actuellement, le concepteur du système de puissance doit répondre aux contraintes industrielles fortes :

• Modélisation fonctionnelle, exécutables et échangeables pour vérifier, par simulation tout au long du processus de conception, la conformité au cahier des charges, mais aussi pour optimiser les performances du système,

• Il faut aussi assurer la formalisation et la capitalisation des modèles développés

[Deli08]. Avec la capitalisation et la formalisation, nous sommes capables de stocker des modèles dans des bibliothèques de composants généralistes et bien documentés autorisant la réutilisation∗ intensive de ces derniers, afin d’économiser du temps de développement de nouveau système. De nombreux projets ont été mis en place afin d’améliorer la réutilisation des modèles comme la plateforme DIMOCODE [Dimo08],

• Gestion des équipes de conception des systèmes complexes afin de mieux résoudre

les questions de collaboration. Ainsi, afin de garantir un niveau de confiance élevé dans le flot de conception tout en assurant une durée de développement limitée et un coût réduit, nous avons besoin de modéliser et simuler le système de puissance complet dans un environnement de simulation adapté et unique, en prenant en compte leur complexité et leur pluridisciplinarité.

∗ Reprendre le même composant avec les mêmes spécifications.

THESE – Their Ibrahim -4-

Contribution au développement de modèles pour l’électronique de puissance en VHDL-AMS

Page 3: Contribution au développement de modèles pour l ...docinsa.insa-lyon.fr/these/2009/ibrahim_t/06_chapitre_1.pdf · Introduction La modélisation et la simulation sont des tâches

Chapitre 1. Langage VHDL-AMS et modélisation

La modélisation est basée sur des outils graphiques (forcément propriétaires) ou sur des langages propriétaires (Matlab, MAST). Récemment on a vu apparaître des langages du domaine public (Modelica) ou normalisé (VHDL-AMS). Dans un premier temps, nous allons définir l’environnement de la modélisation en électronique de puissance en présentant les langages de modélisation les plus connus. Puis,

ne étude comparative des langages de modélisation mixtes nous permettra d’apprécier que le

thèque sert documenter des modèles de composants de puissance qui sont essentiels en électronique de uissance. Nous ne présenterons qu’une structure simple de bibliothèque. Le développement

uivants.

ment à l’aide de laquelle le simulateur comprend et rocède à des calculs. Un modèle doit être le plus précis possible, c’est le plus important

stiques, ais aussi suivant l’utilisation que l’on souhaite faire de ce modèle au sein du processus de

n modèle peut se codifier dans un langage de modélisation. Au delà, les langages

e puissance imposent utilisation des langages de modélisation capables de traiter simultanément les domaines

isation mixte et multi-domaines.

ous citons les langages, les plus connus, pour la modélisation numérique et pour la

pour but la description formelle d’un

ulangage normalisé VHDL-AMS « IEEE Std 1076.1™-2007 » est le plus adapté pour répondre à nos besoins. Puisqu’il faut assurer la capitalisation et la réutilisation des modèles développés pour augmenter la productivité du travail de conception, nous développerons une bibliothèque de modèles validés expérimentalement. Ce sont des composants-métiers. Cette biblioàpdes modèles de composant de puissance sera présenté dans les chapitres s 1.2. Environnement de la modélisation en électronique de puissance

L’activité de modélisation est à la base de tout processus de conception. Cette tâche consiste essentiellement à développer une description abstraite d’une réalité physique de telle façon qu’elle soit utile pour le processus de conception. Dans le monde de l’électronique de puissance, le modèle d’un système ou d’un composant est une représentation de son comportement et de son fonctionnepcritère de la modélisation. Mais écrire un modèle exact s’entend pour une précision donnée dans le cadre d’une analyse donnée. Le modèle dépend du point de vue selon lequel on observe le système et ses caractérimconception. Le modèle peut être à temps discret ou à temps continu ou tous les deux en même temps, pour un domaine électrique ou non-électrique (plusieurs domaines physiques). Ud’implémentation sont attachés à la nature des fonctions à manipuler = numérique, analogique, mixte, pluridisciplinaire, multi-abstractions, …etc. Les exigences de la technologie et du marché de l’électronique dl’analogiques (pluridisciplinaires) et numériques. Nous devons donc sélectionner un langage le mieux adapté à nos besoins de modél Nmodélisation mixte multi-domaines. 1.2.1. Langages de modélisation numérique

Les langages de modélisation numérique sont les langages de description matérielle de haut niveau communément appelé HDL (Hardware Description Language). Un langage HDL est une instance d’une classe de langage informatique ayant

THESE – Their Ibrahim -5-Contribution au développement de modèles pour l’électronique de puissance en VHDL-AMS

Page 4: Contribution au développement de modèles pour l ...docinsa.insa-lyon.fr/these/2009/ibrahim_t/06_chapitre_1.pdf · Introduction La modélisation et la simulation sont des tâches

Chapitre 1. Langage VHDL-AMS et modélisation

système électronique. Le HDL est alors un langage de description de circuits logiques en électronique, utilisé pour la conception d’ASICs (Application-Specific Integrated Circuits) et de G able Gate Array) [Ries99]. HD p

FP As (Field-ProgrammL eut généralement :

• décrire le fonctionnement du circuit, • décrire sa structure, • assurer la documentation, • preuve formelle, • vérification de netlist (LVS), • et tester le circuit et le vérifier par simulation.

Il existe un grand nombre de HDL, Nous pouvons citer quelques exemples des langages les plus connus comme VHDL et Verilog. 1.2.1.1. Verilog

Le langage Verilog était à l’origine un langage propriétaire (non libre) de description de matériel, développé par la société "Cadence Design Systems", pour être utilisé dans leurs simulateurs logiques. L’Institut d’Electrique et d’Electroniques des Ingénieurs (Institute of Electrical and Electronics Engineers, IEEE) a normalisé le langage Verilog comme un langage de description pour les modèles numériques, cette norme est définie à ce jour par le sta and rd : IEEE Std 1364™-2005 [Std1364]. Verilog combine deux aspects :

• La simulation : il permet de décrire l’enchaînement d’évènements, • Description par combinaison d’éléments (modules, expressions, portes logiques...), ce

qui permet de synthétiser des circuits numériques.

La structure du langage Verilog permet de décrire les entrées et les sorties de modules électroniques, pour définir des portes logiques virtuelles. La combinaison de modules permet

e réaliser des schémas électroniques virtuels complexes qu’il est alors possible de tester dans simulation. La syntaxe de Verilog est réputée largement inspirée du langage

oit terminée. L’une des particularités du VHDL provient u fait qu’il est possible d’exprimer facilement le parallélisme à l’intérieur d’un circuit

HDL est maintenant le langage de description matérielle majoritairement utilisé par les

dun programme dede programmation "C" [Vrlog08]. 1.2.1.2. VHDL

Le VHDL (abréviation de l’expression anglaise : Very High Speed Integrated Circuits (VHSIC) Hardware Description Langage) est un langage moderne, lisible et puissant de description du matériel destiné à décrire le comportement et/ou l’architecture d’un système électronique numérique. L’intérêt d’une telle description réside dans son caractère exécutable : une spécification fonctionnelle décrite en VHDL peut être vérifiée par simulation, avant que la conception détaillée ne sd[Hein00]. La syntaxe du VHDL est originaire du langage ADA, dont les mots clefs ont été adaptés à la conception de matériel. Ventreprises européennes alors que Verilog est souvent préféré dans les entreprises américaines.

THESE – Their Ibrahim -6-Contribution au développement de modèles pour l’électronique de puissance en VHDL-AMS

Page 5: Contribution au développement de modèles pour l ...docinsa.insa-lyon.fr/these/2009/ibrahim_t/06_chapitre_1.pdf · Introduction La modélisation et la simulation sont des tâches

Chapitre 1. Langage VHDL-AMS et modélisation

Ce langage de description a été standardisé la première fois en 1987 par la norme IEEE 1076-1987. Il est l’outil qui a ouvert la voie de la conception et de la synthèse automatique de ircuits logiques. Cette norme a été réactualisée et complétée régulièrement, elle est définie à e jour par la norme IEEE Std 1076c™-2007 [Std1076c] renormalisé en la norme IEEE 1076-

lisation mixte multi-domaines

système. Par ailleurs, la philosophie de conception e ces langages et leurs jeux d’instructions en font des langages intrinsèquement multi-

ces langages de modélisation ont été développés avec succès, comme

mbre 2007 [Std1076.1]. La standardisation de VHDL-AMS st un facteur important pour la conception : la norme permet au concepteur d’accumuler ses

dard, avec en plus, la capacité de écrire les systèmes mixtes (analogiques et numériques) par le biais de modèles multi

HDL-AMS est conçu pour le multi domaine : des terminaux de connexion sont liés à des

fférentielles algébriques et/ou ordinaires (ODE, ADE : Ordinary Differential quation, Algebraic Differential Equations) qui ont le temps comme variable indépendante.

cc2002.

.2.2. Langages de modé1

À l’aide de ces langages de modélisation de haut niveau, les différentes phases de conception peuvent être optimisées. Ces langages permettent de traiter indifféremment des modélisations logiques, analogiques ou mixtes au sein d’un même composant ouddomaines qui gèrent les équations implicites liées au fonctionnement d’un circuit. Mais, ils ont des limitations, explicitées plus loin. Un certain nombre de les langages : VHDL-AMS, Verilog-AMS, MAST, Modelica et Bond Graph. 1.2.2.1. VHDL-AMS

Afin de répondre aux différents besoins de l’électronique, la norme VHDL a dû évoluer. L’IEEE–DASC (IEEE-Design Automation Standards Committee) a créé la norme IEEE 1076.1-1999, étendue pour nom VHDL-AMS (VHDL-Analog & Mixed Signal). Cette nouvelle norme est une extension de la norme IEEE 1076-1992 déjà existante. Cette norme a été réactualisée et complétée, elle est définie actuellement par le standard : IEEE Std 1076.1™-2007, qui a été publié le 15 noveeexpériences, d’utiliser l’expérience d’autres concepteurs et de profiter d’un nombre croissant d’outils qui supportent la norme. VHDL-AMS inclut toutes les propriétés du VHDL standabstractions, multidisciplinaires, hiérarchiques à temps continu et à événements discrets à l’aide d’équations différentielles ordinaires (figure 1.1). Vgrandeurs physiques qui respectent implicitement les lois de Kirchhoff généralisées [Vams08]. Des quantités analogiques libres peuvent prendre n’importe quelle unité physique. VHDL-AMS permet ainsi de modéliser et de simuler le système de puissance complet. Il permet de modéliser tout système dont le comportement peut être décrit par un ensemble d’équations diECes équations peuvent être écrites sous la forme : F(x, dx/dt, t)=0, où x est le vecteur d’inconnues.

THESE – Their Ibrahim -7-Contribution au développement de modèles pour l’électronique de puissance en VHDL-AMS

Page 6: Contribution au développement de modèles pour l ...docinsa.insa-lyon.fr/these/2009/ibrahim_t/06_chapitre_1.pdf · Introduction La modélisation et la simulation sont des tâches

Chapitre 1. Langage VHDL-AMS et modélisation

Ce langage non propriétaire présente l’avantage de proposer un langage commun indépendant des fournisseurs et de la technologie. Du point de vue technique, il permet une haute

odularité facilitant les descriptions hiérarchiques.

ité de faire travailler simultanément un simulateur à événements discrets et un solveur d’équations différentielles.

". Nous

mLes systèmes, qui étaient modélisés sous Matlab, VHDL et Spice peuvent aujourd’hui être modélisés sous VHDL-AMS en utilisant un seul langage, puisqu’il offre la possibil

Le contributeur français incontournable autour de VHDL-AMS est "Yannick Hervérenvoyons le lecteur vers [Herv02] pour une présentation exhaustive du langage.

Figure 1.1 : Couverture de VHDL-AMS. 1.2.2.2. Verilog-AMS

Verilog-AMS est un Langage de Description du Matériel (HDL) permettant d’exprimer de

lus récente est « Verilog-AMS LRM-2.2 » sortie en novembre 2004.

S Extensions).

s (mécaniques, électrique, thermique, …etc.). Il permet de faire des descriptions de systèm , et des ports. Les signaux de dans le même module. Citons quelques simulateurs pouvant supporter Verilog-AMS qui sont disponibles sur le marché :

modèles et de systèmes à temps continu et à temps discret. Verilog-AMS est une extension aux systèmes analogiques et mixtes de Verilog (IEEE 1364) proposé par Accellera (Organisation de standards EDA : Electronic Design Automation) [Acce04]. La version la p La figure 1.2 montre les composants et l’architecture de Verilog-AMS, qui consiste en Verilog IEEE 1364-1995 (noté Verilog-D sur la figure), un équivalent pour décrire les systèmes analogiques (noté Verilog-A) et des extensions Verilog-AMS (noté M Comme VHDL-AMS, Verilog-AMS peut être applicable aux systèmes électriques et non électrique

es, en utilisant des concepts comme des nœuds, des branches type analogique et numérique peuvent être présents

THESE – Their Ibrahim -8-Contribution au développement de modèles pour l’électronique de puissance en VHDL-AMS

Page 7: Contribution au développement de modèles pour l ...docinsa.insa-lyon.fr/these/2009/ibrahim_t/06_chapitre_1.pdf · Introduction La modélisation et la simulation sont des tâches

Chapitre 1. Langage VHDL-AMS et modélisation

ADVance MS : développé par Mentor Graphics [AdMS08], SaberHDL : développé par Synopsys [Shdl03].

• •

Figure 1.2 : L’architecture de Verilog-AMS [VgMS06].

tion nalogique et signaux mixtes. Il offre la possibilité de modéliser des systèmes électriques et

MA T ses autom inconvénients sont :

f à l’outil Saber),

• Sa mauvaise adaptation à la description de systèmes numériques,

rrêter et de lancer la simulation pour regarder les résultats intermédiaires et/où changer certains

écrits en MAST, a créé une nouvelle initiative. Il s’agit ’OpenMAST [Omast08]. Ce langage ne reprend cependant qu’une sous partie de la

T origine.

dié à la modélisation e systèmes physiques, complexes et hétérogènes. Il est donc adapté à la modélisation des

1.2.2.3. MAST

Le langage MAST est propriétaire et a été proposé par la société Analogy (aujourd’hui Synopsys) en 1986 en complément de leur simulateur Saber [Sabe08]. MAST [MAST05] est la première tentative réussie de définition d’un langage de description comportementale réellement orienté systèmes multi-technologiques pour la simulaanon électriques (thermiques, électromécaniques, hydrauliques et des systèmes optiques).

S est encore très utilisé dans l’industrie notamment dans des nombreuses entrepriobiles et aéronautiques, mais ses principaux

• Son absence de normalisation IEEE (le langage MAST est exclusi• Sa syntaxe éloignée de VHDL ou Verilog,

• Sa grammaire non publique et ses fonctions cachées. Tous les modèles de la bibliothèque SABER standard sont codés en langage MAST. Afin d’aider à la convergence, SABER fournit une option qui permet à l’utilisateur d’areparamètres des composants sans quitter l’environnement de simulation [Vlach90]. Suite à des progrès importants de développement de langages de modélisation mixte et suite à la montée en puissance de VHDL-AMS, la société Synopsys, dans l’objectif de faciliter l’accès au code des modèlesdgrammaire du MAS 1.2.2.4. Modelica

Modelica est un langage informatique de modélisation orienté objet, dédsystèmes physiques recouvrant plusieurs champs de discipline [Frit02].

THESE – Their Ibrahim -9-Contribution au développement de modèles pour l’électronique de puissance en VHDL-AMS

Page 8: Contribution au développement de modèles pour l ...docinsa.insa-lyon.fr/these/2009/ibrahim_t/06_chapitre_1.pdf · Introduction La modélisation et la simulation sont des tâches

Chapitre 1. Langage VHDL-AMS et modélisation

Le développement et la promotion de Modelica est organisée par l’association à but non lucratif "Modelica Association", (Linköping, Sweden) [Mode08]. La première version de ses pécifications (version 1.0) a été finalisée en septembre 1997, et la plus récente version est la

çon acausale par les équations ifférentielles, algébriques et discrètes [Marg06]. Avec Modelica l’effort de modélisation est

ages VHDL-AMS et Verilog-AMS (tous

ncurrents et bénéficie des avantages de on orientation objet (héritage des caractéristiques d’un modèle par un autre, typage flexible).

èles entre VHDL-AMS et Modelica est étudié ose07] : en principe, l’échange de modèles entre ces deux langues ne doit pas poser des

Un ce ont disponibles soit en open source soit de manière co

hetée

• Mlab08] : outil commercial développé par Fraunhofer-Gesellschaft, AnyLogic [Anyl08] : outil commercial développé par XJ Technologies,

project [OpMo08] : outil gratuit en développement par Linköping

’outil Bond Graph (Graphe à liens ou Graphe de liaisons) est une représentation graphique

it par H. Paynter en 1961 [Payn61] dans le cadre

les de puissance est désigné par le symbole

sversion 3.0 en Septembre 2007. Le langage, les bibliothèques et certains outils de simulation de Modelica sont libres, prêts à l’emploi et sont issues d’une demande industrielle. Les modèles, Modelica, sont décrits mathématiquement de fadainsi considérablement réduit puisque les composants peuvent être réutilisés et les manipulations manuelles pénibles n’existent plus. [Mlica3.0]. L’usage de Modelica se rapproche de celui des langdeux issus de l’industrie électronique) dans le sens où il décrit un système sous la forme d’un ensemble d’équations. En effet, Modelica est un langage trop ‘informatique’. Il ne supporte pas la modélisation numérique ni le "user-friendly". Le simulateur associé a pour tâche de résoudre le système d’équations à chaque pas temporel. Il a cependant une vocation plus généraliste que ses cosPar contre, son usage reste pour l’instant assez limité en électronique de puissance, domaine de prédilection du VHDL-AMS ou du Verilog-AMS. La possibilité de transformation de mod[Rproblèmes. Mais, une transformation automatique complète de modèles semble uniquement possible dans des conditions particulières.

rtain nombre de simulateurs smmerciale [Zaun07], citons quelques exemples : • Dymola [Dymo7.0] : outil commercial développé par Dynasim, Dymola a été ac

par Dassault System (CATIA), • MathModelica [MaMo07] : outil commercial développé par MathCore,

MOSILAB [•• OpenModelica

University.

1.2.2.5. Bond Graph

Ld’un système dynamique physique qui représente les transferts d’énergie dans le système. Il est basé sur le principe de la conservation de la puissance. Le formalisme Bond Graph a été introdud’analyses de systèmes mécaniques, et formalisé par Karnop et Rossenberg [Karn90], il est entré en Europe vers les années 1970. L’application des graphes de liens à l’électronique de puissance date du début des années 1990. En Bond Graph, les liens (appelés liens de puissance) représentent la puissance ou le flux d’énergie échangé entre les deux ports connectés [Boua06]. Cette puissance s’exprime comme le produit de deux variables généralisées d’effort et de flux notées respectivement par « e » et « f ». Ce lien (Bond) qui porte les deux variab

THESE – Their Ibrahim -10-Contribution au développement de modèles pour l’électronique de puissance en VHDL-AMS

Page 9: Contribution au développement de modèles pour l ...docinsa.insa-lyon.fr/these/2009/ibrahim_t/06_chapitre_1.pdf · Introduction La modélisation et la simulation sont des tâches

Chapitre 1. Langage VHDL-AMS et modélisation

d’une demi-flèche dirigé dans le sens de l’écoulement de l’énergie (figure 1.3). Par

tantanée : P = e × f.

peu répandus. Plus souvent des ingénieurs tilisent les graphes de liens pour analyser et modéliser un système. Puis ils utilisent un

simu

convention, le flux est toujours représenté du côté de la demi-flèche. Le produit de f par e exprime une puissance ins Dans un graphe de liens, la notion de causalité exprime clairement les variables d’entrée et de sortie, la cause et l’effet. Le graphe de liens est un langage de représentation dont le but est de guider l’ingénieur dans l’analyse de son système et sa modélisation. L’ingénieur pourra alors écrire un jeu d’équations qu’il traduira dans un simulateur. Il existe des simulateurs de graphes de liens tel que : (20-SIM, CAMPG et PACTE), mais ils sontu

lateur généraliste (MATLAB, SIMPLORER, MathCAD, ...etc.) dans lequel les équations différentielles du système sont traduites [Alla05].

A Bfe

Type d’énergie utilisé

THESE – Their Ibrahim -11-

Port

Lien physiqueCausalité

Direction du flux de puissance

Figure 1.3 : Informations fournies par une représentation Bond Graph.

La causalité et l’analyse de causalité représentent néanmoins un avantage par rapport aux HDLs. En effet, un système réputé causal répond à une équation différentielle ordinaire. Une

une sorte de défaut dans sa escription énergétique. L’analyse de causalité aidera l’ingénieur à localiser ce défaut et vèlera sa nature, clarifiant la conduite à tenir dans la modélisation : corriger si on sait quoi

ats de simulation.

sation

mixtes pluridisciplinaires et ulti abstractions. Le tableau 1.1 rassemble les aspects les plus importants de caractéristiques

de ces langages et indique comment chaque langage, actuellement

modélisation classique du même système (surtout si elle est héritée d’une approche Spice) produira des équations différentielles et algébriques, moins sympathiques du côté noyau numérique/solveur, et qui peut cacher un défaut de connaissance du système. Un système dont le Bond Graph se révèle acausal comportedréfaire, ou analyser scrupuleusement les résult 1.3. Le choix du langage de modéli

1.3.1. Comparaison des langages

Les langages Verilog-AMS, MAST, Modelica, Bond Graph et VHDL-AMS répondent aux principales exigences nécessaires de la modélisation des systèmesm

, supporte ces aspects [Clau02], [Rose07], [Pech05a], [Chau94], [Pech05b] et [Alla05].

Contribution au développement de modèles pour l’électronique de puissance en VHDL-AMS

Page 10: Contribution au développement de modèles pour l ...docinsa.insa-lyon.fr/these/2009/ibrahim_t/06_chapitre_1.pdf · Introduction La modélisation et la simulation sont des tâches

Chapitre 1. Langage VHDL-AMS et modélisation

Tableau 1.1 : Comparaison des langages Verilog-AMS, MAST, Modelica, Bond Graph et VHDL-AMS.

Aspect VHDL-AMS Verilog-AMS Mast Modelica Bond Graph

Définition

Norme IEEE 1076.1-2007 Extension du VHDL (IEEE 1076)

Accelera standard Version 2.2 (November 2004) Extension du Verilog (IEEE 1364)

Langage Propriétaire lié à l’outil SABER

Modelica Specification 3.0 (Septembre 2007) “Modelica Association “

Est une représentation graphique d'un système dynamique physique

Norme IEEE (1076.1-2007) Non Non Non Non

Origine

Origine Ada Première normalisation d’IEEE sortie en décembre 1999.

Sémantique proche du Langage C Première version était (Verilog-A LRM) sortie en juin 1996.

Langage proposé par la société Analogy (aujourd’hui Synopsys) en 1986.

Langage orienté objet proche du Java et C++ Le début était en 1996 dans le cadre d’ESPRIT project(1)

Le formalisme bond graph a été introduit par H.Paynter en 1961 dans le cadre d’analyses de systèmes mécaniques.

Modularité

Vue externe (entity), vue interne (Architecture), package, configuration Un ou plus d’Architecture correspondant à une entité

Module avec vues internes et interfaces externes Mono- Architecture

Un seul fichier avec sections (header, paramètre, value, équation, control section) Mono- Architecture

Model (définition des variables et paramètres) Equation (définition des équations et/ou connexions) Modèles différents pour des niveaux différents d’abstraction

Représentation graphique de type réseau où les connexions entre les composants sont explicites.

THESE – Their Ibrahim Contribution au développement de modèles pour l’électronique de puissance en VHDL-AMS

-12-

Page 11: Contribution au développement de modèles pour l ...docinsa.insa-lyon.fr/these/2009/ibrahim_t/06_chapitre_1.pdf · Introduction La modélisation et la simulation sont des tâches

Chapitre 1. Langage VHDL-AMS et modélisation

Aspect VHDL-AMS Verilog-AMS Mast Modelica Bond Graph

Interface du modèle entity module template model

block Liens énergétique

Paramètre du Modèle

Paramètres Génériques Instruction « generate »

Paramètres Génériques

Instruction « generate »

Paramètres Génériques Paramètres -

Multi-Disciplines Oui Oui Oui Oui Oui

Gestion de Bibliothèques Oui Non Non Oui Oui

Modélisation Temps-continu

Conservatif (networks) Non-conservatif (flot de signal)

Conservatif (networks) Non-conservatif (flot de signal)

Conservatif (networks) Non-conservatif (flot de signal)

Modélisation physique Modélisation Orienté-bloc

Conservatif (flot de signal)

Modélisation Temps-discret

Event-driven

Event-driven

Event-driven

Event-driven Non event queue Compliquée

Signaux mixtes (Comportemental)

forme d’onde analogique : quantity forme d’onde numérique : signal

Accès aux nœuds et variables discrets dans un contexte continu Accès aux nœuds et variables continus dans un contexte discret

Variables continues accessibles dans when section (mais certaines limitations d_by_dt non autorisé) Signaux accessibles dans value section

forme d’onde analogique : variable dynamique forme d’onde numérique : discrete

-

THESE – Their Ibrahim Contribution au développement de modèles pour l’électronique de puissance en VHDL-AMS

-13-

Page 12: Contribution au développement de modèles pour l ...docinsa.insa-lyon.fr/these/2009/ibrahim_t/06_chapitre_1.pdf · Introduction La modélisation et la simulation sont des tâches

Chapitre 1. Langage VHDL-AMS et modélisation

Aspect VHDL-AMS Verilog-AMS Mast Modelica Bond Graph

Signaux mixtes (Logique/Analogique)

Interface L/A (‘ramp, ‘slew, instruction break on) Interface A/L (‘above)

Filtre d’interface L/A et A/L et détecteur d’évènement. Insertion automatique de module de connexion

Interface L/A (schedule_next_time function) Interface A/L (Threshold function)

Interface L/A (smooth ( ))

-

Structure

Instanciation de composants de manière hiérarchique

Instanciation de composants de manière hiérarchique

Instanciation de composants de manière hiérarchique

Instanciation de composants de manière hiérarchique

Instanciation de composants de manière énergétique

Gestion des discontinuités

Les discontinuités doivent explicitement être annoncées dans le modèle Réinitialisation par l’utilisateur dans le code après une discontinuité supportée (instruction break)

Les discontinuités doivent explicitement annoncées dans le modèle L’ordre de la discontinuité peut être spécifié

Control Section Instructions agissant directement sur le simulateur Saber

Condition initial : initial equation fixed start values Réinitialiser les valeurs après discontinuités (instruction reinit();)

Switched Bond Graph (réseau de Petri)

Objets

Terminal, Quantity, Signal, Variable, Constant

Variable, wire, register

var, ref, val, state, branch number, struc thermal_c electrical

Model, Block, Connector, Function, Type, Package, Record

Eléments passifs (R, C et I), Eléments actifs (Se et Sf), Jonctions (1, 0) Transformateur TF et gyrateur GY.

THESE – Their Ibrahim Contribution au développement de modèles pour l’électronique de puissance en VHDL-AMS

-14-

Page 13: Contribution au développement de modèles pour l ...docinsa.insa-lyon.fr/these/2009/ibrahim_t/06_chapitre_1.pdf · Introduction La modélisation et la simulation sont des tâches

Chapitre 1. Langage VHDL-AMS et modélisation

Aspect VHDL-AMS Verilog-AMS Mast Modelica Bond Graph

Équations Algébriques et Différentielles

(DAE)

Formes explicites et formes implicites des équations Ordre n

Formes explicites et support limité des formes implicites Ordre 1

Formes explicites et support limité des formes implicites Ordre 1

Formes explicites et formes implicites des équations Ordre 1

systèmes d’équations différentielles ordinaires dans le cas d’un système causal.

Blocs Fonctionnels

Transformation de Laplace et Transformation de Z

Transformation de Laplace et Transformation de Z

Fonction MAST : transfer_function Fonctions C externes

Modelica blocs : transfer_function Code externe (C ou Fortran)

-

Point de connexion

Port (terminal, quantity, signal)

Port d’un module associé à une discipline avec une seule nature (signal-flow discipline)

Port (input et output)

Spécifier par les classes de connector

Port de sortie et d’entrée du composant

Caractérisation de point de Connexion

Nature de terminals Quantités de Branche : across (non-flow), through (flow)

Fonction d’accès et objets de branche

Connection point ( pin-type, ref, var, state) (variables : across, through )

Connector (flow, non-flow)

Flux (f) Effort (e)

Comportement analogique

Equation orientée ; instructions simultanées (pour instance expr1== expr2)

Formulation orientée circuit avec source et sonde de mesure

Section Value Section Equation

Equation orientée ; Equations (pour instance expr1=expr2)

-

Comportement numérique

Instructions concurrentes (pour instance process)

Instructions continues dans un bloc analogique (un par module)

Séquentielles (sections Value, When) Simultanées (section équation)

Équations conditionnelles (when-équations) -

THESE – Their Ibrahim Contribution au développement de modèles pour l’électronique de puissance en VHDL-AMS

-15-

Page 14: Contribution au développement de modèles pour l ...docinsa.insa-lyon.fr/these/2009/ibrahim_t/06_chapitre_1.pdf · Introduction La modélisation et la simulation sont des tâches

Chapitre 1. Langage VHDL-AMS et modélisation

Aspect VHDL-AMS Verilog-AMS Mast Modelica Bond Graph

Critère de solvabilité

Critère de solvabilité, nécessaire mais non suffisant, vérifié lors de la compilation des unités de conception

Non Non Non Causalité

Lié à un seul outil

Non Non Oui Non

Non « peu répandu »

Modes de simulation

Time domain (TR, DC) Small-signal (AC) Frequency et noise analysis

Analysis DC analysis AC stimulus noise

DC steady state Time domain simulation Frequency domain simulation (AC, noise, distortion)

Time domain analysis (TR, DC)

DC, TR

Exemple d’outil

Ansoft, Simplorer07 ADVance MS Saber v-2004.03 Dymola PACTE

(1) “Simulation in Europe Basic Research Working Group (SiE-WG)”.

THESE – Their Ibrahim Contribution au développement de modèles pour l’électronique de puissance en VHDL-AMS

-16-

Page 15: Contribution au développement de modèles pour l ...docinsa.insa-lyon.fr/these/2009/ibrahim_t/06_chapitre_1.pdf · Introduction La modélisation et la simulation sont des tâches

Chapitre 1. Langage VHDL-AMS et modélisation

1.3.2. Pourquoi le choix de VHDL-AMS ?

L’étude des caractéristiques principales pour les différents langages de modélisation précédents (tableau 1.1), nous a permis d’apprécier que le langage VHDL-AMS est le plus adapté pour répondre à nos attentes et à nos besoins. Il est d’une très bonne lisibilité, il permet une haute modularité avec un typage fort (chaque objet doit être défini par un type) et supporte la généricité (le fait de pouvoir exprimer un modèle avec des paramètres qui ne seront connus qu’au moment de l’utilisation effective). Les ressources sont nombreuses dans une communauté large et active [Svip08]. Le standard VHDL-AMS permet de travailler en multi-équipes / multi-sites évitant l’obstacle à la communication entre domaines scientifiques, ainsi la norme autorise l’échange entre collaborateurs ou différents groupes d’ingénierie dans le cadre d’une bibliothèque IP (Intellectual Property). Le fait que VHDL-AMS est un langage non propriétaire donne l’avantage d’un langage commun indépendant des fournisseurs et de la technologie [Herv06]. VHDL-AMS propose des mécanismes permettant de gérer les différentes abstractions :

• Les abstractions comportementales (modélisation de la fonction du système), • Les abstractions structurelles (le système est divisé en sous-systèmes qui peuvent eux-

mêmes être modélisés au moyen de différentes abstractions), • Les abstractions « signal-flow » (sous forme de boites noires).

Le grand atout de ce langage est de permettre de modéliser et de simuler dans un environnement unique les différents éléments d’un système de puissance (simulation mixte multi-domaines), optimisant ainsi son étude et sa mise au point [Wils04]. Cette souplesse d’emploi permet aux concepteurs (électricien, mécanicien, …) de modéliser les parties d’un dispositif qui les concerne directement sans problèmes de dialogue avec les autres parties.

Un autre atout de VHDL-AMS est sa transparence : le concepteur possède la flexibilité de modéliser ses propres systèmes comportementaux ou structurels, et l’utilisateur possède la liberté de modifier les modèles pour les adapter à ses besoins. Ainsi, tous les modèles déjà créés sont archivables dans une bibliothèque pour être modifiés ou réutilisés plus tard. L’avantage majeur en matière de productivité est lorsqu’une bibliothèque comporte beaucoup de composants simples, prêts à être intégrés à des systèmes plus complexes. VHDL-AMS permet d’associer des modèles de haut niveau et des modèles de bas niveau dans le même modèle global ayant une approche structurelle. Ainsi, on peut détailler certaines parties plus finement, alors que d’autres parties sont modélisées de manière plus abstraite, requérant ainsi un temps de calcul inférieur de simulation.

VHDL-AMS supporte les systèmes conservatifs (loi de Kirchoff pour les circuits électriques) pour modéliser les systèmes physiques qui sont représenté par les quantités (Quantity) et non-conservatifs pour modéliser le flot de données d’un système qui est représenté par les signaux (Signal). Les deux types forment le système mixte [Frev05].

Modélisation hiérarchique : la conception de systèmes selon les méthodes descendantes (top-down) et montantes (bottom-up) peut être menée avantageusement avec VHDL-AMS en considérant sa capacité de modéliser à différente niveaux d’abstraction.

THESE – Their Ibrahim Contribution au développement de modèles pour l’électronique de puissance en VHDL-AMS

-17-

Page 16: Contribution au développement de modèles pour l ...docinsa.insa-lyon.fr/these/2009/ibrahim_t/06_chapitre_1.pdf · Introduction La modélisation et la simulation sont des tâches

Chapitre 1. Langage VHDL-AMS et modélisation

Deux autres caractéristiques de VHDL-AMS sont le traitement des équations implicites (équations différentielles non-linéaires), et à travers celles-ci, l’utilisation des lois de Kirchhoff généralisées (égalité des efforts, somme des flux égale à zéro), fondement des relations implicites entre les différents nœuds d’un système [Vip06]. VHDL-AMS constitue un langage pratique pour traduire les conclusions d’un graphe de liens, qui définit justement ces deux variables de flux et d’effort liées aux différents domaines physiques. Nous avons utilisé cette technique de conception pour simuler les modèles moyens des convertisseurs statiques continu-continu [Ibra04]. 1.4. Éléments essentiels autour du langage VHDL-AMS

Les éléments essentiels du langage VHDL-AMS sont présentés en annexe (1.1) : structure d’un modèle (entité et architecture), classes d’objets (terminaux, natures et quantités), sémantique de connexion, les instructions (séquentielles, concurrentes et simultanées), types d’analyses, simulation mixte, et critère de solvabilité. 1.4.1. Expressions de conditions initiales

Le mécanisme général d’initialisation d’une simulation en VHDL-AMS est que les objets prennent la valeur la plus à « gauche » de leur type. Une exception est faite pour les quantités qui sont initialisées à valeur initiale implicite « 0.0 », sauf en cas d’initialisation explicite. La résolution numérique d’un ensemble d’équations différentielles est un exercice difficile qui peut ne pas converger vers une solution. On doit alors définir les conditions initiales des équations au début du cycle de simulation pour que le simulateur puisse mener le calcul du point de fonctionnement. Comme on peut modifier les équations à utiliser en cours de simulation en gérant des discontinuités, la résolution n’est possible que si de nouvelles conditions initiales sont définies à chaque discontinuité. Donc, il faut pouvoir initialiser les quantités pour redémarrer un intervalle de calcul. L’instruction « BREAK » permet de résoudre ces problèmes cruciaux d’initialisation, sa forme générale est la suivante (code 1.1). Code 1.1 : Instruction BREAK BREAK [[FOR Q_name USE] Q_name => expression][ON S][WHEN condition]; L’initialisation au début du cycle de simulation pour le calcul du point de fonctionnement est effectuée par une instruction BREAK de forme simplifiée tel que : Code 1.2 : Instruction BREAK (forme simplifiée)

BREAK v => 0.0, s => 5.0; Cette instruction initialise (v) à 0.0 et (s) à 5.0 au temps = 0 seconde. Cette forme simplifiée BREAK sans liste de sensibilité est activée une seule fois, au t = 0s, et suspendue jusqu’à la fin de la simulation. L’instruction BREAK est utilisée aussi pour exprimer la discontinuité dans une simulation à temps continu et couramment utilisée comme moyen de communication (ou synchronisation) entre la simulation à temps continu et discret.

THESE – Their Ibrahim Contribution au développement de modèles pour l’électronique de puissance en VHDL-AMS

-18-

Page 17: Contribution au développement de modèles pour l ...docinsa.insa-lyon.fr/these/2009/ibrahim_t/06_chapitre_1.pdf · Introduction La modélisation et la simulation sont des tâches

Chapitre 1. Langage VHDL-AMS et modélisation

La déclaration BREAK inclut une possibilité pour la spécification des nouvelles conditions initialisées pour les quantités spécifiques, qui seront appliquées juste après la discontinuité. Le code 1.3 [DAC99] montre un exemple modélisant une balle bondissante soumise à la friction de l’air et à la gravité, illustre différente utilisations du BREAK. Les graphes représentent la vitesse (v) et le déplacement (s) en fonction du temps par simulation de ce code sont en annexe (1.2). Code 1.3 : Modèle de balle bondissante.

ENTITY ball IS END; ARCHITECTURE ideal OF ball IS QUANTITY v : real; --Vitesse QUANTITY s : real; --Déplacement CONSTANT G : real:= 9.31; CONSTANT fric : real := 0.1; BEGIN --Conditions initiales BREAK v => 0.0, s => 5.0; --Changement de signe de la vitesse au contact avec le sol --choc élastique BREAK v => -v WHEN NOT s'above(0.0); s'dot == v; IF v > 0.0 USE V'dot == -G - v**2 * fric; ELSE V'dot == -G + v**2 * fric; END USE; END ARCHITECTURE ideal;

Le code source (1.3) est constitué de deux BREAK [Herv05a] :

- Le premier BREAK est la forme simple exécutée seulement à t = 0s. C’est une initialisation de la valeur des quantités pour commencer la simulation.

- Le deuxième BREAK indique au simulateur que la quantité (v) doit prendre la valeur de (-v) au moment le plus exact (possible) où (s) croise la valeur 0.0. Ceci permet de réinitialiser les valeurs initiales des équations différentielles à chaque discontinuité sur (v).

L’utilisation de l’attribut Q’above(E) permet de fabriquer un signal booléen au moment ‘exact’ ou Q croise l’expression dynamique E. et un ASP∗ est effectivement calculé à ce moment là. Dans ce cas, l’utilisation d’une comparaison de type (s = 0.0) ou (s < 0.0) ne produirait pas une simulation correcte puisque le premier cas est irréalisable et le deuxième ne permet pas de savoir si l’ASP intervient au bon moment.

∗ (Analog Solution Point)

THESE – Their Ibrahim Contribution au développement de modèles pour l’électronique de puissance en VHDL-AMS

-19-

Page 18: Contribution au développement de modèles pour l ...docinsa.insa-lyon.fr/these/2009/ibrahim_t/06_chapitre_1.pdf · Introduction La modélisation et la simulation sont des tâches

Chapitre 1. Langage VHDL-AMS et modélisation

• Pour déterminer le point de fonctionnement DC, on utilise le signal DOMAIN (code 1.4). Code 1.4 : Déclaration de (QUIESCENT_DOMAIN).

IF (domain = quiescent_domain) USE --DC analysis

V == 0.0; ELSE --TR analysis

I == C * V'dot; END USE; --End Domain

En effet, il faut faire attention à la différence entre le mécanisme d’initialisation au sens du système (par l’instruction BREAK, ou l’utilisation du signal DOMAIN). Dans le premier cas, le concepteur donne des valeurs de départ pour commencer l’analyse DC préliminaire à l’analyse transitoire ou fréquentielle alors que dans le deuxième cas le concepteur impose la valeur de l’analyse DC. Notre travail de modélisation des composants de puissance nous a permis de vérifier l’importance de l’initialisation des quantités libres au moment de la déclaration. Nous avons utilisé le signal DOMAIN pour contrôler l’initialisation de la simulation. Tout d’abord le signal DOMAIN exécute la simulation pour calculer le modèle statique qui aide l’initialisation, puis il exécute la simulation pour calculer le modèle dynamique. Attention : le modèle peut être correct mais donne des résultats incorrects ou ne simule pas, ceci peut venir des paramètres de modèles ou à cause des paramètres de contrôle de la simulation. 1.4.2. Limitation et inconvénients

Quelle que soit la puissance d’expression et la souplesse d’utilisation de VHDL-AMS, ce langage possède des limitations. En effet, le plus grande avantage de VHDL-AMS est que l’écriture d’une équation physique complexe ou équation différentielle non linéaire peut être réalisée facilement par une instruction simultanée, puis la résolution est assurée par les noyaux d’intégration. Mais c’est aussi un inconvénient du langage puisque la difficulté des équations est transparente pour le programmateur : c’est très difficile de trouver des bogues si la description bloque le simulateur. Les modèles écrits en VHDL-AMS ne peuvent pas être exprimés avec des équations différentielles partielles d./dx avec x différent de t. Seules les dérivations temporelles sont acceptées par VHDL-AMS, ce qui rend délicat les modélisations géométriques ou à constantes reparties. Mais nous avons trouvé dans la littérature des moyens pour résoudre ce problème qui est de plus en plus proches des systèmes de puissance notamment à cause de l’équation de la chaleur :

• La référence [Niki07] décrit deux approches de modélisation des systèmes mixtes composés des circuits électriques reliés à des sous-systèmes décrits par des équations aux dérivées partielles.

• Dans la référence [Cast07], les auteurs ont utilisés une méthode de discrétisation pour transférer l’équation de la chaleur (PDE, équations aux dérivées partielles) vers des équations différentielles algébriques (EDA) qui sont supportées par VHDL-AMS. Il

THESE – Their Ibrahim Contribution au développement de modèles pour l’électronique de puissance en VHDL-AMS

-20-

Page 19: Contribution au développement de modèles pour l ...docinsa.insa-lyon.fr/these/2009/ibrahim_t/06_chapitre_1.pdf · Introduction La modélisation et la simulation sont des tâches

Chapitre 1. Langage VHDL-AMS et modélisation

s’agit d’un maillage manuel. Le maillage automatique n’est possible que dans le cas d’un système homogène sans trou.

• La référence [Wang07] propose une extension de VHDL-AMS permet de manipuler les équations différentielles partielles « VHDL-AMSP ».

1.5. Les outils de simulation

1.5.1. L’environnement de la simulation

Un simulateur VHDL-AMS doit disposer d’un compilateur permettant de traduire les modèles écrits en VHDL-AMS selon la norme IEEE-1076.1 en mode compréhensible par le simulateur. La figure 1.4 représente l’environnement de la simulation VHDL-AMS, montrant les étapes du processus de simulation :

• Description du système : écriture du code du modèle, • Compilation : analyses syntaxique et sémantique. Il permet la détection d’erreurs

locales, qui ne concernent que l’unité compilée, • Stockage dans la bibliothèque de travail, • Elaboration : détection d’erreurs globales, qui concernent l’ensemble de l’unité de

conception, • Simulation : calcule le comportement du système, • Résultat : tracé des chronogrammes.

Figure 1.4 : L’environnement de la simulation de VHDL-AMS.

1.5.2. Les simulateurs VHDL-AMS

Comme énoncé précédemment, notre choix de langage s’est porté sur VHDL-AMS, en partie à cause de la diversité des simulateurs disponibles pour ce langage. En effet, l’offre logicielle dans ce domaine est très variée. Mais il est à remarquer qu’aujourd’hui, aucun des outils présents sur le marché n’implémente totalement l’ensemble de la norme VHDL-AMS. Il existe plusieurs simulateurs pouvant manipuler des modèles écrits en VHDL-AMS, citons les simulateurs les plus importants actuellement :

THESE – Their Ibrahim Contribution au développement de modèles pour l’électronique de puissance en VHDL-AMS

-21-

Page 20: Contribution au développement de modèles pour l ...docinsa.insa-lyon.fr/these/2009/ibrahim_t/06_chapitre_1.pdf · Introduction La modélisation et la simulation sont des tâches

Chapitre 1. Langage VHDL-AMS et modélisation

• ADVance-MS

ADVance-MS [AdMS08] est un outil de Mentor Graphics pour la simulation VHDL, Verilog, VHDL-AMS, Verilog-AMS, SPICE et C. Il fonctionne sur plates-formes UNIX (y compris Linux). Il utilise quatre moteurs de simulation, Eldo pour la simulation analogique, ModelSim pour la simulation numérique, Mach pour le simulateur niveau transistor et Eldo-RF pour les besoins particuliers (radio-fréquence). Nous avons utilisé cet outil de simulation [Ibra04]. Cet outil est très adapté à la simulation de circuits intégrés, mais il n’implémente pas l’ensemble du langage VHDL-AMS, par exemple il manque l’instruction importante BREAK pour l’initialisation.

• SystemVision

SystemVision [SyVi08] est un outil de Mentor Graphics. Un effort particulier a été fourni pour le portage de SystemVision sous Windows, alors qu’ADVance-MS n’était utilisable que sous Unix. Cet outil non plus n’implémente pas l’ensemble du langage VHDL-AMS. SystemVision possède une interface graphique avec quelques lacunes : un manque de convivialité et l’absence des fonctions graphiques communément attendues.

• SMASH 5.12

Cet outil est développé par Dolphin Integration [Smsh5], il offre a priori le meilleur support de VHDL-AMS et une polyvalence très importante quant aux différents langages qu’il supporte (SPICE, Verilog HDL, Verilog-A, C/SystemC, ABCD). Il fonctionne sur plates-formes UNIX et PC (Sun Solaris 7 - Linux RHL 7 to RHEL3 - Windows XP/vista). SMASH présente une forte capacité de simulation en multi-domaines et signaux mixtes. Il n’a pas été utilisé pour des problèmes de coût.

• SaberHDL

SaberHDL [Shdl03], Synopsys, propose l’option d’un simulateur intégré pour la simulation mixte multi-technologie. Cet outil est capable de supporter les langages VHDL-AMS, MAST, HSPICE et Verilog AMS. SaberHDL n’implémente pas l’ensemble de la norme VHDL-AMS : il ne gère pas les instructions BREAK, Procédural et Quantités Vectorielles.

• Simplorer 7.0

Simplorer [Simp07], Ansoft, fonctionne sous Windows. Cet outil représente la dernière génération de simulateur. Son environnement de simulation est basé, pour sa partie VHDL-AMS, sur le noyau de simulation hAMSter (un premier outil gratuit développé par SIMEC disponible jusqu’à maintenant sur Internet [hAms08]). Simplorer permet d’allier une représentation graphique conviviale et intuitive, qui facilite la mise en œuvre de systèmes complexes en permettant de relier graphiquement des blocs eux-mêmes décrits en VHDL-AMS. Simplorer07 supporte une très grande partie des packages d’IEEE 1076.1 (il ne gère pas l’instruction de quantités vectorielles). Simplorer offre la possibilité de faire cohabiter des composants VHDL-AMS avec plusieurs autres langages ou logiciels au sein d’une même feuille de schéma [Help04] :

THESE – Their Ibrahim Contribution au développement de modèles pour l’électronique de puissance en VHDL-AMS

-22-

Page 21: Contribution au développement de modèles pour l ...docinsa.insa-lyon.fr/these/2009/ibrahim_t/06_chapitre_1.pdf · Introduction La modélisation et la simulation sont des tâches

Chapitre 1. Langage VHDL-AMS et modélisation

- C/C++ : ce langage constitue un bon complément de VHDL-AMS permettant, par exemple, de s’intéresser à des modèles géométriques. Simplorer a directement accès aux modules C/C++.

- Mathcad : c’est un outil de calcul mathématique puissant et largement répandu. Il peut sembler intéressant de disposer de la possibilité de communication avec ce logiciel et Simplorer, mais le modèle associé est formellement faux.

- Autres logiciels d’Ansoft (Maxwell, …etc.) : Simplorer inclut également la compatibilité avec d’autres outils de simulation de l’éditeur Ansoft, comme Maxwell qui permet de modéliser des comportements avec une méthode de type éléments finis et de les intégrer dans un modèle système. Mais il y a une limitation de la co-simulation entre VHDL-AMS et un outil FEM (problème de la synchronisation des noyaux).

Bien qu’en retrait en terme de capacités par rapport à Smash (le site [Svip08] présente des résultats de simulation et notamment la cellule d’un échanger magnéto-calorique pulsé. Smash est venu à bout des 22500 équations différentielles algébriques alors que Simplorer a été bloqué avec seulement 400 EDA), l’accès facile à ce logiciel en a conclu le choix pour cette étude. Annexe 1.3 comporte un tableau qui compare les différents simulateurs précédemment présentés qui peuvent manipuler des modèles écrits dans le langage VHDL-AMS. Attention : en théorie, les modèles peuvent fonctionner sur tous les simulateurs. Mais des résultats identiques d’un simulateur à l’autre ne sont pas garantis. Parfois, le fait de changer des paramètres du circuit de test conduit à faire diverger le simulateur (faute du simulateur). Par exemple, la simulation de cellule de commutation (MOSFET, Diode) avec l’effet de câblage dans Simplorer (chapitre 2). 1.6. Développement d’une bibliothèque VHDL-AMS

1.6.1. Les règles de développement de modèles

Avant de commencer à mettre en place notre bibliothèque en VHDL-AMS pour la modélisation et la simulation de l’électronique de puissance, nous présentons ici quelques règles à suivre pour garantir l’exécution correcte des modèles :

• Le concepteur doit respecter certainement le critère de solvabilité (annexe 1.1.7).

• Il faut absolument traiter les quantités discontinues et leurs dérivées avec précaution. On traite les discontinuités avec les modèles par morceaux : la norme offre l’instruction BREAK qui permet de réinitialiser les différentes quantités et de relancer le noyau analogique du simulateur en produisant un nouveau point de simulation. Une discontinuité qui n’est pas pilotée par un BREAK devrait, d’après la norme, produire une erreur mais les simulateurs ne la signalent pas forcément.

• Les conditions initiales jouent un rôle très important pour résoudre les systèmes des

équations en temps continu. La bonne définition des conditions initiales mène le calcul du point de fonctionnement, et aide ainsi le simulateur à démarrer.

THESE – Their Ibrahim Contribution au développement de modèles pour l’électronique de puissance en VHDL-AMS

-23-

Page 22: Contribution au développement de modèles pour l ...docinsa.insa-lyon.fr/these/2009/ibrahim_t/06_chapitre_1.pdf · Introduction La modélisation et la simulation sont des tâches

Chapitre 1. Langage VHDL-AMS et modélisation

• La description de comportement des dispositifs de semiconducteur peut être cause de « division par zéro ». Cette situation doit être évitée pour assurer de bonnes conditions de convergence.

• Bien souvent, il est préférable d’utiliser la dérivation « ‘dot », car l’intégration

« ‘Integ » est beaucoup plus sensible aux conditions initiales, qui doivent être spécifiées de façon très explicite.

• Dans la phase d’écriture d’un modèle, il faut faire attention aux points suivants :

o Le langage ne fait pas la différence entre les minuscules et les majuscules (no

case sensitive),

o Il est possible de poser des traits bas (par exemple : Diode_PiN) pour faciliter la lecture des identificateurs. Les traits bas doubles, les traits bas au début ou à la fin sont interdits,

o Le code doit être lisible, il doit être concis et doit utiliser les plus simples

constructions, l’utilisation de code plus que nécessaire conduit à la vitesse inférieure de simulation et amoindrit la lisibilité.

• L’objectif des commentaires est de permettre au modèle d’être compris par un autre

concepteur qui ne participe pas au développement du code. Le commentaire est de type ligne, il commence par « -- » et se termine avec la fin de la ligne. Il n’existe pas de commentaire bloc en VHDL-AMS.

• Dans la phase de simulation, il faut faire attention aux points suivants :

o Les paramètres du modèle jouent un rôle très important. Bien sûr, de mauvaises

valeurs des paramètres conduisent à des résultats de simulation incorrects, même si le modèle est parfaitement correct,

o Un simulateur analogique est un programme complexe piloté par des paramètres

nombreux et variés qu’il faut maîtriser. Il faut bien choisir ses limites de simulation (Hmin et Hmax), son algorithme d’intégration numérique, la précision de résolution (tolérance)∗ pour assurer la convergence, son mode d’analyse, … etc.

1.6.2. L’objectif

Avec des délais de conception de plus en plus courts et l’augmentation de la complexité des systèmes de puissance à modéliser, il est essentiel d’organiser au maximum les méthodes de travail. Dans le flot de conception, il est important d’utiliser le concept de réutilisation notamment au niveau des modèles déjà créés qui pourront être retrouvés et réutilisés facilement dans un ∗ En VHDL-AMS on peut spécifier des tolérances pour les quantités, les sous-types, les sous-natures et les équations. Ces tolérances seront spécifiées par l’intermédiaire de chaînes de caractères. Leur traitement est laissé à l’initiative de l’outil de simulation, la norme n’imposant rien dans ce sens.

THESE – Their Ibrahim Contribution au développement de modèles pour l’électronique de puissance en VHDL-AMS

-24-

Page 23: Contribution au développement de modèles pour l ...docinsa.insa-lyon.fr/these/2009/ibrahim_t/06_chapitre_1.pdf · Introduction La modélisation et la simulation sont des tâches

Chapitre 1. Langage VHDL-AMS et modélisation

autre projet et contexte. Donc, la sauvegarde de modèles validés surtout sous la forme de bibliothèque de modèles, est une affaire majeure dans le monde de conception des systèmes de puissance. Un des intérêts du VHDL-AMS est de construire une bibliothèque de modèles génériques réutilisables afin d’augmenter la productivité de conception. A la suite de sa normalisation en 1999, de nombreux projets ont été mis en place afin de développer des bibliothèques de modèles dans ce langage [Fatak30], [Legr04]. Une partie importante de notre travail s’inscrit dans cette proposition de conception : il consiste à développer une bibliothèque validée expérimentalement, dédiée à la modélisation et la simulation des systèmes de puissance. Le but de cette bibliothèque est de documenter des modèles de composants de puissance qui sont essentiels en électronique de puissance, pour qu’ils puissent être utilisés efficacement et maintenus avec un faible effort tout au long du cycle de vie complet des systèmes modélisés. La conservation et le partage de modèles nous impose de travailler sur la capitalisation et l’échange de modèles au sein de la communauté et la diffusion de ceux-ci vers l’enseignement, la R&D et l’industrie. Des projets interdisciplinaires comme DIMOCODE veulent répondre à ces enjeux de capitalisation, d’archivage et d’accessibilité. DIMOCODE (Diffusion Internet des Modèles pour la Conception Optimale des Dispositifs Electriques) est un projet interdisciplinaire "énergie" du CNRS [Dimcod]. Son objectif est d’apporter une contribution significative à la problématique d’optimisation de convertisseurs électromécaniques et d’électroniques de puissance servant à faire transiter et convertir l’énergie électrique. Il s’équipe d’une plate-forme internet permettant la capitalisation et la diffusion des modèles physiques et mathématiques utiles pour la conception optimale d’un point de vue énergétique des dispositifs du génie électrique. Une bibliothèque correctement documentée en est la base mais cela n’est évidemment pas suffisant. Pour autant, la problématique de la capitalisation de modèle dépasse un peu le cadre de notre travail. 1.6.3. Les fondements du développement de la bibliothèque

La conception des modèles doit dépasser le cadre de l’application pour laquelle elle a été nécessaire et permettre une réutilisation dans d’autres contextes par d’autres personnes. Pour ce faire, il est indispensable de faire un effort de généralisation et de documentation des modèles [Mile02]. Une documentation complète des modèles stockés dans une bibliothèque permet de réduire le temps et le coût tout au long de la conception des systèmes complexe modélisés. 1.6.3.1. Structure du modèle de la bibliothèque

La figure 1.5 montre une partie de la fenêtre principale de la version actuelle de notre bibliothèque « AMS_Power_Lib ». Toute la documentation de cette bibliothèque (des identifiants, des commentaires, des messages, des noms de fichiers, … etc.) sont en anglais. La bibliothèque consiste en répertoires principaux dans lesquels sont classés les types d’information. Annexe 1.4.1 comporte un tableau représentant la structure de la version actuelle de la bibliothèque « AMS_Power_Lib ».

THESE – Their Ibrahim Contribution au développement de modèles pour l’électronique de puissance en VHDL-AMS

-25-

Page 24: Contribution au développement de modèles pour l ...docinsa.insa-lyon.fr/these/2009/ibrahim_t/06_chapitre_1.pdf · Introduction La modélisation et la simulation sont des tâches

Chapitre 1. Langage VHDL-AMS et modélisation

Figure 1.5 : La fenêtre principale de la version actuelle de la bibliothèque « AMS_Power_Lib ».

1.6.3.2. Structure d’un modèle dans la bibliothèque

La déclaration du tous les modèles de composant doit contenir les informations suivantes : {Le nom de modèle, Bibliothèque, Structure, Symbole, Génériques, Ports, Description, Références, Dépendances, Source, Exemple (TestBench)}. L’annexe 1.4.2 représente la fenêtre principale d’un modèle de composant dans la bibliothèque, montrant quelques informations de sa déclaration. Pour chaque modèle de composants, un sous-répertoire au nom de l’entité identificateur doit être créé (figure 1.6). Tous les sous-répertoires de ces modèles ont la même structure.

Figure 1.6 : Structure du sous-répertoire dans la bibliothèque.

THESE – Their Ibrahim Contribution au développement de modèles pour l’électronique de puissance en VHDL-AMS

-26-

Page 25: Contribution au développement de modèles pour l ...docinsa.insa-lyon.fr/these/2009/ibrahim_t/06_chapitre_1.pdf · Introduction La modélisation et la simulation sont des tâches

Chapitre 1. Langage VHDL-AMS et modélisation

Un sous-répertoire se compose des fichiers suivants : • src : sous-répertoire qui contient le code source VHDL-AMS du modèle, • symbol : sous-répertoire qui contient des informations symboles, • doc : sous-répertoire qui contient la description du modèle par un fichier HTML, • tb : sous-répertoire qui contient les fichiers de TestBench pour le modèle, • Readme : sous-répertoire qui contient des explications et interprétations, si nécessaire.

1.6.4. Déclaration d’un fichier VHDL-AMS dans la bibliothèque [Herv05b]

Les fichiers VHDL-AMS se trouvent dans les sous-répertoires : src et tb. Le nom de ces fichiers doit contenir le nom de l’entité du modèle ci-joint « entity name.vhd». Il faut écrire le code de manière indépendante du simulateur (en utilisant toutes les informations disponibles). Le code doit être lisible, et il doit contenir au maximum une instruction par ligne, et avoir un maximum de 80 caractères par ligne. Le code doit être imprimé sans couper les lignes. Chaque fichier (.vhd) doit comporter un en-tête (Header), contenant au minimum les informations données dans le tableau 1.2. 1.6.5. Documentation et installation

Une documentation au format HTML est générée pour la bibliothèque AMS_Power_Lib. Ce document HTML contient des liens vers les documents HTML de composants, lesquels de son côté contiennent des liens vers le code source associé et les résultats de TestBench comme le montre la figure 1.7. Les fichiers qui constituent le modèle de la bibliothèque sont stockés dans un SubVersion- référentiel sur un serveur dans le laboratoire. L’accès aux dossiers est protégé par mot de passe.

Figure 1.7 : La documentation de la bibliothèque « AMS_Power_Lib ».

THESE – Their Ibrahim Contribution au développement de modèles pour l’électronique de puissance en VHDL-AMS

-27-

Page 26: Contribution au développement de modèles pour l ...docinsa.insa-lyon.fr/these/2009/ibrahim_t/06_chapitre_1.pdf · Introduction La modélisation et la simulation sont des tâches

Chapitre 1. Langage VHDL-AMS et modélisation

Tableau 1.2 : Les informations de l’en-tête d’un fichier (.vhd) [Svip08].

Commentaires Description -- Fichier : Le nom de l’entité (identificateur).

-- Propriété : Le nom de l’organisme (laboratoire de recherche).

-- Objectif : Brève description du modèle.

-- Générique : Nom, type, description.

-- Porte : Nom, type, description.

Description du modèle

-- Auteur (s) : Organisation : -- Date de cette version : Projet : -- Version actuelle : Vérifié par : -- Validation finale par :

-- Historique de la version du modèle : -- Version : Date : Modification : Par :

Information sur le développement

-- Fichiers associés/Dépendances : -- Notes : -- Limitations / Domaine d'application : -- Erreurs connues :

-- Développement lie aux simulateurs : -- Golden simulateur (entreprise / outil / version) : -- Paramètres du simulateur : -- Autres simulateur :

-- Numéro de version géré : -- 0.1xx en cours de développement -- 0.5xx succède à la compilation -- 0.9xx simulation s’exécute -- 1.xx disponible (validé)

-- Bibliothèque Appel de bibliothèque utile et spécification du contenu.

1.7. Conclusion

Ce premier chapitre a défini tout d’abord l’environnement de la modélisation en électronique de puissance présentant les langages de modélisation les plus connus. Les nouveaux besoins de la conception nous imposent de trouver un langage permettant de modéliser le système de puissance complet, dans un environnement de simulation adapté et unique, en prenant en compte leur complexité et leur pluridisciplinarité. Cela nous a amené à comparer les différentes caractéristiques des langages de modélisation mixte multi-domaines. Cette étude comparative nous a permis de voir que le langage de description de matériel VHDL-AMS est le plus adapté, car il comporte les caractéristiques nécessaires pour fournir aux concepteurs des systèmes pluridisciplinaires. Il permet la généricité et la réutilisation des modèles dans d’autres contextes, grâce notamment au fait d’être une norme IEEE.

THESE – Their Ibrahim Contribution au développement de modèles pour l’électronique de puissance en VHDL-AMS

-28-

Page 27: Contribution au développement de modèles pour l ...docinsa.insa-lyon.fr/these/2009/ibrahim_t/06_chapitre_1.pdf · Introduction La modélisation et la simulation sont des tâches

Chapitre 1. Langage VHDL-AMS et modélisation

La limitation la plus importante du langage concerne la description des équations aux dérivées partielles. L’étude des différents simulateurs pouvant supporter VHDL-AMS qui sont disponibles, actuellement, sur le marché nous a conduit à utiliser Simplorer comme outil de simulation. Pour augmenter la productivité de conception et pour assurer la capitalisation, nous avons construit une bibliothèque de modèles validés en VHDL-AMS, pour documenter des modèles de composants de puissance. Le développement de ces modèles qui sont essentiels en électronique de puissance sera présenté dans les chapitres suivants.

THESE – Their Ibrahim Contribution au développement de modèles pour l’électronique de puissance en VHDL-AMS

-29-