เนื่องจากปัญหาในซอฟต์แวร์ Quartus® Prime Pro Edition เวอร์ชัน 23.2 และรุ่นก่อนหน้า คุณอาจเห็นข้อผิดพลาดนี้เมื่อรหัส HDL ของคุณมีบล็อกที่สร้างให้เลือกระหว่างการสร้างอินสแตนซ์ของการออกแบบที่มีเป้าหมายสําหรับอุปกรณ์ Agilex™ 7 F-Tile และอุปกรณ์ที่รองรับอื่นๆ
หากบล็อก 'generate if' ไม่แสดงป้าย การอ้างอิงข้ามโมดูลไปยังบล็อกที่สร้างแบบไม่ฝังให้มีข้อผิดพลาด
ตัวอย่างเช่น
สร้าง
ถ้า(Agilex == 0)
...
สิ้นสุด
อื่น ๆ
...
สิ้นสุด
การสร้าง
ข้อผิดพลาดนี้เกิดขึ้นที่ขั้นตอน การวิเคราะห์และการสังเคราะห์
เพื่อหลีกเลี่ยงปัญหานี้ ให้กําหนดป้ายกํากับสําหรับข้อความ 'if และ else' แต่ละข้อความใน Verilog HDL และข้อความ 'generate' ใน VHDL ตัวอย่างเช่น หากการออกแบบมีเป้าหมายให้เลือกระหว่างอุปกรณ์ Agilex™ F-Tile และอุปกรณ์ Arria® 10 ก็สามารถเลือกการสร้างอินสแตนซ์ได้โดยใช้คําสั่งสร้างใน Verilog HDL และ VHDL ดังนี้
Verilog HDL
สร้าง
if(Agilex == 0)
เริ่มต้น : label1_notfor_AG
...
สิ้น สุด
อื่น
เริ่มต้น : label2_for_AG
...
สิ้น สุด
สร้าง
VHDL
ป้าย ชื่อ:
หาก cond1 สร้าง
...
elsif cond2 สร้าง
...
อื่น ๆ สร้าง
...
สิ้นสุดการสร้างป้ายชื่อ; สร้างป้ายชื่อ