ID bài viết: 000090227 Loại nội dung: Thông báo lỗi Lần duyệt cuối: 08/08/2023

Lỗi (13224): Lỗi Verilog HDL hoặc VHDL tại <your module="" name="">.sv(<your line="" number="">): chỉ mục <your index=""> nằm ngoài phạm vi [<your range="">] cho '<your variable="">'</your></your></your></your></your>

Môi Trường

  • Intel® Quartus® Prime Phiên bản Pro
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Mô tả

    Do sự cố trong Phần mềm Intel® Quartus® Prime Pro Edition phiên bản 21.4 trở về trước, bạn có thể thấy lỗi này trong giai đoạn Phân tích & Tổng hợp. Điều này là do các giao diện được tham số hóa không thể ghi đè lên các biến logic localparam của giao diện SystemVerilog với các biến wrapper cấp cao nhất.

    Trong ví dụ dưới đây, các biến logic localparam giao diện ADDR_W và DATA_W, với các tham số 4 và 1, không bị ghi đè bởi các biến wrapper cấp cao nhất, với các tham số lần lượt là 5 và 8.

    Trình bao bọc cấp cao nhất:

    Mô-đun mem_wrapper #( int ADDR_W = 5, int DATA_W = 8 )

    ...

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

    mem mem ( mem_if );

    ...

    Mô-đun cuối: mem_wrapper

    Giao diện:

    giao diện mem_if #( int ADDR_W = 4, int DATA_W = 1 ) ( clk đầu vào );

    logic localparam [DATA_W - 1:0] INIT_V [2 ** ADDR_W] = '{mặc định: '1};

    ...

    modport mem (đầu vào clk, addr, wren, idat, odat đầu ra);

    Giao diện cuối : mem_if

    Modport:

    mô-đun mem ( mem_if.mem mem_if );

    logic [mem_if. DATA_W - 1:0] mem [2 ** mem_if. ADDR_W];

    Đầu tiên
    for(int i = 0; i < 2 ** mem_if. ADDR_W; i++)
    mem[i] = mem_if. INIT_V[i];

    ...

    Mô-đun cuối : MEM

    Độ phân giải

    Để tránh lỗi này, không sử dụng logic localparam trong giao diện SystemVerilog.

    Ví dụ:

    Giao diện:

    giao diện mem_if #( int ADDR_W = 4, int DATA_W = 1 ) ( clk đầu vào );

    logic [DATA_W - 1:0] INIT_V [2 ** ADDR_W] = '{mặc định: '1};

    ...

    modport mem ( đầu vào clk, addr, wren, idat, odat đầu ra, INIT_V);

    Giao diện cuối : mem_if

    Sự cố này được khắc phục bắt đầu từ Phần mềm Intel® Quartus® Prime Pro Edition phiên bản 22.4.

    Các sản phẩm liên quan

    Bài viết này áp dụng cho 1 sản phẩm

    Thiết bị có thể lập trình Intel®

    Nội dung gốc bằng tiếng Anh trên trang này vừa do con người vừa do máy dịch. Nội dung này chỉ để cung cấp thông tin chung và giúp quý vị thuận tiện. Quý vị không nên tin đây là thông tin hoàn chỉnh hoặc chính xác. Nếu có bất kỳ mâu thuẫn nào giữa bản tiếng Anh và bản dịch của trang này, thì bản tiếng Anh sẽ chi phối và kiểm soát. Xem phiên bản tiếng Anh của trang này.