# Autres langages > Autres langages > VHDL >  Test de parit d'un entier

## binome-x

Bonjour,
j'aimerais simplement donner la valeur d'une sortie en fonction de la parit de l'indice d'une boucle. Un exemple :


```

```

Mais Modelsim ne compile pas ce code :



> ** Error: D:/work/FFT/cellule/src/pair.vhd(13): Illegal concurrent statement.
> ** Error: D:/work/FFT/cellule/src/pair.vhd(15): Type error resolving infix expression "<=" as type ieee.std_logic_1164.STD_LOGIC.
> ** Error: D:/work/FFT/cellule/src/pair.vhd(15): Cannot read output "x".


J'ai bien peur de mlanger instructions concurrentes et squentielles.
Quelqu'un peut m'aider ?
Merci.

----------


## titiri

Bonsoir,

     Rponse en plusieurs points  ::lol:: :
l'oprateur "mod" n'est vraiment pas recommand en synthse. Il est vrai que le modulo d'une puissance de 2 est normalement correctement gr par les outils de synthse, mais a reste bof...  ::oops::  Bon, l coup de chance, c'est sur une constante, donc absolument aucun soucis  ::lol:: de mme, le type "integer" (et associs : natural, positive) est lui aussi  viter cette fois pour la raison suivante : un integer est dfini sur 32bits (de -2^31  2^31 - 1) et correspond donc  32 registres. La seule parade consiste  dfinir une range (style 'signal MyInt : integer range 0 to 7') mais se pose alors un autre problme : lorsque l'on souhaite faire un compteur qui reboucle automatiquement de 7  0, il faut explicitement faire :


```

```

C'est beaucoup plus simple et judicieux de dfinir un std_logic_vector(2 downto 0) et l'on fait toujours "+1" : le rebouclage de 7  0 est direct  ::ccool::  puisque l'on est dans le monde des std_logic_vector, ce qui de toute faon correspond physiquement  ce qui sera implment, la parit d'un objet se teste tout simplement en regardant le bit de poids faible du vecteur  ::mrgreen::  On a donc les deux possibilits :


```

```



Cdlt

----------

