stringtranslate.com

creación de prototipos FPGA

La creación de prototipos de matriz de compuertas programables en campo ( prototipado FPGA ), también conocida como creación de prototipos basada en FPGA, creación de prototipos ASIC o creación de prototipos de sistema en chip (SoC), es el método para crear prototipos de diseños de circuitos integrados específicos de aplicaciones y sistemas en chips. sobre FPGA para verificación de hardware y desarrollo temprano de software .

Los métodos de verificación para el diseño de hardware , así como el codiseño inicial de software y firmware, se han generalizado. La creación de prototipos de diseños de SoC y ASIC con uno o más FPGA y software de automatización de diseño electrónico (EDA) se ha convertido en un buen método para hacerlo. [1]

Por qué es importante crear prototipos

  1. Ejecutar un diseño de SoC en un prototipo FPGA es una forma confiable de garantizar que sea funcionalmente correcto. Esto se compara con los diseñadores que sólo confían en simulaciones de software para verificar que el diseño de su hardware es sólido. Aproximadamente un tercio de todos los diseños de SoC actuales no presentan fallas durante la primera pasada del silicio, y casi la mitad de todos los re-giros son causados ​​por errores lógicos funcionales. [2] Una única plataforma de creación de prototipos puede proporcionar verificación de la funcionalidad de diseño de hardware, firmware y software de aplicaciones antes del primer paso del silicio. [3]
  2. El tiempo de comercialización (TTM) se reduce a partir de la creación de prototipos FPGA: en la sociedad actual impulsada por la tecnología, los nuevos productos se introducen rápidamente y no tener un producto listo en una ventana de mercado determinada puede costarle a una empresa una cantidad considerable de ingresos . [4] Si un producto se lanza demasiado tarde en una ventana de mercado, entonces el producto podría volverse inútil , costándole a la empresa su capital de inversión en el producto. Después del proceso de diseño, los FPGA están listos para la producción, mientras que los ASIC de celda estándar tardan más de seis meses en llegar a la producción. [4]
  3. Costo de desarrollo: El costo de desarrollo del diseño de ASIC/SoC de 90 nm es de alrededor de $20 millones, y un conjunto de máscaras cuesta más de $1 millón solo. [2] Se espera que los costos de desarrollo de diseños de 45 nm superen los 40 millones de dólares. Con el aumento del costo de los juegos de máscaras y la continua disminución del tamaño de los circuitos integrados, minimizar el número de re-giros es vital para el proceso de desarrollo.

Diseño para prototipos.

Diseño para creación de prototipos [5] ( DFP ) se refiere al diseño de sistemas que sean susceptibles de creación de prototipos . Muchos de los obstáculos que enfrentan los equipos de desarrollo que adoptan prototipos FPGA se pueden resumir en tres "leyes":

Poner un diseño de SoC en un prototipo de FPGA requiere una planificación cuidadosa para lograr los objetivos de creación de prototipos con el mínimo esfuerzo. Para facilitar el desarrollo del prototipo, las mejores prácticas denominadas Diseño para creación de prototipos influyen tanto en el estilo de diseño del SoC como en los procedimientos del proyecto aplicados por los equipos de diseño. Las recomendaciones de procedimiento incluyen agregar convenciones de DFP a los estándares de codificación RTL, emplear un entorno de simulación compatible con prototipos e instituir una estrategia de depuración del sistema junto con el equipo de software.

Problemas de partición

Debido a la mayor complejidad de los circuitos y la reducción del tiempo de comercialización, está creciendo la necesidad de verificar los diseños de circuitos integrados para aplicaciones específicas (ASIC) y de sistemas en chip (SoC). Las plataformas de hardware se están volviendo más prominentes entre los ingenieros de verificación debido a la capacidad de probar diseños de sistemas a velocidad con relojes de bus en el chip, en comparación con relojes de simulación que pueden no proporcionar una lectura precisa del comportamiento del sistema. [6] Estos diseños de puertas multimillonarias generalmente se colocan en una plataforma de creación de prototipos de múltiples FPGA con seis o más FPGA, ya que no pueden caber completamente en una sola FPGA. Cuantas menos FPGA sea necesario dividir el diseño, se reducirá el esfuerzo del ingeniero de diseño. [7] A la derecha hay una imagen de una plataforma de creación de prototipos basada en FPGA que utiliza una configuración de FPGA dual.

Plataforma de creación de prototipos basada en Aldec FPGA con configuración dual FPGA.
La solución de creación de prototipos ASIC HES-7 de Aldec

