PAR demora demasiado - Xilinx ISE

0

Estoy tratando de compilar un proyecto y se tarda mucho tiempo en enrutar. - ISE 14.3

En mi módulo principal, estoy usando un paquete donde he declarado una matriz de constantes. Estas constantes usan funciones que he declarado en otro paquete.

Por lo que sé, la herramienta de síntesis precomputa estos valores de contante y los almacena como una LUT o bloque de RAM antes de la síntesis.

Pero me pregunto si el uso de este paquete está creando problemas de enrutamiento.

Elpaqueteconstanteseveasí:

la función real_to_sfixed se define en una biblioteca de punto fijo que, a su vez, llama a algunas funciones más

la tabla se utiliza como:

    
pregunta Sai Gautam

1 respuesta

1

Es probable que el doble subíndice esté haciendo que la síntesis infiera memoria distribuida en lugar de bloques de memoria. Combinaría los bits de selección de N_int y sine_counter_d1 en una sola señal addr y utilizaría esto como el índice dentro de SINE_TABLE(addr) . Un informe de síntesis (ni siquiera P & R) debería mostrar la mejora.

No sé VHDL, en verilog haría algo como

wire [8:0] addr = { N_int[x:y], sine_counter_d1 };
...
   sine <= SINE_TABLE[addr];

Necesitará ajustar la carga constante para seguir el mismo patrón. Pasar horas en el mar de puertas para hacer lo que se podría introducir en una memoria es una buena manera de perder el tiempo P&R.

    
respondido por el shuckc

Lea otras preguntas en las etiquetas