problemas de migración de FPGA de Quartus

3

Tengo un Quartus de diseño FPGA que compila y funciona correctamente para un ciclón IV EP4CE15F17C8 (42% usado).

Estoy tratando de migrar el mismo diseño a un FPGA EP4CE10F17C8 más pequeño, pero al cambiar el dispositivo FPGA obtengo errores de compilación relacionados con un Megafunction PLL que tengo:

  

Error (176554): No se puede colocar PLL "top_level_d9620: top_level_d9620_comp | pll25MHZ_b: G5 | altpll: altpll_component | pll25MHZ_b_altpll: auto_generated | pll1" - I / O pin center una ubicación que no está conectada al tipo de puerto INCLK de cualquier PLL en el dispositivo

No sé cómo evitar este error. ¿Hay una solución para esto? Incluso si elimino el PLL, obtengo muchos errores como este:

  

Error (176337): Celda top_laser: top_laser_comp | gene_freq_dpi1: U35 | retard_t40 [0] alimentado por 5 señales de control no globales: solo 4 señales de control pueden ser no globales

¿Alguna idea?

    

2 respuestas

1

Parece que podrías estar usando un pin de entrada para el reloj que no es un pin con capacidad de reloj. Eche un vistazo a la hoja de datos y asegúrese de estar usando un pin de reloj válido. Esta es una de las pocas cosas en un FPGA que realmente debes tener en cuenta para determinar qué pin estás usando. Básicamente, se pueden colocar otras señales donde sea más conveniente, pero los relojes deben estar conectados a pines capaces de impulsar las redes de reloj y los PLL.

Sin embargo, no estoy seguro del segundo error. Consulte: enlace . Podría ser un problema de enrutamiento del reloj si el reloj no pasa por la red de reloj adecuada.

    
respondido por el alex.forencich
1

Tu primer error ya fue resuelto por Alex y Dave. La explicación para el segundo error es un poco más sutil.

Cada bloque de matriz lógica (LAB) tiene un cierto número de "señales de control"; lo más común es que los relojes, pero también se reinician y borran. Estas señales se distribuyen comúnmente entre los recursos de enrutamiento "globales" (a veces llamados recursos de enrutamiento de "reloj"), por lo que los LAB están optimizados para incorporar todas las señales de control que necesitan de los recursos de enrutamiento globales.

También puede también alimentar señales de control a través de enrutamiento local, pero solo hasta cuatro de ellas por laboratorio. Así es como se construye el hardware.

La razón por la que está viendo este error cuando elimina el PLL es más probable porque esencialmente está convirtiendo las señales de control de las señales globales (los PLL solo pueden alimentar a los globales) en señales locales. Si encuentra un lugar mejor para colocar los PLL, el error debería desaparecer.

    
respondido por el Adrian Ludwin

Lea otras preguntas en las etiquetas