• No results found

Interpersonal: how the viewer is positioned in the exhibition

The first moment in the display of the San

4.5 Interpersonal: how the viewer is positioned in the exhibition

Una prueba de VCL consiste de cuatro secciones: Declaracion

Timing

Definicion de vectores Ejecucion de vectores.

Secciones de una prueba de vectores

Seccion de declaracion. Declara el tipo de prueba , los recursos del sistema requeridos, el tipo

de dispositivo y sus atributos. Todas las librerias deben contener al menos esta primera seccion de manera que el generado del programa pueda colocar los recursos del sistema y hacer las asignaciones de pines para el fixture.

Seccion de Timing Define cualquier timing especial.

Seccion de Definicion de Define los vectores a ser usados para probar el dispositivo

Vectores El uso de una seccion de definicion especial permite generar vectores complejos eficientemente. Si se estan bajando vectores de una archivo CAD, por ejemplo, se debe usar vectores PCF (Pattern Capture Format). Los vectores PCF (los cuales se explican mas adelante), combinan la definicion de vectores y las funciones de ejecucion y deben ser localizadas en la seccion de ejecucion de vectores de la prueba. Si todos los vectores en la prueba son vectores PCF , entonces la seccion de definicion no es requerida.

Seccion de ejecucion de Contiene vectores PCF y/o las intrucciones para ejecutar

vectores los vectores definidos en la seccion precedente. Esta seccion consiste de una o mas unidades digitales y (opcionalmente) subrutinas digitales; las subrutinas deben ser colocadas antes de las unidades digitales. Una unidad digital prueba una parte especifica de un dispositivo. En pruebas para dispostivos secuenciales, (memorias), el generador de programa descarta una unidad completa de la prueba si esa unidad ejecuta un vector que crea conflictos con el dispostivo. En pruebas para dispositivos combinacionales, las sentencias individuales pueden ser deshabilitadas si su ejecucion crea confllicto en el dispositivo.

Lista de Sentencias en Digital.

A continuacion se encuentra una lista de las sentencias de VCL asociados con cada seccion de la prueba.

Standard Test Statements

format (all sections). Formato de los estados de los pines include (all sections) Archivos "include"

warning (all sections)

Declaration section

combinatorial Estableciendo el ambiente sequential Estableciendo el ambiente processor Estableciendo el ambiente test digital Captura de datos

enable loop counter Habilita Homingloop generate debug dato de Debug

default device Asignacion de Recursos assign to Asignacion de Recursos inputs Asignacion de Recursos outputs Asignacion de Recursos bidirectional Asignacion de Recursos capture -- pack Captura de datos

fixed Salidas fijas en Homing loops power Asignacion de Recursos nondigital Asignacion de Recursos

wait line Retardos y Disparos de Hardware family Parametros de Prueba

vector cylce Parametros de Prueba receive delay Parametros de Prueba

wait terminated when Retardos y Disparos de Hardware use cards on Asignacion de Recursos

set load Parametros de Prueba set ref Parametros de Prueba set slew rate Parametros de Prueba set terminators Parametros de Prueba outputs limited to Requerimentos Varios

disable with Precondicion (deshabilitando y condicionando). disabled device Precondicion (deshabilitando y condicionando). condition with Precondicion (deshabilitando y condicionando). conditioned device Precondicion (deshabilitando y condicionando). on failure report Requerimentos Varios

drive vector at event receive vector at event end timing set

Vector Definition Section

vector Bloque de vectores initialize to Definicion de vectores set to Definicion de vectores receive Definicion de vectores drive Definicion de vectores upcounter Vectores con contadores downcounter Vectores con contadores graycounter Vectores con contadores end vector Bloque de vectores

Vector Execution Section

sub Subrutinas digitales subend (or end sub) Subrutinas digitales

unit Unidad Digital

execute Ejecucion de vectores preset counter Vectores con contadores count Vectores con contadores call Subrutinas digitales tied Conflictos con unidades homingloop Homing loop

end homingloop Homing loop generate nested repeat warning Ciclos de repeticion repeat times Ciclos de repeticion end repeat Ciclos de repeticion controllerloop control de Ciclos end controllerloop control de Ciclos

