Sự cố quan trọng
Khi bạn khởi tạo các cấu hình khác nhau của lõi RapidIO I IP trong thiết kế, việc va chạm tên thư viện trên các cấu hình sẽ gây ra sự tổng hợp công cụ để phân tích không chính xác cho những mô-đun có cùng tên với nhau Cấu hình. Thiết kế của bạn có thể bị lỗi trong quá trình tổng hợp do thiếu cổng, hoặc tổng hợp không chính xác sẽ gây ra hành vi bất thường trong phần cứng.
Vấn đề này ảnh hưởng đến thiết kế trong phần mềm Quartus Prime phiên bản Pro
Thiết kế Quartus Prime phiên bản Tiêu chuẩn không bị ảnh hưởng.
Gán tên thư viện duy nhất cho mỗi tệp .qip được tạo bằng IP RapidIO Lõi:
Bước 1: Mở .qip trong trình soạn thảo văn bản.
Bước 2: Thay thế từng tên thư viện mặc định sau bằng một tên duy nhất.
- thư viện "altera_rapidio_
- thư viện "altera_xcvr_native_a10_"
- thư viện "altera_xcvr_reset_control_"
- thư viện "altera_xcvr_atx_pll_a10_"
Ví dụ:
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"]
Gán một tên duy nhất cho mỗi thư viện:
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"]
Bước 3: Áp dụng các bước trên cho các phiên bản lõi RapidIO I IP khác tạo tệp .qip. Đảm bảo rằng tên thư viện được cung cấp phải là duy nhất trên .qip Tập tin.
Bước 4: Biên dịch thiết kế của bạn. Trong Spectra-Q Synthesis Báo cáo đọc tập tin nguồn, bạn sẽ quan sát thấy các mô-đun RapidIO (altera_rapidio_*) được ánh xạ đến thư viện mà bạn định nghĩa trong .qip Tập tin.
Sự cố này đã được khắc phục trong phiên bản 16.1 của lõi RapidIO I IP.