Construyendo sistemas en chip heterogéneos completos en C: desde aceleradores de hardware hasta CPUs
Autores: Si, Qilin; Shetty, Santosh; Carrion Schaefer, Benjamin
Idioma: Inglés
Editor: MDPI
Año: 2021
Acceso abierto
Artículo científico
2021
Construyendo sistemas en chip heterogéneos completos en C: desde aceleradores de hardware hasta CPUs
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería Eléctrica y Electrónica
Palabras clave
Diseño
Verificación
HLS
SoCs
Síntesis
Aceleradores
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 39
Citaciones: Sin citaciones
La síntesis de alto nivel (HLS) acelera de manera significativa el diseño y la verificación de componentes individuales dentro de sistemas VLSI más grandes. Con la mayoría de los Circuitos Integrados (ICs) complejos siendo ahora Sistemas-en-Chip (SoCs) heterogéneos, HLS ha sido tradicionalmente utilizado para diseñar los aceleradores de hardware dedicados como núcleos de encriptación y aceleradores de procesamiento de imágenes de Procesamiento Digital de Señales (DSP). Desafortunadamente, HLS es un método de síntesis de un solo proceso (componente). Por lo tanto, la integración de estos aceleradores debe realizarse a nivel RT (Verilog o VHDL). Esto implica que la verificación a nivel de sistema debe realizarse a niveles más bajos de abstracción, lo que disminuye significativamente los beneficios de usar HLS. Para abordar esto, este trabajo presenta una metodología para generar SoCs heterogéneos completos en C. Este trabajo introduce dos contribuciones principales que lo hacen posible: primero, un generador de bus automático que genera una descripción conductual sintetizable de buses estándar en el chip, y segundo, una biblioteca de interfaces de bus sintetizables que permiten a cualquier componente en el sistema enviar o recibir datos a través del bus. Además, este trabajo investiga la generación de procesadores e interfaces (periféricos) a nivel conductual ya que son partes importantes de cualquier SoC, pero se pensaba que no se podían sintetizar eficientemente utilizando HLS. Generar SoCs completos en C tiene ventajas significativas sobre enfoques tradicionales. Primero, permite la generación de modelos de simulación rápidos y precisos en ciclos del SoC completo, lo que hace que la verificación sea más rápida y sencilla. Segundo, permite aislar completamente los detalles de implementación del bus de la vista de los desarrolladores, lo que permite cambiar entre protocolos de bus con solo cambios menores en el código de los diseñadores. En tercer lugar, permite generar rápidamente diferentes variantes de SoC solo cambiando las opciones de síntesis de HLS. Los resultados experimentales resaltan estos beneficios.
Descripción
La síntesis de alto nivel (HLS) acelera de manera significativa el diseño y la verificación de componentes individuales dentro de sistemas VLSI más grandes. Con la mayoría de los Circuitos Integrados (ICs) complejos siendo ahora Sistemas-en-Chip (SoCs) heterogéneos, HLS ha sido tradicionalmente utilizado para diseñar los aceleradores de hardware dedicados como núcleos de encriptación y aceleradores de procesamiento de imágenes de Procesamiento Digital de Señales (DSP). Desafortunadamente, HLS es un método de síntesis de un solo proceso (componente). Por lo tanto, la integración de estos aceleradores debe realizarse a nivel RT (Verilog o VHDL). Esto implica que la verificación a nivel de sistema debe realizarse a niveles más bajos de abstracción, lo que disminuye significativamente los beneficios de usar HLS. Para abordar esto, este trabajo presenta una metodología para generar SoCs heterogéneos completos en C. Este trabajo introduce dos contribuciones principales que lo hacen posible: primero, un generador de bus automático que genera una descripción conductual sintetizable de buses estándar en el chip, y segundo, una biblioteca de interfaces de bus sintetizables que permiten a cualquier componente en el sistema enviar o recibir datos a través del bus. Además, este trabajo investiga la generación de procesadores e interfaces (periféricos) a nivel conductual ya que son partes importantes de cualquier SoC, pero se pensaba que no se podían sintetizar eficientemente utilizando HLS. Generar SoCs completos en C tiene ventajas significativas sobre enfoques tradicionales. Primero, permite la generación de modelos de simulación rápidos y precisos en ciclos del SoC completo, lo que hace que la verificación sea más rápida y sencilla. Segundo, permite aislar completamente los detalles de implementación del bus de la vista de los desarrolladores, lo que permite cambiar entre protocolos de bus con solo cambios menores en el código de los diseñadores. En tercer lugar, permite generar rápidamente diferentes variantes de SoC solo cambiando las opciones de síntesis de HLS. Los resultados experimentales resaltan estos beneficios.