Escrito por : Walter Moreno Quiroz
Objetivos
En esta práctica se describirá como se puede transformar archivos que estén escritos en C para poder transformarlos en VHDL Y verilog .
Otro punto que se va a desarrollar es la optimizacion de los proceso por medio de Vivado, esto quiere decir que reduciremos el tiempo en los proceso y la cantidad de memoria utilizada memoria que se utilizan en estos procesos
Al final de esta práctica se comparara como puede ser más eficiente algunos posesos aplicando diferentes los módulos optimizados y a los que no se lo aplican
Vivado Design Suite es un software producido por Xilinx para la síntesis y el análisis de HDL diseños, fue el reemplazando Xilinx ISE .sus características nuevas es la escritura de un chip de síntesis. Vivado es configurado para reescritura y re-pensamiento de la totalidad de los diseños , ha sido descrito por los críticos como "bien concebido, estrechamente integrada, ardiendo rápido, escalable, fácil de mantener, e intuitivo".
Características
Vivado permite a los desarrolladores sintetizar (compilar) sus diseños, realizar análisis de tiempo , examinar RTL diagramas, simular la reacción de un diseño a diferentes estímulos, y configurar el dispositivo de destino con el programador . Vivado es un entorno de diseño para los productos FPGA de Xilinx, y está estrechamente acoplado a la arquitectura de tales chips.
Algunas de sus características es que incluye nivel de sistema electrónico (ESL) herramientas de diseño para la síntesis y la verificación de IP de algoritmos basados en C; normas de embalaje a base de IP tanto algorítmica y RTL para su reutilización; normas y sistemas de costura IP de integración de todos los tipos de bloques de construcción de sistema basado; y la verificación de los bloques y sistemas. La versión libre de Vivado Edición webpack ofrece a los diseñadores una versión limitada del entorno de diseño, para fines academicos y demas es la que se utilizara en esta practica
Practica
Esta practica se observara y comparara un ejemplo que nos ofrece Vivado y un ejemplo que nosotros plantearemos.
1. Nos dirigimos ala pagina de Vivado y descaragamos la version Vivado HL WebPACK: Small and Now License Free! , asi como muestra la imagen.
Lo primero que observaremos en la parte superior izquierda es la versión que deseamos descargar en nuestro caso se escogeremos la mas reciente, después verificaremos si el Vivado versión libre así como lo muestra la imagen, y después nos dirigimos ala parte inferior como lo muestra la imagen y damos doble click instalamos y abrimos el Vivado.
- Lo primero que haremos es agregar un pequeño modulo de escritura en c que Vivado nos muestra como ejemplo para seguir en esta practica
Lo primero en ejecutarse y observa su funcionamiento sera el ejemplo que presenta Vivado en este caso sera la fxp_sqrt con todos sus módulos.
Lo seguiente sera volver a ejecutar el ejemplo pero esta vez sin módulos, esto es para observar que haya una disminución o aumento del tiempo de ejecución.
Y por ultimo se ejecutara una pequeña operacion para observar su ejecución, esto sera el pequeño modulo que agregamos escrito en C
2. Después de abrir Vivado HLS, nos dirigimos hacia la parte de Open Example Projet y le damos doble click.
3.Lo siguiente nos aparecerá una venta que nos pedirá que le asignemos un nombre al proyecto y una ubicación y después de esto nos vamos ala parte inferior derecha y le damos next.
4. Después nos pereceara una ventana que nos pedirá que selecciones el ejemplo que deseamos abrir , estos ejemplos ya vienen en el programa de Vivado, la finalidad de estos ejemplos es enseñarnos como funcionan como podemos implementarlo y como están maximizados.
Después damos doble click a Next y finalizamos parta abrir nuestro ejemplo.
5.Al finalizar nos abrira nuestro Vivado nos creara nuestro programa que escogimos para abrir
6.Siguiendo con proyecto nos dirigimos a Project Settings y le damos click,
Después nos saldrá una venta para que configuremos nuestro ejemplo asi como muestra la imagen y para terminar le damos click en ok.
7. Despues de esto nuestro proyecto empezara hacer la synthesis y nos mostrara información del proyecto para esto no dirigiremos ala parte superior izquierda y le damos al archivo que dice synthesis Report, hay nos mostrara información de este proceso , como son datos generales del sistema, detalles da la ejecución del sistema como es cuantos clocks necesita para realizar este proceso
Lo siguiente que se que se observara es un diagrama que nos mostrara como se realizara la ejecución de la operación , hay se mostrara el orden que lleva el sistema al realizar las operaciones , igualmente se muestra que procesos se hacen en paralelo y los métodos que se utilizan para reducir
8.Lo siguiente que se observara sera los módulos que el sistema utilizo para reducir el tiempo de ejecución de este proceso para esto el programa utilizo ciertos prendimientos así como lo muestra la imagen ,para esto no dirigimos ala parte superior derecha en la pestaña que dice Directive y hay se observan los modulos que se utilizaron
9. Para el siguiente paso eliminaremos los módulos que utilizo el el sistema para comparar si los procesos si son de gran utilidad o no a esto se refiere que si aumenta o disminuye el tiempo de ejecución del sistema para esto repetimos el paso numero 6 para volver a elaborar la Syntesis
10.Cuando volvemos a observar el Synthesis report se observa que la cantidad de clock que aumento,en comparación con la operación que tenia todos los módulos esta aumento su tiempo de ejecución, en conclusión en este caso los módulos que aplico el sistema para realizar esta operación sirvieron para disminuir el tiempo.
Después nos dirigimos nuevamente ala parte derecha superior y oprimimos el botón de Analysis y nos llevara a una ventana que nos describirá como fue que realizo todos los procesos en esta caso Vivado no utilizo ningún modulo para que redujera la operación, en comparación con el anterior
11.Para el siguiente paso crearemos una operación sencilla y igualmente se observara que módulos utiliza y cuanto se demorara para esto no dirigimos ala parta media de la pantalla y escribimos la que aparece en la imagen
Después nos dirigimos a hacia project settins y le damos click
12. Después nos aparecerá una configuración para poder hacer synthesis nos vamos ala parte derecha en Browse le damos click y escogemos la operación que previamente aviamos creado en este caso la llamamos " ciro " y la seleccionarlo y damos click en OK. Esto es para cambiar la synthesis de una operación a otra.
13. Al hacer Synthesis nos aparecerá nuevamente la venta de Synthesis Report que no dará cuanto se demora esta operación
Como esta operación es sencilla y no tan compleja como anteriores ejemplos su ejecución nos es tan alta y solo se muestra que todo los procesos se puede hacer de forma paralela y sencilla sin aplicar ningún modulo
14 En la siguiente imagen se observa que esta operación no tiene módulos de reducción por ser sencilla y no tan compleja para que se pueda reducir su tiempo de ejecución
15 Así termina esta manual en que se mostró la ventajas de tener módulos que reducen la ejecución de una operación u programa .