ID del artículo: 000083942 Tipo de contenido: Resolución de problemas Última revisión: 18/04/2023

Tiempo de espera de sondeo (interrupción)

Entorno

  • Intel® Quartus® Prime Pro Edition
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Descripción

    Cuando se abren simultáneamente varios identificadores DMA con el Intel® FPGA imagen de fábrica de la tarjeta de aceleración programable N3000, puede recibir errores de tiempo de espera de Poll (interrupción).

    Los errores de tiempo de espera se deben a que el diseño de imágenes de fábrica tiene cuatro bloques DMA que comparten una interrupción.

    Resolución

    Si su aplicación requiere varios identificadores DMA abiertos, personalice el diseño de AFU RTL y el código de software como se indica a continuación:

    1. Diseño de RTL:

    En el archivo afu.sv predeterminado, línea 257, dma_irq se envía a irq[0] del módulo avmm_ccip_host_wr.

    .irq({3'b000, dma_irq}),

    Personalice su diseño para mapear cada irq desde bloques DMA a un bit diferente.

    2. Código de software:

    En el archivo fpga_dma.c, línea 701~702, la función fpga Resalff99 utiliza 0 como id de vector fijo.

    res = fpga Sincronizador(dma_h->fpga_h, FPGA_EVENT_INTERRUPT, dma_h->eh, 0 /*vector id */);

    Registre diferentes identificadores para sus identificadores de dma que se mapean a los bits irq en el diseño RTL.

    Por ejemplo, para acceder a DDRA y DDRB con dos identificadores de dma juntos, puede personalizar el código RTL para mapear dma_irq a irq[0] en afu_dma_0_inst para DDRA, y mapear dma_irq a irq[1] en afu_dma_1_inst para DDRB. En el código de software, utilice vector id 0 para el identificador dma 0 para acceder a DDRA, utilice el identificador de vector 1 para el controlador dma 1 para acceder a DDRB en la función fpga Resonar Ensa.

    Productos relacionados

    Este artículo se aplica a 2 productos

    FPGA de SoC y FPGA Intel® Arria® 10
    Intel® FPGA PAC N3000

    El contenido de esta página es una combinación de la traducción humana y automática del contenido original en inglés. Este contenido se ofrece únicamente para su comodidad como información general y no debe considerarse completa o precisa. Si hay alguna contradicción entre la versión en inglés de esta página y la traducción, prevalecerá la versión en inglés. Consulte la versión en inglés de esta página.