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.