Mostrando entradas con la etiqueta FPGA Editor. Mostrar todas las entradas
Mostrando entradas con la etiqueta FPGA Editor. Mostrar todas las entradas

sábado, 11 de abril de 2015

Tutorial ISE - ISim - IMPACT

Hace tiempo que me vienen pidiendo un tutorial introductorio completo del ISE de Xilinx... la verdad es que habiendo tantos en la red me negaba a invertir tiempo en escribirlo, testearlo, implementarlo, etc.... Sin embargo un día realicé una especie de leída general en la web de los tutoriales disponibles, y me quedé, insatisfecho con lo que encontré... Así es que, me puse manos a la obra y la verdad es que me llevó bastante tiempo, por lo que espero les sea útil.

Este tutorial incluye creación de proyecto en ISE, uso de los procesos mas importantes del ISE, comprensión de reportes, uso del ISim (bastante detallado), uso de IMPACT, e implementación en un board Nexys2 del ejemplo del tutorial (por supuesto que se puede perfectamente adaptar a otros boards como Nexys3, Nexys4, XUPV5, etc). También hay un anexo del uso básico de FPGA Editor, Post P&R Timing y la instalación del ISE Web Pack. 

Para bajar el documento hacer click en este link: Tutorial ISE ISim IMPACT

Los archivos usados en el tutorial se pueden bajar de: Archivos del Tutorial ISE


Una vez mas EXITO en sus proyectos....! !

viernes, 11 de abril de 2014

Correcto uso de Reset en FPGAs y su Codificación en VHDL


Introducción


En esta nota técnica se describirán con bastante detalle los distintos tipos de reset que se pueden usar en un sistema digital, sus ventajas y desventajas, y cual de ellos es el más aconsejable a usar para tener un sistema más confiable.

A pesar de que el reset de un sistema es un tema crítico, pocas veces se le da la importancia que tiene y es usualmente uno de los aspectos ignorados en un diseño con FPGA. Un circuito de reset que no se comporte correctamente resulta directamente en un mal funcionamiento aleatorio del sistema. Y como ya sabemos, los problemas aleatorios, no repetitivos, de un sistema son los más difíciles de depurar.

Un diseño puede tener reset sincrónico o asincrónico. Normalmente la señal de reset es generada externamente al FPGA, por lo que es una señal asincrónica. Básicamente la señal de reset es una entrada al sistema que posibilita la correcta inicialización del mismo. Como así también, pueda forzar al sistema a ese estado inicial cuando haga falta (por ejemplo, cuando el sistema se ‘cuelga’, o se va de su normal funcionamiento). Esta señal asincrónica puede sincronizarse a través de un circuito sincronizador, para de este modo crear una señal de reset sin glitches y por lo menos de un ciclo de reloj de ancho. Sin embargo, como se detallará en los próximos puntos el reset totalmente sincrónico puede ocasionar alguna fallas aleatorias, por lo que se propone otro circuito a fin de hacer el sistema más confiable.


.........................................................................................................................................................

Comencé a escribir este blog, investigué bastante, y me encontré conque no hay algún lugar donde se pueda encontrar lo que yo considero importante de este tema. Por eso armé algo basado en mi experiencia, más una que otra información, y me quedó un blog kilométrico, que no creo conveniente publicar algo tan largo como un blog; por lo que sí te interesa este tema podes bajar el pdf desde este -link-

Espero te sea útil. 

Hasta pronto, y gracias por visitar mi blog. . . 

Cristian 

jueves, 28 de octubre de 2010

Añadir puntos de pruebas (probes) en FPGA Editor

Esta es una técnica aconsejada para usuario avanzados, recomendada cuando el tiempo de P&R del diseño es muy largo (>2 horas). 
Añadir puntos de pruebas puede ser algo de mucha ayuda cuando se necesita debug un diseño complejo. Dado que un FPGA es un dispositivo programable usualmente hay elementos disponibles que pueden ser usados luego de haber Place & Route el diseño. El caso típico es por ejemplo que se desee saber el valor lógico de una señal interna de un diseño, para ello se puede routear esa señal interna a algún I/O pin disponible y de fácil acceso para poder usar la punta del Oscilloscopio o Analizador Logico. Tambien puede ser útil para routear una senal interna a un LED del board que está conectado a un I/O pad específico. La herramienta FPGA Editor, parte del ISE, ofrece la posibilidad de seleccionar (probe) cualquier red interna y automáticamente rutear la(s) señales deseadas al I/O pin que se necesita.

Los pasos a seguir son los siguientes:
  1. Una vez Place & Route el diseño, doble-click en el proceso “View/Edit Routed Design (FPGA Editor).
  2. Una vez abierta la ventana de la herramienta FPGA Editor, de la columna de botones sobre la derecha  de la pantalla, presione el botón ‘probes’.
  3. En la ventana ‘Probes’ presione el botón ‘Add’ (primer botón sobre la derecha).
  4. Una nueva ventana aparecerá llamada ‘Define Probe’. Esta ventana tiene dos partes principales:  
    • La parte superior, ‘Select Net’, se refiere a las redes (nets) disponibles pare rutear. Recuerde que una vez que el diseño ha sido P&R algunas señales cambian el nombre, como asi también aparecen nombres como N3, N5, etc. En esta parte de la ventana se debe seleccionar la red deseada. 
    • La parte inferior, ‘Select Pin Numbers’,  se refiere a los I/O pines disponibles para rutear la red seleccionada en la parte a). Hay dos métodos para seleccionar el I/O pin (del menú ‘Method’), uno es automatico, la herramienta selecciona el pin (normalmente el que de menos retardo de ruteo); y el otro método es manual. En el Manual en la columna inferior izquierda, ‘Available Pins’, se selecciona el I/O pin y una vez seleccionado se lo ‘transfiere’ a la columna derecha, ‘Selected Pins’, presionando el botón ‘>’.
  5.  El proceso descripto en el punto 4. se puede repetir tantas veces como se necesite.
  6.  Una vez finalizado se presiona OK. En la ventana ‘Probes’ deberán ahora aparecer las redes seleccionadas, sus respectivos I/O pins y una estimación del retardo para alcanzar la salida desde el punto de conexión de la señal seleccionada.
  7. Es conveniente usar la opción ‘Save Probes’ para guardas los puntos de pruebas y sus pines asociados. En un futuro uso se puede usar la opción ‘Open Probes’ para abrir los puntos de pruebas anteriormente guardados. 
  8. ‘Close’ cierra la ventana ‘Probes’, retornando a la ventana del FPGA Editor.
  9. Ahora es necesario grabar los cambios realizados al original diseño. File-> Save o File-> Save As para cambiar el nombre. Por ejemplo rs_232_con_probes.ncd. De este modo se puede distinguir el .ncd original del .ncd con puntos de pruebas.
  10. El último paso es generar el respectivo archivo de configuración del FPGA, y descargarlo en el FPGA. Si ha usado un nombre diferente para el .ncd grabado (punto 9), se debe tener cuidado de generar correctamente el archivo de configuración. 


Espero q les sea de utilidad.....