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
Gast
#4226015
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).
Gast
#4226142
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.
Sigi schrieb: > per TIG-Constraint gemacht (ToIgnore). Richtigerweise ist das ein Timing Ignore...
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
Gast
#4226578
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.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.