Do sự cố trong Phần mềm phiên bản Intel® Quartus® Prime Pro phiên bản 20.4 trở lên, bạn có thể thấy thông báo lỗi nghiêm trọng này trong giai đoạn tổng hợp khi bạn có chức năng định kỳ VHDL gọi với các giá trị trung gian được đặt thành hằng số hoặc giá trị ban đầu của một biến được khai báo trong hàm.
Ví dụ mã:
chức năng function_2
(
không đổi RECURSION_DEPTH: tự nhiên)
trả lại tự nhiên là
retval liên tục:natural:= -- biến không đổi hoặc khởi tạo, kết quả tương tự
function_1,
RECURSION_DEPTH => RECURSION_DEPTH);
Bắt đầu
đổi trả;
kết thúc function_2;
Để giải quyết vấn đề này, thay vì gán giá trị cho một hằng số, gán nó cho một biến, với tác vụ được thực hiện trong cơ thể của chức năng.
Lưu ý rằng việc chuyển nhượng giá trị cho biến phải được thực hiện trong thân của hàm, nó không được thực hiện như một tác vụ giá trị ban đầu trong phần khai báo của hàm, vì sau này dẫn đến cùng một sự cố khi đặt một hằng số.
Ví dụ:
chức năng function_2
(
không đổi RECURSION_DEPTH: tự nhiên)
trả lại tự nhiên là
đổi thay đổi: tự nhiên;
Bắt đầu
retval := function_1(
RECURSION_DEPTH => RECURSION_DEPTH);
đổi trả;
kết thúc function_2;
Sự cố này được khắc phục bắt đầu với phiên Intel® Quartus® Prime Phiên bản Phần mềm Pro phiên bản 21.3.