Test Intégré pour Convertisseurs Analogique/Numérique LIRM MONTPELLIER UNIVERSITE MONTPELLIER II SCIENCES ET TECHNIQUES DU LANGUEDOC Test Intégré pour Convertisseurs Analogique/Numérique Serge Bernard 13 Avril 2001
Plan Introduction Analyse de réponses de test Architecture haut-niveau Implantation bas-niveau Génération de stimuli de test Générateur de rampe auto-calibré Conclusion
Coût relatif d’un circuit mixte* Introduction Coût relatif d’un circuit mixte* Futur Coût de fabrication Test Numérique Test Analogique Test Numérique Test Numérique Coût de fabrication Test Analogique Coût de fabrication Test Analogique 1970 -1980 Aujourd’hui * G.W. Roberts
? Introduction Test Fonctionnel Test Structurel Circuit Mixte Analogique Numérique CAN Analogique Numérique n bits Test Fonctionnel ? Test Structurel CVT BIST
Convertisseur A/N Idéal Introduction Convertisseur A/N Idéal 111 droite de transfert 110 101 Sortie Numérique 011 100 011 LSB = PE/2n 010 001 000 VT1 VT2 VT3 VT4 VT5 VT6 VT7 PE Entrée Analogique
Introduction Paramètres des CAN Erreur d’Offset Erreur de Gain Erreurs de N-L Idéale Gain 111 111 110 101 100 011 010 001 000 111 110 101 100 011 010 001 000 110 101 Offset 100 NLI Sortie Numérique . Sortie Numérique Sortie Numérique 011 010 NLD 001 000 Entrée Analogique Entrée Analogique Entrée Analogique
Fréquence d’apparition H(i) Introduction Test par Histogramme Tension analogique Fréquence d’apparition H(i) ADC PE Paramètres Offset Gain NLD NLI Code i Fréquence d’apparition idéale Hidéal(i) + - Temps Code i
Analyseur de réponses de test Introduction Objectif Circuit Intégré Sortie Numérique Entrée Analogique n bits CAN Paramètres Fonctionnels Analyseur de réponses de test Générateur de stimuli de test Analogiques
Plan Introduction Analyse de réponses de test Architecture haut-niveau Implantation bas-niveau Génération de stimuli de test Générateur de rampe auto-calibré Conclusion
Analyse : Architecture haut-niveau Entrée Entrée Circuit Intégré Entrée Analogique n bits CAN Sortie Numérique Contrôleur Générateur de signaux Analogiques Détecteur Paramètres Fonctionnels 2n Mots Mémoires (Histo. Mesuré) DSP ou m-Processeur 2n Mots Mémoires (Histo. Idéal) Exploitation Surface excessive
Analyse : Architecture haut-niveau Entrée Simplifications des opérateurs n 2 Division par une Constante Addition Soustraction Offset idéal H ) 1 ( × - = Code 1 Code 2n NLI (i) = S i j=1 NLD (j) NLD(i) idéal H ) ( - m Codes Hextreme i i Code i H(i) Hidéal
Analyse : Architecture haut-niveau Simplifications des opérateurs Entrée 1 2n Division Addition Soustraction Constante Tan a Tan b Code 1 Code 2n Code 1 Code 2n Code 1 Code 2n Code 1 Code 2n Code 1 Code 2n NLI (i) = S i j=1 NLD (j) NLD (i) idéal H ) ( - (i) 1 2n m Codes Hidéal (i) H(i) i Code i Division Addition Soustraction
Analyse : Architecture haut-niveau Entrée Structure BIST Optimisée Entrée Circuit Intégré Sortie Numérique Entrée Analogique n bits CAN Contrôleur Générateur de signaux Analogiques Détecteur Paramètres Fonctionnels 2n Mots Mémoires (Histo. Mesuré) - Opérations simples 2n Mots Mémoires (Histo. Idéal) Exploitation
Analyse : Architecture haut-niveau Entrée Technique de Décomposition Temporelle Entrée 1 Mot Mémoire Histogramme expérimental Calcul du Code 1 Calcul du Code 2n Calcul du Code N1 Calcul du Code N2 . Etape 1: Etape 2: Etape m: Etape 2n: Phase 1: Phase 2: Phase 3: Phase 4: TEMPS Calcul de l’Offset Calcul du Gain Calcul des NLD Calcul des NLI Resources de test réutilisées
Analyse : Architecture haut-niveau Entrée Ressources matérielles nécessaires Entrée R1 = 0, R2 = 0 for néchan = 1 to NT if code = 1 then R1 = R1 + 1 néchan = néchan + 1 if code = 2n then R2 = R2 + 1 R1 = R1 - R2 Offset = R1 / K [H (1)-H(2n)] Offset = K Etape 1 2 Registres 1 Additionneur 1 Soustracteur 1 Diviseur Etape 2 -
Analyse : Architecture haut-niveau Entrée Ressources matérielles nécessaires Entrée R2 = 0 for i = N1 to N2 R1 = 0 for néchan = 1 to NT if code = i then R1 = R1 + 1 néchan = néchan + 1 R1 = R1 / Hidéal(i) R2 = R1 + R2 i = i + 1 Gain = R2 / m S H (i) Hidéal(i) i=N1 N2 1 m Gain = 2 Registres 1 Additionneur 1 Diviseur Etape i
Analyse : Architecture haut-niveau Entrée Ressources matérielles nécessaires Entrée R2 = 0 for i = 1 to 2n R1 = 0 for néchan = 1 to NT if code = i then R1 = R1 + 1 néchan = néchan + 1 R1 = R1 / Hidéal(i) R1 = R1 - 1 NLD (i) = R1 R2 = R1 + R2 NLI (i) = R2 i = i + 1 H (i) NLD (i) = - 1 Hidéal(i) NLD (j) S j=1 i NLI (i) = - 2 Registres 1 Additionneur 1 Soustracteur 1 Diviseur Etape i
Analyse : Architecture haut-niveau Entrée Structure BIST Optimisée Entrée Circuit Intégré Sortie Numérique Entrée Analogique n bits CAN Contrôleur Générateur de signaux Analogiques Détecteur Paramètres Fonctionnels - 2 Mots Mémoire (Histo. Mesuré) Opérations simples 2n Mots Mémoires (Histo. Idéal) Exploitation
Analyse : Architecture haut-niveau Entrée Mémorisation de l’histogramme idéal Entrée Signal triangulaire Hidéal Hextrême Distribution Uniforme Histogramme 2 Mots Mémoire Pour le stockage de l ’Histogramme Idéal Signal Sinusoïdal Distribution Non-Uniforme 2n Mots Mémoire Pour le stockage de l ’Histogramme Idéal H(i) Histogramme
Analyse : Architecture haut-niveau Mémorisation de l’histogramme idéal Entrée Histogramme Idéal Histogramme Estimé Code i Histogramme Hest(i) Hkest(i) = ak i + bk 1 2 4 5 3 Hest(i) = a i + b Hest(i) = a i + b NT 2i-2n 2 . PE Aentrée 2i-2n-2 2 PE Aentrée Hidéal(i) = sin-1 - sin-1 . p Histogramme Hidéal(i) Code i 2k+1 Registres 1 Additionneur, 1 Diviseur
Analyse : Architecture haut-niveau Entrée Structure BIST Optimisée Entrée Contrôleur Détecteur Entrée 2 Mots Mémoire (Histo. Mesuré) - Opérations simples 2 Mots Mémoires (Histo. Idéal) Exploitation Contrôleur Détecteur Entrée 2 Mots Mémoire (Histo. Mesuré) - Opérations simples 2k+1 Mots Mémoires (Histo. Idéal) Exploitation
Plan Introduction Analyse de réponses de test Architecture haut-niveau Implantation bas-niveau Génération de stimuli de test Générateur de rampe auto-calibré Conclusion
Analyseur : Implantation bas-niveau Entrée Structure BIST Contrôleur Détecteur 2 Mots Mémoire (Histo. Mesuré) - Opérations simples 2 Mots Mémoires (Histo. Idéal) Exploitation Exploitation Contrôleur Détecteur
Analyseur : Implantation bas-niveau Entrée Détecteur de Code Génération du Code de Référence Comparaison de ce Code avec la sortie du CAN Compteur Comparateur Détecteur Contrôleur Exploitation
Analyseur : Implantation bas-niveau Entrée Détecteur de Code Sortie CAN[i+1] Sortie CAN[i] RDC_bloc_1bit [ i] O1[i-2] O2[i-2] Sortie CAN [i-1] RDC_bloc_1bit [ i-1] Contrôle RDC_bloc_1bit O2[i+1] O1[i+1] [ i+1] Code suivant RDC_Set RDC_Clear Sortie Comparateur Nombre de Blocs = Nombre de bits Détecteur Contrôleur Exploitation
Analyseur : Implantation bas-niveau Entrée Module d’Exploitation 2 Mot Mémoire (Histo. Mesuré) H(i) Compteur if code = i then R = R + 1 Additionneur H(1) - H(2n) if code = 2n then R = R + 1 if code = 1 then R = R + 1 Compteur/ Décompteur - Soustracteur 2 Mots Mémoire (Histo. Idéal) 1 m.HIdéal HIdéal = 2P & m = 2Z Décalage de (P+Z) bits Diviseur Compteur / Décompteur Détecteur Contrôleur Exploitation
Analyseur : Implantation bas-niveau Entrée Module d’Exploitation c1 c2 EM_Out[i+1] [ i+1] RE_bloc_1bit EM_Out[i] [ i+1] RE_bloc_1bit S1[i-2] S2[i-2] EM_Out[i-1] [ i+1] RE_bloc_1bit S2[i+1] S1[i+1] Ext_Clock EM_Clear Nombre de blocs = F(dGain,dNLD) Détecteur Contrôleur Exploitation
Analyseur : Implantation bas-niveau Entrée Contrôleur VHDL Library IEEE; use IEEE.std_logic_1164.all entity Contol_Unit is port(ck,startS,endS,In0: in std_logic; c1,c2,clr_DM : Out std_logic); end Control_Unit architecture ArchControl of Control_Unit is type state is (Ini_Etat, o1,o2,o3,o4,o5,o6,o9); signal nextEtat, presEtat: state; begin control : process (presEtat, startS,endS,In0) nextEtat <= presEtat case (presEtat) is ... Synopsys Détecteur Contrôleur Exploitation
Analyseur : Implantation bas-niveau Entrée Exemple d’une Structure BIST Sortie CAN [i] RDC_1bit [ i] 6 x Détecteur Nbits Nombre de bits : 6 Exploitation HIdeal=25 & m=24 Sortie_RE[i] [ i+1] RE_1bit 10 x [ i] dNLD = 0.03 LSB dGain = 0.05 LSB Contrôleur VHDL Détecteur Contrôleur Exploitation
Analyseur : Implantation bas-niveau Entrée Exemple d’une Structure BIST AMS0.6u Surface CAN 3,3 mm2 100Ms/s 6 bits Analyseur 0,11 mm2 4,2 % <
Analyseur : Implantation bas-niveau Entrée Structure BIST Optimisée Entrée Entrée Contrôleur Détecteur Entrée 2 Mots Mémoire (Histo. Mesuré) - Opérations simples 2k+1 Mots Mémoires (Histo. Idéal) Exploitation
Analyseur : Implantation bas-niveau Programme d’Evaluation Entrée Paramètres du test (NT, Aentrée) Modèle du CAN n, Offset, Gain, NL LABVIEW Approche classique LABVIEW Notre Approche Paramètres du CAN Offset Gain DNL INL Paramètres du CAN Comparaison Offset Gain DNL INL
Analyseur : Implantation bas-niveau
Analyseur : Implantation bas-niveau Validation Entrée Erreur d’offset NLD LSB LSB 1,5 1 0,5 0,5 0,25 Notre Approche # 1 # 2 # 3 # 4 # 1 # 2 #3 # 4 Approche Classique Erreur de gain NLI LSB LSB 1,5 1 0,5 1,5 1 0,5 # 1 # 2 # 3 #4 # 1 # 2 # 3 # 4
Analyseur : Implantation bas-niveau Validation Entrée % 2,1%
Plan Introduction Analyse de réponses de test Architecture haut-niveau Implantation bas-niveau Génération de stimuli de test Générateur de rampe auto-calibré Conclusion
Générateur de rampe auto-calibré Performances requises Qualité du générateur Qualité du CAN Linéarité Précision sur la valeur de la pente Indépendance aux variations des paramètres Surface additionnelle minimale
Générateur de rampe auto-calibré Principe de fonctionnement Vdd Step S1 Init Vctrl IC Step Vout C S2 Init Vout Trampe Trampe Trampe
Générateur de rampe auto-calibré Linéarité de la rampe générée Vdd M1 M2 Non-linéarité 0.0 20u 40u 60u 80u 100u 120u (V) -100u -50u 50u -75u -25u 25u 75u time (s) n = 15 bits n NLmax M3 M5 M4 Step Step M9 M10 Vout M8 M7 Vbias C M6 Init Vctr Vinit time (s) 0.0 20u 40u 60u 80u 100u 120u (V) -2.0 -1.0 1.0 2.0 -1.5 -0.5 0.5 1.5 Vout 100µs Arampe
Générateur de rampe auto-calibré Pente de la rampe générée Trampe 46V/ms Pires cas Vréf = +1.5V 30V/ms Cas idéal 17V/ms 3V amplitude -1.5V Erreur sur la pente 50 %
Générateur de rampe auto-calibré Principe d’auto-calibration 1 Step Vdd Circuit Générateur de Rampe trampe Step 2 3 Vréf S1 IC Vout Vout S2 Init C Vcomp +Vsat Vinit -Vsat Vctr Vctr Vcomp Comparateur Module de Compensation Vsat Vréf temps trampe tcal 1 Générer la rampe 2 Comparer Vout ET Vréf 3 Vctr(i) = Vctr(i-1) Dctr
Générateur de rampe auto-calibré Chronogramme Trampe tcal Cycle i Vdd Circuit Générateur de Rampe Step Step S1 Vréf Vout IC Vout S2 Init C Vinit Vctr Vcomp Vcomp Comparateur Module de Compensation Vsat Vréf Dctr Vctr
Générateur de rampe auto-calibré Module de compensation Vctr F0 F2 Vcomp Vsat -Vsat Vctr F1 Module de compensation F0 F1 F2 Vcomp S0 S1 S2 C1 C2 Dctr << 1 C2 C1
Générateur de rampe auto-calibré Schéma final Vdd Circuit Générateur de Rampe Step Step Step Vout C Init Vbias Vinit Vctr Capacité parasite F2 F3 +Vsat Vcomp + C2 Vréf F1 C1 _ 10pF -Vsat F2 F3 Module de Compensation Comparateur
Générateur de rampe auto-calibré Résultats de simulation 1.5V Linéarité < 13 bits Erreur sur la pente < 0.4% D< 1mV
Générateur de rampe auto-calibré Surface du générateur Circuit générateur de rampe : 30 % Capacité C de charge du circuit générateur de rampe Capacité AO Transistors AO Capacité Système de calibration : 70% Capacité C1 du module de compensation Surface = 0,047 mm²
Générateur de rampe auto-calibré Sortie Numérique Entrée Analogique CAN n bits Générateur Détecteur Paramètres Fonctionnels Exploitation Contrôleur Analyseur de réponses de test 0,063 mm² Générateur de rampe auto-calibré 0,047 mm² Contrôleur 0,065 mm² Structure BIST Complète 0,175 mm² CAN 3,3 mm² Surface 6 % Surface BIST/CAN
BIST fonctionnel pour CAN pour n < 13 bits Conclusion Objectif BIST fonctionnel pour CAN Générer une rampe précise + surface minimale Miroir de courant Système d’auto-calibration Stimuli Intégrer la technique de test par histogramme Technique de décomposition temporelle Algorithme original Optimisation haut-niveau et bas-niveau Analyse Résultats BIST fonctionnel pour CAN pour n < 13 bits
Perspectives Structure BIST pour signal d’entrée sinusoïdal Implantation physique de l’analyseur de réponses de test Conception d’un générateur de signaux sinusoïdaux Réduction du Temps de test Traiter plusieurs codes simultanément Nouvelles architectures Evaluation d’autres caractéristiques fonctionnelles