Forum: FPGA, VHDL & Co. Altera SignalTab II - Signal ggü Oszi invertiert


von Marc M. (bench)


Angehängte Dateien:

Lesenswert?

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:
1
START       : OUT    std_logic;

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.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Marc M. schrieb:
> SignalTab
Vorneweg:
Tab = Tabellenreiter
Tap = Anzapfung, Stromabnehmer

Marc M. schrieb:
> Mit dem Oszi messe ich am Pin von START alles korrekt.
Und auch dein Zähler funktioniert nach aussen hin?
Dann ist eigentlich alles ok, denn letztlich kommt es nur darauf an, 
dass die Hardware nach aussen richtig tut... ;-)

Es könnte sein, dass eine Invertierung des Signals eine effizientere 
Ausnutzung der FPGA Ressourcen ermöglicht. Dann wird ein Signal einfach 
invertiert und diese Invertierung im IO Treiber wieder korrigiert.

Sieh dir mal statt des Synthese-RTL-Plans die reale Umsetzung im FPGA 
(incl. IO Buffer) an.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.