Beruflich Dokumente
Kultur Dokumente
VIVADO DESIGN SUITE es un conjunto de herramientas de
Resumen— En la actualidad ha aumentado la industria para el desarrollo de System on Chip (SoC).
considerablemente el consumo de Sistemas en un chip o Vivado ofrece un entorno de desarrollo para: SoC-strength, IP-
SoC1 debido a sus prestaciones, mayor eficiencia y siendo centric y System-centric, con herramientas de última
su principal característica la de poseer todos sus generación. VIVADO DESIGNER está en la delantera de la
componentes en un solo chip integrado, pero las productividad global, facilita el uso y capacidades de
complejidades del diseño hacen que el mismo adquiera integración a nivel de sistema. VIVADO es compatible con los
cierto nivel de dificultad y a su vez sea muy costoso, sin dispositivos de las siguientes familias: UltraScale, Virtex-7,
embargo desde la aparición del FPGA 2 se ha conseguido Kintex-7, Artix-7 y Zynq-700. [1]
disminuir ésta complejidad de diseño y reducir costos, tal Basys3 de Digilent es una placa FPGA de nivel de entrada
que, hoy en día se pueden diseñar chips desde su propia diseñada exclusivamente para la Vivado Design Suite, que
casa, además técnicas como los IP Cores3 y programas cuenta con la arquitectura FPGA Xilinx Artix-7. Basys3 es la
como Vivado4 ayudan a reducir la complejidad, facilitando nueva incorporación a la popular línea de placas FPGA de
su diseño, considerando estas herramientas disponibles se inicio de Basys, incluye las características estándar que
logró obtener un sistema SoC, que permite la medición de ofrecen todas las placas Basys: hardware completo listo para
temperatura, la cual incluye 3 valores de set-point de 20°, usar, una gran colección de dispositivos de E/S en placa, todos
40° y 70° centígrados respectivamente, pero si una los circuitos de apoyo FPGA y una versión libre de
temperatura llega a superar alguno de estos valores, herramientas de desarrollo.
producirá que se encienda una alarma simulada por leds, El procesador embebido MicroBlaze, es un elemento clave de
los cuales se encenderán dependiendo del valor los productos embebidos de Xilinx ya que posee una
proporcional de la temperatura, para ello se utilizaron IP arquitectura RISC, puede leer señales analógicas y digitales y
Cores proporcionados en Vivado como el XADC, UART, tiene un set de instrucciones reducido de 32 bits lo que permite
AXI Interrupt Controller, AXI GPIO, y Microblaze, sin ser aplicado en las áreas de industria, medicina
embargo también fue necesario para lograr este diseño, automatización y consumo[1]. Es altamente configurable y
basarnos en ejemplos proporcionados por Xilinx 5 y puede ser usado en todas las familias de SoCs programables.
Atlassian6 los mismos que sirvieron para tener una idea Soporta setenta opciones de configuración y es altamente
general de cómo realizar el diseño del SoC, como parte flexible ya que un usuario puede implementarlo para cualquier
final se presentaran los recursos consumidos en el FPGA uso desde máquinas de estado, microcontroladores hasta un
para observar la eficiencia del diseño. microprocesador de alto performance.
La herramienta de diseño Vivado dispone de un catálogo de IP
Palabras Clave—Diseño, Soc, IP Cores, Vivado, cores, mediante el cual se puede incluir varios módulos en el
Microblaze, FPGA. bloque de diseño entre ellos el módulo UART que permite
visualizar la información por un terminal serial en un terminal
de PC, el módulo XADC, el cual es utilizado para
implementar un sistema de monitoreo de temperatura
I. INTRODUCCIÓN mediante la comparación de los voltajes ingresados.
Gracias al tutorial llamado” Vivado IP Integrator”, el cual se lo
realizo antes de empezar a integrar un nuevo IP Core, se logró
comprender de manera detallada los pasos a seguir en la
1
implementación del microblaze.[2]
Soc: System on Chip
2
FPGA: Field-programmable gate array
En este reporte se detallará sobre las principales
3
IP Cores: Núcleos de Propiedad Intelectual. configuraciones realizas para la implementación de la alarma
4
Vivado: es el primer juego de herramientas de la industria para el que contiene cuatro periféricos de la tarjeta de desarrollo, y un
desarrollo de System on Chip (SoC). IP-core del catálogo de IP-cores de Xilinx Vivado. Nos
5
Xilinx: Compañía de tecnología americana, reconocida por inventar los
FPGA
centramos en el uso del IP Interruption Controller, basándonos
6 en una lista de tutoriales disponibles en la página oficial, el
2
lenguaje de programación principal es C, también se deben Para lograr los pasos antes mencionados se siguió el tutorial de
instanciar los GPIO y configurar el XADC para del mismo Digilent en el cual se creó un nuevo proyecto y se eligió la
módulo obtener su valor de voltaje ingresado. El sistema tarjeta BASYS 3 posteriormente seguimos el siguiente
global cuenta con 2 entradas externas para medir voltajes y procedimiento el cual se divide en:
seleccionar las diferentes temperaturas máximas. El IP
interruption controller con el cual se genera la interrupción 1) AXI GPIO
mediante los botones, la misma que se envía tomando el valor 2) XADC
que se seleccionó en los Switches. Este valor indicara la 3) AXI Interrupt Controller.
temperatura máxima con la que se trabajará, cuando la
temperatura actual supere a la máxima se observara en los leds Se debe crear un bloque de diseño en el cual se va a realizar
que representarán como esta sigue aumentando su valor al las conexiones de todos los componentes.
superar la máxima temperatura se realiza un conteo regresivo
indicando que su temperatura supero a la máxima. A continuacion se selecciona los diferentes Ip-cores,
Por medio de la conexión UART se podrá visualizar de microblaze, axi Gpio, XADC, Ip-Inerruption controller y
manera continua los diferentes valores que son ingresados en todos los commponentes necesarios.
el CH1 del periférico XADC. [3] Al seleccionar el microblaze se debe seleccionar Run Block
automation en el cual se configura su memoria local en
128KB, pero se debe tomar en cuenta que, el tamaño de la
II. DESCRIPCIÓN DEL PROBLEMA memoria depende de la aplicaciòn.
Fig. 14 Librerías
XADC
Interruption Controller
Para la implementación de este módulo, se utilizó como base Fig. 17 Método Main
el ejemplo proporcionado en la página oficial de Xilinx, como
primer paso se inicializa el IP-Interrupt Controller, luego se IV. IMPLEMENTACIÓN
indica el IP con el que se realizaran las interrupciones, en
A. Diagrama de Bloques
este caso el GPIO Buttons, además se debe indicar la función
a la que se llamara luego de realizar la interrupción en nuestro En el Anexo 1 se muestra el esquema completo del sistema, se
puede apreciar con claridad como los diferentes módulos se
caso esta es “ButtonInterruptionHandler”, además se
relacionan entre si y cuáles son las entradas y salidas del mismo.
inicializan las funciones para las excepciones para asegurar
que el programa funcione bien si ocurre un error.
V. RESULTADOS
B. Utilización de recursos: Se muestra que existe una mayor cantidad de energía utilizada
en la parte de los relojes, en nuestro diseño se utilizó para la
En la Fig. 20 se muestra la cantidad de recursos que se han sincronización un IP llamado Clocking Wizard, el mismo reloj
utilizado en la FPGA luego de la implementación. es usado por todos los elementos síncronos. Para no sufrir
retardos este IP contiene módulos como el MMCM (Mixed-
Mode Clock Manager) que usa conexiones especiales para
repartir la señal de reloj por toda la superficie de la FPGA.
VI. CONCLUSIONES
BIBLIOGRAFÍA
ANEXOS
8