Diseño e implementación de un analizador lógico embebido en dispositivos FPGA con interfaz de comunicación ethernet
Ikusi/ Ireki
Data
2021-11-23Egilea
Murillo Serrano, Dayanna Elizabeth
Laburpena
El continuo desarrollo social y el avance tecnológico, han generado una fuerte y creciente necesidad de desarrollar sistemas hardware cada vez más complejos, que se ajusten a las características de los nuevos sistemas dentro de la industria, y que sean capaces de proporcionar todas las prestaciones que dichos sistemas requieren.
Gracias a los dispositivos FPGA (Field Programmable Gate Arrays), los diseñadores hardware son capaces de programar, probar, corregir y ampliar sus diseños, antes de ser fabricados y puestos en marcha, lo que a su vez proporciona mayor seguridad y garantía de un correcto funcionamiento.
Para facilitar la tarea de los diseñadores, los proveedores de estos dispositivos no solo han desarrollado varias herramientas software, a través de las cuales se puede realizar la programación y depuración del diseño. Sino que también han diseñado varias placas de desarrollo, sobre las cuales se pueden realizar las pruebas y ensayos, tanto de un diseño hardware como un diseño Software.
Una de las herramientas más utilizadas a la hora de realizar dichas pruebas en dispositivos FPGAs, son los analizadores lógicos embebidos o ILA (Integrated logic Analyzer). Estos analizadores lógicos permiten crear una conexión con un sistema de control para realizar la monitorización y depuración de las señales internas del diseño.
La conexión con dicho sistema de control se realiza a través de la interfaz JTAG Boundary Scan del dispositivo FPGA. Esta interfaz de comunicación serie es de corto alcance y requiere cortas distancias entre las placas de desarrollo y los sistemas de control. Esto supone un gran problema dentro de las necesidades de la sociedad actual, ya que impide a los diseñadores realizar pruebas y ensayos de forma remota desde cualquier parte del mundo y los limita también en aspectos como el tiempo y recursos.
Partiendo de esta base, en el presente proyecto se busca eliminar dichos problemas añadiendo una interfaz de comunicación Ethernet dentro de un diseño en FPGA, que sea capaz de conectarse al núcleo del depurador ILA para recoger y trasmitir los datos adquiridos, a un sistema de control de forma remota.
Para ello, se ha realizado un análisis e investigación de las herramientas de depuración que hay en el mercado actual, haciendo hincapié principalmente en las que ofrece el proveedor Xilinx: los núcleos de depuración LogiCore IP ILA y el LocgiCore IP Debug Bridge y la aplicación software xvcServer dentro de las herramientas de Petalinux.
Se han estudiado sus características y limitaciones, sus funcionalidades, las configuraciones y requerimientos necesarios, etc. para posteriormente combinarlas de tal forma que pueda crearse un diseño sencillo en FPGA, capaz de cumplir con la necesidad de monitorizar y depurar el sistema de forma remota.
Del diseño obtenido se han realizado tres pruebas de conexión en entornos diferentes: Conexión directa a través de cable Ethernet, conexión remota por wifi en una misma red de área local y conexión remota a través de una red VPN (Virtual Private Network) por internet.
De cada prueba se han hecho varias depuraciones para observar y comparar las principales diferencias de cada entorno, teniendo en cuenta sobre todo, la estabilidad de la conexión, las velocidades de transmisión de datos y los posibles problemas que puedan llegar a ocurrir dentro de cada red. Etengabeko garapen sozialak eta aurrerapen teknologikoak hardware sistema gero eta konplexuagoak garatzeko premia gero eta handiagoa sortu dute, industria barruko sistema berrien ezaugarrietara egokituko direnak eta sistema horiek eskatzen dituzten prestazio guztiak emateko gai izango direnak.
FPGA (Field Programmable Gate Arrays) gailuei esker, hardware diseinatzaileak gai dira beren diseinuak programatu, probatu, zuzendu eta zabaltzeko, fabrikatu eta martxan jarri aurretik, eta horrek, aldi berean, segurtasun eta berme handiagoa ematen du behar bezala funtzionatzeko.
Diseinatzaileen lana errazteko, gailu horien hornitzaileek software-tresna bat baino gehiago garatu dituzte, eta horien bidez, diseinua programatu eta araztu daiteke. Horrez gain, hainbat garapen-plaka diseinatu dituzte, eta horien gainean egin daitezke probak eta saiakuntzak, bai hardware-diseinu zein software-diseinu batean.
Proba horiek FPGAetan egiteko gehien erabiltzen diren tresnetako bat; analizatzaile logiko txertatuak edo ILA (Integrated logic Analizer) dira. Analizatzaile logiko horiei esker, konexio bat sor daiteke kontrol-sistema batekin, diseinuaren barne-seinaleak monitorizatzeko eta arazteko.
Kontrol-sistema horrekiko konexioa FPGA gailuaren JTAG Boundary Scan interfazearen bidez egiten da. Serieko komunikazio-interfaze hori irismen laburrekoa da, eta garapen-plaken eta kontrol-sistemen arteko konexioak distantzia laburrak eskatzen ditu. Hori arazo handia da gaur egungo gizartearen premien barruan, diseinatzaileei munduko edozein leku urrunetik probak eta saiakuntzak egitea eragozten dielako, eta denbora eta baliabide aldetik ere mugatzen dituelako.
Egoera horretatik abiatuz, proiektu honetan arazo horiek ezabatu nahi dira Ethernet interfazea gehituz FPGAko diseinu baten barruan, ILA araztegira konektatzeko eta eskuratutako datuak bildu eta urrutiko kontrol-sistema batera transmititzeko gai izan dadin.
Horretarako, gaur egungo merkatuan dauden arazketa-tresnak ikertu eta aztertu dira: ezaugarriak, mugak, funtzionalitateak, beharrezko konfigurazioak, eskakizunak, eta abar. Horrela, FPGAn diseinu erraz bat sortu ahal izango da, sistema urrutitik monitorizatzeko eta arazteko beharra betetzeko gai izango dena.
Lortutako diseinutik hiru konexio-proba egin dira ingurune desberdinetan: zuzeneko konexioa, Ethernet kablearen bidez; wifi bidezko urruneko konexioa, eremu lokaleko sare berean eta urruneko konexioa, Internet bidezko VPN sare baten bidez (Virtual Private Network).
Proba bakoitzetik hainbat arazketa egin dira ingurune bakoitzaren desberdintasun nagusiak behatzeko eta alderatzeko, batez ere kontuan hartuta konexioaren egonkortasuna, datuak transmititzeko abiadurak eta gerta daitezkeen arazoak. The continuous social development and technological advancement has generated a strong and growing need to develop more and more complex hardware systems, which can adjust to the characteristics of one or more systems within the industry and are capable of providing all the features that such systems require.
Thanks to Field Programmable Gate Arrays devices or FPGAs, hardware designers are able to program, test, correct and expand their designs, even before being manufactured and commissioned, which in turn provides greater security and guarantee of correct operation.
To facilitate the task of designers, the suppliers of these devices have not only developed various software tools through which programming and debugging of the design can be carried out, but also they have designed several development boards, on which tests and trials can be carried out, both of a hardware design and a Software design.
One of the most used tools when performing such tests on FPGAs devices are the Integrated logic Analyzer, or ILA. These logic analyzers allow you to create a connection with a control system to perform the monitoring and debugging of the internal signals of the design.
The connection with this control system is made through the JTAG Boundary Scan interface of the FPGA device. This serial communication interface has a short-range and requires short distances between development boards and control systems. This is a big problem within the needs of nowadays society, since it prevents designers from carrying out tests and trials remotely from anywhere in the world and also limits them in aspects such as time or resources.
Based on this panorama, this project seeks to eliminate these problems by adding an Ethernet interface within an FPGA design, which can connect to the ILA debugger and collecting and transmitting the acquired data to a control system remotely.
For this purpose, an analysis and investigation of the debugging tools available in the current market has been carried out, emphasizing mainly those offered by the supplier Xilinx: the debugging cores LogiCore IP ILA and LogiCore IP Debug Bridge and the software application xvcServer within the Petalinux tools.
Their characteristics and limitations, functionalities, necessary configurations and requirements have been studied in order to later combine them in such a way that a simple FPGA design capable of fulfilling the need to monitor and debug the system remotely can be created.
From the design obtained, three connection tests have been carried out in different environments: Direct connection through Ethernet cable, remote connection by Wi-Fi in the same local area network and remote connection through a Virtual Private Network, VPN, by Internet.
Several debugging tests have been made to observe and compare the main differences of each environment, considering above all, the stability of the connection, the speed of data transmission and the different possible problems that may occur within each network.