Signalverfolgung in der Post-Place Analyse

OP #4239617
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
#4239863
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren