Le projet consiste à gérer
un carrefour à l'aide d'un composant programmable
dont le programme sera développé
en langage Verilog.

Dans un premier temps, le système
de gestion des feux est le plus simple possible :
- les voies sont symétriques : le feu est au vert
pendant 10 secondes, puis il passe 3 secondes à l’orange,
puis il est rouge pendant 15 secondes (1 seconde de chevauchement
entre les 2 voies),
-
le système est géré comme une suite
de séquences,
-
la gestion des passages piétons est telle que,
le feu piéton de la voie 1 est au « vert »
seulement pendant le « vert » de la voie 2 et
inversement. Dans tous les autres cas, il est au rouge fixe.
Le cycle normal dure 28 secondes. Il
est donné dans le tableau qui suit.
On dispose :
- d’une horloge à 1Hz,
- la commande des feux se fait en niveau TTL et en logique
inversée (actif à 0).
Les feux sont repérés par
leur couleurs (Vert, Orange, Rouge) et par la voie (1 ou
2). Pour les passages piétons, on a ajouté
un P en premier. Ainsi le tableau des allumages est
le suivant :
Seq
|
V1
|
O1
|
R1
|
V2
|
O2
|
R2
|
PV1
|
PR1
|
PV2
|
PR2
|
0
|
|
|
R
|
|
|
R
|
|
R
|
|
R
|
1
|
|
|
R
|
V
|
|
|
V
|
|
|
R
|
2
|
|
|
R
|
V
|
|
|
V
|
|
|
R
|
3
|
|
|
R
|
V
|
|
|
V
|
|
|
R
|
4
|
|
|
R
|
V
|
|
|
V
|
|
|
R
|
5
|
|
|
R
|
V
|
|
|
V
|
|
|
R
|
6
|
|
|
R
|
V
|
|
|
V
|
|
|
R
|
7
|
|
|
R
|
V
|
|
|
V
|
|
|
R
|
8
|
|
|
R
|
V
|
|
|
V
|
|
|
R
|
9
|
|
|
R
|
V
|
|
|
V
|
|
|
R
|
10
|
|
|
R
|
V
|
|
|
V
|
|
|
R
|
11
|
|
|
R
|
V
|
|
|
V
|
|
|
R
|
12
|
|
|
R
|
|
O
|
|
|
R
|
|
R
|
13
|
|
|
R
|
|
O
|
|
|
R
|
|
R
|
14
|
|
|
R
|
|
O
|
|
|
R
|
|
R
|
15
|
|
|
R
|
|
|
R
|
|
R
|
|
R
|
16
|
V
|
|
|
|
|
R
|
|
R
|
V
|
|
17
|
V
|
|
|
|
|
R
|
|
R
|
V
|
|
18
|
V
|
|
|
|
|
R
|
|
R
|
V
|
|
19
|
V
|
|
|
|
|
R
|
|
R
|
V
|
|
20
|
V
|
|
|
|
|
R
|
|
R
|
V
|
|
21
|
V
|
|
|
|
|
R
|
|
R
|
V
|
|
22
|
V
|
|
|
|
|
R
|
|
R
|
V
|
|
23
|
V
|
|
|
|
|
R
|
|
R
|
V
|
|
24
|
V
|
|
|
|
|
R
|
|
R
|
V
|
|
25
|
V
|
|
|
|
|
R
|
|
R
|
V
|
|
26
|
|
O
|
|
|
|
R
|
|
R
|
|
R
|
27
|
|
O
|
|
|
|
R
|
|
R
|
|
R
|
28
|
|
O
|
|
|
|
R
|
|
R
|
|
R
|
1ère partie:
Ecrire le programme permettant :
2ème partie :
On souhaite améliorer le système
et permettre la réduction de l’attente pour
les piétons. Ainsi il sera possible de réduire
le temps d’attente lors de l’appui sur le bouton
poussoir correspondant sur le poteau piéton correspondant.
Le temps d'attente est réduit de 5 secondes si le
piéton est rouge et la voie au vert.
Exemple : le BP1 est actionné pendant
les séquences 1 à 15, ceci n’a aucun
effet. Ce sera de même pour les séquences 24 à
28. Par contre, le système réduit l’attente
de 5 secondes dans les autres cas (sans perturber le fonctionnement
des voies). Ce sera de même pour le BP2.
3ème partie :
On pourra envisager d'ajouter une gestion « jour-nuit » grâce à un capteur qui
passe à 1, la nuit et qui doit entrainer le clignottement
des lampes orange des feux tricolores et des lampes rouges
des piétons.