Título: Dos métodos de dagnóstco de crcutos dgtales de alta y muy alta escala de ntegracón. Autor: Dr. Ing. René J. Díaz Martnez. Profesor Ttular. Dpto. de Automátca y Computacón. Fac. de Ingenería Eléctrca. ISPJAE. Cuba. Teléfono: 98-0244. E-mal: renejdm@yahoo.com ó renejdm@electrca.spjae.edu.cu Abstract. Two methods to detect the prncpal falures n LSI and VLSI dgtal crcuts are presented n ths paper. These methods can allow mantenance specalsts to detect many faults n a bref tme. These results can be used to create dagnostc software and BIOS for any mcroprocessors based equpment. Resumen. En este trabajo se plantean dos métodos de dagnóstco que permten detectar un grupo de fallos comunes en crcutos dgtales de alta y muy alta escala de ntegracón. Dchos métodos pueden ser de gran utldad a los especalstas de mantenmento para detectar fallos en un tempo relatvamente corto, así como emplearlos en el dseño de software de dagnóstco o en los programas BIOS de cualquer equpo con mcroprocesadores.
- Introduccón. Los sstemas electróncos basados en la técnca de los mcroprocesadores (SEM) contenen dentro de sus arqutecturas crcutos de alta y muy alta escala de ntegracón, por ejemplo mcroprocesadores, memoras, controladores programables, nterfaces programables de E/S, etc. Dada su complejdad sempre resulta una tarea dfícl la deteccón de un posble fallo, por lo que los dseñadores parten de una sere de consderacones [1] que hacen más fácl dcha tarea, entre ellas: 1.- Consderacones de dseño del hardware, esto es, la elaboracón de una estratega de dagnóstco dentro del hardware del sstema que puede constar de: sensores térmcos, técnca para la medcón de IDDQ, pnes para habltar el autochequeo de los procesadores, un programa para la supervsón y control de estos dspostvos y un elemento de ndcacón de errores. 2.- Consderacones de los bloques de trabajo, o sea, el dseño de una polítca de mantenmento orentada a bloques o módulos del sstema (procesador, memoras, E/S). 3.- Consderacones del sstema, representan el nvel superor y comprenden cómo detectar, localzar y reparar el módulo (componente) que falló. Para materalzar las consderacones 2 y 3 será necesaro dagnostcar los crcutos que componen el SEM a través de 3 alternatvas posbles: 1.- Dagnóstco solo en el arranque del sstema, una de las más usadas por la sencllez de su materalzacón (memora ROM y algunos bytes de RAM). Tene como nconvenente que solo se ejecuta durante el arranque y por lo tanto s ocurre algún fallo durante la operacón posteror del sstema, este no es comuncado, pudendo acarrear grandes dfcultades en su desempeño. 2.- Dagnóstco como tarea de fondo, el sstema es dseñado de manera tal que sempre esté ejecutando un programa de dagnóstco, y que cada vez que se desee realzar otra tarea, se le comuncará al sstema por nterrupcón. Esta alternatva requere un mecansmo de nterrupcón adecuado, que valore las prordades de las posbles tareas a realzar, así como de un análss de tempo para desarrollar las msmas sn entrar en conflctos. 3.- Dagnóstco como tarea del sstema, consste en dsponer de un programa de chequeo el cual puede ser nvocado como una tarea más de las que puede realzar el sstema. Como en el caso anteror es necesaro tener en cuenta el tempo que dura esta tarea pues podría afectar el desarrollo de otras más prortaras. Tomando en consderacón los elementos anterores en este trabajo se proponen dos métodos para dagnostcar algunos fallos comunes a los crcutos menconados. - Propuesta de dos métodos de dagnóstco. Un método de dagnóstco basado en pruebas funconales determnístcas [2] se defne a partr de un modelo o conjunto de fallos [3]. A su vez, el modelo de fallos se establece tomando en cuenta la arqutectura nterna de los crcutos. De nvestgacones realzadas por dstntos autores puede notarse que exsten fallos que son comunes a varos tpos de crcutos ntegrados, por ejemplo: 1.- Problemas en la decodfcacón de las dreccones de: a) Las localzacones de memora. b) Los regstros generales de un mcroprocesador. c) Los regstros de trabajo de las nterfaces y controladores programables. 2.- Problemas con los elementos de almacenamento de la nformacón. a) Cortocrcuto, puesta a cero o puesta a uno de las celdas que componen una localzacón. b) Cortocrcuto, puesta a cero o puesta a uno de los bts de los regstros de mcroprocesadores, nterfaces y controladores programables. 3.- Problemas a la hora de realzar operacones báscas dentro del sstema. a) Lectura y escrtura de nformacón en las memoras. b) Lectura y escrtura de los regstros de mcroprocesadores, nterfaces y controladores programables. c) Decodfcacón de las nstruccones en los mcroprocesadores.
Consderando los elementos anterores el autor de este trabajo defnó los métodos de Marcha Modfcado y Marcha por Columnas [1] dervados del método de Marcha estándar, con los cuales pueden detectar gran parte de los fallos planteados. Marcha estándar es un método o prueba funconal determnístca, dervada de un modelo de fallos y que se basa en la escrtura/lectura de patrones bnaros. Marcha Modfcado camba los dos patrones orgnales del estándar, escogéndose de la forma sguente: sea n el número de bts de cada localzacón de la memora, representándose cada bt de la localzacón o palabra como b, con 1 n, y la palabra completa como b1b2b3... bn, s se dvde en dos partes guales la cantdad de bts, el patrón P puede representarse por: P = [b1 b2... bn/2] [b(n/2)+1 b(n/2)+2... bn] Y se hace: f1 = [b1 b2... bn/2] y f2 = [b(n/2)+1 b(n/2)+2... bn] Quedará de forma smplfcada: P = f1f2 Los valores de cada bt de los dos prmeros códgos a utlzar por el método serán: - P1, que cumplrá que: 1.- f1 = f2 2.- b1 = b2 =... = b(n/2) y b(n/2)+1 = b(n/2)+2 =... = bn - P2 = P1 Con estos patrones se procede a ejecutar el método de Marcha estándar cuya secuenca de operacones por cada localzacón vene dada por las dos llamadas del procedmento Pass, cuyo seudocódgo aparece en la fgura 1. A contnuacón de ejecutar estos pasos, se escrbrán y leerán los códgos de tantos unos como ceros restantes y que no fueron tomados (las dos nstruccones for al fnal del algortmo). MODIF MARCH TEST; Const NC; {# de celdas de memora} NE; {# máxmo de elementos del arreglo} Type Vector:= Array [1..NE] of Byte; b: Vector; k, m, c: Integer; {c: número de celdas, k: patrones, m: número de patrones} Procedure Pass (b: Vector; c: Integer); for c:=1 to NC do w c b for c:=1 to NC do c b, c r w j b c for c:=nc downto 1 do b, c r wb end Procedure; Begn Pass (b1, c); Pass (b2, c); for k:=3 to m do for c:=1 to NC do w c b[k], r c b[k] endfor End. Fgura 1. Algortmo de Marcha Modfcado.
Nota: Las operacones r c b y w c b ndcan la lectura y escrtura de un valor b en una celda de memora c respectvamente, lo cual se puede extender a las restantes operacones smlares que aparecen en el algortmo. Nótese que el algortmo está dseñado para aplcárselo al arreglo de localzacones de una memora, pero de la msma forma se le puede aplcar al arreglo de regstros de un mcroprocesador o de un controlador programable. Hacendo un análss del método se puede plantear que: 1º. Al ejecutar los dos prmeros for del método se logra por cada undad de almacenamento (localzacón o regstro) escrbr un patrón, leerlo y complementarlo, con lo cual se detectan problemas de seleccón y de cortocrcutos con las undades de almacenamento que le suceden. 2º. Con el tercer for se logra por cada undad de almacenamento leer un patrón y complementarlo, con lo cual se detectan problemas de seleccón y de cortocrcutos con las undades de almacenamento que le anteceden, además de la puesta a cero y la puesta a uno. 3º. Al ejecutar por segunda vez Pass y los últmos for, se han escrto y leído los patrones de tantos unos como ceros que garantzan la deteccón del cortocrcuto entre bts de una msma undad de almacenamento. S el método anteror se aplca por columnas devene en el método de Marcha por Columnas [1], cuyo algortmo se muestra en la fgura 2. MARCH COL TEST; Const NE; {# máxmo de elementos del arreglo} Type Vector:= Array [1..NE] of Byte; b: Vector;, j, R, S: Integer; {: flas, R: máxmo número de flas,j: columnas, S: máxmo número de columnas} Procedure Pass (b: Vector;, j, R, S: Integer); : Integer; aj a { : memory cell address} j for :=0 to S-1 do for :=0 to S-1 do b a j, w a b j r w for :=S-1 downto 0 do end Procedure; Begn Pass (b1,, j, R, S) Pass (b2,, j, R, S) End. a b j r w a j, b b a j Fgura 2. Algortmo de Marcha por Columnas.
Este método detecta los fallos de V-acoplamentos smples para V=2, entre las celdas y j de una msma columna del arreglo de una memora, porque para ello ejecuta las operacones planteadas y demostradas por Cokburn en [4], y que son: 2 V V - 1-1 w 0. 2 w. 1 Una escrtura ncal de la celda además de las escrturas hechas en a) y b). Una r cuando C se espere sea cero. Una r cuando C se espere sea uno. Del método se puede comprobar que por cada celda se ejecuta la secuenca w, r, w, r, w, w, r, w, r, w, que cumple con todas las operacones enmarcadas en los 0 0 1 1 0 1 1 0 0 1 cnco ncsos anterores. Conclusones. Los métodos propuestos tenen algunas característcas que los hacen apropados para detectar de forma rápda y senclla problemas frecuentes en los crcutos de un SEM. En prmer lugar son pruebas de escrtura/lectura, cuya duracón total guarda una dependenca lneal respecto al número de undades de almacenamento. Los códgos que utlzan pueden escogerse de entre una ampla gama de códgos bnaros. Su programacón resulta senclla en cualquer plataforma que se materalcen, no ocupando espacos grandes de memora, por lo que son apropados tanto para las operacones de mantenmento como para su ncorporacón en los dagnóstcos de autochequeo de encenddo que ncorporan los BIOS de cualquer SEM. Referencas bblográfcas. [1] Díaz, René J. Metodología para el análss y cálculo de la mantenbldad de los sstemas basados en la técnca de los mcroprocesadores. ISPJAE. Facultad de Ingenería Eléctrca. Departamento de Automátca y Computacón. Cudad de La Habana, julo 1999. [2] Cockburn, B. F. Tutoral on semconductor memory testng. Journal of Electronc Testng: Theory and Applcatons (Boston, EE.UU.), V 5, p. 321-336, 1994. [3] Van de Goor, A. J. Testng semconductor memores: Theory and Practce. Chchester, Gran Bretaña, John Wley & Sons, 1991. [4] Cockburn, B. F. Determnstc tests for detectng sngle V-couplng faults n RAMs. Journal of Electronc Testng: Theory and Applcatons (Boston, EE.UU.), V 5, p. 91-113, february 1994.