文章 ID: 000082231 内容类型: 故障排除 上次审核日期: 2021 年 08 月 27 日

为什么用于 PCI Express* 的 英特尔® Arria® 10 或 英特尔® Cyclone® 10 GX Avalon®-MM DMA 接口的 Modelsim*/Questasim* 模拟在读取数据移动器 (altpcieav_dma_rd.sv) 模块中出现 X 传播问题?

环境

    英特尔® Quartus® Prime Pro Edition
    面向 PCI Express* 的英特尔® Arria® 10 Cyclone® 10 硬核 IP
    PCI Express*
BUILT IN - ARTICLE INTRO SECOND COMPONENT
说明

造成 X 传播问题的根源在于,Read Data Mover(altpcieav_dma_rd.sv)模块中的LPM_DEST_ADD_SUB_component实例化没有其.datab端口正确地零扩展到全信号矢量宽度。 因此,模拟器将 X 分配到目的地地址中领先的未分配位。

请参阅下面的LPM_DEST_ADD_SUB_component实例化。

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

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 (),
.溢出 ()
synopsys translate_on
);
defparam
LPM_DEST_ADD_SUB_component.lpm_direction = "ADD",
LPM_DEST_ADD_SUB_component.lpm_hint = "ONE_INPUT_IS_CONSTANT=否,CIN_USED=否",
LPM_DEST_ADD_SUB_component.lpm_pipeline = 1、
LPM_DEST_ADD_SUB_component.lpm_代表 = "UNSIGNED",
LPM_DEST_ADD_SUB_component.lpm_type = "LPM_ADD_SUB",
LPM_DEST_ADD_SUB_component.lpm_宽度 = RDDMA_AVL_ADDR_WIDTH;

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

解决方法

变通方法是正确零扩展 .datab 端口的输入信号向量,如下所示。

 

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

 

此问题计划在 英特尔® Quartus® Prime 软件的未来版本中修复。

相关产品

本文适用于 2 产品

英特尔® Arria® 10 FPGA 和 SoC FPGA
英特尔® Cyclone® 10 GX FPGA

1

本页面上的内容是原始英文内容的人工翻译与计算机翻译的组合。我们提供此内容是为了您的便利并且仅供参考,未必完整或准确。如果本页面的英文版与翻译版之间存在任何冲突,应以英文版为准。 查看此页面的英语版本。