Die Altera® Avalon®-MM Hard IP für PCI Express®, die mit Quartus® II Version 14.0 und früher generiert wurde, zeigt einen geringeren Durchsatz, wenn Configuration via Protocol (CvP) aktiviert ist. Das Problem tritt auf, weil die Kreditzähler in der PCIe Hard IP und der Avalon-MM Bridge nicht synchronisiert sind.
Bei CvP wird die PCIe-Peripherie geladen, bevor das Fabric programmiert wird. Nachdem die Peripherie programmiert wurde, sendet und empfängt der FPGA PCIe-Pakete. Durch diese Interaktion wird der Kreditzähler in der PCIe Hard IP erhöht. Kurz darauf wird die Fabric mit den standardmäßigen Kreditzählerwerten geladen, was zu einer Diskrepanz zwischen den beiden Leistungsindikatoren führt.
Dieses Problem soll in einer zukünftigen Version der Quartus® II-Software behoben werden.
Um dieses Problem in Quartus® II Version 14.0 und früher zu umgehen, nehmen Sie die folgende Änderung in RTL vor.
Ändern Sie in Datei altpciexpav_stif_tx_cntrl.v die folgende Zeile von:
np_header_avail_reg <= np_header_avail;
An:
np_header_avail_reg <= 1'b1;