ID บทความ: 000090227 ประเภทข้อมูล: ข้อความแสดงข้อผิดพลาด การตรวจสอบครั้งล่าสุด: 08/08/2023

ข้อผิดพลาด(13224): ข้อผิดพลาด Verilog HDL หรือ VHDL ที่ <your module="" name="">.sv(<your line="" number="">): ดัชนี <your index=""> อยู่นอกช่วง [<your range="">] สําหรับ '<your variable="">'</your></your></your></your></your>

สิ่งแวดล้อม

  • Intel® Quartus® Prime Pro Edition
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    คำอธิบาย

    เนื่องจากปัญหาในซอฟต์แวร์ Intel® Quartus® Prime Pro Edition เวอร์ชัน 21.4 และรุ่นก่อนหน้าคุณอาจเห็นข้อผิดพลาดนี้ในระหว่างขั้นตอนการวิเคราะห์และการสังเคราะห์ นี่เป็นเพราะความล้มเหลวของอินเทอร์เฟซที่กําหนดพารามิเตอร์เพื่อแทนที่ตัวแปรลอจิก localparam ของอินเทอร์เฟซ SystemVerilog ด้วยตัวแปร wrapper ระดับบน

    ในตัวอย่างด้านล่าง ตัวแปรลอจิก localparam ของอินเทอร์เฟซ ADDR_W และ DATA_W ด้วยพารามิเตอร์ 4 และ 1 จะไม่ถูกแทนที่โดยตัวแปร Wrapper ระดับบน พร้อมพารามิเตอร์ 5 และ 8 ตามลําดับ

    เสื้อคลุมระดับบน:

    โมดูล mem_wrapper #( ADDR_W int = 5, int DATA_W = 8 )

    ...

    mem_if mem_if #( ADDR_W, DATA_W ) ( i_clk_a );

    เมมเมม ( mem_if );

    ...

    Endmodule : mem_wrapper

    อิน เทอร์ เฟซ:

    mem_if อินเทอร์เฟซ #( ADDR_W t = 4, int DATA_W = 1) ( input clk );

    ลอจิก localparam [DATA_W - 1:0] INIT_V [2 ** ADDR_W] = '{default: '1};

    ...

    modport mem (input clk, addr, wren, idat, output odat );

    อินเทอร์เฟซ : mem_if

    Modport:

    โมดูล mem ( mem_if.mem mem_if );

    ลอจิก [mem_if. DATA_W - 1:0] เมมโม [2 ** mem_if ADDR_W];

    เริ่ม ต้น
    for(int i = 0; i < 2 ** mem_if ADDR_W; สินค้าคงคลัง (รายงาน) i++)
    mem[i] = mem_if. INIT_V[i];

    ...

    endmodule : mem

    ความละเอียด

    เพื่อหลีกเลี่ยงข้อผิดพลาดนี้ โปรดอย่าใช้ลอจิก localparam ในอินเทอร์เฟซ SystemVerilog

    ตัวอย่างเช่น:

    อิน เทอร์ เฟซ:

    mem_if อินเทอร์เฟซ #( ADDR_W t = 4, int DATA_W = 1) ( input clk );

    ลอจิก [DATA_W - 1:0] INIT_V [2 ** ADDR_W] = '{ค่าเริ่มต้น: '1};

    ...

    modport mem (input clk, addr, wren, idat, output odat, INIT_V);

    อินเทอร์เฟซ : mem_if

    ปัญหานี้ได้รับการแก้ไขเริ่มต้นด้วย Intel® Quartus®ซอฟต์แวร์ Prime Pro Edition เวอร์ชัน 22.4

    ผลิตภัณฑ์ที่เกี่ยวข้อง

    บทความนี้จะนำไปใช้กับ 1 ผลิตภัณฑ์

    อุปกรณ์ที่ตั้งโปรแกรมได้ Intel®

    เนื้อหาในหน้านี้เป็นการผสมผสานระหว่างการแปลเนื้อหาต้นฉบับภาษาอังกฤษโดยมนุษย์และคอมพิวเตอร์ เนื้อหานี้จัดทำขึ้นเพื่อความสะดวกของคุณและเพื่อเป็นข้อมูลทั่วไปเท่านั้นและไม่ควรอ้างอิงว่าสมบูรณ์หรือถูกต้อง หากมีความขัดแย้งใด ๆ ระหว่างเวอร์ชันภาษาอังกฤษของหน้านี้กับคำแปล เวอร์ชันภาษาอังกฤษจะมีผลเหนือกว่าและควบคุม ดูเวอร์ชันภาษาอังกฤษของหน้านี้