Kritisches Problem
Wenn Sie verschiedene Konfigurationen von RapidIO I IP-Kernen in Ihren instanziieren Design, die Kollision des Bibliotheksnamens in verschiedenen Konfigurationen führt zur Synthese Engine, die fälschlicherweise für jene Module analysiert wird, die den gleichen Namen haben Konfigurationen. Ihr Design kann aufgrund fehlender Anschlüsse bei der Synthese ausfallen, oder falsche Synthese, die zu verhaltensauffälligem Verhalten in der Hardware führt.
Dieses Problem betrifft das Design in der Quartus Prime Pro Edition Software
Das Design der Quartus Prime Standard Edition ist nicht betroffen.
Weisen Sie jedem der mit RapidIO IP generierten .qip-Datei einen eindeutigen Bibliotheksnamen zu Kern:
Schritt 1: Öffnen Sie .qip im Texteditor.
Schritt 2: Ersetzen Sie jeden der folgenden Standardbibliotheksnamen durch einen eindeutiger Name.
- Bibliothek "altera_rapidio_
- Bibliothek "altera_xcvr_native_a10_"
- Bibliothek "altera_xcvr_reset_control_"
- Bibliothek "altera_xcvr_atx_pll_a10_"
Zum Beispiel:
set_global_assignment -library "altera_rapidio_160" -name SDC_FILE [file
join
$::quartus(qip_path)"altera_rapidio_160/synth/rio_altera_rapidio_160_puccaoq.sdc"]
set_global_assignment -library "altera_rapidio_160" -name VERILOG_FILE [file
join $::quartus(qip_path)
"altera_rapidio_160/synth/rio_altera_rapidio_160_puccaoq.v"]
set_global_assignment -library "altera_rapidio_160" -name VERILOG_FILE [file
join $::quartus(qip_path) "altera_rapidio_160/synth/altera_rapidio_io_master.v"]
set_global_assignment -library "altera_rapidio_160" -name VERILOG_FILE [file
join $::quartus(qip_path)
"altera_rapidio_160/synth/altera_rapidio_io_slave.v"]
set_global_assignment -library "altera_xcvr_native_a10_160" -name
SYSTEMVERILOG_FILE [file join $::quartus(qip_path)
"altera_xcvr_native_a10_160/synth/alt_xcvr_resync.sv"]
set_global_assignment -library "altera_xcvr_native_a10_160" -name
SYSTEMVERILOG_FILE [file join $::quartus(qip_path)
"altera_xcvr_native_a10_160/synth/alt_xcvr_arbiter.sv"]
set_global_assignment -library "altera_xcvr_native_a10_160" -name
SYSTEMVERILOG_FILE [file join $::quartus(qip_path)
"altera_xcvr_native_a10_160/synth/twentynm_pcs.sv"]
set_global_assignment -library "altera_xcvr_native_a10_160" -name
SYSTEMVERILOG_FILE [file join $::quartus(qip_path)
"altera_xcvr_native_a10_160/synth/twentynm_pma.sv"]
Weisen Sie jeder Bibliothek einen eindeutigen Namen zu:
set_global_assignment -library "_altera_rapidio_160" -name
SDC_FILE [file join $::quartus(qip_path)
"altera_rapidio_160/synth/rio_altera_rapidio_160_puccaoq.sdc"]
set_global_assignment -library "_altera_rapidio_160" -name
VERILOG_FILE [file join $::quartus(qip_path)
"altera_rapidio_160/synth/rio_altera_rapidio_160_puccaoq.v"]
set_global_assignment -library "_altera_rapidio_160" -name
VERILOG_FILE [file join $::quartus(qip_path)
"altera_rapidio_160/synth/altera_rapidio_io_master.v"]
set_global_assignment -library "_altera_rapidio_160" -name
VERILOG_FILE [file join $::quartus(qip_path)
"altera_rapidio_160/synth/altera_rapidio_io_slave.v"]
set_global_assignment -library "_altera_xcvr_native_a10_160"
-name SYSTEMVERILOG_FILE [file join $::quartus(qip_path)
"altera_xcvr_native_a10_160/synth/alt_xcvr_resync.sv"]
set_global_assignment -library "_altera_xcvr_native_a10_160"
-name SYSTEMVERILOG_FILE [file join $::quartus(qip_path)
"altera_xcvr_native_a10_160/synth/alt_xcvr_arbiter.sv"]
set_global_assignment -library "_altera_xcvr_native_a10_160"
-name SYSTEMVERILOG_FILE [file join $::quartus(qip_path)
"altera_xcvr_native_a10_160/synth/twentynm_pcs.sv"]
set_global_assignment -library "_altera_xcvr_native_a10_160"
-name SYSTEMVERILOG_FILE [file join $::quartus(qip_path)
"altera_xcvr_native_a10_160/synth/twentynm_pma.sv"]
Schritt 3: Wenden Sie die oben genannten Schritte auf andere Instanzen von RapidIO I IP-Kern an generierte .qip-Dateien. Stellen Sie sicher, dass der angegebene Bibliotheksname über .qip eindeutig sein muss. Dateien.
Schritt 4: Kompilieren Sie Ihr Design. In der Synthese von Technik und Qualität Bericht zum Lesen von Quelldateien , Sie werden beobachten, dass RapidIO-Module (altera_rapidio_*) sind der Bibliothek zugeordnet, die Sie in der .qip Datei.
Dieses Problem wurde in der Version 16.1 des RapidIO I IP-Kerns behoben.