stringtranslate.com

C a HDL

Las herramientas C a HDL convierten el lenguaje C o código informático similar a C en un lenguaje de descripción de hardware (HDL) como VHDL o Verilog . Luego, el código convertido se puede sintetizar y traducir a un dispositivo de hardware, como una matriz de puertas programables en campo . En comparación con el software , los diseños equivalentes en hardware consumen menos energía (lo que produce un mayor rendimiento por vatio ) y se ejecutan más rápido con menor latencia , más paralelismo y mayor rendimiento . Sin embargo, el diseño del sistema y la verificación funcional en un lenguaje de descripción de hardware pueden ser tediosos y llevar mucho tiempo, por lo que los ingenieros de sistemas a menudo escriben módulos críticos en HDL y otros módulos en un lenguaje de alto nivel y los sintetizan en HDL a través de C a HDL o de alto nivel. Herramientas de síntesis de niveles .

C a RTL es otro nombre para esta metodología. RTL se refiere a la representación del nivel de transferencia de registros de un programa necesario para implementarlo en lógica.

Historia

El desarrollo inicial de C a HDL fue realizado por Ian Page, Charles Sweeney y sus colegas de la Universidad de Oxford en la década de 1990, quienes desarrollaron el lenguaje Handel-C . Comercializaron su investigación formando Embedded Solutions Limited (ESL) en 1999, que pasó a llamarse Celoxica en septiembre de 2000. En 2008, los departamentos de sistemas integrados de Celoxica se vendieron a Catalytic por 3 millones de dólares y luego se fusionaron para convertirse en Agility Computing . [1] En enero de 2009, Mentor Graphics adquirió los activos de síntesis C de Agility. [2] Celoxica continúa operando concentrándose en la aceleración de hardware para procesar transacciones en el sector financiero y otras industrias . [3]

Aplicaciones

Las técnicas de C a HDL se aplican más comúnmente a aplicaciones que tienen tiempos de ejecución inaceptablemente altos en arquitecturas de supercomputadoras de propósito general existentes . Los ejemplos incluyen bioinformática , dinámica de fluidos computacional (CFD), [ se necesita aclaración ] procesamiento financiero y análisis de datos de estudios de petróleo y gas. Las aplicaciones integradas que requieren alto rendimiento o procesamiento de datos en tiempo real también son un área de uso. El diseño de sistema en chip (SoC) también puede aprovechar las técnicas de C a HDL.

Los compiladores C-to-VHDL son muy útiles para diseños grandes o para implementar código que podría cambiar en el futuro. Diseñar una aplicación grande enteramente en HDL puede resultar muy difícil y llevar mucho tiempo; La abstracción de un lenguaje de alto nivel para una aplicación tan grande a menudo reducirá el tiempo total de desarrollo. Además, es casi seguro que una aplicación codificada en HDL será más difícil de modificar que una codificada en un lenguaje de nivel superior. Si el diseñador necesita agregar nuevas funciones a la aplicación, agregar algunas líneas de código C casi siempre será más fácil que remodelar el código HDL equivalente.

Las herramientas de flujo a HDL tienen un objetivo similar, pero con un diseño basado en flujo en lugar de C.

Herramientas de ejemplo

Ver también

Referencias

  1. ^ Clarke, Peter (1 de abril de 2008). "Celoxica vende el negocio de EDA a Catalytic por 3 millones de dólares". Tiempos EE.UU.
  2. ^ Dylan McGrath (22 de enero de 2009). "Mentor compra los activos de síntesis C de Agility". EETimes.com.
  3. ^ Celoxica Ltd (22 de enero de 2011). "Celoxica Ltd 'Acerca de nosotros'". Celoxica.com. Archivado desde el original el 16 de enero de 2011 . Consultado el 22 de enero de 2011 .
  4. ^ "SPARK: Síntesis de alto nivel utilizando técnicas de compilación en paralelo". Archivado desde el original el 24 de octubre de 2009 . Consultado el 11 de julio de 2020 .
  5. ^ "Índice de herramientas útiles del grupo VLSI CAD". Archivado desde el original el 19 de julio de 2011 . Consultado el 28 de julio de 2017 .{{cite web}}: Mantenimiento CS1: bot: estado de la URL original desconocido ( enlace )
  6. ^ "Inicio". myhdl.org .

enlaces externos