====== Architecture séquentielle, séquencement ==== À un croisement en T, une petite rue peu fréquentée //PR// rencontre la voie principale //VP//. On veut donner le feu vert à PR chaque fois que nécessaire mais pour éviter de bloquer VP, on place une temporisation T (peu importe la longueur de T). - Quand une voiture arrive au feu sur PR, elle obtient le feu vert, à condition que T soit inactive. - La temporisation T est déclenchée (elle commence à décompter le temps) - Quand T se termine, le feu de PR repasse au rouge. - On déclenche de nouveau T pour empêcher PR d'obtenir le feu vert aussitôt. Ce fonctionnement peut être représenté par un graphe : {{ .:archiseq-exo-3.png?direct |}} Le numéro dans les bulles représente un état (une étape du cycle). 2 bits suffisent à numéroter les 4 états. Le numéro d'état est stocké dans une mémoire et comme on peut écrire un nouveau numéro dans la mémoire, on peut changer d'état. L'état change à chaque top d'horloge (CLK) et donc si on veut rester dans le même état, il faut écrire l'état en cours (on réécrit le même pour qu'il ne change pas) **Votre travail :** Considérez le circuit logique ayant **en entrée** V (voiture sur PR), T (tempo active) et l'état présent (sortie de la mémoire, 2 bits) et **en sortie** feu rouge, feu vert, état suivant (2 bits), déclencher tempo. Décompressez et ouvrez le fichier dans logisim et réalisez le circuit logique. Testez. {{ .:sequencement.zip |}} {{ .:sequencement.png?direct&400 |}}