compress Compresion y Cyclic Redundancy Checks (CRC). capture Captura de datos

end capture Captura de datos

fetch Captura de datos

halt sentencia de Control de prueba. pause sentencia de Control de prueba. message Mensaje para vectore que fallan. continue analog sentencia de Control de prueba. delay for cooling sentencia de Control de prueba. end unit Unidad Digital

unit disable method Precondicion de mutlivectores unit disable test Deshabilitando dispositivos con buses.

end compress Compresion y Cyclic Redundancy Checks (CRC).

Declaracion de las sentencias de VCL.

Esta seccion contiene una breve descripcion de las sentencias de VCL, ordenadas en orden alfabetico.

! (commentario) Todas las secciones igual que el comentario de BT-Basic

assign to (Declaracion) asigna nombres (identificadores) a grupos de pines de los dispositivos.

bidireccional (Declaracion) declara cuales grupos de pines son bidireccionales.

Capture (Ejecucion de vectores) Comienza la captura de un bloque. Los datos capturados son almacenados en la RAM de captura. "capture" es tambien una palabra secundaria a sentencias de ejecucion de vector ("count" "execute"y "preset counter")

capture ---pack (Declaracion) especifica los nodos a ser capturados, el tipo de datos (serial o paralelos) y el formato de los datos.

call (Ejecucion de vectores) llama una subrutina digital y pasa los vectores a la misma.

combinatorial (Declaration) declara que el dispositivo a ser probado tiene solamente circuitos combinacionales, el default es "sequential"

compress (Ejecucion de vectores) inicia un bloque de compresion, las respuestas actuales del DUT en todos los vectores del bloque son añadidos al CRC.

condition with (Declaracion) provee al generador de programa la informacion necesaria para condicionar un dispositivo.

conditioned device (Declaracion) especifica cuales dispositivos , ademas del DUT han sido condicionados durante la duracion de la prueba.

continue analog (Ejecucion de vectores) usado en una prueba mezclada (mixed test) para detener (pausar) la prueba digital y ejecutar la prueba analogica.

controller loop (Ejecucion de vectores) marca el inicio de un ciclo controlado en una prueba mezclada.

count (Ejecucion de vectores) incrementa o decrementa un contador y ejecuta el vector que lo contiene.

default device (Decalaracion) usado en pruebas ejecutables para especificar el identificador de dispositivo a ser probado.

delay for cooling (Ejecucion de vectores) detiene la prueba digital para un periodo normal de retardo.

disable with (Decalaracion) provee al generador del programa la informacion necesaria para deshabilitar dispositivos con bus.

disabled device (declaracion) especifica cuales dispositivos ademas del DUT han sido deshabilitados durante la prueba.

drive (definicion de vectores) declara cuales pines bidireccionales son entradas en el dispositivo (drivers del sistema) para el vector en el cual aparece la sentencia.

enable loop counter (Declaracion) habilita los contadores homing loops.

end capture (Ejecucion de vectores) marca el fin de un bloque de captura.

end compress (Ejecucion de vectores) marca el fin de un bloque de compresion.

end controllerloop (ejecucion de vectores) marca el fin de un ciclo controlado en una prueba mezclada.

end homingloop (Ejecucion de vectores) marca el fin de un homing loop

end pcf (ejecucion de vectores) marca el fin de un bloque de vectores PCF

end repeat (Ejecucion de vectores) marca el fin de un ciclo repeat.

end sub (ejecucion de vectores) marac el fin de una subrutina digital.

end unit (ejecucion de vectores) marca el final de una unidad digital

end vector (definicion de vectores) marca el fin de un bloque de vector.

