T e c h n i q u e n u m é r i q u e
|
|
- Gilles Julien
- il y a 8 ans
- Total affichages :
Transcription
1 T e c h n i q u e n u m é r i q u e Projet intégré Jeu Simon Développement, description VHDL et tests des composants Groupe 3 Didier Crausaz I1-a Projet intégré / D.Crausaz page 1
2 Table des matières 1. Introduction Ctrl_joueur... 4 Description... 4 Diagramme d état... 5 VHDL... 7 Tests Memoire_seq Description Diagramme d état VHDL Tests Show_seq Description Fonction Diagramme d états VHDL Tests Compare_seq Description Fonction VHDL Tests Affichage_color Description Table de vérité VHDL Tests Conclusion Projet intégré / D.Crausaz page 2
3 1. Introduction La troisième étape de ce projet est la partie individuelle, qui consiste à développement les composants décrit dans la partie Conception/architecture. Après la distribution des composantes entre les membres du groupe, je dois m occuper des composants. - Ctrl_joueur - Memoire_seq - Show_seq - Compare_seq - Affichage_color Les quatre premiers seront réalisés avec des circuits séquentiels synchrones. Le cinquième est un circuit combinatoire. Les entrées sont déjà décrites dans le document précédent. Pour certains composants des entrée ont été ajoutées pour Les test ne peuvent pas être tous faits dû à la complexité de certains composants, ils seront Pour avoir des diagrammes d état à peu près visible, je n ai mis que les entrées qui étaient utiles lors des changements d états. Sinon il aurait fallu beaucoup de bits pour chaque flèche et il aurait aussi fallu beaucoup plus de flèches. Projet intégré / D.Crausaz page 3
4 2. Ctrl_joueur Description Le composant est actif uniquement lorsqu on est en mode deux joueurs. Si le premier joueur fait une faute (error=1) alors on le deuxième doit faire la séquence correctement pour gagner. Si c est le deuxième joueur qui fait une faute, alors le joueur 1 gagne. Projet intégré / D.Crausaz page 4
5 Diagramme d état E= 1 E Projet intégré / D.Crausaz page 5
6 Table de sorties Joueur_en_cours Winner Found_winner Inactif Joueur1_joue Joueur2_joue Joueur1_error_and_ Joueur2_joue Egalite_impuls Egalite Joueur2_win_impuls Joueur2_win Joueur1_win_impuls Joueur1_win Projet intégré / D.Crausaz page 6
7 VHDL library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity Ctrl_joueur is Port ( Etat_general : in STD_LOGIC_VECTOR (2 downto 0); Mode : in STD_LOGIC_VECTOR (1 downto 0); Compare_seq_finish : in STD_LOGIC; Error : in STD_LOGIC; Reset : in STD_LOGIC; Clock : in STD_LOGIC; Joueur_en_cours : out STD_LOGIC; Winner : out STD_LOGIC_VECTOR (1 downto 0); Found_winner : out STD_LOGIC); end Ctrl_joueur; architecture Ctrl_joueur_archi of Ctrl_joueur is type etats is (inactif, joueur1_joue, joueur2_joue, joueur1_error_and_joueur2_joue, egalite_impuls, egalite, joueur2_win_impuls, joueur2_win, joueur1_win_impuls, joueur1_win); signal etat_present, etat_futur : etats; begin combi:process(etat_general, Mode, Compare_seq_finish, Error, etat_present) begin case etat_present is when inactif => if (Etat_general="010" or Etat_general="001") and Mode(1)='1' then etat_futur<=joueur1_joue; etat_futur<=inactif; when joueur1_joue => if (Etat_general="010" or Etat_general="001") and Mode(1)='1' then if Compare_seq_finish='1' then etat_futur<=joueur2_joue; elsif Error='1' then etat_futur<=joueur1_error_and_joueur2_joue; etat_futur<=joueur1_joue; etat_futur<=inactif; when joueur2_joue => if (Etat_general="010" or Etat_general="001") and Mode(1)='1' then if Compare_seq_finish='1' then etat_futur<=joueur1_joue; elsif Error='1' then etat_futur<=joueur1_win_impuls; etat_futur<=joueur2_joue; etat_futur<=inactif; when joueur1_error_and_joueur2_joue => if (Etat_general="010" or Etat_general="001") and Mode(1)='1' then if Compare_seq_finish='1' then etat_futur<=joueur2_win_impuls; elsif Error='1' then etat_futur<=egalite_impuls; etat_futur<=joueur1_error_and_joueur2_joue; Projet intégré / D.Crausaz page 7
8 etat_futur<=inactif; when egalite_impuls => if (Etat_general="010" or Etat_general="001") and Mode(1)='1' then etat_futur<=egalite; etat_futur<=inactif; when egalite => if (Etat_general="010" or Etat_general="001" or Etat_general="001" or Etat_general="011" or Etat_general="100") and Mode(1)='1' then etat_futur<=egalite; etat_futur<=inactif; when joueur2_win_impuls => if (Etat_general="010" or Etat_general="001") and Mode(1)='1' then etat_futur<=joueur2_win; etat_futur<=inactif; when joueur2_win => if (Etat_general="010" or Etat_general="001" or Etat_general="011" or Etat_general="100") and Mode(1)='1' then etat_futur<=joueur2_win; etat_futur<=inactif; when joueur1_win_impuls => if (Etat_general="010" or Etat_general="001") and Mode(1)='1' then etat_futur<=joueur1_win; etat_futur<=inactif; when joueur1_win => if (Etat_general="010" or Etat_general="001 or Etat_general="011" or Etat_general="100") and Mode(1)='1' then etat_futur<=joueur1_win; etat_futur<=inactif; when others => etat_futur<=inactif; end case; end process; registre:process(clock, Reset) begin if Reset='1' then etat_present <= inactif; elsif rising_edge(clock) then etat_present<=etat_futur; end process; decodeur: process(etat_present) begin if (etat_present = joueur1_joue or etat_present = inactif) then Joueur_en_cours<= '0'; Winner<= "00"; Found_winner<= '0'; elsif(etat_present = joueur2_joue) then Joueur_en_cours<= '1'; Winner<= "00"; Found_winner<= '0'; Projet intégré / D.Crausaz page 8
9 elsif(etat_present = joueur1_error_and_joueur2_joue) then Joueur_en_cours<= '1'; Winner<= "00"; Found_winner<= '0'; elsif(etat_present = egalite_impuls) then Joueur_en_cours<= '0'; Winner<= "11"; Found_winner<= '1'; elsif(etat_present = egalite) then Joueur_en_cours<= '0'; Winner<= "11"; Found_winner<= '0'; elsif(etat_present = joueur2_win_impuls) then Joueur_en_cours<= '0'; Winner<= "01"; Found_winner<= '1'; elsif(etat_present = joueur2_win) then Joueur_en_cours<= '0'; Winner<= "01"; Found_winner<= '0'; elsif(etat_present = joueur1_win_impuls) then Joueur_en_cours<= '0'; Winner<= "10"; Found_winner<= '1'; elsif(etat_present = joueur1_win) then Joueur_en_cours<= '0'; Winner<= "10"; Found_winner<= '0'; Joueur_en_cours<= '0'; Winner<= "00"; Found_winner<= '0'; end process; end Ctrl_joueur_archi; Tests On simule une partie ou le joueur 2 est gagnant. #on intialise les entrées et faisons un reset force -freeze sim:/ctrl_joueur/etat_general force -freeze sim:/ctrl_joueur/mode 00 0 force -freeze sim:/ctrl_joueur/compare_seq_finish 0 0 force -freeze sim:/ctrl_joueur/error 0 0 force -freeze sim:/ctrl_joueur/reset 0 0 force -freeze sim:/ctrl_joueur/clock 1 0, 0 {50 ps} -r 100 force -freeze sim:/ctrl_joueur/reset 1 0 force -freeze sim:/ctrl_joueur/reset 0 0 A #on passe en mode deux joueur normal et somme en train de comparer force -freeze sim:/ctrl_joueur/etat_general force -freeze sim:/ctrl_joueur/mode ns Projet intégré / D.Crausaz page 9
10 #Joueur 1 fini de jouer, une impulsion est envoyée force -freeze sim:/ctrl_joueur/compare_seq_finish 1 0 force -freeze sim:/ctrl_joueur/compare_seq_finish ns #Joueur 2 a à son tour fini de jouer, en revoie une impulsion force -freeze sim:/ctrl_joueur/compare_seq_finish 1 0 force -freeze sim:/ctrl_joueur/compare_seq_finish ns # #Joueur 1 s est trompé, reste à Joueur 2 de joueur # force -freeze sim:/ctrl_joueur/error 1 0 force -freeze sim:/ctrl_joueur/error ns # #Joueur 2 réussi la séquence, c est lui le vainqueur # force -freeze sim:/ctrl_joueur/compare_seq_finish 1 0 force -freeze sim:/ctrl_joueur/compare_seq_finish ns ##le test s exécute comment prévu : réussi #Idem que en A force -freeze sim:/ctrl_joueur/etat_general force -freeze sim:/ctrl_joueur/mode 00 0 force -freeze sim:/ctrl_joueur/compare_seq_finish 0 0 force -freeze sim:/ctrl_joueur/error 0 0 force -freeze sim:/ctrl_joueur/reset 0 0 force -freeze sim:/ctrl_joueur/clock 1 0, 0 {50 ps} -r 100 force -freeze sim:/ctrl_joueur/reset 1 0 force -freeze sim:/ctrl_joueur/reset 0 0 force -freeze sim:/ctrl_joueur/etat_general force -freeze sim:/ctrl_joueur/mode ns force -freeze sim:/ctrl_joueur/compare_seq_finish 1 0 force -freeze sim:/ctrl_joueur/compare_seq_finish ns B #Joueur 2 fait directement une erreur force -freeze sim:/ctrl_joueur/error 1 0 force -freeze sim:/ctrl_joueur/error ns ##le test s exécute comment prévu : réussi Projet intégré / D.Crausaz page 10
11 A B Projet intégré / D.Crausaz page 11
12 3. Memoire_seq Description J ai rajouté la sortie parcourt_finish, qui est à 1 lorsque toute la mémoire a été lue (soit par le composant show_seq, soit par compare_seq) et l entrée Need_memoire_2 qui est une sortie du composant. En etat_general =001, on demande une couleur et dès que celle-ci est disponible, on enregistre la couleur dans la mémoire. Ensuite on parcourt la mémoire pour afficher les leds correspondant jusqu à ce qu on a tout parcouru. Une fois que tout est parcouru, on passe en etat_general=010 (comparaison) et on reparcourt la mémoire au fur et à mesure jusqu à ce qu elle soit entièrement parcouru. Lorsqu on repasse à l etat_general=001, on ajoute un nouvelle couleur. Projet intégré / D.Crausaz page 12
13 Diagramme d état Projet intégré / D.Crausaz page 13
14 Table des sorties c.f au process : decodeur du code VDHL. VHDL library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity Memoire_seq is Port ( Etat_general : in STD_LOGIC_VECTOR (2 downto 0); Mode : in STD_LOGIC_VECTOR (1 downto 0); New_color : in STD_LOGIC_VECTOR (2 downto 0); Dispo_new_color : in STD_LOGIC; Need_memoire : in STD_LOGIC; Need_memoire2 : in STD_LOGIC; Pressed_color : in STD_LOGIC_VECTOR (2 downto 0); Reset : in STD_LOGIC; Clock : in STD_LOGIC; Next_color : out STD_LOGIC_VECTOR (2 downto 0); Next_color_dispo : out STD_Logic; Need_color : out STD_LOGIC; Memoire_finish : out STD_LOGIC; parcourt_finish : out STD_LOGIC); end Memoire_seq; architecture Memoire_seq_archi of Memoire_seq is type etats is (configr, need_new_color, attente_color, enregistre_color, attente, parcourt_registre, parcourt_finish_seq, parcourt_finish_compare, no_seq_show, memoire_dispo, memoire_dispo_and_finish, end_game); signal etat_present, etat_futur : etats; signal cnt : integer range 0 to 92; signal cnt_parcourt : integer range 0 to 92; signal testregistre : Std_logic_vector(0 to 91); begin combi:process(etat_general, Mode, New_color, Dispo_new_color, Need_memoire, Need_memoire2, cnt_parcourt, cnt, etat_present) begin case etat_present is when configr => if Etat_general="001" then if Mode="11" then etat_futur<=parcourt_finish_seq; etat_futur<=need_new_color; elsif Etat_general="011" or Etat_general="100" then etat_futur<=end_game; etat_futur<=configr; when need_new_color => if Etat_general="001" then etat_futur<=attente_color; elsif Etat_general="011" or Etat_general="100" then etat_futur<=end_game; etat_futur<=configr; when attente_color => if Etat_general="001" then if Dispo_new_color='0' then etat_futur<=attente_color; etat_futur<=enregistre_color; Projet intégré / D.Crausaz page 14
15 elsif Etat_general="011" or Etat_general="100" then etat_futur<=end_game; etat_futur<=configr; when enregistre_color => if Etat_general="001" or Etat_general="010" then if Mode="01" and cnt<42 then etat_futur<=need_new_color; elsif Mode="11" then etat_futur<=no_seq_show; etat_futur<=attente; elsif Etat_general="011" or Etat_general="100" then etat_futur<=end_game; etat_futur<=configr; when no_seq_show => if Etat_general="001" then if Mode="11" then etat_futur<=no_seq_show; etat_futur<=attente; elsif Etat_general="010" then etat_futur<=attente; elsif Etat_general="011" or Etat_general="100" then etat_futur<=end_game; etat_futur<=configr; when attente => if Etat_general="001" or Etat_general="010" then if Need_memoire='1' then etat_futur<=parcourt_registre; elsif Need_memoire2='0' then etat_futur<=attente; etat_futur<=need_new_color; elsif Etat_general="011" or Etat_general="100" then etat_futur<=end_game; etat_futur<=configr; when parcourt_registre => if Etat_general="001" or Etat_general="010" then if cnt_parcourt=3 then etat_futur<=memoire_dispo_and_finish; etat_futur<=memoire_dispo; elsif Etat_general="011" or Etat_general="100" then etat_futur<=end_game; etat_futur<=configr; when memoire_dispo => if Etat_general="001" or Etat_general="010" then etat_futur<=attente; elsif Etat_general="011" or Etat_general="100" then etat_futur<=end_game; etat_futur<=configr; Projet intégré / D.Crausaz page 15
16 when memoire_dispo_and_finish => if Etat_general="001" then etat_futur<=parcourt_finish_seq; elsif Etat_general="010" then etat_futur<=parcourt_finish_compare; elsif Etat_general="011" or Etat_general="100" then etat_futur<=end_game; etat_futur<=configr; when parcourt_finish_seq => if Etat_general="001" then etat_futur<=parcourt_finish_seq; elsif Etat_general="010" then if Mode="11" then etat_futur<=parcourt_finish_compare; etat_futur<=attente; elsif Etat_general="011" or Etat_general="100" then etat_futur<=end_game; etat_futur<=configr; when parcourt_finish_compare => if Etat_general="001" then if mode="11" then etat_futur<=enregistre_color; etat_futur<=need_new_color; elsif Etat_general="010" then etat_futur<=parcourt_finish_compare; elsif Etat_general="011" or Etat_general="100" then etat_futur<=end_game; etat_futur<=configr; when others => etat_futur<=configr; end case; end process; registre:process(clock, Reset) begin if Reset='1' then etat_present <= configr; testregistre<=(others=>'0'); cnt<=0; cnt_parcourt<=0; elsif rising_edge(clock) then if(etat_present=enregistre_color) then testregistre(3 to 91)<=testregistre(0 to 88); if mode="11" then testregistre(0)<=pressed_color(2); testregistre(1)<=pressed_color(1); testregistre(2)<=pressed_color(0); testregistre(0)<=new_color(2); testregistre(1)<=new_color(1); testregistre(2)<=new_color(0); cnt<= cnt+3; cnt_parcourt<=cnt+3; elsif(etat_present=parcourt_registre) then cnt_parcourt<=cnt_parcourt-3; Next_color<=testregistre(cnt_parcourt-3 to cnt_parcourt-1); elsif(etat_present=parcourt_finish_seq) then Projet intégré / D.Crausaz page 16
17 cnt_parcourt<=cnt; elsif(etat_present=parcourt_finish_compare) then if mode="01" then cnt<=0; cnt_parcourt<=0; etat_present<=etat_futur; end process; decodeur: process(etat_present) begin if (etat_present = configr) then Next_color_dispo<='0'; Need_color<='0'; Memoire_finish<='0'; parcourt_finish<='0'; elsif(etat_present = need_new_color) then Next_color_dispo<='0'; Need_color<='1'; Memoire_finish<='0'; parcourt_finish<='0'; elsif(etat_present = attente_color) then Next_color_dispo<='0'; Need_color<='0'; Memoire_finish<='0'; parcourt_finish<='0'; elsif(etat_present = enregistre_color) then Next_color_dispo<='0'; Need_color<='0'; Memoire_finish<='0'; parcourt_finish<='0'; elsif(etat_present = no_seq_show) then Next_color_dispo<='0'; Need_color<='0'; Memoire_finish<='0'; parcourt_finish<='1'; elsif(etat_present = attente) then Next_color_dispo<='0'; Need_color<='0'; Memoire_finish<='1'; parcourt_finish<='0'; elsif(etat_present = parcourt_registre) then Next_color_dispo<='0'; Need_color<='0'; Memoire_finish<='1'; parcourt_finish<='0'; elsif(etat_present = memoire_dispo) then Next_color_dispo<='1'; Need_color<='0'; Memoire_finish<='1'; parcourt_finish<='0'; elsif(etat_present = memoire_dispo_and_finish) then Next_color_dispo<='1'; Need_color<='0'; Memoire_finish<='1'; parcourt_finish<='1'; elsif(etat_present = parcourt_finish_compare or etat_present = parcourt_finish_seq) then Next_color_dispo<='0'; Need_color<='0'; Memoire_finish<='1'; parcourt_finish<='1'; Next_color_dispo<='0'; Need_color<='0'; Memoire_finish<='0'; Projet intégré / D.Crausaz page 17
18 parcourt_finish<='0'; end process; end Memoire_seq_archi; Tests Memorisation et parcourt de la mémoire (mode 00 - Normal) #Initialisation force -freeze sim:/memoire_seq/reset 1 0 force -freeze sim:/memoire_seq/clock 1 0, 0 {50 ps} -r 100 force -freeze sim:/memoire_seq/etat_general force -freeze sim:/memoire_seq/mode 00 0 force -freeze sim:/memoire_seq/new_color force -freeze sim:/memoire_seq/dispo_new_color 0 0 force -freeze sim:/memoire_seq/need_memoire2 0 0 force -freeze sim:/memoire_seq/need_memoire 0 0 force -freeze sim:/memoire_seq/pressed_color ns #On va en état affichage/mémorisation force -freeze sim:/memoire_seq/etat_general force -freeze sim:/memoire_seq/reset ns #On ajoute la couleur sur new_color (ici : 000) force -freeze sim:/memoire_seq/dispo_new_color 1 0 force -freeze sim:/memoire_seq/dispo_new_color ns #On demande la première couleur de la mémoire force -freeze sim:/memoire_seq/need_memoire 1 0 force -freeze sim:/memoire_seq/need_memoire 0 0 #On passe en état comparaison et demand la première coluleur 0.6ns force -freeze sim:/memoire_seq/etat_general ns force -freeze sim:/memoire_seq/need_memoire 1 0 force -freeze sim:/memoire_seq/need_memoire ns #On repasse en état affichage/mémorisation force -freeze sim:/memoire_seq/etat_general ns force -freeze sim:/memoire_seq/new_color force -freeze sim:/memoire_seq/dispo_new_color 1 0 force -freeze sim:/memoire_seq/dispo_new_color ns Projet intégré / D.Crausaz page 18
19 force -freeze sim:/memoire_seq/need_memoire 1 0 force -freeze sim:/memoire_seq/need_memoire ns force -freeze sim:/memoire_seq/need_memoire 1 0 force -freeze sim:/memoire_seq/need_memoire ns Projet intégré / D.Crausaz page 19
20 (suite) Projet intégré / D.Crausaz page 20
21 Memorisation et parcourt de la mémoire (mode 01 Countdown) force -freeze sim:/memoire_seq/reset 1 0 force -freeze sim:/memoire_seq/clock 1 0, 0 {50 ps} -r 100 force -freeze sim:/memoire_seq/etat_general force -freeze sim:/memoire_seq/mode 11 0 force -freeze sim:/memoire_seq/new_color force -freeze sim:/memoire_seq/dispo_new_color 0 0 force -freeze sim:/memoire_seq/need_memoire 0 0 force -freeze sim:/memoire_seq/need_memoire2 0 0 force -freeze sim:/memoire_seq/reset 0 0 force -freeze sim:/memoire_seq/mode 01 0 force -freeze sim:/memoire_seq/etat_general # #on demande d'ajouter une couleur (15x) # force -freeze sim:/memoire_seq/dispo_new_color 1 0 force -freeze sim:/memoire_seq/dispo_new_color ns force -freeze sim:/memoire_seq/new_color force -freeze sim:/memoire_seq/dispo_new_color 1 0 force -freeze sim:/memoire_seq/dispo_new_color ns force -freeze sim:/memoire_seq/dispo_new_color 1 0 force -freeze sim:/memoire_seq/dispo_new_color ns force -freeze sim:/memoire_seq/dispo_new_color 1 0 force -freeze sim:/memoire_seq/dispo_new_color ns force -freeze sim:/memoire_seq/dispo_new_color 1 0 force -freeze sim:/memoire_seq/dispo_new_color ns force -freeze sim:/memoire_seq/dispo_new_color 1 0 force -freeze sim:/memoire_seq/dispo_new_color ns force -freeze sim:/memoire_seq/dispo_new_color 1 0 force -freeze sim:/memoire_seq/dispo_new_color ns force -freeze sim:/memoire_seq/dispo_new_color 1 0 force -freeze sim:/memoire_seq/dispo_new_color ns force -freeze sim:/memoire_seq/dispo_new_color 1 0 force -freeze sim:/memoire_seq/dispo_new_color ns force -freeze sim:/memoire_seq/dispo_new_color 1 0 force -freeze sim:/memoire_seq/dispo_new_color ns force -freeze sim:/memoire_seq/dispo_new_color 1 0 force -freeze sim:/memoire_seq/dispo_new_color ns force -freeze sim:/memoire_seq/dispo_new_color 1 0 force -freeze sim:/memoire_seq/dispo_new_color ns force -freeze sim:/memoire_seq/dispo_new_color 1 0 Projet intégré / D.Crausaz page 21
22 force -freeze sim:/memoire_seq/dispo_new_color ns force -freeze sim:/memoire_seq/dispo_new_color 1 0 force -freeze sim:/memoire_seq/dispo_new_color ns force -freeze sim:/memoire_seq/dispo_new_color 1 0 force -freeze sim:/memoire_seq/dispo_new_color 0 0 force -freeze sim:/memoire_seq/dispo_new_color 1 0 force -freeze sim:/memoire_seq/dispo_new_color 0 0 #on parcourt la mémoire pour l'affichage des leds couleurs force -freeze sim:/memoire_seq/need_memoire 1 0 force -freeze sim:/memoire_seq/need_memoire 0 0 force -freeze sim:/memoire_seq/need_memoire 1 0 force -freeze sim:/memoire_seq/need_memoire 0 0 force -freeze sim:/memoire_seq/need_memoire 0 0 force -freeze sim:/memoire_seq/need_memoire 1 0 force -freeze sim:/memoire_seq/need_memoire 0 0 force -freeze sim:/memoire_seq/need_memoire 1 0 force -freeze sim:/memoire_seq/need_memoire 0 0 force -freeze sim:/memoire_seq/need_memoire 1 0 force -freeze sim:/memoire_seq/need_memoire 0 0 force -freeze sim:/memoire_seq/need_memoire 1 0 force -freeze sim:/memoire_seq/need_memoire 0 0 force -freeze sim:/memoire_seq/need_memoire 1 0 force -freeze sim:/memoire_seq/need_memoire 0 0 force -freeze sim:/memoire_seq/need_memoire 1 0 force -freeze sim:/memoire_seq/need_memoire 0 0 #On parcourt la mémoire pour la comparaison force -freeze sim:/memoire_seq/etat_general force -freeze sim:/memoire_seq/need_memoire 1 0 force -freeze sim:/memoire_seq/need_memoire 0 0 force -freeze sim:/memoire_seq/need_memoire 1 0 force -freeze sim:/memoire_seq/need_memoire 0 0 force -freeze sim:/memoire_seq/need_memoire 0 0 force -freeze sim:/memoire_seq/need_memoire 1 0 force -freeze sim:/memoire_seq/need_memoire 0 0 force -freeze sim:/memoire_seq/need_memoire 1 0 force -freeze sim:/memoire_seq/need_memoire 0 0 Projet intégré / D.Crausaz page 22
23 force -freeze sim:/memoire_seq/need_memoire 1 0 force -freeze sim:/memoire_seq/need_memoire 0 0 force -freeze sim:/memoire_seq/need_memoire 1 0 force -freeze sim:/memoire_seq/need_memoire 0 0 force -freeze sim:/memoire_seq/need_memoire 1 0 force -freeze sim:/memoire_seq/need_memoire 0 0 force -freeze sim:/memoire_seq/need_memoire 1 0 force -freeze sim:/memoire_seq/need_memoire 0 0 #on retourne en mode affichage et les anciennes couleurs sont remplacées par les nouvelles. force -freeze sim:/memoire_seq/etat_general force -freeze sim:/memoire_seq/new_color force -freeze sim:/memoire_seq/dispo_new_color 1 0 force -freeze sim:/memoire_seq/dispo_new_color 0 0 force -freeze sim:/memoire_seq/dispo_new_color 1 0 force -freeze sim:/memoire_seq/dispo_new_color 0 0 force -freeze sim:/memoire_seq/dispo_new_color 1 0 force -freeze sim:/memoire_seq/dispo_new_color 0 0 Projet intégré / D.Crausaz page 23
24 On met 15 couleurs dans la mémoire Lors du parcours, on obtient la valeur mémorisée.. Fin Projet intégré / D.Crausaz page 24
25 4. Show_seq Description Le composant Show_seq va lire dans la mémoire une fois que la mémoire est utilisable (Memoire_finish= 1 et Etat_general= "001"). En donnant une impulsion à l état haut en sortie sur Need_memoire, l entrée Next_color sera mise à jour et la couleur sera disponible lorsque Next_color_dispo= 1. L entrée Parcourt_finish vient à 1 lorsque toutes les couleurs de la mémoire ont été parcourues. Le niveau spécifie le temps d allumage du led de couleur, c est-à-dire le temps que show_color_dispo est à 1. Etat_general (Eg) 3 Mode(M) 2 Memoire_finish( Mf) Parcourt_finish (Pf) Next_color_dispo (Ncd) Next_color (Nc) 3 Niveau (Nv) 2 Reset Clock Show_seq Showed_color 3 Showed_color_dispo Need_memoire Show_seq_finish Fonction On part de l état inactif puis si on doit afficher une couleur, on va dans l état besoin_memoire et ensuite dans l état attend où on attend que la couleur demandé soit disponible. Lorsqu elle est disponible, on affiche la couleur pendant un temps dépendant du niveau choisi (ou du mode s il s agit d un mode sans niveau), ensuite on retourne dans besoin_memoire et si on recommence l opération pour la couleur suivante. Si il n y a plus de couleur on va dans l état fini_impuls pour envoyer une impulsion comme quoi on a fini et on attend que l état général change. Si on est en mode multijoueur mixte, on envoie directement l impulsion indiquant que le composant a fini son travail sans rien afficher. Projet intégré / D.Crausaz page 25
26 En cas de changement d état général durant l opération d affichage (c-à-d : on a appuyé sur back pendant 3 secondes et on revient dans l état configuration) on revient dans l état inactif. Nous avons pris une fréquence de 65kHz et utilisons un compteur pour contrôler le nombre de coup d horloge et donc le temps d allumage pour chaque couleur, ainsi voici les temps d affichage. Niveau Temps Compteur Easy 3 secondes Normal (ou par défaut) 1.5 secondes Hard 2/3 secondes A chaque coup d horloge dans l état show_color le compteur est incrémenté. Lorsque le compteur dépasse la valeur du compteur dans l état show_color, on passe à l état besoin_color et on remet le compteur à 0. Projet intégré / D.Crausaz page 26
27 Diagramme d états Projet intégré / D.Crausaz page 27
28 Description des sorties Showed_color Showed_color_ Need_memoire Show_seq_finish dispo inactif besoin_memoire attend show_color next_color fini_impuls fini VHDL library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity Show_seq is Port ( etat_general : in STD_LOGIC_VECTOR (2 downto 0); mode : in STD_LOGIC_VECTOR (1 downto 0); memoire_finish : in STD_LOGIC; parcourt_finish : in STD_LOGIC; next_color_dispo : in STD_LOGIC; next_color : in STD_LOGIC_VECTOR (2 downto 0); niveau : in STD_LOGIC_VECTOR (1 downto 0); reset : in STD_LOGIC; clock : in STD_LOGIC; showed_color : out STD_LOGIC_VECTOR(2 downto 0); showed_color_dispo : out STD_LOGIC; need_memoire : out STD_LOGIC; show_seq_finish: out STD_LOGIC); end Show_seq; architecture Show_seq_archi of Show_seq is type etats is (inactif, besoin_memoire, attend, show_color, fini_impuls, fini); signal etat_present, etat_futur : etats; signal cnt : integer; begin combi: process(etat_present, etat_general, mode, memoire_finish, parcourt_finish, next_color_dispo, next_color, niveau, cnt) begin if(etat_general/="001") then etat_futur<=inactif; case etat_present is when inactif => if(memoire_finish='1') then if(mode="11") then etat_futur<=fini_impuls; etat_futur<=besoin_memoire; etat_futur<=inactif; when besoin_memoire => if(parcourt_finish='0') then etat_futur<=attend; etat_futur<=fini_impuls; Projet intégré / D.Crausaz page 28
29 when attend => if(next_color_dispo='1') then etat_futur<=show_color; etat_futur<=attend; when show_color => if(cnt>43333 and mode(1)='0' and niveau="10") then etat_futur<=besoin_memoire; elsif(cnt> and mode(1)='0' and niveau="00") then etat_futur<=besoin_memoire; elsif(cnt>97500 and (mode(1)='1' or niveau="01")) then etat_futur<=besoin_memoire; etat_futur<=show_color; when fini_impuls => etat_futur<=fini; when fini => etat_futur<=fini; when others => etat_futur<=inactif; end case; end process; registre:process(clock, Reset) begin if Reset='1' then etat_present <= inactif; cnt<=0; elsif rising_edge(clock) then if(etat_present = show_color) then cnt<=cnt+1; if(etat_present = besoin_memoire or etat_present=inactif) then cnt<=0; etat_present<=etat_futur; end process; decodeur: process(etat_present) begin if(etat_present = besoin_memoire) then showed_color<="000"; showed_color_dispo<='0'; need_memoire<='1'; show_seq_finish<='0'; elsif(etat_present = show_color) then showed_color<=next_color; showed_color_dispo<='1'; need_memoire<='0'; show_seq_finish<='0'; elsif(etat_present = fini_impuls) then showed_color<="000"; showed_color_dispo<='0'; need_memoire<='0'; show_seq_finish<='1'; showed_color<="000"; showed_color_dispo<='0'; need_memoire<='0'; show_seq_finish<='0'; end process; end Show_seq_archi; Projet intégré / D.Crausaz page 29
30 Tests On teste un affichage d une séquence en mode normal niveau Easy avec une seule couleur. #Initialisation force -freeze sim:/show_seq/etat_general force -freeze sim:/show_seq/mode 00 0 force -freeze sim:/show_seq/memoire_finish 0 0 force -freeze sim:/show_seq/parcourt_finish 0 0 force -freeze sim:/show_seq/next_color_dispo 0 0 force -freeze sim:/show_seq/next_color force -freeze sim:/show_seq/niveau 00 0 force -freeze sim:/show_seq/reset 0 0 force -freeze sim:/show_seq/clock 1 0, 0 {50 ps} -r ns #On va dans l état affichage de sequence mais la memoire n est pas encore prête force -freeze sim:/show_seq/etat_general ns #On reçoit un signal indiquant que la memoire est prête force -freeze sim:/show_seq/memoire_finish ns #On reçoit un signal indiquant que la couleur demandé est prête est prête force -freeze sim:/show_seq/next_color_dispo 1 0 force -freeze sim:/show_seq/next_color force -freeze sim:/show_seq/parcourt_finish 1 0 #On fait des coups d horloge durant plus de 3 secondes ##A ce moment, on s aperçoit que le composant est en état fini. Il attend un changement d état général pour revenir état inactif. ##Test comme prévu : réussi Projet intégré / D.Crausaz page 30
31 (après 3 secondes) Projet intégré / D.Crausaz page 31
32 5. Compare_seq Description J ai dû ajouter deux entrées au composant, l entrée next_color_dispo qui est une impulsion provenant du composant Memoire_seq qui est à 1 dès que la couleur sur l entrée Next_color est disponible et l entrée Parcourt_finish (provenant aussi de Memoire_seq) qui indique lorsque toutes les couleurs de la mémoire ont déjà été comparées en étant à l état haut. Il a aussi fallu une sortie Need_memoire2 pour envoyer une impulsion lorsqu on veut lire la couleur suivante. Need_Memoire2 Parcourt_finish Fonction Dès qu on est en état comparaison, ce composant s active et attend qu une couleur soit sélectionnée par l utilisateur. Si la couleur correspond à la couleur de la mémoire alors on envoie une impulsion pour indiquer que c est correct. Sinon on envoie une impulsion pour indiquer une erreur. Lorsque toutes les couleurs sont correctes, une impulsion est envoyée pour dire que la séquence est finie. Un compteur est utilisé (lors de l état attend_color) pour le mode normal individuel et countdown, si le joueur met trop de temps entre deux pressions de bouton, une erreur est envoyée. Ce temps dépend du niveau configuré. Niveau Temps Compteur Easy illimité - Medium 8 secondes Hard 2 secondes Projet intégré / D.Crausaz page 32
33 Diagramme d états Projet intégré / D.Crausaz page 33
34 VHDL library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity Compare_seq is Port ( Etat_general : in STD_LOGIC_VECTOR (2 downto 0); Mode : in STD_LOGIC_VECTOR (1 downto 0); Next_color : in STD_LOGIC_VECTOR (2 downto 0); Next_color_dispo : in STD_LOGIC; Parcourt_finish : in STD_LOGIC; Niveau : in STD_LOGIC_VECTOR (1 downto 0); Button_color_red : in STD_LOGIC; Button_color_blue : in STD_LOGIC; Button_color_green : in STD_LOGIC; Button_color_yellow : in STD_LOGIC; Button_color_purple : in STD_LOGIC; Reset : in STD_LOGIC; Clock : in STD_LOGIC; Error : out STD_LOGIC; Compare_color_finish : out STD_LOGIC; Compare_seq_finish : out STD_LOGIC; Pressed_color : out STD_LOGIC_VECTOR (2 downto 0); Need_Memoire2 : out STD_LOGIC); end Compare_seq; architecture compare_seq_archi of Compare_seq is type etats is (inactif, attend_color, need_color_impuls, need_color, compare, compare_ok, attend_add_color, compare_finish, fini, erreur); signal etat_present, etat_futur : etats; signal color_from_joueur, color_from_memoire : STD_LOGIC_VECTOR(2 downto 0); signal cnt : Integer; begin process(etat_general, Mode, Next_color, Next_color_dispo, Parcourt_finish, Niveau, Button_color_red, Button_color_blue, Button_color_green, Button_color_yellow, Button_color_purple, etat_present, cnt, color_from_memoire, color_from_joueur) begin if etat_general/="010" then etat_futur<=inactif; case etat_present is when inactif => etat_futur<=attend_color; when attend_color => if mode="11" and parcourt_finish='1' then etat_futur<=attend_add_color; elsif Button_color_red='1' then etat_futur<=need_color; elsif Button_color_blue='1' then etat_futur<=need_color; elsif Button_color_green='1' then etat_futur<=need_color; elsif Button_color_yellow='1' then etat_futur<=need_color; elsif Button_color_purple='1' then etat_futur<=need_color; elsif Mode(1)='0' and ((Niveau="10" and cnt>=130000) or (Niveau="01" and cnt>=520000)) then etat_futur<=erreur; etat_futur<=attend_color; when need_color_impuls => Projet intégré / D.Crausaz page 34
35 etat_futur<=need_color; when need_color => if next_color_dispo='1' then etat_futur<=compare; etat_futur<=need_color; when compare => if color_from_memoire=color_from_joueur then etat_futur<=compare_ok; etat_futur<=erreur; when compare_ok => if parcourt_finish='0' then etat_futur<=attend_color; elsif parcourt_finish='1' and mode="11" then etat_futur<=attend_add_color; etat_futur<=compare_finish; when attend_add_color => if Button_color_red='1' then etat_futur<=compare_finish; elsif Button_color_blue='1' then etat_futur<=compare_finish; elsif Button_color_green='1' then etat_futur<=compare_finish; elsif Button_color_yellow='1' then etat_futur<=compare_finish; elsif Button_color_purple='1' then etat_futur<=compare_finish; etat_futur<=attend_add_color; when compare_finish erreur => etat_futur<=fini; when fini => etat_futur<=fini; when others => etat_futur<=inactif; end case; end process; process(clock, Reset) begin if reset='1' then etat_present<=inactif; pressed_color<= (others=>'0'); color_from_joueur<="000"; color_from_memoire<="000"; elsif rising_edge(clock) then etat_present<=etat_futur; if(etat_present=attend_color) then cnt<=cnt+1; if Button_color_red='1' then color_from_joueur<="000"; elsif Button_color_blue='1' then color_from_joueur<="001"; elsif Button_color_green='1' then color_from_joueur<="010"; elsif Button_color_yellow='1' then color_from_joueur<="011"; elsif (etat_present=need_color) then if next_color_dispo='1' then color_from_memoire<=next_color; Projet intégré / D.Crausaz page 35
36 cnt<=0; elsif (etat_present=attend_add_color) then if Button_color_red='1' then pressed_color<="000"; elsif Button_color_blue='1' then pressed_color<="001"; elsif Button_color_green='1' then pressed_color<="010"; elsif Button_color_yellow='1' then pressed_color<="011"; elsif Button_color_purple='1' then pressed_color<="100"; elsif etat_present=inactif or etat_present=erreur then cnt<=0; end process; decodeur: process(etat_present) begin if etat_present=compare_ok then Compare_color_finish<='1'; Compare_seq_finish<='0'; Error<='0'; Need_Memoire2<='0'; elsif etat_present=compare_finish then Compare_color_finish<='0'; Compare_seq_finish<='1'; Error<='0'; Need_Memoire2<='0'; elsif etat_present=need_color_impuls then Compare_color_finish<='0'; Compare_seq_finish<='0'; Error<='0'; Need_Memoire2<='1'; elsif etat_present=erreur then Compare_color_finish<='0'; Compare_seq_finish<='0'; Error<='1'; Need_Memoire2<='0'; elsif etat_present=erreur then Compare_color_finish<='0'; Compare_seq_finish<='0'; Error<='1'; Need_Memoire2 <='0'; Compare_color_finish<='0'; Compare_seq_finish<='0'; Error<='0'; Need_color2<='0'; end process; end compare_seq_archi; Tests On simule une comparaison lorsqu on est en mode normal niveau EASY #on force toutes les entrées à 0 et initialize la clock force -freeze sim:/compare_seq/etat_general Projet intégré / D.Crausaz page 36
37 force -freeze sim:/compare_seq/mode 00 0 force -freeze sim:/compare_seq/next_color force -freeze sim:/compare_seq/next_color_dispo 0 0 force -freeze sim:/compare_seq/parcourt_finish 0 0 force -freeze sim:/compare_seq/niveau 00 0 force -freeze sim:/compare_seq/button_color_red 0 0 force -freeze sim:/compare_seq/button_color_blue 0 0 force -freeze sim:/compare_seq/button_color_green 0 0 force -freeze sim:/compare_seq/button_color_yellow 0 0 force -freeze sim:/compare_seq/button_color_purple 0 0 force -freeze sim:/compare_seq/reset 0 0 force -freeze sim:/compare_seq/clock 1 0, 0 {50 ps} -r 100 #on fait le reset (toutes les sorties sont à 0) force -freeze sim:/compare_seq/reset 1 0 force -freeze sim:/compare_seq/reset 0 0 force -freeze sim:/compare_seq/etat_general #on va en etat comparaison force -freeze sim:/compare_seq/etat_general ns #on attend que le joueur appuie sur une couleur force -freeze sim:/compare_seq/button_color_blue 1 0 force -freeze sim:/compare_seq/button_color_blue ns #on attent que la mémoire met à jour la couleur force -freeze sim:/compare_seq/next_color force -freeze sim:/compare_seq/next_color_dispo 1 0 force -freeze sim:/compare_seq/next_color_dispo 0 0 #les deux couleurs sont comparés et correspondent #on refait le même processus, mais cette fois les couleur ne correspondent pas force -freeze sim:/compare_seq/button_color_yellow 1 0 force -freeze sim:/compare_seq/button_color_yellow 0 0 force -freeze sim:/compare_seq/next_color force -freeze sim:/compare_seq/next_color_dispo 1 0 force -freeze sim:/compare_seq/next_color_dispo 0 0 ##### Projet intégré / D.Crausaz page 37
38 #on envoie une impulsion erreur et on fini ##### ##### #on revient dans l état inactif lors d un changement d état gérnéral ##### force -freeze sim:/compare_seq/etat_general #test comme prévu : réussi Projet intégré / D.Crausaz page 38
39 Voici le chronogramme correspondant Projet intégré / D.Crausaz page 39
40 En mode normal niveau HARD force -freeze sim:/compare_seq/etat_general force -freeze sim:/compare_seq/mode 00 0 force -freeze sim:/compare_seq/next_color force -freeze sim:/compare_seq/next_color_dispo 0 0 force -freeze sim:/compare_seq/parcourt_finish 0 0 force -freeze sim:/compare_seq/niveau 10 0 force -freeze sim:/compare_seq/button_color_red 0 0 force -freeze sim:/compare_seq/button_color_blue 0 0 force -freeze sim:/compare_seq/button_color_green 0 0 force -freeze sim:/compare_seq/button_color_yellow 0 0 force -freeze sim:/compare_seq/button_color_purple 0 0 force -freeze sim:/compare_seq/reset 0 0 force -freeze sim:/compare_seq/clock 1 0, 0 {50 ps} -r 100 force -freeze sim:/compare_seq/reset 1 0 force -freeze sim:/compare_seq/reset 0 0 force -freeze sim:/compare_seq/etat_general force -freeze sim:/compare_seq/etat_general #résultats attend : test réussi Sur le chronogramme suivant, on remarque qu une erreur est envoyée après du 2 secondes, si le joueur n appuye pas sur le bouton Projet intégré / D.Crausaz page 40
41 Impulsion d erreur Projet intégré / D.Crausaz page 41
42 Mode mixte : les joueurs ajoutent leurs propres couleurs à la fin de la séquence force -freeze sim:/compare_seq/etat_general force -freeze sim:/compare_seq/mode 11 0 force -freeze sim:/compare_seq/next_color force -freeze sim:/compare_seq/next_color_dispo 0 0 force -freeze sim:/compare_seq/parcourt_finish 1 0 force -freeze sim:/compare_seq/niveau 00 0 force -freeze sim:/compare_seq/button_color_red 0 0 force -freeze sim:/compare_seq/button_color_blue 0 0 force -freeze sim:/compare_seq/button_color_green 0 0 force -freeze sim:/compare_seq/button_color_yellow 0 0 force -freeze sim:/compare_seq/button_color_purple 0 0 force -freeze sim:/compare_seq/reset 0 0 force -freeze sim:/compare_seq/clock 1 0, 0 {50 ps} -r 100 force -freeze sim:/compare_seq/reset 1 0 force -freeze sim:/compare_seq/reset 0 0 force -freeze sim:/compare_seq/etat_general force -freeze sim:/compare_seq/etat_general force -freeze sim:/compare_seq/button_color_purple 1 0 force -freeze sim:/compare_seq/button_color_purple 0 0 ##test comme prévu : réussi Si on a fini de parcourir la mémoire on ajoute une couleur On a l impulsion qui est envoyé sur compare_seq_finish et le bus pressed_color mis à jour Puis le composant à fini son travail. Projet intégré / D.Crausaz page 42
43 6. Affichage_color Description Suite à notre discussion durant la dernière séance, les entrées de ce composant ont passablement changés. L entrée Showed_color_dispo est à 1 lorsque la couleur sur le bus Showed_color est disponible. De plus nous avons maintenant en entrées les couleurs non synchronisées (de ce fait nous avons plus de raison de passer le mode en entrée). Ceci nous permettra d afficher l allumer le led correspondant à la couleur pressée pendant toute la durée de la pression sur la touche couleur. En état affichage de séquence(etat_general="001"), on affichera la couleur sur le bus Showed_color pour autant que la couleur est disponible(showed_color_dispo= 1 ). En état comparaison, on allumera les boutons qui sont en cours de pression. La figure 1 représente notre composant affichge_color. Etat_general 3 Showed_color 2 Showed_color_dispo Button_color_red Button_color_blue Affichage_color Led_color_red Led_color_blue Led_color_green Led_color_blue Button_color_green Button_color_yellow Led_color_purple Button_color_purple Figure 1 : Composant Affichage_color Si deux ou plusieurs touches Button_color_xxx sont appuyées en même temps, tous les leds correspondants à chacune des touches s allument également en même temps (Ceci lors de l état général comparaison). Ceci est plus logique fait que l impulsion est envoyé lors du relâchement du bouton. Projet intégré / D.Crausaz page 43
44 Table de vérité La table de vérité se trouve sur deux lignes, faute de place. Entrées : Etat_ general(2) Etat_ general(1) Etat_ general(0) Showed_ color(2) Showed_ color(1) Showed_ color(0) Showed_ color_ dispo Button_ color_ red Button_ color_ blue Button_ color_ green Button_ color_ yellow 1) x x x x x x x x x 2) x x x 0 x x x x x 3) x x x x x 4) x x x x x 5) x x x x x 6) x x x x x 7) x x x x x 8) x x x x x x x x x 9) x x x x x x x x x 10) x x x x x x x x x Led_color_red Led_color_blue Led_color_green Led_color_yellow Led_color_purple 1) ) ) ) ) ) ) )* Button_color_red Button_color_blue Button_color_green Button_color_yellow Button_color_purple 9) ) Button_ color_ purple * la ligne 8 veut simplement dire que la sortie Led_color_xxx prend la valeur de Button_color_xxx correspondant à la même couleur Projet intégré / D.Crausaz page 44
45 VHDL Comme il y a beaucoup d entrées, je ne vais pas simplifier les équations à l aide des tables de Karnaugh mais décrire les sorties avec affection avec condition, comme nous l avions fait lorsque nous avions décrit l encodeur de priorité(tp6). library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity Affichage_color is Port ( Etat_general : in STD_LOGIC_VECTOR (2 downto 0); Showed_color : in STD_LOGIC_VECTOR (2 downto 0); Showed_color_dispo : in STD_LOGIC; Button_color_red : in STD_LOGIC; Button_color_blue : in STD_LOGIC; Button_color_green : in STD_LOGIC; Button_color_yellow : in STD_LOGIC; Button_color_purple : in STD_LOGIC; Led_color_red : out STD_LOGIC; Led_color_blue : out STD_LOGIC; Led_color_green : out STD_LOGIC; Led_color_yellow : out STD_LOGIC; Led_color_purple : out STD_LOGIC); end Affichage_color; architecture Behavioral of Affichage_color is begin Led_color_red<= '1' when (Etat_general="001" and Showed_color="000" and Showed_color_dispo='1') Button_color_red when Etat_general="010" '0'; Led_color_blue<= '1' when (Etat_general="001" and Showed_color="001" and Showed_color_dispo='1') Button_color_blue when Etat_general="010" '0'; Led_color_green<= '1' when (Etat_general="001" and Showed_color="010" and Showed_color_dispo='1') Button_color_green when Etat_general="010" '0'; Led_color_yellow<= '1' when (Etat_general="001" and Showed_color="011" and Showed_color_dispo='1') Button_color_yellow when Etat_general="010" '0'; Led_color_purple<= '1' when (Etat_general="001" and Showed_color="100" and Showed_color_dispo='1') Button_color_purple when Etat_general="010" '0'; end Behavioral; Projet intégré / D.Crausaz page 45
46 Tests Voici la macro : force -freeze sim:/affichage_color/etat_general force -freeze sim:/affichage_color/showed_color force -freeze sim:/affichage_color/showed_color_dispo 0 0 force -freeze sim:/affichage_color/button_color_red 0 0 force -freeze sim:/affichage_color/button_color_blue 0 0 force -freeze sim:/affichage_color/button_color_green 0 0 force -freeze sim:/affichage_color/button_color_yellow 0 0 force -freeze sim:/affichage_color/button_color_purple 0 0 force -freeze sim:/affichage_color/button_color_blue 1 0 force -freeze sim:/affichage_color/button_color_purple 1 0 force -freeze sim:/affichage_color/button_color_purple 0 0 force -freeze sim:/affichage_color/button_color_blue 0 0 force -freeze sim:/affichage_color/etat_general force -freeze sim:/affichage_color/button_color_yellow 1 0 force -freeze sim:/affichage_color/showed_color force -freeze sim:/affichage_color/showed_color_dispo 1 0 force -freeze sim:/affichage_color/showed_color_dispo 0 0 force -freeze sim:/affichage_color/button_color_yellow 0 0 force -freeze sim:/affichage_color/etat_general force -freeze sim:/affichage_color/button_color_green 1 0 force -freeze sim:/affichage_color/button_color_yellow 1 0 Projet intégré / D.Crausaz page 46
47 Voici le chronogramme, j ai uniquement modifié les entrées afin d observer l effet sur les sorties. Etat_general = "000" Les sorties sont toujours toutes à 0 Etat_general = "001" Lorsque Showed_color_dispo = 1, les sorties correspondent à la couleur codée sur Showed_color, sinon les sorties sont toutes à 0 Etat_general = "010" Les sorties correspondent aux couleurs pressés Projet intégré / D.Crausaz page 47
48 7. Conclusion Il était intéressant de voir comment développer les différents composants. Cependant je pense que nous n avons pas suffisamment séparé les états généraux dès le départ et nous nous retrouvons avec des composants trop grands, à l intérieur desquels nous devons traiter énormément de cas différents. Exemple : les composants agissent différemment suivant le mode choisi Je pense qu il ne sera pas facile à assembler les composants lors du montage final, car à mon avis certains cas n ont pas été traiter et la communication entre les composants risque également de poser des problèmes. Projet intégré / D.Crausaz page 48
Manipulations du laboratoire
Manipulations du laboratoire 1 Matériel Les manipulations de ce laboratoire sont réalisées sur une carte électronique comprenant un compteur 4-bit asynchrone (74LS93) avec possibilité de déclenchement
Plus en détailLe langage VHDL. Eduardo Sanchez EPFL
Le langage VHDL Eduardo Sanchez EPFL Livres conseillés: John F. Wakerly Digital design (4th edition) Prentice Hall, 2005 Peter J. Ashenden The designer's guide to VHDL (3rd edition) Morgan Kaufmann, 2008
Plus en détailT. BLOTIN Lycée Paul-Eluard 93206 SAINT-DENIS
T. BLOTIN Lycée Paul-Eluard 93206 SAINT-DENIS SOMMAIRE I. Le VHDL pour qui, pourquoi, quand, comment? A. Le VHDL!...... 1 B. Pourquoi un langage de description?...... 1 C. Les limites actuelles...... 2
Plus en détailSIN-FPGA DESCRIPTION PAR SCHEMA
SIN-FPGA DESCRIPTION PAR SCHEMA Documents ressources: http://www.altera.com/literature/lit-index.html Introduction to Quartus II : intro_to_quartus2.pdf Documentation QUARTUS II : quartusii_handbook.pdf
Plus en détailVIII- Circuits séquentiels. Mémoires
1 VIII- Circuits séquentiels. Mémoires Maintenant le temps va intervenir. Nous avions déjà indiqué que la traversée d une porte ne se faisait pas instantanément et qu il fallait en tenir compte, notamment
Plus en détailArchitecture des ordinateurs TD1 - Portes logiques et premiers circuits
Architecture des ordinateurs TD1 - Portes logiques et premiers circuits 1 Rappel : un peu de logique Exercice 1.1 Remplir la table de vérité suivante : a b a + b ab a + b ab a b 0 0 0 1 1 0 1 1 Exercice
Plus en détailIFT1215 Introduction aux systèmes informatiques
Introduction aux circuits logiques de base IFT25 Architecture en couches Niveau 5 Niveau 4 Niveau 3 Niveau 2 Niveau Niveau Couche des langages d application Traduction (compilateur) Couche du langage d
Plus en détailCOMMANDER A DISTANCE LE ROBOT-PONG ETUDE DE LA TELECOMMANDE (2 nde PARTIE)
SIN STI2D - Système d'information et Numérique TD TP Cours Synthèse Devoir Evaluation Projet Document ressource COMMANDER A DISTANCE LE ROBOT-PONG ETUDE DE LA TELECOMMANDE (2 nde PARTIE) 1 GESTION DES
Plus en détailGPA770 Microélectronique appliquée Exercices série A
GPA770 Microélectronique appliquée Exercices série A 1. Effectuez les calculs suivants sur des nombres binaires en complément à avec une représentation de 8 bits. Est-ce qu il y a débordement en complément
Plus en détailConception Systèmes numériques VHDL et synthèse automatique des circuits
Année 2011-2012 Conception Systèmes numériques VHDL et synthèse automatique des circuits Travaux pratiques WIDEMACV1 LAAS-CNRS 2011 Présentation du simulateur VHDL sous environnement Cadence Présentation
Plus en détailProjet # 3 Serrure à deux clés
Département d électronique industrielle Projet # 3 Serrure à deux clés Semaines 8 et 9, 10 Session 1 Circuits logiques 243-206-RA Automne 2010 Tables des matières 1 OBJECTIFS DE L ACTIVITÉ... 3 1.1 COMPÉTENCES
Plus en détailAlgorithmique & programmation
Algorithmique & programmation Type structuré Article, Enregistrement, Structure Définition de nouveaux types!! On a vu les types simples "! entier, booléen, caractère, chaîne de caractères!! Comment gérer
Plus en détailConception Systèmes numériques VHDL et synthèse automatique des circuits
Année 2008-2009 Conception Systèmes numériques VHDL et synthèse automatique des circuits Travaux pratiques Pentium4 Présentation du simulateur VHDL sous environnement Cadence Présentation de l outil Synopsys
Plus en détailFONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE
I/ GÉNÉRALITÉS I.1/ Fonction Un compteur binaire est utilisé : -pour compter un certain nombre d'évènements binaires -pour diviser la fréquence d'un signal logique par 2 m Page 1 FONCTION COMPTAGE BINAIRE
Plus en détailCircuit comportant plusieurs boucles
Sommaire de la séquence 3 Séance 1 Qu est-ce qu un circuit comportant des dérivations? A Les acquis du primaire B Activités expérimentales C Exercices d application Séance 2 Court-circuit dans un circuit
Plus en détailExercice 1. Partie 1. Questions
Exercice 1 Partie 1 Considérons un réveille-matin simplifié : 1. On peut mettre l alarme on ou off ; 2. Quand l heure courante devient égale à l heure d alarme, le réveil sonne sans s arrêter. 3. On peut
Plus en détailJade. Projet Intelligence Artificielle «Devine à quoi je pense»
Jade Projet Intelligence Artificielle «Devine à quoi je pense» Réalisé par Djénéba Djikiné, Alexandre Bernard et Julien Lafont EPSI CSII2-2011 TABLE DES MATIÈRES 1. Analyse du besoin a. Cahier des charges
Plus en détailET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.
ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. Sciences et Technologies de l Industrie et du Développement Durable Formation des enseignants parcours : ET24 Modèle de
Plus en détailSUR MODULE CAMÉRA C38A (OV7620)
Applications maquette d'étude EP10K20 DÉMULTIPLEXEUR BT.656 SUR MODULE CAMÉRA C38A OV7620 SCHÉMAS ET DESCRIPTIONS AHDL 1. Schéma principal Le démultiplexeur proprement dit est la fonction "Decod_BT656_1".
Plus en détail- affichage digital - aiguille
. Lire l heure On peut lire l heure sur une horloge, un réveil, une montre à : - affichage digital - aiguille A) La lecture sur un système digital est très simple, il suffit de lire les nombres écrits
Plus en détailARDUINO DOSSIER RESSOURCE POUR LA CLASSE
ARDUINO DOSSIER RESSOURCE POUR LA CLASSE Sommaire 1. Présentation 2. Exemple d apprentissage 3. Lexique de termes anglais 4. Reconnaître les composants 5. Rendre Arduino autonome 6. Les signaux d entrée
Plus en détaillundi 3 août 2009 Choose your language What is Document Connection for Mac? Communautés Numériques L informatique à la portée du Grand Public
Communautés Numériques L informatique à la portée du Grand Public Initiation et perfectionnement à l utilisation de la micro-informatique Microsoft Document Connection pour Mac. Microsoft Document Connection
Plus en détail3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes
PLAN CYCLE DE VIE D'UN LOGICIEL EXPRESSION DES BESOINS SPÉCIFICATIONS DU LOGICIEL CONCEPTION DU LOGICIEL LA PROGRAMMATION TESTS ET MISE AU POINT DOCUMENTATION CONCLUSION C.Crochepeyre Génie Logiciel Diapason
Plus en détailProgramme. 048884-EcranTactile-01 MANUEL DE MISE EN ŒUVRE
Programme d application 048884-EcranTactile-01 MANUEL DE MISE EN ŒUVRE Sommaire 4 5 7 10 11 13 14 18 19 21 22 Description des fonctionnalités du produit Généralité concernant le fonctionnement Utilisation
Plus en détailInitiation à LabView : Les exemples d applications :
Initiation à LabView : Les exemples d applications : c) Type de variables : Créer un programme : Exemple 1 : Calcul de c= 2(a+b)(a-3b) ou a, b et c seront des réels. «Exemple1» nom du programme : «Exemple
Plus en détailQUESTION 1 {2 points}
ELE4301 Systèmes logiques II Page 1 de 8 QUESTION 1 {2 points} En se servant de paramètres électriques donnés dans le Tableau 1 ci-dessous, on désire déterminer la fréquence d opération du compteur présenté
Plus en détailTP - Alarme de voiture / Approche fonctionnelle
TP - Alarme de voiture / Approche fonctionnelle Tous les objets techniques, même les plus compliqués, sont étudiés à l aide d une méthode appelée : étude fonctionnelle ou systémique. 1/ Présentation du
Plus en détailSYSTEME DE PALPAGE A TRANSMISSION RADIO ETUDE DU RECEPTEUR (MI16) DOSSIER DE PRESENTATION. Contenu du dossier :
SYSTEME DE PALPAGE A TRANSMISSION RADIO ETUDE DU RECEPTEUR (MI16) DOSSIER DE PRESENTATION Contenu du dossier : 1. PRESENTATION DU SYSTEME DE PALPAGE A TRANSMISSION RADIO....1 1.1. DESCRIPTION DU FABRICANT....1
Plus en détailLogique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.
Logique binaire I. L'algèbre de Boole L'algèbre de Boole est la partie des mathématiques, de la logique et de l'électronique qui s'intéresse aux opérations et aux fonctions sur les variables logiques.
Plus en détailGOL-502 Industrie de services. Travaux Pratique / Devoir #7
GOL-502 Industrie de services Travaux Pratique / Devoir #7 Version 2012 Modélisation à l'aide du langage UML 1) Diagramme de cas d'utilisation 2) Diagramme de classes 3) Diagramme de séquence 4) Diagramme
Plus en détailPrésentation et installation PCE-LOG V4 1-5
PCE-LOG V4 version borne externe type PC50 mesures U, I + 3 TS version coffret mural mesures U, U, I + 3TS PRESENTATION 1-5 1 Presentation PCE-LOG V4 est un datalogger pour la télésurveillance de la protection
Plus en détailCours de Programmation en Langage Synchrone SIGNAL. Bernard HOUSSAIS IRISA. Équipe ESPRESSO
Cours de Programmation en Langage Synchrone SIGNAL Bernard HOUSSAIS IRISA. Équipe ESPRESSO 24 septembre 2004 TABLE DES MATIÈRES 3 Table des matières 1 Introduction 5 1.1 La Programmation Temps Réel.........................
Plus en détailJeux mathématiques en maternelle. Activités clés. Jeu des maisons et des jardins (Yvette Denny PEMF)
Activités clés NIVEAU : PS/MS Jeu des maisons et des jardins (Yvette Denny PEMF) Compétences Construire les premiers nombres dans leur aspect cardinal Construire des collections équipotentes Situation
Plus en détailVMT Mod : Ventilation modulée pour le tertiaire
Notice de Montage VMT Mod : Ventilation modulée pour le tertiaire VC 100876 - D920_a - RCS 956 506 828 - Imprimé en France/Printed in France VMT Mod est un système de ventilation intelligent à destination
Plus en détailManuel d utilisation de l outil collaboratif
Manuel d utilisation de l outil collaboratif Réf OCPD-V2 Page 1 / 24 a mis en œuvre un outil collaboratif qui permet de partager des informations entre collaborateurs. Il permet à des utilisateurs travaillant
Plus en détailFiche technique CPU 314SC/DPM (314-6CG13)
Fiche technique CPU 314SC/DPM (3146CG13) Données techniques N de commande 3146CG13 Type CPU 314SC/DPM Information générale Note Caractéristiques SPEEDBus Technologie SPEED7 24 x DI, 16 x DO, 8 x DIO, 4
Plus en détailASR1 TD7 : Un microprocesseur RISC 16 bits
{Â Ö Ñ º ØÖ Ý,È ØÖ ºÄÓ Ù,Æ ÓÐ ºÎ ÝÖ Ø¹ ÖÚ ÐÐÓÒ} Ò ¹ÐÝÓÒº Ö ØØÔ»»Ô Ö Óº Ò ¹ÐÝÓÒº Ö» Ö Ñ º ØÖ Ý»¼ Ö½» ASR1 TD7 : Un microprocesseur RISC 16 bits 13, 20 et 27 novembre 2006 Présentation générale On choisit
Plus en détailSD1+ SD1+ SD1+ ENT ESC
SD SD SD A B 4 5 6 C 7 8 9 D ENT 0 ESC Sommaire Options du Menu SD........ Généralités...... Raccordements.......... Mot de Passe........... Type de Mot de Passe........... Sortie Programmable...........
Plus en détailEvolutions dans FFBClubNet v. 23.1.0 :
Evolutions dans FFBClubNet v. 23.1.0 : 1. envoi par email au service assistance de la F.F.B. (assistance.club@ffbridge.net) de la sauvegarde générale du club sur demande du service... 2 2. envoi des résultats
Plus en détailELP 304 : Électronique Numérique. Cours 1 Introduction
ELP 304 : Électronique Numérique Cours 1 Introduction Catherine Douillard Dépt Électronique Les systèmes numériques : généralités (I) En électronique numérique, le codage des informations utilise deux
Plus en détailIFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL
IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL Un bus de services Un bus de services (ESB) permet d assembler des web services existants, le résultat de cet
Plus en détailEPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE
EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0
Plus en détailManuel d installation du clavier S5
1 Manuel d installation du clavier S5 Table des matières 1. Contenu de l emballage... 3 2. Guide de programmation... 3 3. Description... 4 4. Caractéristiques techniques du clavier S5... 4 5. Spécifications
Plus en détailWEBVIEW. Serveur Web embarqué dans DIRIS G NOTICE D UTILISATION. www.socomec.com. http://www.socomec. com/webview_ software
NOTICE D UTILISATION WEBVIEW Serveur Web embarqué dans DIRIS G FR http://www.socomec. com/webview_ software www.socomec.com FR SOMMAIRE 1. DOCUMENTATION...3 2. OPÉRATIONS PRÉALABLES...3 3. PRÉSENTATION...3
Plus en détailLes liaisons SPI et I2C
DAMÉCOURT BENJAMIN AVRIL 28 Liaisons synchrones Les liaisons SPI et I2C Face arrière d un imac : trois ports USB, un port Firewire 4 et un port Firewire 8 CHRONOLOGIE ANNÉES 7 La liaison SPI et la création
Plus en détailINTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores
INTRODUCTION AUX SYSTEMES D EXPLOITATION TD2 Exclusion mutuelle / Sémaphores Exclusion mutuelle / Sémaphores - 0.1 - S O M M A I R E 1. GENERALITES SUR LES SEMAPHORES... 1 1.1. PRESENTATION... 1 1.2. UN
Plus en détailProjet Active Object
Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques
Plus en détailTravaux pratiques avec RapidMiner
Travaux pratiques avec RapidMiner Master Informatique de Paris 6 Spécialité IAD Parcours EDOW Module Algorithmes pour la Fouille de Données Janvier 2012 Prise en main Généralités RapidMiner est un logiciel
Plus en détailArbres binaires de recherche
1 arbre des comparaisons 2 recherche dichotomique l'arbre est recalculé à chaque recherche 2 5 3 4 7 9 1 6 1 2 3 4 5 6 7 9 10 conserver la structure d'arbre au lieu de la reconstruire arbre binaire de
Plus en détailLIVRET DE RÈGLES. @AsmadiGames. facebook.com/asmadigames
LIVRET DE RÈGLES @AsmadiGames facebook.com/asmadigames VOUS JOUEZ À RED La règle pour gagner au Rouge est simple : avoir la plus haute carte! Mais jouerez-vous toujours au même jeu lorsque votre tour prendra
Plus en détailRecherche dans un tableau
Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6
Plus en détailL équilibre Ressources Emplois de biens et services schématisé par une balance
IV) l équilibre ressources - emplois et son interprétation Cet article fait suite à ceux du 19 janvier et du 18 février 2013. Il en est le complément logique sur les fondamentaux macro- économiques d un
Plus en détailRapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/2011. 1.1 Présentation. 1.2 Ressources
Master Maths Finances 2010/2011 Data Mining janvier 2011 RapidMiner 1 Introduction 1.1 Présentation RapidMiner est un logiciel open source et gratuit dédié au data mining. Il contient de nombreux outils
Plus en détailExpérience 3 Formats de signalisation binaire
Expérience 3 Formats de signalisation binaire Introduction Procédures Effectuez les commandes suivantes: >> xhost nat >> rlogin nat >> setenv DISPLAY machine:0 >> setenv MATLABPATH /gel/usr/telecom/comm_tbx
Plus en détailESPACE COLLABORATIF SHAREPOINT
Conseil de l Europe Service des Technologies de l Information ESPACE COLLABORATIF SHAREPOINT DOSSIER D UTILISATEUR 1/33 Sommaire 1. Présentation de SharePoint... 3 1.1. Connexion... 4 2. Les listes...
Plus en détailCentrale d alarme DA996
Centrale d alarme DA996 Référence : 7827 La DA-996 est une centrale d alarme pour 6 circuits indépendants les uns des autres, avec ou sans temporisation, fonctions 24 heures, sirène, alerte et incendie.
Plus en détailExercices de dénombrement
Exercices de dénombrement Exercice En turbo Pascal, un entier relatif (type integer) est codé sur 6 bits. Cela signifie que l'on réserve 6 cases mémoires contenant des "0" ou des "" pour écrire un entier.
Plus en détailAlgorithmique et programmation : les bases (VBA) Corrigé
PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage VBA des éléments vus en algorithmique. Table des matières 1 Pourquoi
Plus en détailIV- Comment fonctionne un ordinateur?
1 IV- Comment fonctionne un ordinateur? L ordinateur est une alliance du hardware (le matériel) et du software (les logiciels). Jusqu à présent, nous avons surtout vu l aspect «matériel», avec les interactions
Plus en détailAlfstore workflow framework Spécification technique
Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: info@alfstore.com Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date
Plus en détail2.1 Le point mémoire statique Le point mémoire statique est fondé sur le bistable, dessiné de manière différente en Figure 1.
Mémoires RAM 1. LOGIUE STATIUE ET LOGIUE DYNAMIUE Le point mémoire est l élément de base, capable de mémoriser un bit. Il y a deux approches possibles. L approche statique est fondée sur la l'utilisation
Plus en détailAP1.1 : Montages électroniques élémentaires. Électricité et électronique
STI2D Option SIN Terminale AP1.1 : Montages électroniques élémentaires Électricité et électronique Durée prévue : 3h. Problématique : connaître les composants élémentaires de l'électronique Compétences
Plus en détailRÉALISATION ET MISE AU POINT D UN SYSTÈME DE TÉLÉSURVEILLANCE VIDÉO
E.N.S.E.R.B. Romain COMBELAS Frédéric BONNIN 3ème année. Option TIC MÉMOIRE DE FIN D ÉTUDES RÉALISATION ET MISE AU POINT D UN SYSTÈME DE TÉLÉSURVEILLANCE VIDÉO Encadré par : M. Patrice KADIONIK M. Yannick
Plus en détailManuel d utilisation
F524 Energy IP data logger www.legrand.com Table des matières Energy IP data logger Introduction et fonctions de base 5. Concepts fondamentaux 5.2 Utilisation du Energy IP data logger avec pages Web 6.2.
Plus en détailÉcriture de journal. (Virement de dépense)
Écriture de journal (Virement de dépense) SERVICE DES FINANCES Équipe de formation PeopleSoft version 8.9 Août 2014 TABLES DES MATIERES AVERTISSEMENT... 3 INTRODUCTION... 4 RAISONS JUSTIFIANT LA CRÉATION
Plus en détailCOURS WINDEV NUMERO 3
COURS WINDEV NUMERO 3 01/02/2015 Travailler avec un fichier de données Etude du gestionnaire d analyse, Manipulation des tables mémoires, Manipulation de données, Création d états, Pré requis : Cours WinDev
Plus en détailGuide de programmation FLEXIVOZ PABX OD308
Guide de FLEXIVOZ PABX OD308 1 SOMMAIRE Introduction 3 Installation 4 Programmation du système 5 IMPORTANT Lignes externes 6 Réglage date et heure par l horloge interne 6 Appels entrants : Affectation
Plus en détailGénie Logiciel avec Ada. 4 février 2013
Génie Logiciel 4 février 2013 Plan I. Généralités II. Structures linéaires III. Exceptions IV. Structures arborescentes V. Dictionnaires I. Principes II. Notions propres à la POO I. Principes Chapitre
Plus en détailTravaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES
TRAVAUX PRATIQUES Le présent travail vise à développer une interface visuelle de programmation des entrées- sorties du port LPT d un PC à l aide du logiciel VISUAL BASIC. I- EDITION ET TEST DU PROGRAMME
Plus en détailExport vers le format WAV dans ArtemiS SUITE
9/14 dans ArtemiS SUITE Export vers WAV dans le Projet 2 Réglage 2 Type de données et résolution 4 Export des informations d'impulsions tachymétriques 4 Fondu 5 Fichier Résultat 6 Paramètres pour l'export
Plus en détailNeu. Technique d installation / de surveillance. VARIMETER RCM Contrôleur différentiel type B IP 5883
Technique d installation / de surveillance VARIMETER RCM Contrôleur différentiel type IP 5883 0249636 X1 A1 X1 i2 11 Alarm 12 Neu IP 5583 N 5018/035 N 5018/030 escription du produit Le contrôleur différentiel
Plus en détailKL5121. Pour activer des sorties en fonction de la position d'un codeur
KL5121 Pour activer des sorties en fonction de la position d'un codeur VERSION : 1.0 / PH DATE : 07 Février 2006 Sommaire Ce manuel explique de manière pratique les étapes successives pour mettre en œuvre
Plus en détailGuide d utilisation commandes des pièces de rechange Rev.1.0.3
SECLI Ver.2.3 Guide d utilisation commandes des pièces de rechange Rev.1.0.3 Ce document est constamment actualisé: vérifiez le n de la version pour savoir s il existe d éventuelles mises à jour Futura
Plus en détailREALISATION d'un. ORDONNANCEUR à ECHEANCES
REALISATION d'un ORDONNANCEUR à ECHEANCES I- PRÉSENTATION... 3 II. DESCRIPTION DU NOYAU ORIGINEL... 4 II.1- ARCHITECTURE... 4 II.2 - SERVICES... 4 III. IMPLÉMENTATION DE L'ORDONNANCEUR À ÉCHÉANCES... 6
Plus en détailAlgorithmique des Systèmes Répartis Protocoles de Communications
Algorithmique des Systèmes Répartis Protocoles de Communications Master Informatique Dominique Méry Université de Lorraine 1 er avril 2014 1 / 70 Plan Communications entre processus Observation et modélisation
Plus en détailDovAdis. Objet Rapprochement bancaire Métier Gérance. Siège social SPI 1, rond-point du Flotis Bât IV 31 240 St Jean
DovAdis Objet Rapprochement bancaire Métier Gérance Siège social SPI 1, rond-point du Flotis Bât IV 31 240 St Jean Facturation SPI ZAC du Parkway 5, rue des Tiredous 64 000 Pau Tél. 05 62 27 95 30 Fax.
Plus en détailModule Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS
Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS 1. Introduction Nous allons aborder la notion de surcouche procédurale au sein des SGBDS relationnels tels que Oracle (PLSQL)
Plus en détailSNT4U16 - Initiation à la programmation 2014-2015. TD - Dynamique de POP III - Fichiers sources
SNT4U16 - Initiation à la programmation Licence SVT 2 ème année 2014-2015 TD - Dynamique de POP III - Fichiers sources contacts : mathias.gauduchon@univ-amu.fr, melika.baklouti@univ-amu.fr, xavier.giraud@univ-amu.fr,
Plus en détailSystèmes de transmission
Systèmes de transmission Conception d une transmission série FABRE Maxime 2012 Introduction La transmission de données désigne le transport de quelque sorte d'information que ce soit, d'un endroit à un
Plus en détailV- Manipulations de nombres en binaire
1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,
Plus en détailImportantes instructions de sécurité
RCR-5 D Version 1 1. 2. Importantes instructions de sécurité Lire les instructions Toutes les instructions de sécurité et d utilisation doivent être lues avant d utiliser l appareil. Conserver les instructions
Plus en détailMaster IAC 2013-2014. Philippe Caillou DÉVELOPPEMENT DE SMA. Cours 1b
DÉVELOPPEMENT DE SMA Cours 1b Je veux développer mon application.. Comme toujours, j utilise Java/Python/C#/ Mais : Est-ce que je ne reprogramme pas exactement la même chose que quelqu un d autre? (en
Plus en détailIUT BREST UN LOGICIEL SCADA : PC VUE 2010 DEP.GMP
IUT BREST DEP.GMP UN LOGICIEL SCADA : PC VUE 2010 Table des matières 1. Introduction à la supervision- logiciel SCADA... 4 1.A. Définition d un logiciel SCADA /Supervision... 4 1.B. Ou trouve-t-on des
Plus en détailLES TOUT PREMIERS PAS
DESMODO, un logiciel de gestion d idées http://www.desmodo.net/ LES TOUT PREMIERS PAS Desmodo est un logiciel (libre) qui permet, entre autre, de visualiser et de synthétiser, de manière organisée, sous
Plus en détailNIVEAU D'INTERVENTION DE LA PROGRAMMATION CONCURRENTE
NIVEAU D'INTERVENTION DE LA PROGRAMMATION CONCURRENTE Une application se construit par étapes 1) CAHIER DES CHARGES + ANALYSE FONCTIONNELLE = organisation fonctionnelle (QUE FAIRE) 2) ANALYSE OPERATIONNELLE
Plus en détailGenie Logiciel Avancé Projet :Gestion d une chaîne hotelier low cost
Institut Galilée Vivien Boyi-Banga INFO 2 Genie Logiciel Avancé Projet :Gestion d une chaîne hotelier low cost Enseignant : M.Feiz Année 2009-2010 1. Définir la borne de notre système Le système est composé
Plus en détailLes outils de SEO (Référencement naturel) et les Sites SharePoint Public sur Office 365
Les outils de SEO (Référencement naturel) et les Sites SharePoint Public sur Office 365 Bonjour, comme beaucoup d entre vous j ai créé mon site public sur Office 365. Je suis comme vous je pense à la recherche
Plus en détailPremiers Pas avec OneNote 2013
Premiers Pas avec OneNote 2 Présentation de OneNote 3 Ouverture du logiciel OneNote 4 Sous Windows 8 4 Sous Windows 7 4 Création de l espace de travail OneNote 5 Introduction 5 Présentation des différentes
Plus en détailNetwork musical jammin
Network musical jammin Projet PC2R - 2015 Pour ce projet, nous allons réaliser une application permettant d effectuer des jams sessions en temps-réel entre des musiciens répartis à travers le monde. Le
Plus en détailTEPZZ 568448A_T EP 2 568 448 A1 (19) (11) EP 2 568 448 A1 (12) DEMANDE DE BREVET EUROPEEN. (51) Int Cl.: G07F 7/08 (2006.01) G06K 19/077 (2006.
(19) TEPZZ 68448A_T (11) EP 2 68 448 A1 (12) DEMANDE DE BREVET EUROPEEN (43) Date de publication: 13.03.2013 Bulletin 2013/11 (1) Int Cl.: G07F 7/08 (2006.01) G06K 19/077 (2006.01) (21) Numéro de dépôt:
Plus en détailCOMMUTEL PRO VM3 INTERFACE GSM VOIX POUR EMULATION DE LIGNE RTC ET TRANSMETTEUR DE SMS D ALERTES ET TECHNIQUES.
COMMUTEL PRO VM3 INTERFACE GSM VOIX POUR EMULATION DE LIGNE RTC ET TRANSMETTEUR DE SMS D ALERTES ET TECHNIQUES. 1. DESCRIPTION DU PRODUIT COMMUTEL PRO VM3 est un Secours GSM Canal Voix et un transmetteur
Plus en détailOrdinateurs, Structure et Applications
Ordinateurs, Structure et Applications Cours 10, Les interruptions Etienne Tremblay Université Laval, Hiver 2012 Cours 10, p.1 Les interruptions du 8086 Une interruption interrompt l exécution séquentielle
Plus en détailNOTICE SIMPLIFIEE ER-A280F. I Initialisation avec Remise à Zéro de la caisse : ENTER PASSWORD ER-A280V. Ver1.02
NOTICE SIMPLIFIEE ER-A280F I Initialisation avec Remise à Zéro de la caisse : A faire absolument au déballage de la caisse avant de commencer à programmer. Cette étape ne nécessite pas la mise en place
Plus en détailTER Licence 3 Electronique des Télécoms Transmission GSM
Université de Savoie Module TER (Travaux d études et réalisation) TER Licence 3 Electronique des Télécoms Transmission GSM Note : L ensemble des documents du projet se trouve sur l espace étudiant du site
Plus en détailsommaire Archives... Archiver votre messagerie... Les notes... Les règles de messagerie... Les calendriers partagés... 15 Les listes de diffusions...
sommaire Votre solution de messagerie Futur Office évolue. Pour préparer au mieux la migration qui aura lieu le week-end du 23-24 Juin, nous vous conseillons de réaliser les actions préalables décrites
Plus en détailNotice d installation de la Centrale VIGIK DGM1
Notice d installation de la Centrale VIGIK DGM1 Version 3.5 NOTICE DE MONTAGE ET D UTILISATION N homologation : PS 200306-01 MS 200306-02 Informations préliminaires Présentation des possibilités de la
Plus en détailTD Architecture des ordinateurs. Jean-Luc Dekeyser
TD Architecture des ordinateurs Jean-Luc Dekeyser Fiche 1 Nombres de l informatique Exercice 1 Une entreprise désire réaliser la sauvegarde de ses données sur un site distant. Le volume de données à sauvegarder
Plus en détailSurveillance de Scripts LUA et de réception d EVENT. avec LoriotPro Extended & Broadcast Edition
Surveillance de Scripts LUA et de réception d EVENT avec LoriotPro Extended & Broadcast Edition L objectif de ce document est de présenter une solution de surveillance de processus LUA au sein de la solution
Plus en détailPropagation sur réseau statique et dynamique
Université de la Méditerranée UFR Sciences de Luminy Rapport de stage informatique pour le Master 2 de Physique, Parcours Physique Théorique et Mathématique, Physique des Particules et Astroparticules.
Plus en détailEtude et développement d un moteur de recherche
Ministère de l Education Nationale Université de Montpellier II Projet informatique FLIN607 Etude et développement d un moteur de recherche Spécifications fonctionnelles Interface utilisateur Responsable
Plus en détail