Quartus SignalTap no es preciso?

Estoy usando Quartus SignalTap para depurar mi diseño de FPGA: ¡siempre me han convencido de que SignalTap no es preciso!

Esto es lo que encontré:
controlo la señal de reinicio con SignalTap: el reinicio cambia, mientras que la misma señal es constante en 1 en el osciloscopio.

captura

Configuración de SignalTap:

  • Fuente de reloj: 48MHz
  • Restablecimiento: 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 está de acuerdo con mi osciloscopio? ¿Cuáles son las limitaciones de este software?

Así que siempre estabas pensando que no es exacto, y descubriste que no es exacto... bueno, ¿cuál es tu pregunta otra vez?
mi pregunta es: ¿POR QUÉ sucede esto y cuáles son las limitaciones de este software?

Respuestas (2)

Es posible que Signal Tap le muestre cómo ve la FPGA la señal de reinicio. Si está rebotando internamente, eso puede indicar que tiene problemas con esa señal (tal vez está demasiado cerca del voltaje de umbral) o tal vez los suministros son ruidosos.

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

Quartus Signaltap isn't a simulator, it's an embedded logic analyzer (synthesized into the FPGA configuration, alongside the design under test). It's basically a state machine that captures internal signals and communicates with the Quartus software to display. So unlike simulation, it can capture what's really happening on the FPGA in real time. You could build your own equivalent out of flip-flops and block RAM, and it would have the same kinds of limitations. Like any tool, there are limits to what it can do. But it still has the same limitations as any state machine.

If the power supply is glitchy or underpowered, that affects everything in the FPGA, both your code and the Signaltap code.

If the clock has jitter, that jitter affects everything in the FPGA, both your code and the Signaltap code.

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

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

Para observar el cambio de restablecimiento de RST como lo describió, creo que el osciloscopio es más preciso que el analizador lógico incorporado. El analizador lógico incorporado 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 revise los archivos de registro de síntesis) para validar que el analizador lógico integrado funciona correctamente, de modo que pueda utilizar su búfer más profundo y más amplio y su acceso a las señales internas.

Es posible que desee ejecutar Post-Place-And-Route Simulationpara examinar por qué la señal RST interna informada por el analizador lógico incorporado Signaltap se comporta de manera diferente a la señal RST externa observada por el osciloscopio. También es posible que desee examinar el RTL Schematicy el Technology Schematicpara verificar qué se configuró realmente en el código FPGA.