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


von Christian R. (supachris)


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?

von Hans (Gast)


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.

von Christian R. (supachris)


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.

von Anguel S. (anguel)


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_documentation/fifo_generator_ug175.pdf

S. 98, Setup and Hold Time Violations

Grüße,
Anguel

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.