Forum: FPGA, VHDL & Co. Signalverfolgung in der Post-Place Analyse


von Christian W. (christian_w79)


Lesenswert?

Hallo,

ich habe ein Design auf einem Spartan-6 programmiert, wo ich mit einem 
KCPSM6 einen SPI-Generator ansteuere.

In der "Behavioural Simulation" sehe ich in ISIM, dass meine Signale 
korrekt sind. In der "Echten Welt" (also an den Ausgangspins) stimmen 
sie nicht mehr.

Ich möchte mich also Stück für Stück über die verschiedenen 
Simulationsarten vorarbeiten und sehen, wo der Fehler ist.

Leider scheitere ich schon an der "Post-Translate"-Analyse: Alle meine 
Signale werden im ISIM durcheinander gewürfelt und umbenannt. Wo ich im 
"Behavioural" meine "out_port" und "write_strobe" noch sehr einfach 
gefunden habe heisst jetzt alles
"processor_inst_KCPSM6_STROBES_processor_inst_STROBES_DMUX_DELAY"
und ich habe keine Ahnung ob das das richtige Signal ist.

Welche Möglichkeit habe ich, meine Signale zu finden?

Christian

von P. K. (pek)


Lesenswert?

Wenn Du in dieser Hinsicht Probleme hast gibt es zwei Gründe die zu 90% 
Wahrscheinlichkeit dafür verantwortlich sind:
- Deine Sensitivity-Listen sind nicht vollständig, es wird was
  anderes simuliert, als dann synthetisiert wird.
- Deine Timing-Constraints sind nicht korrekt oder unvollständig.

Wenn diese beiden Dinge korrekt sind, wird Dein FPGA machen, was Du ihm 
sagst, flächendeckende Post-Place-Sim sind der falsche Ansatz.

Um einzelne Signale zu erhalten, benutze ich jeweils Synopsys-Pragmas 
(nach der Signal-Deklaration, vor dem Architektur-Beginn), z.B.:

  attribute keep                       : boolean;
  attribute keep of CurSeqInstrxS      : signal is true;

Ob das in ISE genau gleich tut, weiss ich nicht, aber ähnlich wird es 
sein.

: Bearbeitet durch User
von Christian W. (christian_w79)


Lesenswert?

Danke,
ich arbeite mich mal in die Pragmas ein.

Christian

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.