Debido a la asignación de direcciones incorrecta de la lógica del enrutador generada por la herramienta de diseño de plataformas Intel® Quartus® Prime Pro, el diseño de ejemplo de ejemplo de hard IP Avalon®-MM Intel® Stratix® 10 PCIe* con controlador de descriptores externos se cuelga cuando se programan más de 8 descriptores.
Para solucionar este problema, corrija manualmente los archivos RTL generados por la herramienta de diseño de plataformas Intel® Quartus® Prime Pro:
1. Busque *altera_merlin_router*.sv en el espacio de trabajo del proyecto y encuentre los archivos que se muestran a continuación:
.. /altera_merlin_router_xxx/sim/altera_merlin_router_xxx (flujo de simulación)
.. /altera_merlin_router_xxx/syn/altera_merlin_router_xxx (flujo de implementación)
2. Abra cada archivo para confirmar si existen las siguientes líneas y, a continuación, modificarlos en consecuencia:
Las líneas originales deben ser:
//-------------------------------------------------------
Descubra la cantidad de bits que se enmascaran en cada lapso de esclavo
durante la decodificación de direcciones
//-------------------------------------------------------
localparam PAD0 = log2ceil(64'h2000 - 64'h0);
localparam PAD1 = log2ceil(64'h1000100 - 64'h1000000);
localparam PAD2 = log2ceil (64'h1002100 - 64'h1002000);
Cambiar a:
//-------------------------------------------------------
Descubra la cantidad de bits que se enmascaran en cada lapso de esclavo
durante la decodificación de direcciones
//-------------------------------------------------------
localparam PAD0 = log2ceil(64'h2000 - 64'h0);
localparam PAD1 = log2ceil(64'h1001000 - 64'h1000000);
localparam PAD2 = log2ceil(64'h1003000 - 64'h1002000);
3. Vuelva a ejecutar el flujo de simulación o compilación .