execute (ejecucion de vectores) ejecuta un vector (el cual no puede tener contadores

family (declaracion) declara los niveles logicos a ser usados en la prueba de l dispositivo (TTL, CMOS, etc)

fetch (ejecucion de vectores) fetches captura datos de la RAM de captura a las variables especificadas.

fixed (declaracion) indica los pines de salida que no seran multiplexados a los pines internos del circuito. En una prueba funcional , las salidas en un "exit if pass" en un hooming loop deben ser fijas.(fixed)

format (todas las secciones) declara la base (binario, octal, decimal, etc) de los numeros a ser usados por la sentencia"set to" en la seccion de ejecucion de vectores.

generate debug (declaracion) especifica que el archivo de debug (<test>.d)sera producido cuando el archivo VCL sea compilado.

generate nested repeat warning (ejecucion de vectores) especifica que los warnings seran un problema

si los ciclos repeat no son optimizados.

graycounter (definicion de vectores) asigna un contador de codigo gray a un vector.

halt (ejecucion de vectores) temporalmente detiene la prueba digital, coloca en tercer estado los drivers y regresa el control al testplan.

homingloop (ejecucion de vectores) marca el inicio de un homingloop

include (todas las secciones) especifica el archivo que contiene las sentencias de VCL las cuales seran usadas en la prueba cuando sea compi lada.

initialize to (definicion de vectores) copia la signacion de pines de un vector definido previamente.

Inputs (declaracion) declara cuales grupos de pines del dispositivo son entradas al dispositivo (drivers).

message (ejecucion de los vectores) especifica un mensaje a ser enviado al reporte de falla cada vez que falle un vector.

nondigital (declaracion) declara cualquier pin del dispositivo que no sea digital Estos pines son ignorados durante el analisis de seguridad.

on failure report (declaracion) especifica un mensaje de falla a ser enviado al reporte de falla en caso de que la prueba falle.

outputs (declaracion) declara cuales grupos de pines son salidas del dispositivo (receivers)

outputs limited to (declaracion) especifica el maximo numero de salidas las cuales

pueden ser alto (o bajo) al mismo tiempo (usado para analisis de SAFEGUARD).

pause (ejecucion de vectores) temporalmente detiene la prueba digital, mantiene los estados actuales de los drivers y regresa el control al testplan

pcf order is (declaracion) especifica el grupo de nodos a los cuales los vectores de PCF seran aplicados.

power (declaracion) declara cuales grupos de pines de un dispositivo estan conectados a nodos de alimentacion en la tarjeta (+5V, +3.3V, etc)

preset counter (ejecucion de vectores) coloca el contador a su estado inicial y ejecuta el vector que contiene el contador.

processor (declaracion) Selecciona el modo del procesador para la prueba.

receive (definicion de vectores) declara cuales pines bidireccionales son salidas del dispositivo (receivers) para el vector en el cual la sentencia aparece.

receive delay (declaracion) establece el tiempo de espera en los vectores entre la aplicacion de los drivers y la de los receivers.

repeat times (ejecucion de los vectores) inicia un ciclo "repeat" y especifica el numero de veces que sera ejecutado.

sequential (declaracion) declara que el dispositivo sera probado como un circuito secuencial (ej. Una memoria) , este es el default.

set load (declaracion) coloca una carga (pull-up o pull-down) a ser colocada en receivers individuales (salidas del dispositivo).

set ref (declaracion) coloca los niveles logicos en drivers y receivers individuales.

set slew rate (declaracion) coloca el "slew rate" a ser usados en drivers individuales.

set terminators (declaracion) conecta un terminador de diodo-clamp a un receiver, para mejorar la calidad de la señal a alta velocidad.

set to (ejecucion de vectores) especifica los estados asignados a un grupo de pines.

sub (ejecucion de vectores) marca el inicio de una subrutina y declara los nombres de sus vectores.

subend (ejecucion de vectores) marca el fin de una subrutina y regresa la ejecucion del programa al punto llamado "call"

test digital (declaracion) especifica el identificador local de las variables provenientes del testplan a la prueba.

test time (declaracion) especifica un estimado del tiempo tipico de ejecucion de la prueba.

tied (declaracion) identifica el grupo de pines los cuales estan conectados juntos para una unidad individual.

unit (ejecucion de vectores) inicia una unidad digital.

unit disable method (ejecucion de vectores) inicia una unidad digital la cual contiene sentencias de precondicionamiento para dispositivos que requieren precondicionamiento de multi-vector

unit disable test (ejecucion de vectores) inicia una uniadad digital que asegura que el dispositivo puede ser deshabilitado mientras otros dispositivos estan siendo probados.

upcounter (definicion de vectores) asigna un contador ascendente a un vector

use cards on (declaracion) especifica el tipo de pin card a ser usada para proveer los recursos a un grupo de pines.

vector (definidion de vectores) inicia un bloque de vector y nombra el vector

vector cycle (declaracion) establecee el tiempo de vector cycle , esto es , el tiempo entre el inicio de un vector y el inicio del proximo.

wait line (declaracion) especifica las salidas de la tarjetas las cuales seran usadas como disparos (trigger) para terminar los retardos de hardware.

wait terminated when (declaracion) especifica las condiciones en las wait lines que terminaran los retardos del hardware.

warning (all sections) añade mensajes de precaucion al reporte de la prueba en el archivo "ipg/details" generado por el generador del programa.

Vectores ordinarios y vectores PCF.

Los vectores ordinarios son definidos en la seccion de definicion de la prueba, estos vectores son ejecutados por las sentencias de ejecucion en la seccion de ejecucion de la prueba. Cada vector es definido por una serie de sentencias , las cuales , desde un punto de vista de diseño de pruebas, es mas eficiente que simplemente entrar caracteres de estados.

PCF (Pattern capture format- formato de captura de patrones) consiste de 1s y 0s . Es usado

con vectores generados en otros sistemas. Debido a que estos vectores pueden tener cualquier formato, deben ser transladados a un formato predefinido, PCF antes de que puedan ser usados en los sistemas HP3070. Los vectores PCF contienen las instrucciones de definicion y ejecucion de vectores asi que deben ir colocados directamente en la seccion de ejecucion de una prueba VCL.

Como se menciono, los vectores ordinarios, estan construidos de bloques de sentencias , pero los vectores PCF consiste de cadenas de 1s y 0s. Debido a esto, los vectores PCF son mas faciles de leer y entender que los vectores ordinarios, los vectores PCF son mas cortos ya que representan un patron simple , como un grupo de vectores representando un "walking-ones" usado para probar una RAM.

Vectores: ¿Que son?

Los vectores usan los pines de entrada-salida del DUT. Un vector representa un set de bits (1s y 0s) a ser enviados en paralelo a las entradas del dispositivo y un set de bits esperado en respuesta de las salidas del dispositivo.

El dispositivo es probado aplicando una serie de vectores al mismo, a travez de los drivers y receivers en las pin cards de la cabeza de prueba. Para cada vector, los drivers envian un patron de bits en paralelo a las entradas del DUT. Despues de algun tiempo de espera, los receivers leen las respuestas del dispositivo y comparan los datos recibidos contra los datos esperados. Si los datos actuales y los esperados son siguales, el proximo vector es enviado, si no son iguales, una falla es registrada y la correspondiente accion es tomada.

Ejemplos de vectores.

A continuacion un ejemplo de una seccion de definicion de un vector.

vector All_ones

drive Bus1 !Bidirectional group of pins declared as inputs set Data_in to "1111" ! Binary format (the default) - assigns "1" to each pin set Results to "F" ! Hexadecimal format - same as binary "1111" set Bus1 to"7" ! Octal format - same as binary "111" set I_O_bar to "1"

end vector vector Mixed

initialize to All_ones !copies all pin-states from vector All_ones set Data_in to "0010" ! Overrides the existing states

set Results to "9" ! Same as binary "1001" end vector

format binary Results !change format on this group from hexadecimal to binary vector Change

set Bus1 to "5" ! Same as binary "0101" set Results to "1001

set I_O_bar to "0" end vector

Tal como se puede ver en el ejemplo, el formato en el cual los estados son asignados a los grupos de pines estan determinados por la sentencia "format".

Asignando estados a vectores.

A continuacion una lista de los estados que pueden ser asignados a los drivers y receivers en los vectores. Estos estados pueden tambien ser usados en las sentencias "assign to " en la seccion de Declaracion.

1 >>>>> high alto 0 >>>>> low bajo

T or t >>>>> toggle complementa el estado anterior K or k >>>>> keep mantiene el estado anterior Z or z >>>>> off for drivers mantiene el tercer estado X or x >>>>> off for receivers no importa