カテゴリー
category_es

Desarrollo FPGA

¿Qué es el Desarrollo FPGA?

FPGA son las siglas de Field Programmable Gate Array (matriz de puertas programables en campo) y se refieren a circuitos integrados que pueden programarse con funciones en el lugar de desarrollo. Sin ninguna modificación, es sólo una matriz de circuitos sin funcionalidad, pero combinando los circuitos internos y diseñando los circuitos lógicos, el desarrollador puede proporcionar libremente la funcionalidad que necesite.

El desarrollo de un circuito integrado con la funcionalidad deseada mediante el diseño personalizado de una FPGA se denomina desarrollo FPGA.

De forma similar a los FPGA, existen circuitos integrados de aplicación específica (ASIC) que pueden personalizarse según los deseos del usuario, pero esto implica diseñar funciones personalizadas antes de fabricar el CI. Lleva tiempo diseñar y desarrollar, y una vez que el producto está en producción, las funciones no pueden cambiarse libremente in situ.

Usos para el Desarrollo de FPGA

El desarrollo de FPGA es esencial para el desarrollo de dispositivos y placas electrónicas, incluidos los circuitos integrados. El desarrollo de FPGAs se lleva a cabo en el campo del desarrollo de equipos electrónicos de telecomunicaciones, automoción, equipos médicos, electrónica de consumo y todos los demás campos.

La posibilidad de programar las funciones necesarias en FPGAs, colocarlas realmente en dispositivos electrónicos para su verificación en dispositivos reales y proporcionar información sobre los resultados es muy beneficiosa para el desarrollo de FPGAs El desarrollo de FPGAs requiere menos tiempo de desarrollo que el diseño de ASICs y es más fácil de rehacer y poner a punto.

Las FPGA tienen el inconveniente de que sus costes de producción son más elevados que los de los ASIC, por lo que se ha tendido a utilizar FPGA en la fase de desarrollo y colocar ASIC en el producto final una vez finalizado el diseño. Sin embargo, las recientes mejoras en la tecnología de fabricación de semiconductores han permitido una mayor integración y menores costes de las FPGA, por lo que cada vez se utilizan más en los productos finales.

Principios de Desarrollo de FPGA

El flujo de desarrollo de FPGA es básicamente el mismo que el de otros desarrollos de circuitos integrados, como los ASIC: mientras que en el desarrollo de ASIC el proceso de creación de prototipos corre a cargo del departamento de fabricación, en el desarrollo de FPGA los desarrolladores de FPGA también llevan a cabo el proceso de implementación del programa en el chip real, que se corresponde con el prototipo de ASIC.

El flujo de desarrollo de FPGA incluye los siguientes procesos:

  1. Determinación de especificaciones: se compilan las funciones que se implementarán en la FPGA, las interfaces con otros componentes del sistema en el que se integrará la FPGA, las restricciones de temporización y otras “especificaciones”, y se poda la FPGA que cumple las especificaciones.
  2. Diseño del circuito lógico: describe el comportamiento lógico utilizando lenguajes de descripción de hardware como VHDL y Verilog-HDL.
  3. Verificación funcional: se realiza una simulación funcional para garantizar que el comportamiento del circuito lógico es correcto.
  4. Compilación: las ecuaciones lógicas de las puertas de la FPGA se generan a partir de la descripción HDL y se optimizan para generar un netlist. A continuación, cada circuito se coloca en la FPGA real y se determina el cableado entre circuitos. Esta serie de procesos se denomina compilación.
  5. Verificación de la temporización: a partir de la información de colocación y encaminamiento, se simula el tiempo de retardo físico para confirmar que se cumplen las restricciones de temporización.
  6. Descarga: los datos del circuito generado se descargan en la FPGA. Mediante este proceso, la FPGA, que era sólo una matriz de puertas, se transforma en el circuito deseado por el desarrollador.
  7. Verificación del funcionamiento de la FPGA: la FPGA se pone en funcionamiento para comprobar que no existen defectos funcionales ni deficiencias de rendimiento. Existen dos tipos de verificación del funcionamiento: uno consiste en montar la FPGA en una placa de evaluación y ejecutar una simulación de evaluación, y el otro consiste en montar realmente la FPGA en un sistema y ejecutarla. La verificación real del dispositivo es adecuada para FPGAs con puertas de gran tamaño, ya que el tiempo necesario para la verificación es corto.

Otra Información sobre el Desarrollo de FPGA

Lenguajes de Programación para el Desarrollo de FPGA

El HDL, que se utiliza para escribir código para FPGAs, es un lenguaje de bajo nivel y antes era difícil de escribir a menos que se fuera un ingeniero de hardware que supiera diseñar circuitos. Hoy en día, las plataformas de software integradas permiten desarrollar FPGA en otro lenguaje de programación sin necesidad de conocer el HDL. Las plataformas realizan la funcionalidad FPGA convirtiendo los lenguajes de alto nivel en lenguajes de bajo nivel.

La aceleración FPGA también se puede lograr utilizando modelos de aprendizaje profundo entrenados creados en los marcos Tensorflow y Pytorch.

Eficiencia del Hardware

Dispositivos como los ASIC utilizan saltos entre el programa y la memoria, que consumen energía para almacenar y recuperar datos y reducen el rendimiento en tiempo real, mientras que las FPGA no necesitan saltar entre el programa y la memoria, lo que permite un almacenamiento y una recuperación de datos eficientes. Las FPGA también pueden descargar tareas que consumen mucha energía.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です