Karena pemetaan alamat logika router yang salah yang dihasilkan oleh alat Intel® Quartus® Prime Pro Platform Designer, Intel® Stratix® 10 PCIe* Avalon®-MM Hard IP dengan desain contoh pengontrol deskriptor eksternal akan hang ketika lebih dari 8 deskriptor diprogram.
Untuk mengatasi masalah ini, perbaiki secara manual berkas RTL yang dihasilkan oleh alat Intel® Quartus® Prime Pro Platform Designer:
1. Cari *altera_merlin_router*.sv di bawah ruang kerja proyek dan temukan file yang ditunjukkan di bawah ini:
.. /altera_merlin_router_xxx/sim/altera_merlin_router_xxx (alur simulasi)
.. /altera_merlin_router_xxx/syn/altera_merlin_router_xxx (alur implementasi)
2. Buka setiap file untuk mengonfirmasi apakah baris berikut ada, kemudian modifikasi sesuai:
Baris asli harus:
//-------------------------------------------------------
Cari tahu jumlah bit yang dilepaskan untuk setiap span slave
selama dekode alamat
//-------------------------------------------------------
localparam PAD0 = log2ceil(64'h2000 - 64'h0);
localparam PAD1 = log2ceil (64'h1000100 - 64'h1000000);
localparam PAD2 =log2ceil(64'h1002100 - 64'h1002000);
Ubah ke:
//-------------------------------------------------------
Cari tahu jumlah bit yang dilepaskan untuk setiap span slave
selama dekode alamat
//-------------------------------------------------------
localparam PAD0 = log2ceil(64'h2000 - 64'h0);
localparam PAD1 = log2ceil (64'h1001000 - 64'h1000000);
localparam PAD2 = log2ceil (64'h1003000 - 64'h1002000);
3. Jalankan kembali alur simulasi atau kompilasi.