EN

Chaînes Python internes pour l'analyse
d'électronique de puissance et analogique.

Documentation de référence des chaînes analytiques utilisées sur chaque projet ADEV. Rédigée pour les ingénieurs amenés à examiner ou spécifier nos livrables.

WCA, Analyse pire cas

WCA calcule comment une fonction électronique dérive sous l'effet combiné des tolérances de fabrication, de la température, du vieillissement et des radiations. L'utilisateur décrit cette fonction comme les équations analytiques reliant ses composants, et l'outil propage la variabilité jusqu'à chaque sortie surveillée, en renvoyant les marges Begin-of-Life et End-of-Life en taux de rejet PPM avec un intervalle de confiance explicite.

L'ensemble de la chaîne tourne en local, sur la machine de l'ingénieur. Rien n'est envoyé sur internet, aucune donnée ne sort du poste de travail.

1 Méthode

À chaque itération Monte Carlo, chaque valeur de composant est tirée dans sa distribution statistique puis propagée à travers la fonction de transfert fournie par l'utilisateur. Après N tirages (par défaut 10⁶), la population de valeurs de sortie est comparée à l'intervalle d'acceptation, et le taux de rejet est rapporté avec son intervalle de confiance.

WORKFLOW, 5 ÉTAPES De la base de données à l'exécution archivée. Les composants passifs (R, C, L) sont déduits automatiquement de votre BOM ; seuls les composants actifs nécessitent une saisie manuelle.
// 01

Mise à jour base composants

actifs uniquement, passifs auto

// 02

Import de la BOM

KiCad · Altium · CSV · …

// 03

Définition des équations

fonctions Python natives

// 04

Paramètres de calcul

tirages · lois · graphes

// 05

Exécution & archivage auto

CSV · graphes · rapport Word

1.1, Distributions d'échantillonnage

Les modèles de composants suivent les conventions des datasheets et la pratique courante en électronique spatiale et défense :

ComposantVariableDistribution par défaut
RésistanceRUniforme sur ±tol (BOL) ; +TC·ΔT et +drift (EOL)
Condensateur, X7R / X7SCUniforme sur ±tol ; courbe de DC-bias multiplicative ; coefficient thermique ; vieillissement
Condensateur, Tantale polymèreC, ESRUniforme ±tol sur C ; loi de dérive ESR issue de la datasheet fabricant
InductanceL, DCRUniforme ±tol ; courbe de saturation issue de la datasheet fabricant
Amplificateur opérationnelVos, Ib, GBW, SRGaussienne tronquée ±3σ sur chaque paramètre
Référence de tensionVref, TCGaussienne sur Vref ; uniforme sur TC
DiodeVF, ISModèle de Shockley avec courant de saturation dépendant de la température

1.2, Intervalle de confiance sur le taux de rejet

Le taux de rejet est rapporté avec un intervalle de confiance exact à 95% de Clopper-Pearson. Pour k rejets observés sur N échantillons :

p_lo = Beta⁻¹(α/2; k, N − k + 1)
p_hi = Beta⁻¹(1 − α/2; k + 1, N − k)

avec α = 0.05. Les deux bornes sont reportées dans le verdict CSV. La forme exacte est privilégiée par rapport à l'approximation normale, parce que le taux de rejet est typiquement inférieur à 1000 PPM, régime où l'approximation gaussienne diverge.

1.3, Estimation de quantiles extrêmes (Wilks)

Pour estimer un quantile extrême de manière non paramétrique sans hypothèse sur la forme de la distribution, le framework supporte les statistiques d'ordre de Wilks. Pour un quantile cible p couvert avec une confiance γ, en utilisant la r-ième statistique d'ordre X(N−r+1) comme estimateur, la condition de couverture est exacte :

P( X_(N−r+1) ≥ F⁻¹(p) ) = 1 − I_p(N − r + 1, r) ≥ γ

Ip(a, b) est la fonction Bêta incomplète régularisée (scipy.stats.beta.cdf). La taille minimale Nmin est résolue numériquement. Valeurs typiques utilisées par la chaîne d'outils :

Ordre rp = 99,73% (≈ ±3σ)p = 99,9%p = 99,99%
r = 1 (max seul)N ≥ 1 109N ≥ 2 994N ≥ 29 956
r = 2N ≥ 1 572N ≥ 4 045N ≥ 39 994
r = 3N ≥ 1 988N ≥ 5 020N ≥ 49 419

