Artikel-ID: 000080561 Inhaltstyp: Fehlermeldungen Letzte Überprüfung: 16.08.2012

Fehler (10385): VHDL-Fehler bei <file>: Der Indexwert befindet sich außerhalb des Bereichs (Downto) des Objekts <object></object></file>

Umgebung

    Intel® Quartus® II Anmeldungs-Edition
BUILT IN - ARTICLE INTRO SECOND COMPONENT
Beschreibung

Aufgrund eines Problems in der Quartus II Software kann die Quartus® II Synthese diesen Fehler generieren, wenn sie versucht, einen indizierten Ausdruck in VHDL zu bewerten, der außerhalb des Bereichs innerhalb eines if-Ausdrucks innerhalb einer Schleife liegt.

Dieser Fehler kann auftreten, wenn alle der folgenden Bedingungen erfüllt sind:

  1. Eine if-Anweisung befindet sich in einer for-Schleife
  2. Die if-Anweisung ist ein Vergleich von zwei Integer-Expressions mit , >= oder =
  3. Die Schleife tritt in den Expressions auf, die von der if-Anweisung evaluiert werden
  4. Der von der if-Anweisung evaluierte Ausdruck ist auf , -, und* beschränkt.

Hier ist ein Beispiel dafür, wann dieser Fehler auftreten würde:

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;
Lösung

Zur Behebung dieses Problems steht für die Quartus II Software Version 11.0 SP1 ein Patch zur Verfügung. Laden Sie Patch 1.40 über den entsprechenden Link unten herunter und installieren Sie es. Nach der Installation des Patches aktivieren Sie die Lösung, indem Sie die Datei quartus.ini in Ihrem Projektverzeichnis erstellen oder bearbeiten, um die folgende Zeile aufzunehmen:

vrfx_optimize_if_dead_code=on

Wenn dieser Fehler bei der Verwendung einer anderen Version der Quartus II Software auftritt, erstellen Sie eine Serviceanfrage mit mySupport.

Zugehörige Produkte

Dieser Artikel bezieht sich auf 1 Produkte

Intel® programmierbare Geräte

1

Der Inhalt dieser Seite ist eine Kombination aus menschlicher und computerbasierter Übersetzung des originalen, englischsprachigen Inhalts. Dieser Inhalt wird zum besseren Verständnis und nur zur allgemeinen Information bereitgestellt und sollte nicht als vollständig oder fehlerfrei betrachtet werden. Sollte eine Diskrepanz zwischen der englischsprachigen Version dieser Seite und der Übersetzung auftreten, gilt die englische Version. Englische Version dieser Seite anzeigen.