ID บทความ: 000080561 ประเภทข้อมูล: ข้อความแสดงข้อผิดพลาด การตรวจสอบครั้งล่าสุด: 16/08/2012

ข้อผิดพลาด (10385): ข้อผิดพลาด VHDL ที่ <file>: ค่าดัชนีอยู่นอกช่วง ( ล่างลง ) ของวัตถุ <object></object></file>

สิ่งแวดล้อม

  • Intel® Quartus® II Subscription Edition
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    คำอธิบาย

    เนื่องจากปัญหาในซอฟต์แวร์ Quartus® II การสังเคราะห์ Quartus II อาจสร้างข้อผิดพลาดนี้เมื่อพยายามประเมินการแสดงออกที่เป็นดัชนีใน VHDL ที่อยู่นอกช่วงภายในถ้าเป็นการแสดงออกภายในลูป

    คุณอาจเห็นข้อผิดพลาดนี้เมื่อตรงตามเงื่อนไขต่อไปนี้ทั้งหมด:

    1. คําสั่ง if อยู่ภายในสําหรับลูป
    2. คําสั่ง if เป็นการเปรียบเทียบการแสดงจํานวนเต็มสองอักขระโดยใช้ , >= หรือ =
    3. ตัวแปรลูปเกิดขึ้นในการแสดงที่ประเมินโดยคําสั่ง if
    4. การแสดงออกที่ประเมินโดยคําสั่ง if จะจํากัดอยู่ที่ , -, และ *

    นี่เป็นตัวอย่างว่าข้อผิดพลาดนี้จะเกิดขึ้นเมื่อใด:

    entity test is
    port
       (
       i1_data_in         : in  std_logic_vector(3 downto 0);
       i_div_pos         : in  std_logic_vector(7 downto 0);
       o_data_out        : out std_logic_vector(7 downto 0)
       );
    END entity test;

    architecture rtl of test is
      signal idx     : integer;
      signal lim : NATURAL range 0 to 5;

      idx <= to_integer(unsigned(i_div_pos));
      lim <= 3;

      process(i1_data_in, idx)
      variable temp : std_logic_vector(o_data_out\'range);
      begin
      temp := (others => \'0\');
       u1 : for i in 0 to 7 loop
           if  i <= 3 - lim then
             temp(i) := i1_data_in(i);
           else
             temp(i) := i_div_pos (i);
           end if;
         end loop;
      o_data_out <= temp;
      end process;
    end rtl;
    ความละเอียด

    มีโปรแกรมแก้ไขเพื่อแก้ไขปัญหานี้สําหรับซอฟต์แวร์ Quartus II เวอร์ชั่น 11.0 SP1 ดาวน์โหลดและติดตั้ง Patch 1.40 จากลิงก์ที่เหมาะสมด้านล่าง หลังจากติดตั้งโปรแกรมแก้ไขให้เปิดใช้งานการแก้ไขโดยการสร้างหรือแก้ไขไฟล์ quartus.ini ในไดเรกทอรีโครงการของคุณเพื่อรวมบรรทัดต่อไปนี้:

    vrfx_optimize_if_dead_code=on

    หากคุณพบข้อผิดพลาดนี้ขณะใช้ซอฟต์แวร์ Quartus II เวอร์ชั่นอื่น ให้ยื่นคําขอบริการโดยใช้ mySupport

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

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

    อุปกรณ์ที่ตั้งโปรแกรมได้ Intel®

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