Los diseños RTL o netlists del sistema deberán dividirse en cada FPGA para poder adaptar el diseño a la plataforma de creación de prototipos. [8] Esto introduce nuevos desafíos para el ingeniero ya que la partición manual requiere un esfuerzo tremendo y frecuentemente resulta en una velocidad pobre (del diseño bajo prueba). [7] Si se puede reducir el número de particiones o se puede colocar todo el diseño en una sola FPGA, la implementación del diseño en la plataforma de creación de prototipos se vuelve más fácil.

Equilibre los recursos FPGA mientras crea particiones de diseño

Al crear particiones de circuito, los ingenieros deben observar primero los recursos disponibles que ofrece la FPGA, ya que el diseño se colocará en la estructura de la FPGA. [7] La ​​arquitectura de cada FPGA depende del fabricante, pero el objetivo principal en la partición del diseño es tener un equilibrio uniforme en la utilización de recursos de la FPGA. Varios recursos de FPGA incluyen tablas de búsqueda (LUT), flip-flops D , RAM de bloque , procesadores de señales digitales (DSP), buffers de reloj, etc. Antes de equilibrar las particiones de diseño, también es valioso para el usuario realizar una optimización lógica global para elimine cualquier lógica redundante o no utilizada. Un problema típico que surge al crear particiones equilibradas es que puede provocar conflictos de sincronización o de recursos si el corte se produce en muchas líneas de señal. Para tener una estrategia de partición completamente optimizada, el ingeniero debe considerar cuestiones como las limitaciones de tiempo/potencia y la ubicación y el enrutamiento, manteniendo al mismo tiempo una partición equilibrada entre los FPGA. Centrarse estrictamente en un solo problema durante una partición puede crear varios problemas en otra.

Colocar y enrutar particiones.

Para lograr una ubicación y un enrutamiento óptimos para los diseños particionados, el ingeniero debe centrarse en el recuento de pines de la FPGA y las señales entre FPGA. Después de dividir el diseño en FPGA separadas, la cantidad de señales entre FPGA no debe exceder el recuento de pines en la FPGA. [9] Esto es muy difícil de evitar cuando los diseños de circuitos son inmensos, por lo que las señales deben utilizar estrategias como la multiplexación por división de tiempo (TDM), mediante la cual se pueden transferir múltiples señales a través de una sola línea. [10] Estas múltiples señales, llamadas subcanales, se transfieren alternativamente a través de la línea en un intervalo de tiempo. Cuando la relación TDM es alta, la frecuencia del reloj del bus debe reducirse para acomodar los intervalos de tiempo para cada subcanal. Al reducir la frecuencia del reloj, se obstaculiza el rendimiento del sistema. [7]

Requisitos de tiempo

Los diseños de sistemas suelen abarcar varios dominios de reloj con señales que atraviesan dominios separados. [7] Los osciladores de reloj integrados y las líneas de reloj globales generalmente mitigan estos problemas, pero a veces estos recursos pueden ser limitados o no cumplir con todos los requisitos de diseño. Los relojes internos deben implementarse dentro de los dispositivos FPGA, ya que las conexiones de la línea de reloj y de los buffers de reloj están limitadas entre los FPGA. Los diseños con reloj interno que están divididos en múltiples FPGA deben replicar el generador de reloj dentro de la FPGA, asegurando una baja desviación del reloj entre las señales entre FPGA. Además, cualquier lógica de reloj cerrada debe transformarse para que el reloj permita reducir la desviación mientras se opera a frecuencias de reloj altas.

Los cruces de dominios de reloj no deben dividirse en FPGA separadas. Las señales que pasan a través del cruce deben mantenerse internas a una única FPGA, ya que el tiempo de retardo agregado entre las FPGA puede causar problemas en un dominio diferente. También se recomienda que las señales enrutadas entre FPGA se registren en registros.

Depuración

Una de las tareas más difíciles y que consumen más tiempo en la creación de prototipos FPGA es la depuración de diseños de sistemas. El término acuñado para esto es "infierno FPGA". [11] [12] La depuración se ha vuelto más difícil y requiere más tiempo con la aparición de diseños de ASIC y SoC grandes y complejos. Para depurar un prototipo de FPGA, se agregan sondas directamente al diseño RTL para que señales específicas estén disponibles para observación, se sintetizan y se descargan a la plataforma del prototipo de FPGA.

