造成此 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)
概要translate_off
,
.aclr (),
.add_sub (),
.cin (),
.cout (),
.溢出 ()
概要translate_on
);
defparam
LPM_DEST_ADD_SUB_component.lpm_direction = 「ADD」,
LPM_DEST_ADD_SUB_component.lpm_insight = 「ONE_INPUT_IS_CONSTANT=NO,CIN_USED=NO」,
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[),
此問題排定在未來版本的 Intel® Quartus® Prime 軟體中修復。