Pruebas del Sistema

Anuncio
5
Pruebas del
Sistema
5.1 Introducción
En este capítulo se va a mostrar la interfaz operando, de tal forma que
se aprecie realmente y con imágenes qué es lo que hace y cómo lo hace. Para
que resulte más intuitivo, el desarrollo de este apartado va a seguir un caso
típico de uso, que va a comenzar por la creación de un proyecto nuevo,
abarcando hasta el uso de los modos SnapShot o Step e incluso mostrando el
modo Colapsado.
91
Pruebas del Sistema
El propósito de este cometido no es realizar un manual de usuario, pues
no se va a profundizar tanto en las opciones, sino mostrar un ejemplo de
creación y depuración de un proyecto para que resulte más sencillo para el
usuario abordar él sólo la herramienta sin haberla trabajado antes.
5.2 Definición del Proyecto
Al ejecutar el programa, aparece la interfaz en blanco, y tan sólo
tenemos disponibles las opciones del menú File y su barra de herramientas
correspondiente que obligan al usuario a crear un nuevo proyecto o a abrir uno
existente. En este caso se va a crear un proyecto desde cero, para que se vea
como se ejecutan los comandos del menú Edit.
Nos vamos al menú File - Create Project o al elemento Create Project de
la barra de herramientas, aparece el diálogo de la figura 22 donde se introduce
el nombre del nuevo proyecto, en este caso se llamará Prueba. Una vez
decidido el nombre, aparece el diálogo para introducir el fichero .ll que contiene
el diseño, en este caso ese fichero se llama: ftunshades_top.ll.
Una vez elegido todo esto, aparecen todos los registros del diseño en la
zona de información del diseño, los TTreeView se rellenan con el nombre de
proyecto (cuyo valor correspondiente es NIL) y con un primer bus llamado
Bus1; además se habilitan dos opciones en el menú Edit: Edit Bus y Create
Bus. De esta forma se nos presentan dos formas de continuar:
•
Edit Bus: Se edita el Bus1 añadiéndole los registros que queramos
para rellenarlo, de esta forma aparece un bus llamado Bus1 con un
determinado contenido.
•
Create Bus: Aparece el cuadro de diálogo de Create Bus, que nos
permite añadir registros individuales o buses predefinidos, y además
dar un nombre cualquiera al bus; de esta forma el primer bus no se
llama necesariamente Bus1, sino el nombre que se haya
proporcionado.
92
Pruebas del Sistema
El usuario puede elegir la que más le convenga según el tipo de bus que
va a crear, ya que si va a usar un bus de los que están predefinidos es mucho
más fácil y cómodo hacerlo con Create, pero para un bus pequeñito y del cual
no interesa mucho el nombre se puede usar directamente Edit.
Además, si lo que se quiere es crear varios buses de una vez entonces
se debe elegir la opción de Create, ya que como se puede observar en la figura
24, se nos proporciona una opción llamada Add por la cual se puede elegir el
contenido de un bus, pulsar Add y automáticamente el diálogo se prepara para
elegir otro bus, limpiando el nombre antiguo y las listas de destino y rellenando
las listas de registros y buses de nuevo; de esta forma se pueden crear cuantos
buses se deseen de una sola vez.
Una vez se ha creado el primer bus, se permite el acceso al resto de
funciones del menú Edit y la opción Load Bit, del menú Simulate y su barra de
herramientas; esto es porque la simulación puede tener un solo bus o muchos,
el número de los mismos no importa, pero debe existir al menos uno para tener
registros que inspeccionar, de la misma forma tampoco pueden existir buses
vacíos pero sí con una sola señal.
Si se quiere añadir o quitar registros se usa la opción Edit, si por el
contrario se desea eliminar uno de los buses creados se usa la opción Delete
Bus; pero si se desea cambiar el nombre de un bus para hacerlo más
representativo o para que no existan dos buses con el mismo nombre se usa la
opción Change Name; usar Modify Bus no tiene sentido ahora.
Con todas estas funciones se está perfectamente capacitado para crear
el
proyecto
que
queremos,
seleccionando
los
registros
deseados
y
agrupándolos de la forma más cómoda para cada uno de los usuarios; una vez
realizado todo esto tenemos el proyecto listo para la simulación.
5.3 Preparando la Interfaz
Antes de comenzar la simulación se puede decidir el aspecto que va a
tener la misma, para ello tenemos el menú Tools, que nos proporciona diversos
93
Pruebas del Sistema
medios para realizar estos cambios, algunas de estas opciones se deben usar
antes de comenzar la simulación, pero otras pueden irse alterando a lo largo de
la misma.
Al formar el proyecto puede que los registros dentro de los buses se
hayan añadido de manera rápida o se hayan cambiado varias veces, o
sencillamente los hemos añadido tal y como aparecen ordenados, esto quiere
decir que el primero será el que tiene el menor índice, pero eso significa que
cuando leamos el valor del bus y lo representemos estamos obligando a que el
registro más significativo sea ese registro de menor índice (sabiendo que el
registro con índice 0 es el lsb del bus). Para cambiar esto existe la opción Sort
Nets del menú Tools, que ordena los registros de cada bus de forma que el
primero sea el más significativo y el último el menos significativo, así al hacer la
lectura del bus tenemos el valor tal y como debe ser. Claro está que no es
obligatorio ordenar los registros de esta manera, por eso se ha dado como
opción y no como requisito; además esta opción es obligatoria elegirla antes de
comenzar la simulación.
Otra cosa que podemos elegir es el formato en el cual se va a
representar la información, esto se puede ir cambiando a lo largo de la
simulación dependiendo del usuario. Tenemos tres opciones, ver el valor de los
buses en hexadecimal, binario o en decimal. El modo colapsado es otra cosa
que se puede seleccionar en cualquier momento, ya que sólo influye en la
representación.
Pero la forma más llamativa de personalizar la interfaz es con la opción
Preferences, donde se puede escoger el grosor, color y tipo de línea que va a
tener la simulación, así como el color y relleno de la zona desconocida de la
misma; y el color y grosor de los ejes, dándole un aspecto más agradable y
único para cada uno de los usuarios, pudiéndose cambiar en cualquier
momento si resulta incómodo o si se desea otra combinación.
Como se ha mencionado antes, podemos usar las opciones de cambiar
el rango antes de comenzar la simulación, y durante cualquier momento del
94
Pruebas del Sistema
uso de la interfaz, así se puede ver el rango que se va representar y, por
ejemplo, preparar la pantalla para un modo snap o step cuyo número de
muestras sea indefinido y poder de esta manera ver todo lo que ocurre sin
necesidad de parar y cambiar la visualización.
5.4 Realizando la Simulación
En este apartado es dónde realmente se tratan las pruebas realizadas
sobre el sistema y dónde se analiza la funcionalidad de la interfaz.
Lo primero que se debe hacer es cargar el fichero .bit, ya sea a través
del menú Simulate o directamente por el botón Load Bit de la barra de
herramientas, ya que esto es lo que habilita el resto de funciones que antes no
eran accesibles.
Una vez está cargado el diseño en la placa ya sólo queda ejecutar los
comandos de simulación para estudiar el valor de los registros seleccionados,
el primer comando que se va a mostrar es el más sencillo y básico: el Step.
Como se ha visto anteriormente se ha comentado que se podían realizar steps
múltiples o simples, para mostrar el resultado de cada uno de ellos se ha
realizado unos steps simples seguidos de un par de steps múltiples de 8 y 16
ciclos cada uno; esto se observa en la figura 38.
Figura 38: Simulación de steps simples y múltiples.
95
Pruebas del Sistema
El cometido del step simple es muy sencillo, se avanza un ciclo en la
simulación y se recoge el valor de los registros en el dispositivo para
posteriormente representarlos; el del step múltiple es el mismo pero en vez de
avanzar un solo paso se avanza una determinada cantidad, de esta manera
podemos ir avanzando en la simulación una cantidad fija de pasos (nótese que
el número máximo de estos pasos no está fijado) e ir comprobando el estado
del diseño.
Otro de los comandos básicos en una simulación que se encuentran en
la interfaz es el Reset, como se puede observar en la figura 39, un reset
provoca una vuelta al ciclo cero, con su respectiva lectura en ese punto, que
limpia la pantalla y la deja lista para volver a comenzar el depurado del diseño
desde cero.
Figura 39: Simulación del Reset.
Se pasa ahora a comandos más específicos de la interfaz a los que no
se está familiarizado, el primero de ellos es el Resume, al pulsar este botón se
sume al dispositivo en un estado en el que está funcionando a su velocidad
normal, por lo que, para conseguir averiguar el valor que tienen los registros del
mismo se usará el comando Snap. De esta forma tenemos el dispositivo
funcionando de forma independiente a nosotros y gracias al Snap vamos
tomando “fotografías” de su estado en el tiempo, está claro que con este
método no se puede fijar en qué momento se leerán los valores, eso depende
de la pericia del usuario y de cuándo pulse el botón o el menú.
96
Pruebas del Sistema
Figura 40: Simulación de Resume y Snap.
Como se observa de la figura 40, para poder visualizar varias muestras
en la pantalla se tiene que aumentar mucho el rango y por lo tanto entramos en
lo que se llama “modo extendido”, esto significa que ya que debido al rango un
ciclo ocuparía menos de un píxel en pantalla y por lo tanto sería invisible, se fija
el ancho de cada ciclo que contenga un valor (sólo estos ciclos) a 10 píxeles
para que la representación sea agradable y fácil de leer. Para volver la placa a
su estado controlado tan sólo se debe volver a pulsar el botón de Resume, en
el Historial se nos avisa de cual es el estado en el que se queda la placa
después de pulsar el botón, ya que no hay otra forma de saber si la placa está
en estado controlado o no pues es transparente al usuario.
Los dos comandos que quedan son los más complejos pero a la vez los
más completos y útiles, el SnapShot Mode y Step Mode. El primero es muy útil
ya que proporciona una manera de, con la placa en estado descontrolado
(funcionando a su velocidad de reloj), conseguir muestras del estado del
dispositivo a intervalos regulares de tiempo fijados estos por el usuario. Estas
muestras tienen un espaciamiento mínimo determinado por el tiempo que se
tarda en realizar la lectura del dispositivo y el procesado de dicha información,
éste se indica en el diálogo correspondiente para nuestra información.
97
Pruebas del Sistema
Figura 41: Simulación del modo Snap.
Otra característica del modo snap es que se puede fijar la cantidad de
muestras que se van a tomar, o dejar que se vayan tomando muestras hasta
que el usuario decida y pare el muestreo usando el botón de stop, este botón
funciona en ambos casos: número de muestras conocido o no. La ventaja de
este método es que permite al usuario ir viendo la evolución de los registros y
cuando desee volver al modo controlado e ir ejecutando mediante steps para
realizar un depurado paso a paso hasta acercarse al punto deseado.
Con el modo snap se realiza un estudio de la placa a grosso modo, es
decir, el avance en el tiempo de la simulación es mucho más rápido, pero
también se toman menos muestras de los registros y tenemos menos
información de la evolución de los mismos. Para el caso contrario existe el
modo step, que realiza una simulación paso a paso continua del dispositivo,
avanzando ciclo por ciclo y leyendo el valor en cada uno de ellos. De esta
forma se tiene un cronograma completo de la evolución del estado de la placa
ya que este modo nos proporciona las mismas opciones que el anterior,
número fijo o no de muestras a tomar y botón de parada para decidir el final de
la simulación continua.
98
Pruebas del Sistema
Figura 42: Simulación del modo Step.
Un detalle importante es que el modo Step no es igual que el anterior en
cuanto que en el modo Step conocemos el estado de la placa en todos los
ciclos, por tanto si aumentamos demasiado el rango hasta entrar en el “modo
extendido” perderemos la visualización ya que los valores se superpondrán
unos a otros y no se apreciará la individualidad de cada ciclo. Es obvio que
debido a esto el modo step no está directamente limitado por el número de
ciclos (o pasos que se dan) pero sí por el número de aquellos que se quieren
visualizar en la pantalla.
Todos estos comandos son accesibles tanto a través del menú Simulate
como a través de la barra de herramientas SimBar con los nombres que se han
dado aquí (excepto los modos Snap y Step que se encuentran exclusivamente
en el menú) y con los diálogos que se vieron en el capítulo anterior.
Esta es la funcionalidad que nos proporciona la interfaz, una interfaz de
depuración y por lo tanto ese es su cometido, conseguir información, en este
caso del dispositivo conectado, y representarla. Se han visto las formas de
conseguir información, unas más simples y otras más complejas, pero entre
todas ya sea de manera individual o completándolas se cubren todas las
necesidades que se le pueden plantear al usuario durante la simulación.
Existen formas de acercarnos lentamente a un ciclo o estado en concreto
(steps simples, múltiples y modo step) y de ir muestreando la placa de cuando
en cuando para comprobar el estado (snap y modo snapshot). Un sistema
99
Pruebas del Sistema
típico de uso es comenzar un modo Snap e ir comprobando la salida hasta que
se vea algo distinto de lo esperado o se llegue a un ciclo determinado, usar el
botón de stop para volver al modo controlado y abrir un modo step o ejecutar
steps hasta que lleguemos a aquél ciclo o estado que nos interesa. De esta
forma hemos combinado toda la funcionalidad y conseguido una herramienta
potente que cumple con nuestras necesidades de forma satisfactoria.
Figura 43: Combinación de funciones.
Pero aparte de conseguir la información, otro punto importante es la
representación de la misma, para ello existen otras funciones contenidas en la
barra de herramientas SimTools que se listaron en el capítulo anterior y
aquellas que son exclusivas de la pantalla (de las cuales no se ha hablado
hasta ahora): el zoom y el scroll. Al pulsar el botón izquierdo del ratón aparece
una línea amarilla vertical en la pantalla, y conforme se desplaza el ratón hacia
100
Pruebas del Sistema
la derecha otra línea horizontal, el final de esta es el que delimita el área de
zoom que termina en el momento en que se levanta el botón del ratón, con esto
podemos adaptar la visualización a una zona concreta. Si el movimiento del
ratón es hacia la izquierda en lugar de hacia la derecha se hace un reseteo de
la visualización volviendo a la división cero como primera división en pantalla;
este comando es útil para volver al punto de partida de cada simulación. El
scroll es el movimiento a través de la pantalla que se realiza al pulsar el botón
derecho del ratón, si se mantiene pulsado mientras se mueve el ratón la
ventana se desplazará tal y como hemos indicado, si el movimiento ha sido
hacia la izquierda pasaremos a ciclos más altos, y si ha sido hacia la derecha a
ciclos inferiores, sabiendo que el primero siempre es el ciclo 0.
Figura 44: Representación del zoom.
Tal y como se ha comentado la representación es tan importante como
la información, y para que se puedan explotar las dos al máximo existe el modo
colapsado, donde se pueden representar los buses que contengan tantas
señales que no quepan en la pantalla y así poder observar su valor. Este modo
que se activa a través del menú Tools o de la barra de herramientas ColBar
soporta todas las funciones de simulación que se han probado: Step, Reset,
Resume, Snap, SnapShot y Step Mode, zoom y scroll.
101
Pruebas del Sistema
Figura 45: Simulación en modo colapsado.
Al no aparecer los registros por separado no se puede apreciar su
evolución visualmente, para ayudar a esto se representa el valor que va
adquiriendo cada uno de los buses en el centro de la pantalla conforme estos
vayan cambiando de valor. Pero esto no proporciona valores pasados, para ello
puede volver a expandirse los buses y ver el valor de cada registro o activar el
botón Inspect de la barra de herramientas, con esta opción se visualiza el valor
de cada bus allí donde pulsemos con el botón izquierdo del ratón, apareciendo
el ciclo al que pertenece ese valor en la ventana Time. Si en el ciclo que se ha
elegido no se hizo un muestreo del dispositivo se proporciona el ciclo más
cercano, el cual es el que aparece en la barra de herramientas. Gracias a esto
el usuario puede conocer el valor de cada uno de los buses sin necesidad de
expandir los buses, de una forma mucho más directa y clara ya que este valor
aparece directamente en pantalla.
El usuario puede cambiar siempre que quiera el modo de visualización
ya que no hay ninguna dificultad en pasar de uno al otro, y así podrá elegir en
cada momento cuál es el que conviene al estado o tipo de simulación que
realiza.
102
Descargar