ID de l'article: 000082231 Type de contenu: Dépannage Dernière révision: 29/05/2018

Pourquoi la simulation Modelsim*/Questasim* de l’interface DMA Intel® Arria® 10 ou Intel® Cyclone® 10 GX Avalon®-MM pour PCI Express* ne fonctionne-t-elle pas avec le problème d’aroux X du module Read Data Mover (altpcieav_dma_rd.sv) ?

Environnement

  • Intel® Quartus® Prime Pro Edition
  • Hard IP pour PCI Express* Intel® Arria® 10 Cyclone® 10
  • PCI Express*
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Descriptif

    La cause initiale de ce problème x est que le LPM_DEST_ADD_SUB_component l’instanciation dans le module Read Data Mover(altpcieav_dma_rd.sv)n’a pas son port .datab correctement étendu à zéro à la largeur vectorielle complète du signal.  Par conséquent, le simulateur attribue les X aux principaux bits non affectés à l’adresse de destination.

    Reportez-vous à l’instantiation LPM_DEST_ADD_SUB_component ci-dessous.

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

    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)
    synopsys translate_off
    ,
    .aclr (),
    .add_sub (),
    .cin (),
    .cout (),
    .overflow ()
    synopsys translate_on
    );
    defparam
    LPM_DEST_ADD_SUB_component.lpm_direction = « ADD »,
    LPM_DEST_ADD_SUB_component.lpm_hint = « ONE_INPUT_IS_CONSTANT=NO, CIN_USED=NO »,
    LPM_DEST_ADD_SUB_component.lpm_pipeline = 1,
    LPM_DEST_ADD_SUB_component.lpm_representation = « NON SIGNÉE »,
    LPM_DEST_ADD_SUB_component.lpm_type = « LPM_ADD_SUB »,
    LPM_DEST_ADD_SUB_component.lpm_width = RDDMA_AVL_ADDR_WIDTH ;

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

    Résolution

    La solution de contournement consiste à ne pas étendre correctement le vectoriel de signal d’entrée du port .datab, comme indiqué ci-dessous.

     

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

     

    Ce problème devrait être résolu dans une version ultérieure du logiciel Intel® Quartus® Prime.

    Produits associés

    Cet article concerne 2 produits

    FPGA et FPGA SoC Intel® Arria® 10
    FPGA Intel® Cyclone® 10 GX

    Le contenu de cette page est une combinaison de traduction humaine et informatique du contenu original en anglais. Ce contenu vous est fourni pour votre commodité et à titre informatif seulement et ne saurait être totalement exact ou complet. En cas de contradiction entre la version anglaise de cette page et la traduction, c'est la version anglaise qui prévaut. Afficher la version anglaise de cette page.