mikrocontroller.net

Forum: FPGA, VHDL & Co. Constraint Problem am BlockRAM FIFO Xilinx


Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe ein aktuelles Test-Design, was mich etwas narrt. zur 
Entkoppelung zweier Taktdomänen nutze ich einen FIFO. Schreibseite ist 
64MHz aus dem DCM, Leseseite 50MHz auch aus dem gleichen DCM. Ist im 
Spartan 6 auf dem SP601 Board. Es wird nicht kontinuierlich geschrieben, 
sondern nur alle x Takte ein Wert aus dem 64MHz Teil. Daher wird auch 
nix überfahren, ist nur zur Takt-Entkopplung. Bisher hab ich nur die 
PERIOD Constraint für den SYSCLK angegeben, der mit 200MHz rein geht. 
Die internen Constraints nach dem DCM werden ja vom ISE korrekt erzeugt. 
Trotz des FIFOs (egal ob BlockRAM oder Distributed) kann er die 
Constraints für die 50MHz und 64MHz nicht einhalten. Auch der Haken im 
CoreGenerator bei "Disable Timing violations on cross clock domains..." 
bringt überhaupt nix. Wie bekommt man das weg? Ist doch totaler Käse, 
ich bau doch den FIFO eben genau deswegen da ein. Benutze ich für den 
50MHz Takt einen extra Takteingang, also nicht aus dem gleichen DCM, 
dann gibts keine Probleme. Weiß einer, woran das liegt?

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich würde mal probieren ein TNM_NET Constraint auf die beiden 
Taktsignale der DCM zu setzen und dann mit
TIMESPEC "TS_XX" FROM "CLK1" TO "CLK2" TIG;
einen false Path zwischen den beiden Takten zu definieren. Wenn das den 
Fehler beseitigt liegt es bestimmt daran, daß der Timing Analyzer durch 
das FIFO einen Datenpfad zwischen den beiden Takten findet. Evtl. 
funktioniert dann die Option "Disable Timing violations on cross clock 
domains..." nicht so wie du es dir wünschst.

Wie hast du denn in deinem Versuch mit zwei unterschiedlichen 
Takteingängen die Constraints gesetzt? Evtl. hat der Analyzer dann für 
beide die gleiche Frequenz und Pahsenlage angenommen.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm...mit den TIG Constraints (hin und zurück) klappt es jetzt.
Mit den beiden getrennten CLK hatte ich natürlich schon die 
verschiedenen Frequenzen angegeben. Keine Ahnung, wieso der das so 
komisch macht.

Autor: Anguel S. (anguel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian R. schrieb:
> Hm...mit den TIG Constraints (hin und zurück) klappt es jetzt.

Genau, guckst du hier:

http://www.xilinx.com/support/documentation/ip_doc...

S. 98, Setup and Hold Time Violations

Grüße,
Anguel

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.