ID de l'article: 000080561 Type de contenu: Messages d'erreur Dernière révision: 16/08/2012

Erreur (10385) : erreur VHDL à <file>: la valeur indexation est hors de la plage (downto) d’un objet <object></object></file>

Environnement

    Édition d'abonnement Intel® Quartus® II
BUILT IN - ARTICLE INTRO SECOND COMPONENT
Descriptif

En raison d’un problème dans le logiciel Quartus® II, la synthèse de Quartus II peut générer cette erreur en essayant d’évaluer une expression indexée en VHDL qui est hors de la plage dans une expression s’il se trouve à l’intérieur d’une boucle.

Il est possible que vous voyiez cette erreur lorsque toutes les conditions suivantes sont remplies :

  1. Une déclaration dans un for loop
  2. La déclaration s’il s’agit d’une comparaison de deux expressions de nombres entiers utilisant , >= ou =
  3. La variable de boucle se produit dans les expressions évaluées par la déclaration if
  4. L’expression évaluée par l’affirmation s’il est limité à , -, et *

Voici un exemple de quand cette erreur se produirait :

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;
Résolution

Un correctif est disponible pour résoudre ce problème avec la version 11.0 SP1 du logiciel Quartus II. Téléchargez et installez le correctif 1.40 à partir du lien approprié ci-dessous. Après l’installation du correctif, activez le correctif en créant ou en éditant le fichier quartus.ini dans votre répertoire de projet pour inclure la ligne suivante :

vrfx_optimize_if_dead_code=on

Si vous rencontrez cette erreur lors de l’utilisation d’une version différente du logiciel Quartus II, soumettez une demande de service à l’aide de mySupport.

Produits associés

Cet article concerne 1 produits

Circuits programmables Intel®

1

Le contenu de cette page est une combinaison de traduction humaine et informatique du contenu original en anglais. Ce contenu vous est fourni pour votre commodité et à titre informatif seulement et ne saurait être totalement exact ou complet. En cas de contradiction entre la version anglaise de cette page et la traduction, c'est la version anglaise qui prévaut. Afficher la version anglaise de cette page.