Soy nuevo en la programación para FPGA, por lo que me recomendaron usar algunos traductores disponibles de C/C++ a VHDL.
El problema es que hay toneladas de información y casi todos los buenos programas necesitan una licencia costosa.
Me van a dar un Xilinx FPGA (probablemente un Virtex-6) y tendré una licencia válida para usar Vivado HLS e ISE. Así que ahora, mi idea sobre cómo convertir un algoritmo C a FPGA es esta:
1 - Convierta el algoritmo de C a VHDL y optimice con Vivado HLS (ya entendido de los tutoriales cómo hacer este paso)
2 - Use los archivos VHDL recién generados en ISE para generar un flujo de bits (no tengo idea de cómo hacer esto)
3 - Usar el Xillybus para conectar un programa en C con la FPGA (con el bitstream) y enviar/recibir información para poder ver las salidas.
¿Estoy en el camino correcto y me falta algún paso? Acerca del paso 2, ¿es sencillo generar el flujo de bits en ISE o necesito muchos conocimientos sobre el reenvío de puertos?
Respondiendo a tu pregunta de comentario aquí donde tengo más espacio. Digamos que tiene una aplicación que ha diseñado en una caja de Linux y ejecuta un algoritmo que escribió para contar la cantidad de imágenes de gatos en Internet. Ahora se ejecuta, pero es lento porque hay muchas imágenes de gatos para pasar, por lo que desea acelerarlo en el hardware.
Entonces, usa esta herramienta para escribir código OpenCL que está en C pero con algunas restricciones de forma porque se "compilará" para ejecutarse en un FPGA. La llamada a esta parte de los núcleos de código. Ahora estos núcleos van a ser sintetizados y ejecutados en el FPGA, tal vez tenga 1 o tal vez tenga 100 funcionando en paralelo.
Está haciendo todo esto correctamente en su aplicación, en línea, de modo que cuando llega al punto de contar los gatos, está utilizando sus API para realizar el procesamiento en el FPGA.
Acabo de ver tu otro comentario de que aún no ha salido, sé que las cosas de Altera han estado fuera por un tiempo, puedes encontrar un montón de ejemplos de diseño aquí .
Dicho todo esto, depende de cuál sea su objetivo aquí, ¿quiere aprender a escribir verilog, bancos de prueba y ser un diseñador de FPGA? ¿O está buscando simplemente acelerar algoritmos o funciones usando hardware sin hacer todo eso?
Como cualquier conjunto de herramientas, cuál usar depende del trabajo en cuestión.
el fotón
Joao Pereira
Eugenio Sh.
el fotón
Joao Pereira
Joao Pereira
el fotón
Un tipo de hardware
Stanri
Paebbels
Joao Pereira
Joao Pereira
Joao Pereira
Ciro Santilli OurBigBook.com