ID bài viết: 000074592 Loại nội dung: Xử lý sự cố Lần duyệt cuối: 04/09/2012

Tại sao phần mềm Quartus II không tổng hợp chính xác các biến mảng đóng gói có chữ ký trong SystemVerilog?

Môi Trường

  • Phiên bản đăng ký Intel®Intel® Quartus® II
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Mô tả

    Do có vấn đề trong phần mềm Quartus® II, các biến mảng đóng gói có chữ ký trong SystemVerilog có thể không được tổng hợp chính xác. Sự cố này có thể xảy ra khi gán biến mảng một chiều cho biến mảng đóng gói có ký hiệu nếu phạm vi chỉ mục không được chỉ định rõ ràng.

    Ví dụ, mã sau đây có thể được tổng hợp không chính xác bởi phần mềm Quartus II:

    logic clk;
    logic signed [3:0][31:0] packed_array_variable;
    logic signed [31:0] array_variable;

    always_ff @ (posedge clk)
        packed_array_variable[0] <= array_variable;
    Độ phân giải

    Để giải quyết vấn đề này, khai báo dứt khoát phạm vi chỉ mục khi gán biến mảng một chiều cho một biến mảng đóng gói.

    Ví dụ: trong mã trên, thay đổi dòng cuối thành:

        packed_array_variable[0][31:0] <= array_variable;

    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.