quartus signaltap nicht genau?

Ich benutze Quartus SignalTap, um mein FPGA-Design zu debuggen: Ich war immer davon überzeugt, dass SignalTap nicht genau ist !!

Folgendes habe ich gefunden:
Ich überwache das Reset-Signal mit SignalTap: Reset schaltet um, während das gleiche Signal im Oszilloskop konstant auf 1 steht.

ergreifen

SignalTap-Einstellungen:

  • Taktquelle: 48 MHz
  • Zurücksetzen: PCB-Signal (gleiches überwachtes Signal)
  • Probentiefe: 1K
  • Art des Speicherqualifizierers: Übergangsweise

Die Fragen: Irgendwelche Ideen, warum Signaltap nicht mit meinem Oszilloskop übereinstimmt?? Was sind diese Softwareeinschränkungen?

Sie haben also immer gedacht, dass es nicht korrekt ist, und Sie haben herausgefunden, dass es nicht korrekt ist ... nun, was ist noch einmal Ihre Frage?
Meine Frage ist: WARUM passiert das und was sind diese Softwareeinschränkungen?

Antworten (2)

Signal Tap zeigt Ihnen möglicherweise, wie das FPGA das Reset-Signal sieht. Wenn es intern herumhüpft, kann dies darauf hindeuten, dass Sie Probleme mit diesem Signal haben (möglicherweise liegt es zu nahe an der Schwellenspannung) oder dass die Versorgung verrauscht ist.

Ich nehme an, Ihre Frage ist, warum Signaltap nicht mit Ihrem Oszilloskop übereinstimmt.

Quartus Signaltap ist kein Simulator, sondern ein eingebetteter Logikanalysator (zusammen mit dem zu testenden Design in die FPGA-Konfiguration synthetisiert). Es ist im Grunde eine Zustandsmaschine, die interne Signale erfasst und mit der Quartus-Software kommuniziert, um sie anzuzeigen. Im Gegensatz zur Simulation kann es also in Echtzeit erfassen, was wirklich auf dem FPGA passiert. Sie könnten Ihr eigenes Äquivalent aus Flip-Flops und Block-RAM bauen, und es hätte die gleichen Einschränkungen. Wie bei jedem Werkzeug gibt es Grenzen, was es tun kann. Aber es hat immer noch die gleichen Einschränkungen wie jede Zustandsmaschine.

Wenn die Stromversorgung gestört oder zu schwach ist, wirkt sich das auf alles im FPGA aus, sowohl auf Ihren Code als auch auf den Signaltap-Code.

Wenn die Uhr Jitter hat, wirkt sich dieser Jitter auf alles im FPGA aus, sowohl auf Ihren Code als auch auf den Signaltap-Code.

Wenn das FPGA überhitzt, wirkt sich das auf alles im FPGA aus, sowohl auf Ihren Code als auch auf den Signaltap-Code.

Wenn das FPGA zu voll ist (also die Leistung des Signalroutings schlecht ist), wirkt sich dies auf alles im FPGA aus, sowohl auf Ihren Code als auch auf den Signaltap-Code.

Um das von Ihnen beschriebene RST-Reset-Umschalten zu beobachten, glaube ich, dass das Oszilloskop genauer ist als der eingebettete Logikanalysator. Der eingebettete Logikanalysator wäre ein besseres Werkzeug zum Sammeln eines tiefen Puffers der logischen Zustände der Signale. Das Oszilloskop ist ein besseres Werkzeug, um die tatsächliche Spannung und das Timing externer Signale zu beobachten.

Verwenden Sie das Oszilloskop (und überprüfen Sie die Syntheseprotokolldateien), um zu überprüfen, ob der eingebettete Logikanalysator ordnungsgemäß funktioniert, damit Sie seinen tieferen und breiteren Puffer und seinen Zugriff auf interne Signale nutzen können.

Möglicherweise möchten Sie ausführen, Post-Place-And-Route Simulationum zu untersuchen, warum sich das vom eingebetteten Logikanalysator Signaltap gemeldete interne RST-Signal anders verhält als das vom Oszilloskop beobachtete externe RST-Signal. RTL SchematicMöglicherweise möchten Sie auch die und die untersuchen, Technology Schematicum zu überprüfen, was tatsächlich im FPGA-Code konfiguriert wurde.