Toutes les valeurs pour confiance γ = 95%. Augmenter r améliore la robustesse à un tirage extrême isolé, au prix d'un N plus élevé. Les exécutions Monte Carlo par défaut (10⁶) couvrent largement toutes les combinaisons.

1.4, Classement par sensibilité

La sensibilité par composant combine une dérivée partielle locale autour du point nominal et la corrélation de rang de Spearman ρ entre les entrées échantillonnées et la sortie choisie. Le résultat est un classement trié en barres horizontales. En pratique, un sous-ensemble réduit de la BOM concentre plus de 80% de la dispersion, et c'est précisément là que doit porter l'itération de conception suivante.

1.5, Couverture de dérive BOL → EOL

Chaque composant est échantillonné sur toute son enveloppe de dérive, du Begin-of-Life à l'End-of-Life. En plus de la tolérance de fabrication, les contributions suivantes sont empilées :

Contribution à la dériveModélisée parÉchelle typique
Tolérance de fabricationUniforme sur ±tol (datasheet)0,1–10% selon grade
Dérive en températureTC × ΔT, additive−40°C à +125°C jonction
DC-bias derating (X7R / X7S)Courbe multiplicative, datasheet fabricantjusqu'à −60% à tension nominale
VieillissementDécroissance logarithmique (datasheet)sur profil de mission (5–18 ans)
Radiation (TID)Coefficient testé en lot, additiftrajectoire 0 / 25 / 50 krad

La dérive radiation est alimentée par les résultats réels de tests TID lorsqu'ils sont disponibles ; sinon, les coefficients par défaut de la base de données composants sont utilisés et signalés explicitement dans le rapport.

2 Entrées

2.1, Configuration de l'exécution

Chaque exécution WCA est configurée par un petit ensemble de constantes en tête de fichier. Les définitions de composants et les fonctions de transfert sont déclarées en Python natif à côté de cette configuration :

# ─── Configuration de l'exécution ──────────────────────────
PPM_THRESHOLD     = 100         # Seuil verdict OK/NOK (PPM)
N_TIRAGES         = 1_000_000   # Taille échantillon Monte Carlo
CONFIDENCE_LEVEL  = 0.95        # IC Clopper-Pearson sur PPM
WILKS_QUANTILE    = 0.9973      # Quantile Wilks cible (≈ ±3σ)
WILKS_CONFIDENCE  = 0.95        # Probabilité de couverture Wilks
TEMPERATURE_RANGE = (-40, +125) # °C, jonction

2.2, Base de données composants

Les composants actifs (régulateurs, AOP, références, transistors, GaN) sont déclarés dans une base de données interne maintenue avec toutes leurs contributions à la dérive selon la classe ECSS-Q-ST-30-11C. Les composants passifs (résistances, condensateurs céramique / tantale, inductances) sont déduits automatiquement de la BOM, avec les enveloppes de dérive par défaut tirées de la datasheet fabricant (TC, DC-bias, vieillissement, TID).

2.3, Couplage simulateur (optionnel)

Pour les circuits dont la fonction de transfert est trop complexe à exprimer analytiquement, WCA peut appeler un simulateur externe à chaque tirage Monte Carlo :

  • Moteurs SPICE commerciaux, via netlist .cir en mode batch ; résultats lus depuis le .csv de sortie.
  • LTspice, via parser .raw binaire (package Python ltspice).
  • Python pur, expressions analytiques évaluées directement avec opérations numpy vectorisées (~10⁷ tirages en quelques secondes).

3 Sorties

Chaque exécution produit un ensemble d'artefacts déterministe et archivable :

FichierFormatContenu
verdict.csv CSV UTF-8 Taux de rejet par sortie avec IC Clopper-Pearson 95% ; verdict OK / NOK contre le seuil PPM configuré
distrib_*.png PNG Histogramme des valeurs de sortie échantillonnées avec bornes d'acceptation superposées ; cases Wilks si demandé
sensitivity_*.png PNG Barres horizontales de la contribution de chaque composant à la variance de sortie, triées en valeur absolue
config.archive.json JSON Configuration d'entrée complète et seeds aléatoires pour une reproductibilité bit-à-bit
report.docx Word Rapport formaté ECSS, figures et tableaux intégrés, section méthodologie, marquage de version

Toutes les figures suivent les conventions ECSS : axes étiquetés avec unités, légende encadrée, pas de chartjunk.

