Title: Validation de simulateurs Gnration de tests
1Validation de simulateursGénération de tests
Henri MICHEL STMicroelectronics Central
RD Philippe CODOGNET LIP6
2Le plus célèbre BUG Pentium FDIV
Probabilité 3 1037 / 2.28 1047
Pire cas 4195835.0 / 3145727.0 1.333 820
. 1.333 739 .
- Perte fiscale déclarée (17 Janvier1995)
- 475 millions
3Impact dun bug
- Coût minimum des masques 300 k
- Temps minimum fabrication 5 semaines
- Gros problèmes de gestion de projets
4Percent of Total Flaws Fixed in IC/ASIC Designs
Having Two or More Silicon Spins
Source Collett International for
STMicroelectronics Y2000
5Classification bugs fonctionnels
Source MIPS R4000 Errata
- load instruction with data cache miss
- THEN jump with delay slot on unmapped page
6Un cas type Chameleon (1)
- 2 CPU 64 bits superscalaire, pipeliné, exécution
 Out of order , mémoire virtuelle - 12 millions transistors, 15730 lignes VHDL
- Technologie 0.35 microns, 100 Mhz,TAPE OUT fin
1997
7Un cas type Chameleon (2)
-  First time silicon success sauf
- après de TRES longs sessions  plantage du
système exploitation -  sometimes return address corrupted on entry to
interrupt HandlerÂ
8Un cas type Chameleon (3)
Exceptions précises
9Un cas type Chameleon (4)
- Enorme effort mental pour imaginer le scénario !!
-  Rustine Software
10Un cas type Chameleon (4)
working_jptr_d lt res(31 downto 1) when
load_jptr1 and jptr_from_inst1 else
pointer_z when load_jptr1 and launch1
else working_jptr_q
11Panorama Techniques utilisées à ST
- Génération de tests aléatoires
- equivalence checking
- RTL versus Netlist
- RTL versus GATE (abstraction transistor)
- property checking (formules logique temporelle)
- Preuve de Théorèmes (Boyer-Moore)
12Meme Les Outils De Preuve Formelle Peuvent Se
Tromper!!!!
13Génération de tests
14Simulation VHDL
Emulation (synthèse FPGA) 300 000
Instructions/sec
15Ecriture modèle référence
- Standard STFlexsim et langage IDL
- Conçu pour description Hardware
- C bit true
- Développement aisé
var signed16 Accu, swapped var unsigned2
high high Accu1514 swapped
(Accu70Accu158)
16Validation modèle référence
- Fort impact sur lensemble du projet
- applications
- OS
- Vérification design VHDL
- Effort de test gtgt Effort codage
- Tests écrits manuellement
- Mauvaise qualité suite de tests
- Exemple 60 couverture sur tests SIEMENS ST10
17Notions de Couverture de code
Couverture de lignes
Justification analyse de mutation Rendre
observable une différence entre 2 petites
variations du code If (x lt y) au lieu de if
(xlty)
Couverture des conditions If (expr) .
Couverture Switch/select
Couverture de toggles/états
18Couverture de chemins
(x,y) (1,0) (0,1) donne 100 couverture
branchements
19Principe de la validation
- équations 1
- équations 2
-
- équations N
- Chemin 1
- Chemin 2
-
- Chemin N
- Jeu Valeurs 1
- Jeu Valeurs 2
-
- Jeu Valeurs N
résolveur de contraintes
20Problèmes de Satisfaction de Contraintes
- Contrainte relation logique entre certaines
variables du problèmes - contraintes relations arithmétiques ou
symboliques - X lt 5 , X Y Z ,
all_different(X1, , Xn) , - extraction de bit
- Les relations sont multi-directionnelles (? test
) - algorithmes de résolution spécifiques pour
certains domaines - (réduction de la combinatoire)
- -gt spécification déclarative calcul efficace
- Résolution pose dun réseau de contraintes
- propagation et ré-execution
21STCS - ST Constraint Solver
- Collaboration (depuis 2000)
- STMicroelectronics (H. Michel)
- LIP6 (P. Codognet) / Université Paris-I (D.
Diaz) - Spécialisation dun résolveur de contraintes sur
les domaines finis (suite des travaux sur GNU
Prolog ) - prise en compte de contraintes spécifiques
- ( extraction de bits )
- développements actuels
- post-doc industriel chez STMicroelectronics (F.
Baray) - extension, consolidation du prototype
- étude de l utilisation des contraintes pour
d autres applications - étude de nouvelles techniques de résolution
contraintes