Trabajo Fin de Grado Grado en Ingeniería de las Tecnologías de Telecomunicación Intensificación en Sistemas Electrónicos Codiseño HW/SW en System-on-Chip programable de última generación Autor: Jesús Fernández Manzano Tutor: Hipólito Guzmán Miranda Equation Chapter 1 Section 1 Dpto. Ingeniería Electrónica Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2016 i ii Trabajo Fin de Grado Grado en Ingeniería de las Tecnologías de Telecomunicación Codiseño HW/SW en System-on-Chip programable de última generación Autor: Jesús Fernández Manzano Tutor: Hipólito Guzmán Miranda Profesor Contratado Doctor Dpto. Ingeniería Electrónica Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2016 iii iv Trabajo Fin de Grado: Codiseño HW/SW en System-on-Chip programable de última generación Autor: Jesús Fernández Manzano Tutor: Hipólito Guzmán Miranda El tribunal nombrado para juzgar el Proyecto arriba indicado, compuesto por los siguientes miembros: Presidente: Vocales: Secretario: Acuerdan otorgarle la calificación de: Sevilla, 2016 El Secretario del Tribunal v vi Agradecimientos Quisiera agradecer en primer lugar a mi tutor Hipólito Guzmán Miranda por darme la oportunidad de llevar a cabo este trabajo y por haberme atendido cuando ha hecho falta. Al resto de los profesores que me han enseñado tantas cosas desde el colegio hasta la universidad. También quiero agradecer a mi familia, sin la cual no podría haber llegado hasta aquí. Padres, hermanos, tíos, primos y abuelos. A todos los amigos que he conocido en Sevilla y me han acompañado durante estos cuatro años de carrera. Y por último, una mención a mis compañeros de clase, en especial al Tridente Electrónico y a Julio por ser con los que más tiempo, proyectos, prácticas y momentos he compartido, haciendo que toda la carrera sea más llevadera. vii viii Resumen Este trabajo se centra en el codiseño HW/SW de un PSoC (Programmable System-on-Chip) formado por un sistema de procesamiento (PS) y lógica programable (PL). El codiseño se compone de varios pasos, como la elección de un sistema operativo para el SoC, la programación de la FPGA y lo más importante, la definición de la interfaz de comunicación entre ambos. Habitualmente, la interfaz de comunicación entre software y hardware es el punto más delicado en un diseño, el que más tiempo requiere y el lugar más a propenso a contener errores. Para solucionar este problema se va a hacer uso de Xillybus, que consiste en un conjunto de herramientas que hacen más transparente al desarrollador la comunicación HW/SW. Con esto se consigue una comunicación extremo a extremo, robusta y muy fácil de integrar, que permite tener preparado el PSoC para cualquier aplicación en poco tiempo. Para demostrar el funcionamiento del sistema se van a desarrollar algunas aplicaciones que muestren varios usos del dispositivo, tales como el acceso desde la parte software a GPIOs conectados a la lógica programable, control en tiempo de ejecución de la FPGA y una comunicación en tiempo real HW/SW para mostrar un espectrograma del audio captado por el sistema. Hay que agradecer al programa de universidades de Xilinx por la donación de la ZedBoard y el software Vivado. ix x Abstract This work focuses on the HW / SW co-design of a PSoC, composed of a processing system (PS) and a programmable logic (PL). The co-design consists of several steps such as the choice of an operating system for the processing system, programming the FPGA and most importantly, the definition of the communication interface between them. Usually, the communication interface between software and hardware is the most complicated and time- consuming point in the design, as well as the more prone to containing errors. To solve this problem, Xillybus is going to be used, a set of tools that make HW / SW communication transparent to the developer. With this, we achieve an end to end, robust and easy to integrate communication, which allows the PSoC to be prepared for any application in a short period of time. In order to show how the system works, some applications will be developed. Each application represents different uses of the device, such as the access from the PS to the GPIOs connected to the programmable logic, controlling the FPGA in runtime and a real-time HW / SW communication in the form of a spectrogram. Thanks to the Xilinx University Program for donating the ZedBoard and the Vivado software. xi xii Índice Agradecimientos .......................................................................................................................................... vii Resumen ....................................................................................................................................................... ix Abstract ........................................................................................................................................................ xi Índice .......................................................................................................................................................... xiii Índice de Tablas ........................................................................................................................................... xv Índice de Figuras ........................................................................................................................................ xvii Notación ...................................................................................................................................................... xx 1 Introducción .......................................................................................................................................... 1 1.1 Motivación ................................................................................................................................................... 1 1.2 Objetivos ....................................................................................................................................................... 1 1.3 Estructura del trabajo .................................................................................................................................. 2 2 Estado del arte ....................................................................................................................................... 4 2.1 Evolución de los sistemas de procesamiento ............................................................................................. 4 2.2 Evolución de la lógica programable ........................................................................................................... 7 2.3 Marco actual en el codiseño HW/SW......................................................................................................... 9 2.3.1 Revisión de herramientas de desarrollo .......................................................................................... 11 3 Revisión del sistema de desarrollo ....................................................................................................... 13 3.1 Xilinx Zynq®-7000 All Programmable SoC ................................................................................................ 13 3.1.1 Introducción ....................................................................................................................................... 13 3.1.2 Diagrama de bloques ......................................................................................................................... 14 3.1.3 Características .................................................................................................................................... 14 3.1.4 Dispositivos de la familia ................................................................................................................... 16 3.2 ZedBoard™ ................................................................................................................................................. 18 3.2.1 Introducción ....................................................................................................................................... 18 3.2.2 Características y componentes ......................................................................................................... 20 4 Preparación del sistema ....................................................................................................................... 25 4.1 Introducción ............................................................................................................................................... 25 4.2 Selección del sistema operativo ................................................................................................................ 26 4.2.1 Xilinx Linux .......................................................................................................................................... 26 4.2.2 Petalinux ............................................................................................................................................. 26 4.2.3 Arch Linux ARM .................................................................................................................................. 27 4.2.4 Xillinux ................................................................................................................................................ 27 4.2.5 Tabla comparativa ............................................................................................................................
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages94 Page
-
File Size-