Forum: FPGA, VHDL & Co. Clock Enable und Timing Constrains


von Johny (Gast)


Lesenswert?

Hi

Habe momentan ein kleines Problem.

Habe ein VHDL Modul in dem zwei Sachen erledigt werden.
1. Ist dort ein Bus Slave und 2. eine Ansteuerung für ein TFT Display.
Beide werden mit dem selben 350 MHz schnellen Takt versorgt wobei die 
Ansteuerung des TFT Display mit einem CE Signal auf 70 MHz verlangsamt 
wird.
Jetzt wil mir die ISE aber bei den Timings immer sagen das es nicht past 
da die TFT Ansteuerung die 350 MHz nicht schafft.

Jetzt frage ich mich wie ich das einfach mit Timing Constrains versehen 
kann damit das ganze leuft.

Das TFT Modul und der Bus Slave sind im selben VHDL Modul in zwei 
Prozessen realisiert.

Gruß Max

von Christian R. (supachris)


Lesenswert?

Die "langsame" Logik läuft aber trotzdem mit 350MHz und auch die Setup- 
und Hold-Zeiten müssen zu dem 350MHz Takt passen, denn dein Clock Enable 
ist ja aus dem 350MHz Takt generiert. Also hat die ISE da schon recht. 
Wenn die Logik das nicht schafft, musst du eventuell die Schnittstelle 
mit einem Dual Ported RAM oder FIFO mit 2 Takten machen.

von Sigi (Gast)


Lesenswert?

Suche mal unter "Multi-Cycle-Constraints", wird
z.B. in ISE 14.1 im pdf "Timing Closure User Guide"
erklärt.

von Johny (Gast)


Lesenswert?

Hi

Ja es ist sehr Interessant, jedes mal wenn man die Frage abgesendet hat 
fällt einem die Lösung ein!

Multi-Cycle-Path ist schon richtig aber das wichtige ist diese Constrain 
auf das Enable Signal zu setzen!

z.B:

NET "TFT_CE" TNM_NET = FFS "TFT";
TIMESPEC TS_TFT = FROM "TFT" TO "TFT" 70 MHz;

Damit ist die Sache dann fertig :-)

Trotzdem Danke :-)

von berndl (Gast)


Lesenswert?

Tja, und dann pass mal gut auf, dass deine Signale mit den 'multicycle 
constraints' richtig 'eingetaktet' werden! Ganz so einfach ist die Sache 
dann naemlich doch nicht...

von Johny (Gast)


Lesenswert?

Naja, die Setup Zeiten werden aufgrund der langen Zeit zwischen den 
Flanken eingehalten, die Hold Zeiten sind immer die selben und die 
Übergänge zwischen den 350 MHz und den 70 MHz werden von der Timing 
Analyse betrachten und sind ja schon mal prinzipiell Synchron zu 
einander!

Gruß Max

von Sigi (Gast)


Lesenswert?

Einsynchronisieren:
von Nicht-Enabled => Enabled,
von Enabled => Enabled und dann
von Enabled => Nicht-Enabled
wird alles korrekt behandelt, man muss nur
das Enable-Signal als Referenz für das/die
Multi-CycleConstraint(s) verwenden, wurde
alles schon ausführtlichst im Xilinx-Forum
diskutiert.

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.