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

1

Hay muchas estrategias de temporización que pueden mejorar la velocidad de 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 las lógicas. De hecho, primero seleccionamos los mejores lugares de E / S y luego podemos ubicar las lógicas, ... Este proceso comienza a partir de la colocación de E / S y eso es lo que no sé qué estrategia lleva al mejor rendimiento.
Estas son estrategias en las que pensé como un punto de partida de la colocación del pin:

1- En la imagen de abajo (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 a 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 una de la otra (vi en alguna parte que la ruta horizontal entre entradas y salidas es la más rápida pero no puedo recordar dónde estoy léelo !!)

3- path-3: estar cerca del pin del reloj puede imponer un poco de ruido de sus componentes y cables EXTERNOS.

Puede haber muchas otras estrategias que no conozco. ¿Alguien puede darme una pista o un método de pensamiento como punto de partida?

1)

    
pregunta Aug

1 respuesta

1

El reloj global no tiene un 'camino' per se. Puede ir a cualquiera de los pines del reloj global en el chip y luego enrutar la señal desde allí a una de las redes de reloj globales. Estas redes están dedicadas, por lo que no importa cómo se enrute ninguna de las otras redes de señal, ya que no afectará a las redes de reloj globales. Además, la conexión a la red de reloj global desde el pin no implica la estructura de enrutamiento general del FPGA, siempre que el pin sea capaz de dirigir directamente una red de reloj global.

No estaría demasiado preocupado por la influencia de la entrada del reloj en las trazas que no están inmediatamente al lado del pin. Si está muy preocupado por la entrada del reloj, use un oscilador de frecuencia más baja en la placa y obtenga la frecuencia que necesita utilizando uno de los DCM en el FPGA para sintetizar el reloj de frecuencia más alta.

En términos de ubicaciones de pin IO, lo que normalmente hago es averiguar a qué se conectarán fuera del FPGA. El software puede enrutar señales a donde sea necesario para ingresar dentro del FPGA. Y si sigue algunas de las reglas básicas de diseño, todas sus entradas y salidas deberían pasar por alto los flip flops de IOB. Esto ayuda en gran medida a la etapa de lugar y ruta sincronizando las entradas y salidas y ocultando gran parte del sesgo que se produce en el enrutamiento. El gasto es un ciclo de retraso de reloj en la entrada y un ciclo de retraso de reloj en la salida, un precio razonable para pagar por la sincronización.

Línea inferior: la mayoría de los pines pueden ir a donde sea conveniente sin degradación del rendimiento. La cadena de herramientas se hará cargo de los detalles. Use esto para su ventaja para simplificar el diseño de la placa y el enrutamiento de seguimiento fuera del FPGA.

    
respondido por el alex.forencich

Lea otras preguntas en las etiquetas