ID do artigo: 000082231 Tipo de conteúdo: Solução de problemas Última revisão: 29/05/2018

Por que a simulação Modelsim*/Questasim* do Intel® Arria® 10 ou Intel® Cyclone® interface DMA de 10 GX Avalon®-MM para PCI Express* falha com o problema de propagação de X no módulo Read Data Mover (altpcieav_dma_rd.sv) ?

Ambiente

  • Intel® Quartus® Prime Pro Edition
  • Hard IP para PCI Express* Intel® Arria® 10 Cyclone® 10
  • PCI Express*
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Descrição

    A causa principal deste problema de propagação de X é que LPM_DEST_ADD_SUB_component instação no módulo Read Data Mover (altpcieav_dma_rd.sv) não tem sua porta .datab adequadamente estendida a zero para a largura total do vetor de sinal.  Portanto, o simulador atribui os X aos principais bits não atribuídos no endereço de destino.

    Consulte a LPM_DEST_ADD_SUB_component instalação abaixo.

    *********************************************************************************************************************************

    lpm_add_sub LPM_DEST_ADD_SUB_component (
    .clken (1'b1),
    .clock (Clk_i),
    .dataa (cur_dest_addr_reg),
                                    .datab ({rd_dw_size, 2'b00}),
    .result (cur_dest_addr_adder_out)
    sinopses translate_off
    ,
    .aclr (),
    .add_sub (),
    .cin (),
    .cout (),
    .overflow ().
    sinopses translate_on
    );
    defparam
    LPM_DEST_ADD_SUB_component.lpm_direction = "ADD",
    LPM_DEST_ADD_SUB_component.lpm_hint = "ONE_INPUT_IS_CONSTANT=NÃO, CIN_USED=NÃO",
    LPM_DEST_ADD_SUB_component.lpm_pipeline = 1,
    LPM_DEST_ADD_SUB_component.lpm_representation = "NÃO ASSINADO",
    LPM_DEST_ADD_SUB_component.lpm_type = "LPM_ADD_SUB",
    LPM_DEST_ADD_SUB_component.lpm_width = RDDMA_AVL_ADDR_WIDTH;

    *********************************************************************************************************************************

    Resolução

    A solução alternativa é zerar corretamente o vetor de sinal de entrada da porta .datab , conforme mostrado abaixo.

     

    .datab ({{(RDDMA_AVL_ADDR_WIDTH-12){1'b0}}, rd_dw_size, 2'b00}),

     

    Este problema está programado para ser corrigido em uma versão futura do software Intel® Quartus® Prime.

    Produtos relacionados

    Este artigo aplica-se a 2 produtos

    FPGAs Intel® Arria® 10 e FPGAs SoC
    FPGA Intel® Cyclone® 10 GX

    O conteúdo desta página é uma combinação de tradução humana e por computador do conteúdo original em inglês. Este conteúdo é fornecido para sua conveniência e apenas para informação geral, e não deve ser considerado completo ou exato. Se houver alguma contradição entre a versão em inglês desta página e a tradução, a versão em inglês prevalecerá e será a determinante. Exibir a versão em inglês desta página.