490 likes | 651 Views
MONTPELLIER. LIRM. 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
E N D
MONTPELLIER LIRM 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
Test Numérique Coût de fabrication Test Analogique Futur Introduction Coût relatif d’un circuit mixte* Test Numérique Test Numérique Coût de fabrication Test Analogique Test Analogique Coût de fabrication 1970 -1980 Aujourd’hui * G.W. Roberts
Analogique CAN Numérique Analogique Numérique Test Fonctionnel Test Structurel • CVT • BIST ? Introduction Circuit Mixte n bits
droite de transfert 011 Introduction Convertisseur A/N Idéal 111 110 101 Sortie Numérique 100 011 LSB = PE/2n 010 001 000 VT1 VT2 VT3 VT4 VT5 VT6 VT7 PE Entrée Analogique
111 111 110 110 101 101 100 100 011 011 010 010 001 001 000 000 Introduction Paramètres des CAN Erreur d’Offset Erreur de Gain Erreurs de N-L Idéale Gain 111 110 101 Offset NLI 100 Sortie Numérique Sortie Numérique Sortie Numérique 011 010 NLD 001 000 Entrée Analogique Entrée Analogique Entrée Analogique
ADC Paramètres + • Offset • Gain • NLD • NLI - Fréquence d’apparition idéale Hidéal(i) Code i Introduction Test par Histogramme Fréquence d’apparition H(i) Tension analogique PE 0 Temps Code i
Paramètres Fonctionnels Générateur destimuli detest Analogiques Analyseur deréponses detest Introduction Objectif Circuit Intégré Sortie Numérique Entrée Analogique n bits CAN
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
Contrôleur Surface excessive Analyse : Architecture haut-niveau Entrée Entrée Circuit Intégré Entrée Analogique n bits CAN Sortie Numérique Détecteur Générateur de signaux Analogiques Paramètres Fonctionnels 2n Mots Mémoires (Histo. Mesuré) DSP ou m-Processeur 2n Mots Mémoires (Histo. Idéal) Exploitation
n H ( 1 ) H ( 2 ) - Offset = 2 × i i H(i) m Codes H idéal H ( i ) H - idéal NLD(i) = = H idéal Code i i S Code 1 Code 2n NLI (i) = NLD (j) j=1 Addition Soustraction Division par une Constante Analyse : Architecture haut-niveau Entrée Simplifications des opérateurs Hextreme Hidéal
Tan a Tan b Constante 1 1 1 2n 2n Hidéal (i) m Codes i i (i) H ( i ) H - idéal NLD (i) = = (i) H idéal Code 1 Code 2n Code 1 Code 1 Code 1 Code 1 Code 2n Code 2n Code 2n Code 2n S i NLI (i) = NLD (j) j=1 Addition Soustraction Division Addition Soustraction Division Analyse : Architecture haut-niveau Simplifications des opérateurs Entrée H(i) Code i
- Contrôleur Analyse : Architecture haut-niveau Entrée Structure BIST Optimisée Entrée Circuit Intégré Sortie Numérique Entrée Analogique n bits CAN Détecteur Générateur de signaux Analogiques Paramètres Fonctionnels 2n Mots Mémoires (Histo. Mesuré) Opérations simples 2n Mots Mémoires (Histo. Idéal) Exploitation
Etape 1: Phase 1: Calcul du Code1 Calcul de l’Offset Etape 2: Calcul du Code2n Etape 1: Phase 2: Calcul du CodeN1 Calcul du Gain . . . . . . Etape m: Calcul du CodeN2 TEMPS Phase 3: Calcul des NLD Etape 1: Calcul du Code1 . . . . . . . . Phase 4: Etape 2n: Calcul des NLI Calcul du Code2n Etape 1: Calcul du Code1 . . . . . . . . Etape 2n: Calcul du Code2n Resourcesde test réutilisées 1 Mot Mémoire Histogramme expérimental Analyse : Architecture haut-niveau Entrée Technique de Décomposition Temporelle Entrée
- • 2 Registres • 1 Additionneur 1 Soustracteur 1 Diviseur 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 for néchan = 1 to NT if code = 2n then R2 = R2 + 1 néchan = néchan + 1 R1 = R1 - R2 Offset = R1 / K [H(1)-H(2n)] Offset = K Etape 1 Etape 2
N2 S 1 H(i) Gain = Hidéal(i) m i=N1 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 • 2 Registres • 1 Additionneur 1 Diviseur Etape i
i S NLI (i) = NLD (j) - j=1 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) • 2 Registres • 1 Additionneur 1 Soustracteur 1 Diviseur Etape i
- Contrôleur Analyse : Architecture haut-niveau Entrée Structure BIST Optimisée Entrée Circuit Intégré Sortie Numérique Entrée Analogique n bits CAN Détecteur Générateur de signaux Analogiques Paramètres Fonctionnels 2 Mots Mémoire (Histo. Mesuré) Opérations simples 2n Mots Mémoires (Histo. Idéal) Exploitation
Signal Sinusoïdal Distribution Non-Uniforme Signal triangulaire H(i) Hextrême Histogramme 2n Mots Mémoire Pour le stockage de l ’Histogramme Idéal Hidéal Analyse : Architecture haut-niveau Entrée Mémorisation de l’histogramme idéal Entrée Distribution Uniforme Histogramme 2 Mots Mémoire Pour le stockage de l ’Histogramme Idéal
Histogramme Estimé ak 2i-2n PE 2i-2n-2 PE . Hkest(i) = 2 Aentrée 2 Aentrée i + bk 1 Histogramme Hest(i) 2 3 4 5 Code i a a Hest(i) = Hest(i) = i + b i + b Analyse : Architecture haut-niveau Mémorisation de l’histogramme idéal Entrée Histogramme Idéal NT . Hidéal(i) = sin-1 - sin-1 p Histogramme Hidéal(i) Code i • 2k+1 Registres • 1 Additionneur, 1 Diviseur
- - Contrôleur Contrôleur Analyse : Architecture haut-niveau Entrée Structure BIST Optimisée Entrée Détecteur Entrée 2 Mots Mémoire (Histo. Mesuré) Opérations simples 2Mots Mémoires (Histo. Idéal) Exploitation Détecteur Entrée 2 Mots Mémoire (Histo. Mesuré) Opérations simples 2k+1Mots 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
- Contrôleur Contrôleur Détecteur Exploitation Analyseur : Implantation bas-niveau Entrée Structure BIST Détecteur 2 Mots Mémoire (Histo. Mesuré) Opérations simples 2Mots Mémoires (Histo. Idéal) Exploitation
Compteur Comparateur 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 Contrôleur Détecteur Exploitation
Sortie CAN [i-1] Sortie CAN[i] RDC_bloc_1bit RDC_bloc_1bit O2[i-2] O1[i-2] [ i] [ i-1] Nombre de Blocs= Nombre de bits Analyseur : Implantation bas-niveau Entrée Détecteur de Code Sortie CAN[i+1] Contrôle RDC_bloc_1bit O2[i+1] O1[i+1] [ i+1] Code suivant RDC_Set RDC_Clear Sortie Comparateur Contrôleur Détecteur Exploitation
H(i) Compteur if code = ithenR = R + 1 - H(1) - H(2n) if code = 2nthenR = R + 1 if code = 1thenR = R + 1 Compteur/ Décompteur 1 • Décalage • de (P+Z) bits m.HIdéal HIdéal = 2P & m = 2Z Compteur / Décompteur Analyseur : Implantation bas-niveau Entrée Module d’Exploitation 2 Mot Mémoire (Histo. Mesuré) Additionneur Soustracteur 2 Mots Mémoire (Histo. Idéal) Diviseur Contrôleur Détecteur Exploitation
RE_bloc_1bit RE_bloc_1bit RE_bloc_1bit S2[i-2] S1[i-2] [ i+1] [ i+1] [ i+1] EM_Out[i+1] EM_Out[i] EM_Out[i-1] Nombre de blocs= F(dGain,dNLD) Analyseur : Implantation bas-niveau Entrée Module d’Exploitation c1 c2 S2[i+1] S1[i+1] Ext_Clock EM_Clear Contrôleur Détecteur 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) begin nextEtat <= presEtat case (presEtat) is ... Synopsys Contrôleur Détecteur Exploitation
Sortie CAN [i] RDC_1bit Détecteur 6 x Nbits [ i] Exploitation RE_1bit 10 x HIdeal=25 & m=24 [ i] [ i+1] Contrôleur VHDL Sortie_RE[i] Analyseur : Implantation bas-niveau Entrée Exemple d’une Structure BIST Nombre de bits : 6 dNLD = 0.03 LSB dGain= 0.05 LSB Contrôleur Détecteur Exploitation
AMS0.6u Surface 3,3 mm2 100Ms/s 6 bits CAN 0,11 mm2 Analyseur 6 bits < 4,2 % Analyseur : Implantation bas-niveau Entrée Exemple d’une Structure BIST
- Contrôleur Analyseur : Implantation bas-niveau Entrée Structure BIST Optimisée Entrée Entrée Détecteur Entrée 2 Mots Mémoire (Histo. Mesuré) Opérations simples 2k+1 Mots Mémoires (Histo. Idéal) Exploitation
Approche classique LABVIEW Paramètres du CAN • Offset • Gain • DNL • INL 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 Notre Approche Paramètres du CAN • Offset • Gain • DNL • INL Comparaison
1,5 1,5 1,5 1 1 1 0,5 0,5 0,5 0 0 0 Analyseur : Implantation bas-niveau Validation Entrée NLD Erreur d’offset LSB LSB 0,5 0,25 0 Notre Approche # 1 # 2 # 3 # 4 # 1 # 2 #3 # 4 Approche Classique Erreur de gain NLI LSB LSB # 4 # 1 # 2 # 3 #4 # 1 # 2 # 3
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
2.0 100u 1.5 75u 1.0 50u 0.5 25u 0.0 0.0 -0.5 -25u -1.0 -50u -75u -1.5 -2.0 -100u 0.0 20u 40u 60u 80u 100u 120u Non-linéarité (V) NLmax 0.0 20u 40u 60u 80u 100u 120u time (s) Vinit Vout n 100µs Arampe (V) n = 15 bits time (s) Générateur de rampe auto-calibré Linéarité de la rampe générée Vdd M1 M2 M3 M5 M4 Step Step M9 M10 Vout M8 M7 C Vbias Init M6 Vctr
Erreur sur la pente 50 % 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
1 1 2 3 3 2 trampe Générer la rampe Comparer Vout ET Vréf Vctr(i) = Vctr(i-1) Dctr Générateur de rampe auto-calibré Principe d’auto-calibration Step Circuit Générateur de Rampe Vdd Step Vréf S1 Vout Vout IC S2 Init C Vcomp +Vsat Vinit -Vsat Vctr Vctr Vcomp Comparateur Module de Compensation Vréf Vsat temps trampe tcal
Dctr Générateur de rampe auto-calibré Chronogramme Trampe tcal Cycle i Circuit Générateur de Rampe Vdd Step Step S1 Vréf Vout IC Vout S2 Init C Vinit Vctr Vcomp Vcomp Comparateur Module de Compensation Vréf Vsat Vctr
F0 F1 F2 Vcomp Vsat -Vsat Vctr Module de compensation Dctr C2 << 1 C1 Générateur de rampe auto-calibré Module de compensation Vctr F0 F1 F2 Vcomp S1 S2 S0 C1 C2
Capacité parasite C2 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 +Vsat F2 F3 Vcomp + Vréf _ C1 F1 10pF -Vsat F2 F3 Comparateur Module de Compensation
Erreur sur la pente < 0.4% Linéarité < 13 bits Générateur de rampe auto-calibré Résultats de simulation 1.5V D< 1mV
Surface = 0,047 mm² Générateur de rampe auto-calibré Surface du générateur Circuit générateur de rampe : 30 % Capacité Capacité C de charge du circuit générateur de rampe AO Transistors AO Capacité Système de calibration : 70% Capacité C1 du module de compensation
Surface Analyseur de réponses de test 0,063 mm² Générateur de rampe auto-calibré 0,047 mm² Surface BIST/CAN Contrôleur 0,065 mm² 6 % Structure BIST Complète 0,175 mm² 3,3 mm² CAN Générateur de rampe auto-calibré Sortie Numérique Entrée Analogique n bits CAN Paramètres Fonctionnels Détecteur Générateur Exploitation Contrôleur
Générer une rampe précise + surface minimale • Miroir de courant • Système d’auto-calibration Intégrer la technique de test par histogramme • Technique de décomposition temporelle • Algorithme original • Optimisation haut-niveau et bas-niveau Résultats BIST fonctionnel pour CAN pour n < 13 bits Conclusion Objectif BIST fonctionnel pour CAN Stimuli Analyse
Réduction du Temps de test • Traiter plusieurs codes simultanément • Nouvelles architectures Perspectives • Implantation physique de l’analyseur de réponses de test • Conception d’un générateur de signaux sinusoïdaux Structure BIST pour signal d’entrée sinusoïdal Evaluation d’autres caractéristiques fonctionnelles