Karena masalah dalam perangkat lunak Quartus® II, variabel array yang ditandatangani dalam SystemVerilog mungkin tidak disintesis dengan benar. Masalah ini mungkin terjadi ketika menetapkan variabel array satu dimensi ke variabel array yang ditandatangani jika rentang indeks tidak ditentukan secara eksplisit.
Misalnya, kode berikut mungkin salah disintesis oleh perangkat lunak 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;
Untuk mengatasi masalah ini, secara khusus menyatakan rentang indeks saat menetapkan variabel susunan satu dimensi ke variabel array yang dikemas.
Misalnya, pada kode di atas, ubah baris terakhir menjadi:
packed_array_variable[0][31:0] <= array_variable;