Ja. Bei Verwendung eines Stratix® 10-Geräts können mehrere Verstöße gegen das Setup-Timing in den DCFIFOs auftreten, die im emulierten TDP-RAM (True Dual Port) verwendet werden.
Die Verstöße gegen das Setup-Timing können von den Knoten wie die folgenden beobachtet werden:
- <Pfad zu Ihrer emulierten TDP-RAM-Instanz>|ram_2port_0|fifo_wrapper_in|dcfifo_in|dcfifo_component|auto_generated|rdptr_g[<number>]
- <Pfad zu Ihrer emulierten TDP-RAM-Instanz>|ram_2port_0|fifo_wrapper_out|dcfifo_out|dcfifo_component|auto_generated|ws_dgrp|dffpipe1|dffe3a[<number>]
Diese Setup-Timing-Slacks können verbessert werden, indem die Tiefe der DCFIFOs mithilfe der Anweisungen in der folgenden Auflösung verringert wird.
Führen Sie die folgenden Schritte aus, um die Tiefe der DCFIFOs im emulierten TDP-RAM zu verringern.
- Zeigen Sie die Registerkarte "Hierarchie " im Projektnavigator der Quartus® Prime Pro Edition an.
- Erweitern Sie Ihre Designhierarchie und suchen Sie die folgenden Instanzen unter der emulierten TDP-RAM-Instanz.
- ram_2port_0 > fifo_wrapper_in > dcfifo_in
- ram_2port_0 > fifo_wrapper_out > dcfifo_out - Merken Sie sich die Entitätsnamen der dcfifo_in Instanz und der dcfifo_out Instanz.
Merken Sie sich in der folgenden Beispielabbildung die Entitätsnamen, die von dem gelben Quadrat eingeschlossen sind.
- "ram2p_fifo_1910_sno4eky" für die Instanz dcfifo_in
- "ram2p_fifo_1910_3zzux5y" für die Instanz dcfifo_out
- Wechseln Sie im Projektnavigator zur Registerkarte Dateien .
- Erweitern Sie die . IP-Datei des emulierten TDP-RAM und suchen Sie <den Entitätsnamen des dcfifo_in>.V und <den Entitätsnamen des dcfifo_out>.V.
In der folgenden Beispielabbildung auf der Registerkarte Dateien werden die von einem gelben Quadrat umschlossenen Dateien bearbeitet.
- Öffnen Sie <den Entitätsnamen der dcfifo_in>.v.
- Suchen Sie die folgenden Parameter in den defparam-Deklarationen.
- dcfifo_component.lpm_numwords = <lpm_numwords Zahl>
- dcfifo_component.lpm_widthu = <lpm_widthu Zahl>
- Ändern Sie dcfifo_component.lpm_numwords und dcfifo_component.lpm_widthu.
- dcfifo_component.lpm_numwords muss größer sein als das Taktfrequenzverhältnis von Takt B (schneller Takt) geteilt durch Takt A (langsamer Takt) des emulierten TDP-RAM-IP
- dcfifo_component.lpm_numwords muss größer als 4 sein
- dcfifo_component.lpm_numwords muss 2^dcfifo_component.lpm_widthu sein
Zum Beispiel
- Wenn das Verhältnis von Taktfrequenz B/Taktfrequenz A 5 ist, muss das minimale dcfifo_component.lpm_numword 8 (2^3) sein
- Wenn dcfifo_component.lpm_numword 8 (2^3) ist, ist dcfifo_component.lpm_widthu 3 - Speichern Sie die Datei
- Öffnen Sie <den Entitätsnamen der dcfifo_out>.v, und wiederholen Sie die Schritte 7 bis 9
Bitte beachten Sie, dass, wenn die emulierte TDP RAM IP neu generiert wird, die oben genannten Dateien neu generiert werden und die Parameter ebenfalls auf die Standardnummern zurückgesetzt werden.