Hallo guten Tag,
* habe den ILA core in ein simple A15T Vivado Projekt eingefügt.
* Zum Testen möchte ich einen der zwei Buttons des kleinen 15Tboards mit
dem ILA-core verfolgen können.
* Es wird aber gar nichts angezeigt im Debug-Fenster
* Ich toggle zwei LEDs auf dem Board und wollte auch das darstellen.
Aber das wird auch nicht dargestellt.
* Habe im Anhang mal meine top-level vhd Datei.
Probiere da viel rum.
Habe es synthetisiert, implementiert und dann auf den FPGA geladen.
Der Core ist zwar auf idle aber es scheint gar nichts zu kommen.
*.xdc
Bliad B. schrieb:> * habe den ILA core in ein simple A15T Vivado Projekt eingefügt.
"Direkt instanziiert" oder "per debug constraint und automatischt
instantiiert?
> * Zum Testen möchte ich einen der zwei Buttons des kleinen 15Tboards mit> dem ILA-core verfolgen können.
Welchen Button? Wo ist der markiert? Wo ist der ILA core? Wo ist das
Taktsignal für den Core her? Aus welcher Taktdomaine kommt das Signal?
Ist das Signal getaktet/einsynchronisiert oder der "pure" Button?
> * Es wird aber gar nichts angezeigt im Debug-Fenster
In welchem Fenster? Wie wird nichts angezeigt? Was ist "nichts"?
> * Ich toggle zwei LEDs auf dem Board und wollte auch das darstellen.> Aber das wird auch nicht dargestellt.
Wie würdest du das erwarten? Zeig mal einen Screenshot. Siehst du
nichtmal die LEDs togglen? Oder die LEDs nicht im ILA? Oder wo
darstellen? Und wie darstellen?
> Der Core ist zwar auf idle aber es scheint gar nichts zu kommen.
Auf Idle und es kommt nichts? Der Core muss getriggered werden, entweder
direkt per klick (in realem Debug unnütz, nur um eben mal zu sehen ob
Signale angezeigt werden), oder per Trigger Conditions im ILA Menü
konfiguriert und dann "scharfgestellet" damit er auslöst und aufzeichnet
sobald die Bedingung zutrifft.
Irgendwelche relevanten Warnings/CriticalWarnings/Errors von Vivado?
In Ermangelung von Infos mal ein Schuss ins Blaue: Manchmal werden die
Signale beim "starten" des ILA Fensters nicht richtig in den Waveform
Viewer geladen. Per "Plus" Button links oben im Waveform Window kannst
du Signale der Anzeige hinzufügen. Wenn in dem "Plus" Menü keine Signale
auftauchen hat vielleicht auch Vivado etwas nicht richtig für den ILA
Core generiert. Müsste dann aber in den Warnings auftauchen.
Versuche nochmal einen Schritt zurückzugehen und uns zu helfen dir zu
helfen. Vielleicht ein Screenshot des "nichts", vllt die instantiierung
des ILA Cores, eine genauere Beschreibung wie "nichts" dargestellt wird
und was du wo erwartet hättest.
Cle schrieb:> "Direkt instanziiert" oder "per debug constraint und automatischt> instantiiert?
Damit meine ich:
1
PORT(
2
clk:INSTD_LOGIC;
3
4
5
probe0:INSTD_LOGIC_VECTOR(1DOWNTO0);
6
probe1:INSTD_LOGIC_VECTOR(1DOWNTO0)
7
);
8
ENDCOMPONENT;
9
10
11
---(....)
12
13
myFirstILACore:ila_0
14
PORTMAP(
15
clk=>sysclk,
16
probe0=>button_internal,
17
probe1=>debug_leds
18
19
);
Cle schrieb:> Welchen Button?
B18 input. auf dem Bild der weiter innen-liegende.
Das Design kann ich in der Realität testen.
> Wo ist der markiert?> Wo ist der ILA core? Wo ist das> Taktsignal für den Core her?
Aus welcher Taktdomaine kommt das Signal?
Der ILA Core befindet sich dann auch im top lvl design. Das Taktsignal
kommt von dem 12 MHz Quarz auf dem Board.
Es nennt sich sysclk-
> Ist das Signal getaktet/einsynchronisiert oder der "pure" Button?
habe versucht den eingang mit einem internen Signal zu verbinden.
Cle schrieb:> Der Core muss getriggered werden,
Ich drücke dafür auf den blauen Pfeil,
Habe wie bei der Simulation auch die Signal zuerst hinzugefügt.
Hab das gerade auch noch mal durch set up debug gemacht- also durch
rechtsklick auf die "Net"s die ich debuggen möchte...
Dann Set Up Debug geklickt.
Aber es verhält sich genauso :(
Bliad B. schrieb:>> Der Core muss getriggered werden,> Ich drücke dafür auf den blauen Pfeil,> Habe wie bei der Simulation auch die Signal zuerst hinzugefügt.
Also den "scharfstellen" Pfeil?
Damit wartet er auf das Trigger Ereignis. Dort sehe ich im Screenshot
viele Signale. Sind die richtig eingestellt und können auch eintreten?
Kannst du die vereinfachen?
Kannst du mal den anderen Pfeil daneben drücken und schauen ob einfach
"direkt" getriggert wird und du Waveform siehst?
Cle schrieb:> Also den "scharfstellen" Pfeil?
habe alle Pfeile angeklickt die ich gesehen habe
Cle schrieb:> Damit wartet er auf das Trigger Ereignis.
ok kann natürlich sein, dass nie eins gekommen ist!
Cle schrieb:> Dort sehe ich im Screenshot> viele Signale. Sind die richtig eingestellt und können auch eintreten?
button-Druck generell ja, sehe ich daran, dass meine blaue LED ausgeht,
wenn ich diesen Taster drücke.
Habe dabei Netlist Signal verwendet. Und das war das nächste an dem
button Eingang. Der Button selber ist nicht zulässig zum Debuggen. Muss
nach dem Buffer verbunden werden.
Habe noch einen größeren FPGA.
Werde das auch mal damit testen
Bliad B. schrieb:> Cle schrieb:>> Also den "scharfstellen" Pfeil?>> habe alle Pfeile angeklickt die ich gesehen habe
Nicht alle, nur den "Immediate Trigger" und den "Armed Trigger"?
Was passiert da konkret? Siehst du bei Immediate Trigger direkt
irgendwelche Waveforms erscheinen oder bleibt es IMMER so wie in dem
Screenshot?
>> Cle schrieb:>> Damit wartet er auf das Trigger Ereignis.>> ok kann natürlich sein, dass nie eins gekommen ist!>> Cle schrieb:>> Dort sehe ich im Screenshot>> viele Signale. Sind die richtig eingestellt und können auch eintreten?>> button-Druck generell ja, sehe ich daran, dass meine blaue LED ausgeht,> wenn ich diesen Taster drücke.
Nein das meine ich nicht, kannst du nochmal einen großen Screenshot mit
dem Trigger Fenster rechts unten schicken?
Standardmäßig verundet (siehst du an dem kleinen Button mit dem AND
gate) er alle diese "Bedingungen". Dort sehe ich am Rande 4 direkte
Vergleiche, die müssen ALLE GLEICHZEITIG zutreffen damit der ILA core
auslösst. Das du nur "idle" siehst spricht dafür das du den Core
"scharfstellst" aber er nicht ausgelöst wird.
>> Habe dabei Netlist Signal verwendet. Und das war das nächste an dem> button Eingang. Der Button selber ist nicht zulässig zum Debuggen. Muss> nach dem Buffer verbunden werden.>> Habe noch einen größeren FPGA.> Werde das auch mal damit testen
Was erwartest du denn wenn du das ganze Setup direkt veränderst?
Ich glaube das ist nur ein Bedienungsproblem.
Jtagclock schrieb:> Die Systemclock muss mindestens das 2,5fache der Jtagclock haben.
Mit dem anderen FPGA gehts.
Ein status-vector wird dort angezeigt. Denke der Wert macht Sinn.
Kommt auch direkt wenn ich auf den Pfeil klicke.
:D
Unglaublich
Ja vielen Dank.
-----
Es >kann< sein, dass die 12 MHz nicht ausreichen. JTAG hat ca. 10 MHz.
Man benötigt also 25 MHz.
-------
Wenigstens läuft es da wo es laufen soll!
Werde für meine weitergehende Fragen dann die Unterlagen lesen müssen:
* Höchste Frequenz die man debuggen kann
* kann ich auch eine CLK einfach teilen und dann mit dem ILA anzeigen?
* Welche Signale sind gar nicht geeignet?
* denke da an meine beiden Takteingänge
* habe aber gesehen, dass man da Taktdomänen einstellen kann
Besten Dank für deine Hilfe :D
Jtagclock schrieb:> Die Systemclock muss mindestens das 2,5fache der Jtagclock haben.
Wieso denn das?
>Signale werden nicht dargestellt
Kannst du sie nicht finden oder nicht einbauen lassen? Wenn sie schon
bei der Auswahl nicht zu sehen sind, dann rein in die synthetisierte
Netzliste (die vorher nicht optimiert werden darf), und dort als "mark
debug" anweisen. Später bei der Definition des ILA werden sie in der
Auswahl angezeigt.
die waren wie tot die signale bei meinem kleine A7 - cpg 15T board.
habe zuerst auf synthetisieren geklickt und dann Signale mit mark zum
debuggen hinzugefügt.
set up debug muss man dann glaube ich noch klicken.
Und dann Implementieren geklickt.
..
als ich das bei meinem großen 200t Board gemacht habe konnte ich bei
meinem markierten Signal einen passenden Verlauf sehen.