O--->ADC (96 MHZ) --> DP RAM --> Audio Codec (12,288 MHz)--->O
| |
| |
synch |
| |
-- write enable --
Es geht um eine Anwendung mit zwei Clock Domänen (ADC: 96 MHz, Audio
Codec (ae) 12,288 MHz). Zur Cross-Domain-Kommunikation dient ein Dual
Ported RAM; dessen Überschreiben verhindert ein WE_N Signal, das vom
Audio Codec gesteuert wird, bis die höchste RAM-Adresse auf Codec-Seite
erreicht ist. Zum Vermeiden von metastabilen Zuständen durchläuft WE_N
einen Synchronizer aus zwei FlipFlops. Also so etwas wie ein
SchmalspurFiFo (ohne Zeigerschieberei).
ISE meldet mir eine Timing-Constraint Violation - und zwar im
Synchronizer, siehe Anhang. Der Timing-Report erschliesst sich mir nicht
in allen Details - daher folgende Fragen:
* Wegen der Timing-Unterschiede beim Wechseln der Clock-Domänen habe
ich den Synchronizer vorgesehen. Kann ich die Timing-Constraint
Verletzung an dieser Stelle ignorieren? (Wäre der Audio Codec "off
board", dann würde mein Synthese-Tool sich doch gar nicht mit dem
Timing-Verhalten des dann externen Signals beschäftigen?)
* Wenn ich sie ignoriere, kann ich diese Meldung gezielt ausschalten
bzw. das betreffende Constraint lockern?
* Liesse sich die Violation durch Einsatz eines "vollwertigen" DP FiFos
mit entsprechenden Signalen (FiFo Full etc.) vermeiden?
Gruß,
Burkhard
Bei "ungeraden" Taktverhältnissen kriegst du immer solche Warnungen. Du musst deinem Synthesizer mitteilen, dass er den WriteEnable-Pfad ignorieren soll. Das wird per TIG-Constraint gemacht (ToIgnore).
Warum ist das denn ein "write enable " Der Chip "liest" doch vom RAM. Das mit dem Metastabil kannst Du hier vergessen wenn Du die Signale mit dem bitclock des Chips übernimmst, was Du hoffentlich tust.
Danke Sigi, "ToIgnore" war das Stichwort nachdem ich gesucht habe. Details dazu habe ich jetzt im Abschnitt "Timing Exceptions" im Xilinx User Guide http://www.xilinx.com/itp/xilinx10/books/docs/timing_constraints_ug/timing_constraints_ug.pdf gefunden. Gruß, Burkhard
Weltbester FPGA-Pongo schrieb im Beitrag #4226142: > Warum ist das denn ein "write enable " > > Der Chip "liest" doch vom RAM. Auch wenn's der TO nicht geschrieben hat, scheint es doch offensichtlicht, dass des WriteEnable der ADC-Stufe vom Codec freigegeben werden soll.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.