Hallo zusammen,
ich habe ein toplevel Design mit einer Instanz.
Diese habe ich auf einen Cyclone V gebracht und wollte mir aufgrund von
Problemen mit SignalTab II das Verhalten der Schaltung anschauen.
Das toplevel hat den Output START:
Die Instanz hat ebenfalls den gleichen Output, der 1zu1 im Toplevel
verbunden ist.
In der Instanz selber wird der Port vom signal s_start getrieben.
1 | SIGNAL s_start : std_logic;
|
Im RTL Viewer sieht alles so aus, wie es sein soll.
Alles direkt vom s_start FF verdrahtet und zum Port geführt (siehe
Bilder).
Mit dem Oszi messe ich am Pin von START alles korrekt.
Leider wird mir das Signal s_start im SignalTab invertiert dargestellt.
Den Port START finde ich dort gar nicht, so dass ich ihn nicht direkt
vergleichen kann.
Das Hauptproblem ist aber, dass s_start ein enabe für einen Counter ist.
1 | counter : PROCESS (CLK, NRES)
|
2 | BEGIN
|
3 | IF NRES = '0' THEN
|
4 | s_temp_cntr <= (OTHERS => '0');
|
5 | ELSIF rising_edge(CLK) THEN
|
6 | IF s_cnt_rst = '1' THEN
|
7 | s_temp_cntr <= (OTHERS => '0');
|
8 | ELSIF s_start = '1' THEN
|
9 | s_temp_cntr <= s_temp_cntr + 1;
|
10 | END IF;
|
11 | END IF;
|
12 | END PROCESS counter;
|
Dieser Counter verhält sich zum dargestellten SignalTab Signal, nämlich
invertiert.
Ich habe also den Port, der meiner VHDL Beschreibung entspricht.
Ich habe das invertierte Signal s_start im SignalTab.
Und ich habe einen Counter, der sich entsprechend dem Signal im
SignalTab verhält und nicht entsprechend meiner Oszi Messung, die ja
1zu1 verdrahtet ist.
Nun bin ich etwas ratlos :(
Hat jemand einen Hinweis für mich?
Wieso finde ich den Port/Pin START nicht im SignalTab?
Gibt es eine Option, die das irgendwie verhindern kann? Wird vielleicht
irgendwo optimiert, wo nicht optimiert werden dürfte?
Vielen Dank!
PS: Ich taste im SignalTab mit einem 50MHz EIngangstakt ab. Das Design
wird mit 50MHz/32 getaktet.