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;
Để 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;