ID บทความ: 000085927 ประเภทข้อมูล: การแก้ไขปัญหา การตรวจสอบครั้งล่าสุด: 15/12/2015

ทําไมคําสั่งที่กําหนดเองของสแควร์จุดลอย Nios® II ไม่ทํางานสําหรับการกําหนดค่าบางอย่างใน Intel® MAX® 10 FPGAs

สิ่งแวดล้อม

  • Intel® Quartus® II Subscription Edition
  • จุดลอยตัว
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    คำอธิบาย

    เนื่องจากข้อกําหนดสําหรับตารางค้นหา ROM/RAM ที่เติมไว้ล่วงหน้าในทุกเวอร์ชันของส่วนประกอบฮาร์ดแวร์จุดลอยตัว 2 คําสั่งที่กําหนดเอง Nios® II สําหรับรูทสี่เหลี่ยมลอยตัวจะล้มเหลวในการออกแบบ Intel® MAX® 10 FPGA โดยใช้โหมดการกําหนดค่าการเตรียมใช้งาน RAM ล่วงหน้าซึ่งรวมถึง "ภาพบีบอัดคู่" "ภาพที่บีบอัดเดี่ยว"และ "ภาพที่ไม่มีการบีบอัดเดี่ยว"

    ในโหมดเหล่านี้ แฟลชไม่ใหญ่พอที่จะรองรับการเริ่มต้น RAM ล่วงหน้า ดังนั้นคําสั่ง sqrt จึงล้มเหลว ซอฟต์แวร์ Quartus® II เวอร์ชั่น 15.1 และก่อนหน้านี้อาจมีข้อผิดพลาดในการคอมไพล์หาก FPCI2 ถูกสร้างอินสแตนซ์และปิดใช้งานการเริ่มต้นหน่วยความจําเนื่องจากตั้งค่าโหมดการกําหนดค่าสําหรับ Intel MAX 10 FPGA หรือเหตุผลอื่น

    ข้อผิดพลาด (16031): โหมดการกําหนดค่าภายในปัจจุบันไม่รองรับการเริ่มต้นหน่วยความจําหรือ ROM โหมด Select Internal Configuration กับ ERAM

    ความละเอียด

    หากต้องการแก้ไขปัญหานี้ในซอฟต์แวร์ Quartus II เวอร์ชั่น 15.0 และก่อนหน้า ให้ทําตามขั้นตอนเหล่านี้:

    1. ไปที่ fpoint2_multi_datapath.vhd และ แสดงความคิดเห็น เกี่ยวกับการสร้างอินสแตนซ์ FPSqrt ที่บรรทัดที่ 168 ถึง 174

    sqrt: แผนที่พอร์ต FPSqrt (
    x => dataa,
    r => fsqrts
    clk => clk
    reset_req => reset_req
    areset =>รีเซ็ต
    );

    1. คอมไพล์ การออกแบบของคุณอีกครั้งในซอฟต์แวร์ Quartus II
    2. ไปที่ altera_nios_custom_instr_floating_point_2.c ที่อยู่ในโฟลเดอร์ HAL ของ bsp ของคุณ เพิ่ม "#undef sqrtf" หลังจากที่มี "altera_nios_custom_instr_floating_point_2.h" รวมอยู่ในรหัส C เพื่อปิดใช้งานการใช้คําสั่งที่กําหนดเอง sqrtf โดยซอฟต์แวร์

    รหัส:

    #include "altera_nios_custom_instr_floating_point_2.h"
    #undef sqrtf

    1. สร้าง ซอฟต์แวร์และไลบรารีแอปพลิเคชันใหม่ทั้งหมดด้วยการเปลี่ยนแปลงเหล่านี้

    หากต้องการแก้ไขปัญหานี้ในซอฟต์แวร์ Quartus II เวอร์ชัน 15.0 และใหม่กว่า ให้ทําตามขั้นตอนนี้:

    1. ใช้ช่องทําเครื่องหมายเพื่อลบคําสั่งที่กําหนดเอง sqrt จาก FPH2 ใน Platform Designer GUI

    ปัญหานี้ได้รับการแก้ไขในซอฟต์แวร์ Quartus II v16.0

    ผลิตภัณฑ์ที่เกี่ยวข้อง

    บทความนี้จะนำไปใช้กับ 1 ผลิตภัณฑ์

    Intel® MAX® 10 FPGA

    เนื้อหาในหน้านี้เป็นการผสมผสานระหว่างการแปลเนื้อหาต้นฉบับภาษาอังกฤษโดยมนุษย์และคอมพิวเตอร์ เนื้อหานี้จัดทำขึ้นเพื่อความสะดวกของคุณและเพื่อเป็นข้อมูลทั่วไปเท่านั้นและไม่ควรอ้างอิงว่าสมบูรณ์หรือถูกต้อง หากมีความขัดแย้งใด ๆ ระหว่างเวอร์ชันภาษาอังกฤษของหน้านี้กับคำแปล เวอร์ชันภาษาอังกฤษจะมีผลเหนือกว่าและควบคุม ดูเวอร์ชันภาษาอังกฤษของหน้านี้