3.1, Exemples de figures

Trois figures produites à chaque exécution, illustrant le tableau de verdict, la décomposition de sensibilité et la superposition des distributions de sortie.

Tableau WCA, Typ, Init min/max, BOL min/max, EOL min/max, limites de spécification, risque PPM, statut OK/NOK.
FIG. 1, Tableau de verdict Pour chaque paramètre de sortie : valeur typique, dispersion initiale, dispersion BOL, dispersion EOL, limites de spécification, risque statistique en PPM, et statut binaire OK / NOK. La figure la plus consultée pendant les revues de qualification.
Analyse de sensibilité EWC, diagrammes circulaires montrant les composants dominants des bornes pire-cas min et max au BOL.
FIG. 2, Décomposition par sensibilité Contribution par composant à chaque borne pire-cas. Identifie en un coup d'œil les contributeurs dominants, typiquement un sous-ensemble réduit de la BOM représente plus de 80% de la dispersion.
Superposition des distributions de probabilité de la sortie selon les phases de mission, Init (état initial), BOL (début de vie, température max, pleine charge), EOL (fin de vie avec vieillissement et radiations), avec les limites de spécification tracées.
FIG. 3, Superposition des distributions Distribution de la sortie échantillonnée selon les phases de mission (Init / BOL / EOL) avec les limites de spécification superposées. Le risque PPM se lit directement dans la queue au-delà de chaque limite.

3.2, Reproductibilité

Chaque exécution archive son seed aléatoire, la version de numpy et la révision des datasheets composants. Relancer avec le fichier d'archive donne des résultats bit-à-bit identiques, des années plus tard, sur une autre machine.

4 Normes

NormePérimètreImplémentation dans WCA
ECSS-Q-ST-30-11C Rev. 2 Dérating composants Limites de dérating par composant appliquées comme bornes supérieures de stress ; le verdict signale tout échantillon au-delà
ECSS-Q-ST-60C Rev. 3 Sélection composants EEE Utilisée pour l'attribution de classe et les hypothèses de dérive EOL par niveau qualité
ESCC-25500 Caractérisation diodes pour le spatial Paramètres du modèle de Shockley extraits des datasheets conformes ESCC
MIL-HDBK-217F Prédiction de fiabilité (informatif) Optionnel, vérification croisée du taux de défaillance sur les composants critiques
IPC-2221 Règles de conception PCB (informatif) Utilisée comme borne d'entrée lorsque WCA est couplé à un modèle thermique

4.1, Mapping de classe

Les limites de dérating sont chargées depuis une table indexée par classe (Classe 1 / Classe 2 / Classe 3 selon ECSS-Q-ST-60C). La classe est définie par exécution ; passer d'une Classe 3 (deep-space) à une Classe 1 (terrestre) ne demande qu'un seul champ de configuration à modifier, la chaîne d'outils tourne sans modification.

5 Limites

WCA est un outil analytique. Il complète la caractérisation physique, mais ne la remplace pas. Limites assumées :

  • Hypothèses de distribution. Les distributions par défaut, uniforme sur la tolérance et gaussienne tronquée sur les paramètres AOP, reflètent la pratique courante mais ne sont pas vérifiées pour un lot de production donné. Pour une mission Classe 1, une caractérisation lot-spécifique est recommandée.
  • Couplage entre composants. Par défaut, les composants sont échantillonnés indépendamment. Une dérive corrélée, par exemple une paire de résistances appairées sur le même die, doit être modélisée explicitement via variables aléatoires partagées. Le framework le supporte, mais le couplage doit être déclaré manuellement.
  • Taille d'échantillon vs temps de calcul. 10⁶ tirages sont typiques ; 10⁷ a été testé et prend environ 2 minutes par Monte Carlo sur une station de travail standard. En dessous de 10⁵ tirages, l'IC Clopper-Pearson s'élargit nettement, et les verdicts au PPM deviennent peu fiables.
  • Surcoût du couplage simulateur. Lorsqu'un simulateur SPICE externe est invoqué à chaque tirage Monte Carlo, le débit chute à environ 1 000 tirages par minute. Pour des exécutions au-dessus de 10⁵, la substitution batch est requise.

Vous voulez ce niveau d'analyse
sur votre prochain projet ?

Chaque WCA et PSA que nous livrons passe par cette chaîne d'outils, intégrée au Document de Justification de Conception remis avec le hardware.