quartus signaltap ¿no es exacto?

1

Estoy usando SignalTap de Quartus para depurar mi diseño de FPGA: ¡Siempre he sido persuadido de que SignalTap no es exacto!

Esto es lo que encontré:
Superviso la señal de reinicio con SignalTap: el reinicio alterna alrededor, mientras que la misma señal permanece estable en 1 en el osciloscopio.

Configuración de SignalTap:

  • Fuente de reloj: 48MHz
  • Restablecer: señal de PCB (la misma señal monitoreada)
  • Profundidad de la muestra: 1K
  • Tipo de calificador de almacenamiento: Transitorio

Las preguntas: ¿Alguna idea de por qué Signaltap no concuerda con mi osciloscopio? ¿Cuáles son las limitaciones de este software?

    

2 respuestas

2

Signal Tap puede estar mostrando lo que el FPGA está viendo la señal de reinicio. Si está rebotando internamente, entonces eso puede indicar que tiene problemas con esa señal (quizás esté demasiado cerca del umbral de voltaje) o que los suministros sean ruidosos.

    
respondido por el Martin Thompson
3

Supongo que su pregunta es, ¿por qué Signaltap no está de acuerdo con su osciloscopio?

Quartus Signaltap no es un simulador, es un analizador lógico integrado (sintetizado en la configuración FPGA, junto con el diseño bajo prueba). Es básicamente una máquina de estado que captura señales internas y se comunica con el software Quartus para mostrar. Entonces, a diferencia de la simulación, puede capturar lo que realmente sucede en el FPGA en tiempo real. Podrías construir tu propio equivalente de flip-flops y bloques de RAM, y tendría los mismos tipos de limitaciones. Como cualquier herramienta, hay límites a lo que puede hacer. Pero todavía tiene las mismas limitaciones que cualquier máquina de estado.

Si la fuente de alimentación es defectuosa o con poca potencia, eso afecta a todo en el FPGA, tanto su código como el código Signaltap.

Si el reloj tiene fluctuaciones, esa fluctuación afecta a todo en el FPGA, tanto su código como el código de Signaltap.

Si el FPGA se sobrecalienta, afecta todo lo que se encuentra en el FPGA, tanto su código como el código de Signaltap.

Si el FPGA está demasiado lleno (por lo que el rendimiento del enrutamiento de la señal es deficiente), afecta a todo en el FPGA, tanto su código como el código Signaltap.

Para observar el cambio de reinicio de RST como lo describió, creo que el osciloscopio es más preciso que el analizador lógico incorporado. El analizador lógico integrado sería una mejor herramienta para recopilar un búfer profundo de los estados lógicos de las señales. El osciloscopio es una mejor herramienta para observar el voltaje real y el tiempo de las señales externas.

Utilice el osciloscopio (y la revisión de los archivos de registro de síntesis) para validar que el analizador lógico incorporado funciona correctamente, de modo que pueda utilizar su búfer más amplio y profundo y su acceso a las señales internas.

Es posible que desee ejecutar Post-Place-And-Route Simulation para examinar por qué la señal RST interna notificada por el analizador lógico integrado Signaltap se comporta de manera diferente a la señal RST externa observada por el osciloscopio. También es posible que desee examinar RTL Schematic y Technology Schematic para verificar lo que realmente se configuró en el código FPGA.

    
respondido por el MarkU

Lea otras preguntas en las etiquetas