Do sự cố trong Phần mềm Quartus® Prime Pro Edition phiên bản 23.2 trở về trước, bạn có thể thấy lỗi này khi mã HDL của bạn có một khối được tạo để lựa chọn giữa việc khởi tạo thiết kế nhắm mục tiêu đến thiết bị F-Tile Agilex™ 7 và thiết bị được hỗ trợ khác.
Nếu các khối 'tạo nếu' không được gắn nhãn, các tham chiếu mô-đun chéo thành các khối tạo không được gắn nhãn sẽ gây ra lỗi.
Ví dụ:
tạo
nếu(Agilex == 0)
begin
...
kết thúc
khác bắt
đầu
...
Kết thúc
EndGenerate
Lỗi này xảy ra ở giai đoạn phân tích và tổng hợp.
Để khắc phục sự cố này, xác định nhãn cho mỗi câu lệnh 'nếu và khác' trong Verilog HDL và câu lệnh 'tạo' trong VHDL. Ví dụ: nếu một thiết kế được nhắm mục tiêu để lựa chọn giữa thiết bị Agilex™ F-Tile và thiết bị Arria® 10, thì có thể chọn khởi tạo bằng cách sử dụng câu lệnh generate trong Verilog HDL và VHDL như sau.
Verilog HDL
Tạo ra
nếu(Agilex == 0)
Bắt đầu : label1_notfor_AG
...
Cuối
Khác
Bắt đầu : label2_for_AG
...
Cuối
Kết thúc
VHDL
Nhãn:
Nếu cond1 tạo ra
...
elsif cond2 tạo
...
tạo khác
...
nhãn tạo cuối;