Canalización de Vivado HLS con intervalo inconsistente

0

Tengo una función que quiero canalizar y, a veces, las siguientes entradas estarán listas cuatro relojes más tarde, pero a veces 6 o más. Puse el pragma a   #pragma HLS PIPELINE II=4 para un intervalo de inicio de cuatro relojes. Pero cuando intento ejecutarlo, no puedo averiguar cómo configurar ap_start para que el bloque HLS acepte datos en el reloj correcto.

Cuando el intervalo es 6, si configuro ap_start en alto para el reloj que los datos están listos, el bloque pierde todos los otros conjuntos de entradas y ejecuta solo cada doce relojes por razones que no puedo entender.

¡Gracias por cualquier ayuda!

EDITAR:

Me di cuenta de que lo que hay que usar es ap_vld en una entrada y dejar ap_start en alto. Aunque eso funciona para lo que quiero, parece que es incorrecto colocar la señal válida en una entrada individual si realmente quiero una válida para todos ellos. Además, ap_vld tiene la funcionalidad adicional de mantener las entradas de cuando válido pasa a nivel alto hasta que el bloque esté listo para procesar las nuevas entradas.

Entonces, si bien esta respuesta funciona, siento que no es la respuesta correcta.

    
pregunta Ethan

0 respuestas

Lea otras preguntas en las etiquetas