Hallo zusammen,
in meinem Betrieb setzen wir seit einer Weile einen bunten Mischmasch an FPGA-Familien ein und während wir früher mit Altera's Signaltap immer viel Spass hatten - ist das bei Lattice' RevealInserter und auch schon bei Vivado's ILA Cores manchmal schwierig.
Während man zumeist (Altera/Efinix) das Design so lassen kann wie es ist und sich einfach die Signale raussucht, die man gerne sehen möchte muss man bei Xilinx mit Signal-Parametern ("Mark as debug") versuchen, das Signal in seiner ursprünglichen Form zu retten (sodass die Optimierung es nicht frisst) und somit fummelt man im Code rum...
==== Die Idee, die wir hatten
Könnte man nicht mit einem DualPorted-RAM und ein klein bisschen Logik einen eigenen SignalTap basteln, der die angeschlossenen Signale im Kreis herum schreibt, auf eins der eintreffenden Signale triggert und dann den RAM-Inhalt auf der UART-Schnittstelle raus schiebt...?
Auf der PC-Seite könnte man die Daten mit einem halbwegs einfach gestrickten Programm empfangen und im einfachsten Fall .vcd-Dateien erstellen, die man in gtk-Wave anschaut ... oder man visualisiert sie on-the-fly :-)
==== Gibt's das nicht schon - oder noch was besseres?
Zumeist ist man (bei einer halbwegs ordentlichen Idee) nicht der erste, dem so etwas einfällt - somit würde ich mich freuen, wenn man mir ein bisschen Kontra geben könnte:
- weil's das schon gibt
- weil's Blödsinn ist (evtl. hab ich's auch nicht sinnvoll genug erklärt)
- weil's bessere Alternativen gibt, mit der Problematik umzugehen