¿El enfoque de diseño de síntesis de alto nivel (HLS) para FPGA reducirá la demanda de diseñadores de RTL? [cerrado]

Soy un estudiante de último año de ingeniería eléctrica que está muy interesado en el diseño de FPGA y RTL. Pero recientemente, después de enterarme de lo que son capaces de hacer los compiladores HLS, tuve que considerar la posibilidad de que eventualmente la mayoría del diseño RTL sea realizado por gurús de la informática que utilicen lenguajes de alto nivel, lo que reducirá la demanda de especialistas en diseño RTL.

Entiendo que la necesidad de expertos en lenguajes de descripción de hardware nunca desaparecerá por completo mientras existan FPGA, por lo que mi pregunta sería si es razonable pensar que la necesidad de diseñadores de RTL/FPGA se reducirá significativamente debido a la creciente comercialización generalizada de ¿Herramientas de diseño HLS?

Respuestas (5)

Eventualmente, el compilador eliminó más o menos al programador ensamblador. Pero tomó mucho tiempo, y todavía hay algunos pagos, optimizar las funciones de alta velocidad al enésimo. Hay más pasatiempos, hacerlo de la manera difícil por el gusto de hacerlo.

Eventualmente, HLS eliminará más o menos al diseñador de niveles RTL. Pero llevará mucho tiempo, y todavía habrá algunos pagos sobre ...

La optimización es combinatoriamente costosa. Pero los "compiladores" se vuelven cada vez más inteligentes, a medida que se incorporan más y más trucos en la fase de optimización del compilador.

Siempre que el rendimiento tenga recursos limitados, comprender la funcionalidad de nivel inferior del hardware y la codificación para lidiar con sus idiosincrasias siempre producirá soluciones más eficientes y, por lo tanto, más rentables.

Si una aplicación puede tolerar penalizaciones de área, velocidad y/o costo, entonces las soluciones HLS pueden ser suficientes. A excepción de las aplicaciones de bajo volumen, creo que pasará mucho tiempo antes de que se pueda ignorar la eficiencia de un diseño, por lo que el mercado de diseñadores HDL expertos no desaparecerá en el corto plazo. Aquellos que entienden la funcionalidad de nivel inferior también pueden obtener un salario más alto.

En C y programación ensambladora, si desea optimizar el código y hacer que se ejecute lo más rápido posible, el código se optimiza manualmente para la arquitectura de la CPU y su canalización. El código incluso está optimizado para tamaños de caché en CPU. Incluso los arreglos transversales se pueden optimizar para estrategias de carga de caché. Si bien tenemos menos programadores de código de máquina, todavía son necesarios.

Lo mismo ocurre con los diseñadores de RTL\FPGA, si desea optimizar su RTL, necesitará un diseñador que pueda comprender la arquitectura FPGA a un alto nivel. Un diseñador de RTL puede optimizar diseños a mano, pero una computadora no tendrá esa capacidad porque no tiene la conectividad y no comprende las ideas como lo hacen los humanos.

Como mínimo, las personas involucradas en el desarrollo de esas herramientas HLS deberán saber cómo funcionan y, por lo tanto, comprender RTL en detalle. Al igual que con la programación general hoy en día, cuando tienes ensambladores en cada equipo de compilador/HAL/biblioteca del sistema.

Incluso para los diseñadores habituales de HW, el conocimiento de RTL será una gran ventaja. ¿Cómo depurará su código HLS que no funciona como esperaba, si no comprende el concepto en el que se basa? Nuevamente, esto es lo mismo que con el software, donde los programadores que no tienen idea de ensamblaje pueden bloquearse por completo durante la depuración cuando ven una variable sin dirección o un punto de interrupción dentro de una función en línea o parcialmente fusionada que se activa "sin razón".

Personalmente, creo que nos dirigimos en la dirección de la codificación de nivel superior, ya que las piezas están creciendo en órdenes de magnitud (en recursos, claro).

Pero creo que su trabajo estará seguro por un tiempo, y he aquí por qué: los compiladores finalmente hicieron que los programadores de ensamblaje se extinguieran, pero tomó bastante tiempo. Los FPGA generalmente tienen mucha menos demanda que el software, por lo que creo que esto reducirá la cantidad de personas/recursos que se invierten en este esfuerzo de hacer posible esta codificación de nivel superior.