Pregunta de entrevista, ¿qué limita la frecuencia de salida para el circuito FPGA?

5

Hace poco recibí una pregunta en una entrevista que me sorprendió parcialmente. Fue algo como esto:

Usted tiene un circuito FPGA que se supone está generando una señal con una frecuencia de 500MHz, pero solo está emitiendo a 300MHz. ¿Cómo resolvería esto y averiguaría la causa del retraso?

Mi primera reacción fue verificar la impedancia y la capacitancia en todo el circuito para ver si de alguna manera funcionaba como un filtro de paso bajo, pero aparte de eso no pude pensar en ninguna idea. ¿Puede alguien ayudarme? ¿Hay una respuesta obvia que me esté perdiendo?

    
pregunta John

3 respuestas

9

Lo más probable es que se refieran al diseño que falla las restricciones de tiempo (I.E., el compilador FPGA informa que las cosas van más lentas). Entonces, la solución sería mirar el archivo de informe de tiempo e intentar reducir las cosas desde allí.

Es difícil decir algo más allá de este primer paso porque depende mucho del diseño, y esa información no se proporcionó en la pregunta de la entrevista.

    
respondido por el user3624
4

La pregunta que te hicieron está bastante mal redactada (a menos que hayas omitido algunos detalles o hayan querido comprobar que estás escuchando).

Si el FPGA tiene una velocidad de reloj de 500 MHz, pero el diseño solo puede manejar 300 MHz, entonces la "señal" no importa, ya que el diseño completo no funcionará correctamente. Para solucionarlo, compruebe el informe de temporización para ver dónde están las rutas críticas. Esos caminos son los "más lentos" entre dos elementos, y determinan la frecuencia máxima de reloj que el circuito en el dominio del reloj puede lograr en un diseño sincrónico. Luego, ve a la HDL para ver los bloques ofensivos y ver cómo puedes acortar esos caminos introduciendo la canalización, por ejemplo. Una opción más avanzada es mirar el diseño colocado y enrutado en un editor de GUI y ver si el placer hizo algo tonto que condujo a los caminos largos. Luego puede colocar los bloques a mano o probar diferentes semillas de colocación.

Si el diseño de la FPGA puede manejar 500 MHz, pero solo una señal emite 300 MHz en lugar de 500 MHz, entonces estaba en el camino correcto. Debería asegurarse de que el estándar de E / S que está utilizando tenga una clasificación de 500 MHz; compruebe si la potencia de la unidad de E / S está configurada correctamente; compruebe la impedancia de las trazas y los desajustes; depure las trazas con un analizador de espectro y espectro; y simular el circuito con HyperLynx, por ejemplo.

Finalmente, podría ser que su equipo de medición no sea apropiado y que esté afectando la señal que está tratando de ver. Por lo que podría haberles preguntado cuál era la configuración de medición.

    
respondido por el Saar Drimer
3

Un filtro de paso bajo no cambiaría la frecuencia de la señal, solo ralentizaría los bordes de transición hacia abajo.

    
respondido por el allanw

Lea otras preguntas en las etiquetas