2 votos

¿Cuál es la planificación de E/S más rápida para FPGA?

Existen muchas estrategias de temporización que pueden mejorar la velocidad de la FPGA (como restricciones de temporización, planificación de las regiones de reloj, ....). Una de estas estrategias es seleccionar los lugares óptimos para los pines de E/S y planificar la lógica. De hecho, primero seleccionamos los mejores lugares de E/S y luego podemos colocar las lógicas,.... Este proceso comienza desde la colocación de E/S y eso es lo que no se que estrategia lleva al mejor rendimiento.
Se trata de estrategias en las que pensaba como Punto de partida de la colocación de las clavijas:

1- En la imagen inferior (Xilinx Spartan 3), se pueden seleccionar todas las entradas/salidas en un banco (flecha-1) y un Reloj Global por ejemplo en el banco-4. Esto conduce a una distancia mínima para todos los pines y también un ruido mínimo de los cables externos del pin GCLK, pero está lejos de la línea GCLK.

2- ruta-2: cruza la ruta GCLK pero las entradas y salidas están lejos unas de otras (vi en algún sitio que la ruta horizontal entre entradas y salidas es la más rápida, pero no recuerdo dónde lo leí). )

3- ruta-3: al estar cerca de la patilla de reloj puede imponer algo de ruido de sus cables y componentes EXTERNOS.

Puede haber muchas otras estrategias que desconozco. ¿Puede alguien darme una pista o un método de pensamiento como punto de partida?

enter image description here 1)

2voto

silverbolt Puntos 18

El reloj global no tiene una "ruta" propiamente dicha. Puede ir en cualquiera de los pines de reloj global en el chip y luego la ruta de la señal a partir de ahí en una de las redes de reloj global. Estas redes están dedicadas por lo que no importa cómo cualquiera de las otras redes de señal se enrutan, ya que no afectará a las redes de reloj global. Además, la conexión a la red de reloj global desde el pin no implica el enrutamiento general de la FPGA, siempre y cuando el pin sea capaz de controlar directamente una red de reloj global.

Yo no me preocuparía demasiado por la influencia de la entrada de reloj en las trazas que no están inmediatamente al lado de la patilla. Si estás muy preocupado por la entrada de reloj, entonces utiliza un oscilador de frecuencia más baja en la placa y obtén la frecuencia que necesitas utilizando uno de los DCM en la FPGA para sintetizar el reloj de frecuencia más alta.

En cuanto a la ubicación de los pines IO, lo que suelo hacer es averiguar a qué se van a conectar fuera de la FPGA. El software puede encaminar las señales a donde sea necesario dentro de la FPGA. Y si sigues algunas de las reglas de diseño, todas tus entradas y salidas deberían pasar por flip flops IOB. Esto ayuda en gran medida a la etapa de colocación y enrutamiento mediante la sincronización de las entradas y salidas y ocultando gran parte del sesgo que se produce en el enrutamiento. El coste es un ciclo de reloj de retardo en la entrada y un ciclo de reloj de retardo en la salida, un precio razonable a pagar por la sincronización.

En resumen: la mayoría de los pivotes pueden ir donde les convenga sin mermar el rendimiento. La cadena de herramientas se encargará de los detalles. Utiliza esto a tu favor para simplificar el diseño de la placa y el trazado de rutas fuera de la FPGA.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X