Los proveedores de FPGA ofrecen varias herramientas de depuración estándar, incluidos ChipScope y SignalTAP. Estas herramientas pueden sondear un máximo de 1024 señales y requieren amplios recursos de memoria y LUT. Para SoC y otros diseños, la depuración eficiente a menudo requiere acceso simultáneo a 10.000 o más señales. Si el conjunto original de sondas no puede capturar un error, obtener acceso a señales adicionales resulta en una situación de "ir a casa por el día". Esto se debe a los largos y complejos flujos CAD de síntesis, ubicación y ruta que pueden requerir de 8 a 18 horas para completarse.

Los enfoques mejorados incluyen herramientas como Certus de Tektronix [13] o EXOSTIV de Exostiv Labs. [14]

Certus brinda visibilidad mejorada a nivel RTL para la depuración basada en FPGA. Utiliza un concentrador de múltiples etapas altamente eficiente como base para su red de observación para reducir la cantidad de LUT requeridas por señal para aumentar la cantidad de señales que se pueden sondear en un espacio determinado. La capacidad de ver cualquier combinación de señales es exclusiva de Certus y supera uno de los cuellos de botella más críticos en la creación de prototipos. [15]

EXOSTIV utiliza gran almacenamiento externo y transceptores gigabit para extraer rastros profundos de FPGA que se ejecutan a gran velocidad. La mejora radica en su capacidad para ver grandes rastros en el tiempo como un flujo continuo o en ráfagas. Esto permite explorar escenarios de depuración extendidos que no se pueden alcanzar con las técnicas tradicionales de instrumentación integrada . La solución pretende ahorrar tanto los recursos de E/S de FPGA como la memoria de FPGA a expensas de los transceptores gigabit, para una mejora de un factor de 100.000 y más en la visibilidad. [16] [17]

Ver también

Referencias

  1. ^ "FPGA vs ASIC: ¿Diferencias entre ellos y cuál usar? - Centro de ayuda de Numato Lab". numato.com . 17 de julio de 2018 . Consultado el 17 de octubre de 2018 .
  2. ^ ab "SOCcentral: Aprovechar al máximo la creación de prototipos ASIC con FPGA (EE Times Programmable Logic Designline 30794)". Archivado desde el original el 2 de febrero de 2013 . Consultado el 9 de octubre de 2012 .
  3. ^ Rittman, Danny (5 de enero de 2006). "Creación de prototipos en nanómetros" (PDF) . Diseño Tayden . Consultado el 7 de octubre de 2018 .
  4. ^ ab "Creación de prototipos FPGA para producción estructurada de ASIC para reducir costos, riesgos y TTM". Diseño y reutilización . Consultado el 7 de octubre de 2018 .
  5. ^ "Diseños de sistemas de creación de prototipos en FPGA". Nueva Electrónica. 22 de marzo de 2011. Archivado desde el original el 6 de marzo de 2012 . Consultado el 22 de marzo de 2011 .
  6. ^ "Mejores prácticas para la creación de prototipos FPGA de algoritmos MATLAB y Simulink". EEJournal . 25 de agosto de 2011 . Consultado el 8 de octubre de 2018 .
  7. ^ abcde "Libro blanco coautor de Aldec y Xilinx" Creación de prototipos ASIC HES-7 ", se requiere registro
  8. ^ "Creación de prototipos FPGA: se trata del software - 2/11/2007 - Electronics Weekly". Archivado desde el original el 22 de enero de 2013 . Consultado el 9 de octubre de 2012 .
  9. ^ http://www.fpga-faq.com/FAQ_Pages/prototyping.pdf [ URL básica PDF ]
  10. ^ "Multiplexación por división de tiempo". www.inetdaemon.com . Consultado el 8 de octubre de 2018 .
  11. ^ "Infierno FPGA". zipcpu.com . Consultado el 5 de noviembre de 2019 .
  12. ^ "Introducción a los FPGA" (PDF) .
  13. ^ "Tektronix revoluciona la creación de prototipos, la instrumentación integrada eleva las placas al estado de emulador". Revista de ingeniería electrónica. 30 de octubre de 2012 . Consultado el 30 de octubre de 2012 .
  14. ^ "Exostiv Labs anuncia la disponibilidad de su solución 'EXOSTIV' para depuración de FPGA". Diseño y reutilización. 14 de octubre de 2015 . Consultado el 25 de noviembre de 2015 .
  15. ^ "Supere los cuellos de botella de la creación de prototipos ASIC". 23 de octubre de 2012 . Consultado el 30 de octubre de 2012 .
  16. ^ "¿Por qué EXOSTIV?". 14 de octubre de 2015 . Consultado el 25 de noviembre de 2015 .
  17. ^ "Creación de prototipos ASIC/SoC" . Consultado el 12 de abril de 2020 .

enlaces externos