# Autres langages > Autres langages > VHDL >  Horloge en VHDL

## Sega24

Bonjour j'ai le mme souci mais dj je vais vous mettre mon code
mon souci c'est que je fais une horloge numrique donc j'ai besoin d'une seconde trs prcise pas parfaite mais un peu prcise quand mme j'ai un quartz de 25Mhz donc j'ai besoin d'avoir un 1Hz

----------


## mith06

[/QUOTE]

```
variable n: integer range 1 to 8000000;
```

[/QUOTE]

```
if(n=0)then
```

 0 n'appartient pas a l'ensemble 1..8000000

Pose toi galement la question quel est ltat du signal OutputClk au dmarrage du system? '0'? '1'? 'Z'?...

car not 'Z' = non defini...

Voici un exemple de divisuer d'horloge qui divise uniquqment par des puissance de 2 :


```

```

----------


## titiri

Bonsoir,
   Je me permets d'apporter quelques prcisions.

Les bibliothques "numeric_std" et "std_logic_unsigned" ne sont pas,  la base, faites pour coexister dans le mme code source. Soit on utilise "numeric_std" seule, soit "std_logic_unsigned" et "std_logic_arith". La 1re solution est pure IEEE, la 2nde est "presque" IEEE (malgr la dclaration ieee.std_logic_xxx).

Les nombres entiers et drivs (integer, natural, positive, etc) sont dconseills pour des objets autres que "constant" (et je passe les objets de type "variable" qui sont  utiliser avec prcaution en synthse).

Lors de la dclaration d'un objet dynamique (signal/variable) dans une architecture, la valeur par dfaut est ignore par l'outil de synthse. Il faut utiliser le reset asynchrone.



```

```

Cordialement

----------

