From 2cdc2accf7f5438ebaaf16df2f50b1998f1d3732 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jean-No=C3=ABl=20Bazin?= <jn.bazin@imt-atlantique.fr>
Date: Tue, 26 Mar 2024 16:16:20 +0100
Subject: [PATCH] remove reset

---
 src/Nexys4DDR-Master.xdc    | 15 +------
 src/Nexys4_Master.xdc       |  4 +-
 src/automate.vhd            | 39 +++++++++---------
 src/compteur1_49.vhd        | 10 ++---
 src/compteur_modulo4.vhd    |  9 ++---
 src/compteur_modulo6.vhd    | 10 +----
 src/compteur_modulo6_tb.vhd |  8 ++--
 src/compteur_valid.vhd      | 20 +++++-----
 src/diviseur_freq.vhd       |  9 ++---
 src/led_pwm.vhd             | 16 +++-----
 src/loto.vhd                | 12 ++----
 src/loto_tb.vhd             |  4 +-
 src/modulo4.vhd             |  9 ++---
 src/registres.vhd           | 58 +++++++++++----------------
 src/tirage.vhd              | 79 ++++++++++++++++---------------------
 15 files changed, 119 insertions(+), 183 deletions(-)

diff --git a/src/Nexys4DDR-Master.xdc b/src/Nexys4DDR-Master.xdc
index c94f376..102b413 100644
--- a/src/Nexys4DDR-Master.xdc
+++ b/src/Nexys4DDR-Master.xdc
@@ -85,7 +85,7 @@ set_property -dict { PACKAGE_PIN N17   IOSTANDARD LVCMOS33 } [get_ports { I_butt
 #set_property -dict { PACKAGE_PIN M18   IOSTANDARD LVCMOS33 } [get_ports { BTNU }]; #IO_L4N_T0_D05_14 Sch=btnu
 #set_property -dict { PACKAGE_PIN P17   IOSTANDARD LVCMOS33 } [get_ports { BTNL }]; #IO_L12P_T1_MRCC_14 Sch=btnl
 #set_property -dict { PACKAGE_PIN M17   IOSTANDARD LVCMOS33 } [get_ports { BTNR }]; #IO_L10N_T1_D15_14 Sch=btnr
-set_property -dict { PACKAGE_PIN P18   IOSTANDARD LVCMOS33 } [get_ports { I_rst }]; #IO_L9N_T1_DQS_D13_14 Sch=btnd
+set_property -dict { PACKAGE_PIN P18   IOSTANDARD LVCMOS33 } [get_ports { I_GlobalInit }]; #IO_L9N_T1_DQS_D13_14 Sch=btnd
 
 
 ##Pmod Headers
@@ -250,16 +250,3 @@ set_property -dict { PACKAGE_PIN P18   IOSTANDARD LVCMOS33 } [get_ports { I_rst
 #set_property -dict { PACKAGE_PIN L14   IOSTANDARD LVCMOS33 } [get_ports { QSPI_DQ[2] }]; #IO_L2P_T0_D02_14 Sch=qspi_dq[2]
 #set_property -dict { PACKAGE_PIN M14   IOSTANDARD LVCMOS33 } [get_ports { QSPI_DQ[3] }]; #IO_L2N_T0_D03_14 Sch=qspi_dq[3]
 #set_property -dict { PACKAGE_PIN L13   IOSTANDARD LVCMOS33 } [get_ports { QSPI_CSN }]; #IO_L6P_T0_FCS_B_14 Sch=qspi_csn
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Nexys4_Master.xdc b/src/Nexys4_Master.xdc
index 8a19dd4..9176a7c 100644
--- a/src/Nexys4_Master.xdc
+++ b/src/Nexys4_Master.xdc
@@ -13,8 +13,8 @@ set_property IOSTANDARD LVCMOS33 [get_ports I_clk_100m]
 create_clock -add -name sys_clk_pin -period 10.00 -waveform {0 5} [get_ports I_clk_100m]
 
 ##Bank = 14, Pin name = IO_L21P_T3_DQS_14,					Sch name = BTND
-set_property PACKAGE_PIN V10 [get_ports I_rst]
-set_property IOSTANDARD LVCMOS33 [get_ports I_rst]
+set_property PACKAGE_PIN V10 [get_ports I_GlobalInit]
+set_property IOSTANDARD LVCMOS33 [get_ports I_GlobalInit]
 
 
  ##Bank = 34, Pin name = IO_L5P_T0_34,						Sch name = LED16_R
diff --git a/src/automate.vhd b/src/automate.vhd
index 1ccb931..07bd947 100644
--- a/src/automate.vhd
+++ b/src/automate.vhd
@@ -6,7 +6,7 @@ use IEEE.numeric_std.all;
 entity automate is
     port (
         I_clk         : in  std_logic;
-        I_rst         : in  std_logic;
+        I_GlobalInit  : in  std_logic;
         I_clk_display : in  std_logic;
         I_button      : in  std_logic;
         I_invalide    : in  std_logic;
@@ -29,34 +29,37 @@ architecture a_automate of automate is
         st_end_green,
         st_end_red
         );
-    signal SR_STATE : TYPE_ETAT;
+    signal SR_STATE : TYPE_ETAT := st_wait_success;
 
 begin
 
-    process (I_clk, I_rst)
+    process (I_clk)
     begin
-        if(I_rst = '1')then
-            __BLANK_TO_FILL__
-        elsif rising_edge(I_clk)then
-            case SR_STATE is
+        if rising_edge(I_clk)then
+            if I_GlobalInit = '1' then
+                SR_STATE <= st_wait_success;
+            else
+
                 case SR_STATE is
 
-                when st_wait_success =>
-                    O_l_green        <= '1';
-                    O_l_red        <= '0';
-                    O_counting       <= '0';
-                    O_store <= '0';
-                    if I_button = '1' then
-                        SR_STATE <= st_counting;
-                    end if;
+                    when st_wait_success =>
+                        if I_button = '1' then
+                            SR_STATE <= st_counting;
+                        end if;
 
-                    when __BLANK_TO_FILL__
+                        when __BLANK_TO_FILL__
 
-                    __BLANK_TO_FILL__
+                            __BLANK_TO_FILL__
 
-            end case;
+                end case;
+            end if;
         end if;
     end process;
 
+    O_counting <= '1' when(__BLANk_TO_FILL__
+    O_store    <= '1' when(__BLANk_TO_FILL__
+    O_l_red    <= '1' when(__BLANk_TO_FILL__
+    O_l_green  <= '1' when(__BLANk_TO_FILL__
+
 
 end a_automate;
diff --git a/src/compteur1_49.vhd b/src/compteur1_49.vhd
index f7f4b9e..c474422 100644
--- a/src/compteur1_49.vhd
+++ b/src/compteur1_49.vhd
@@ -6,7 +6,6 @@ use IEEE.numeric_std.all;
 entity compteur1_49 is
     port (
         I_clk      : in  std_logic;
-        I_rst      : in  std_logic;
         I_comptage : in  std_logic;
         O_sortie   : out std_logic_vector(5 downto 0)
         );
@@ -15,16 +14,13 @@ end compteur1_49;
 
 architecture compteur_a of compteur1_49 is
 
-    signal SR_cpt_val : unsigned(5 downto 0);
+    signal SR_cpt_val : unsigned(5 downto 0) := to_unsigned(1, 6);
 
 begin
 
-    cpt : process (I_clk, I_rst)
-
+    cpt : process (I_clk)
     begin
-        if I_rst = '1' then
-            SR_cpt_val <= to_unsigned(1, 6);
-        elsif rising_edge(I_clk) then
+        if rising_edge(I_clk) then
             if I_comptage = '1' then
                 if SR_cpt_val = 49 then
                     SR_cpt_val <= to_unsigned(1, 6);
diff --git a/src/compteur_modulo4.vhd b/src/compteur_modulo4.vhd
index f2b951f..d6cfc4a 100644
--- a/src/compteur_modulo4.vhd
+++ b/src/compteur_modulo4.vhd
@@ -5,7 +5,6 @@ use IEEE.numeric_std.all;
 entity compteur_modulo4 is
     port (
         I_clk         : in  std_logic;
-        I_rst         : in  std_logic;
         O_CounterMod4 : out std_logic_vector(1 downto 0);
         O_parallel1   : out std_logic;
         O_parallel2   : out std_logic;
@@ -16,16 +15,14 @@ end compteur_modulo4;
 
 architecture modulo4_a of compteur_modulo4 is
 
-    signal SR_Counter : unsigned(1 downto 0);
+    signal SR_Counter : unsigned(1 downto 0) := (others => '0');
 
 begin
 
-    mod4 : process (clk, rst)
+    mod4 : process (clk)
 
     begin
-        if rst = '1' then
-            SR_Counter <= "00";
-        elsif rising_edge(clk) then
+        if rising_edge(clk) then
             if SR_Counter = "11" then
                 SR_Counter <= "00";
             else
diff --git a/src/compteur_modulo6.vhd b/src/compteur_modulo6.vhd
index 7962a90..891bf59 100644
--- a/src/compteur_modulo6.vhd
+++ b/src/compteur_modulo6.vhd
@@ -2,29 +2,23 @@ library IEEE;
 use IEEE.std_logic_1164.all;
 use IEEE.numeric_std.all;
 
-
 entity compteur_modulo6 is
     port (
         I_clk         : in  std_logic;
-        I_rst         : in  std_logic;
         I_block       : in  std_logic;
         O_CounterMod6 : out std_logic_vector(2 downto 0)
         );
-
 end compteur_modulo6;
 
-
 architecture modulo6_a of compteur_modulo6 is
 
-    signal SR_Counter : unsigned(2 downto 0);
+    signal SR_Counter : unsigned(2 downto 0) := (others => '0');
 
 begin
 
     process (_BLANK_)
     begin
-        if I_rst = '1' then
-            _BLANK_
-        elsif rising_edge(I_clk) then
+        if rising_edge(I_clk) then
             _BLANK_
         end if;
     end process;
diff --git a/src/compteur_modulo6_tb.vhd b/src/compteur_modulo6_tb.vhd
index ff49f9e..a7bf66a 100644
--- a/src/compteur_modulo6_tb.vhd
+++ b/src/compteur_modulo6_tb.vhd
@@ -6,7 +6,7 @@
 -- Author     : Matthieu Arzel  <marzel@marzel-XPS-13-9350>
 -- Company    :
 -- Created    : 2019-01-10
--- Last update: 2024-02-15
+-- Last update: 2024-03-26
 -- Platform   :
 -- Standard   : VHDL'93/02
 -------------------------------------------------------------------------------
@@ -27,7 +27,6 @@ end entity compteur_modulo6_tb;
 
 architecture arch of compteur_modulo6_tb is
 
-    signal SC_rst         : std_logic := '0';
     signal SC_block       : std_logic := '0';
     signal SC_CounterMod6 : std_logic_vector(2 downto 0);
     signal SR_Clk         : std_logic := '1';
@@ -37,12 +36,11 @@ begin
     DUT : entity work.compteur_modulo6
         port map (
             I_clk         => SR_Clk,
-            I_rst         => SC_rst,
             I_block       => SC_block,
-            O_counterMod6 => SC_CounterMod6);
+            O_counterMod6 => SC_CounterMod6
+            );
 
     SR_Clk   <= not SR_Clk after 7 ns;
-    SC_rst   <= '0', '1'   after 11 ns, '0' after 29 ns, '1' after 123 ns, '0' after 147 ns;
     SC_block <= '0', '1'   after 33 ns, '0' after 79 ns, '1' after 211 ns, '0' after 251 ns;
 
 end architecture arch;
diff --git a/src/compteur_valid.vhd b/src/compteur_valid.vhd
index 7e799d2..1ee3080 100644
--- a/src/compteur_valid.vhd
+++ b/src/compteur_valid.vhd
@@ -4,11 +4,11 @@ use IEEE.numeric_std.all;
 
 entity compteur_valid is
     port (
-        I_clk      : in  std_logic;
-        I_rst      : in  std_logic;
-        I_comptage : in  std_logic;
-        O_adr      : out std_logic_vector(2 downto 0);
-        O_fin      : out std_logic
+        I_clk        : in  std_logic;
+        I_GlobalInit : in  std_logic;
+        I_comptage   : in  std_logic;
+        O_adr        : out std_logic_vector(2 downto 0);
+        O_fin        : out std_logic
         );
 end compteur_valid;
 
@@ -18,12 +18,12 @@ architecture a_compteur_valid of compteur_valid is
 
 begin
 
-    process (I_clk, I_rst)
+    process (I_clk)
     begin
-        if I_rst = '1' then
-            SR_Counter <= 0;
-        elsif rising_edge(I_clk) then
-            if I_comptage = '1' then
+        if rising_edge(I_clk) then
+            if I_GlobalInit = '1' then
+                SR_Counter <= 0;
+            elsif I_comptage = '1' then
                 if SR_Counter = 5 then
                     SR_Counter <= 0;
                 else
diff --git a/src/diviseur_freq.vhd b/src/diviseur_freq.vhd
index 63883d3..0c55023 100644
--- a/src/diviseur_freq.vhd
+++ b/src/diviseur_freq.vhd
@@ -9,7 +9,6 @@ entity diviseur_freq is
         );
     port (
         I_clk  : in  std_logic;
-        I_rst  : in  std_logic;
         O_fast : out std_logic;
         O_slow : out std_logic
         );
@@ -17,15 +16,13 @@ end diviseur_freq;
 
 architecture Behavioral of diviseur_freq is
 
-    signal SR_counter : unsigned (26 downto 0);
+    signal SR_counter : unsigned (26 downto 0) := (others => '0');
 
 begin
 
-    process (I_clk, I_rst)
+    process (I_clk)
     begin
-        if I_rst = '1' then
-            SR_counter <= (others => '0');
-        elsif rising_edge(I_clk) then
+        if rising_edge(I_clk) then
             SR_counter <= SR_counter + 1;
         end if;
     end process;
diff --git a/src/led_pwm.vhd b/src/led_pwm.vhd
index d7729c3..1badba8 100644
--- a/src/led_pwm.vhd
+++ b/src/led_pwm.vhd
@@ -3,31 +3,25 @@ use IEEE.std_logic_1164.all;
 use IEEE.numeric_std.all;
 
 entity led_pwm is
-
     port (
         I_clk      : in  std_logic;
-        I_rst      : in  std_logic;
         I_ledR     : in  std_logic;
         I_ledV     : in  std_logic;
         O_ledR_PWM : out std_logic;
         O_ledV_PWM : out std_logic
         );
-
 end entity led_pwm;
 
 architecture arch of led_pwm is
 
-    signal SR_cpt_leds     : unsigned(4 downto 0);
-    signal SR_cpt_leds_reg : unsigned(4 downto 0);
+    signal SR_cpt_leds     : unsigned(4 downto 0) := (others => '0');
+    signal SR_cpt_leds_reg : unsigned(4 downto 0) := (others => '0');
 
-begin  -- architecture arch
+begin
 
-    leds_pwm : process (I_clk, I_rst) is
+    leds_pwm : process (I_clk) is
     begin
-        if I_rst = '1' then
-            SR_cpt_leds     <= (others => '0');
-            SR_cpt_leds_reg <= (others => '0');
-        elsif rising_edge(I_clk) then
+        if rising_edge(I_clk) then
             SR_cpt_leds     <= SR_cpt_leds + 1;
             SR_cpt_leds_reg <= SR_cpt_leds;
         end if;
diff --git a/src/loto.vhd b/src/loto.vhd
index 3b7c175..8231be1 100644
--- a/src/loto.vhd
+++ b/src/loto.vhd
@@ -10,7 +10,7 @@ entity loto is
         I_button          : in  std_logic;
         I_block           : in  std_logic;
         I_clk_100m        : in  std_logic;
-        I_rst             : in  std_logic;
+        I_GlobalInit      : in  std_logic;
         O_7segmentDisplay : out std_logic_vector(6 downto 0);
         O_7segmentSelect  : out std_logic_vector(7 downto 0);
         O_red             : out std_logic;
@@ -23,7 +23,7 @@ architecture arch of loto is
     component tirage is
         port (
             I_clk         : in  std_logic;
-            I_rst         : in  std_logic;
+            I_GlobalInit  : in  std_logic;
             I_clk_display : in  std_logic;
             I_button      : in  std_logic;
             O_reg0        : out std_logic_vector(5 downto 0);
@@ -39,7 +39,6 @@ architecture arch of loto is
     component compteur_modulo6 is
         port (
             I_clk         : in  std_logic;
-            I_rst         : in  std_logic;
             I_block       : in  std_logic;
             O_CounterMod6 : out std_logic_vector(2 downto 0));
     end component compteur_modulo6;
@@ -50,7 +49,6 @@ architecture arch of loto is
             n_slow : natural);
         port (
             I_clk  : in  std_logic;
-            I_rst  : in  std_logic;
             O_fast : out std_logic;
             O_slow : out std_logic
             );
@@ -80,7 +78,6 @@ architecture arch of loto is
     component modulo4 is
         port (
             I_clk   : in  std_logic;
-            I_rst   : in  std_logic;
             O_Mod4  : out std_logic_vector(1 downto 0);
             O_decod : out std_logic_vector(3 downto 0)
             );
@@ -107,7 +104,7 @@ begin
     tirage_1 : entity work.tirage
         port map (
             I_clk         => SC_clk,
-            I_rst         => I_rst,
+            I_GlobalInit  => I_GlobalInit,
             I_clk_display => SC_clkDisplay,
             I_button      => I_button,
             O_reg0        => SC_reg0,
@@ -123,7 +120,6 @@ begin
     modulo6_1 : entity work.compteur_modulo6
         port map (
             I_clk         => SC_clkDisplay,
-            I_rst         => I_rst,
             I_block       => I_block,
             O_CounterMod6 => SC_regReadAddress
             );
@@ -134,7 +130,6 @@ begin
             n_slow => n_slow)
         port map (
             I_clk  => I_clk_100m,
-            I_rst  => I_rst,
             O_fast => SC_clk,
             O_slow => SC_clkDisplay
             );
@@ -161,7 +156,6 @@ begin
     modulo4_2 : entity work.modulo4
         port map (
             I_clk   => SC_clk,
-            I_rst   => I_rst,
             O_Mod4  => SC_displaySelect,
             O_decod => O_7segmentSelect(3 downto 0)
             );
diff --git a/src/loto_tb.vhd b/src/loto_tb.vhd
index c9efa48..b1ba6eb 100644
--- a/src/loto_tb.vhd
+++ b/src/loto_tb.vhd
@@ -6,7 +6,7 @@
 -- Author     : Matthieu Arzel  <mattieu.arzel@imt-atlantique.fr>
 -- Company    :
 -- Created    : 2018-06-14
--- Last update: 2024-02-15
+-- Last update: 2024-03-26
 -- Platform   :
 -- Standard   : VHDL'93/02
 -------------------------------------------------------------------------------
@@ -53,7 +53,7 @@ begin  -- architecture ar
             n_slow => n_slow)
         port map (
             I_clk_100m        => clk_100m,
-            I_rst             => rst,
+            I_GlobalInit      => rst,
             I_button          => bouton,
             I_block           => bloque,
             O_7segmentDisplay => s_aff,
diff --git a/src/modulo4.vhd b/src/modulo4.vhd
index 42c2f6a..045d44b 100644
--- a/src/modulo4.vhd
+++ b/src/modulo4.vhd
@@ -6,7 +6,6 @@ use IEEE.numeric_std.all;
 entity modulo4 is
     port (
         I_clk   : in  std_logic;
-        I_rst   : in  std_logic;
         O_Mod4  : out std_logic_vector(1 downto 0);
         O_decod : out std_logic_vector(3 downto 0)
         );
@@ -15,15 +14,13 @@ end modulo4;
 
 architecture modulo4_a of modulo4 is
 
-    signal SR_Counter : unsigned(1 downto 0);
+    signal SR_Counter : unsigned(1 downto 0) := (others => '0');
 
 begin
 
-    process (I_clk, I_rst)
+    process (I_clk)
     begin
-        if I_rst = '1' then
-            SR_Counter <= "00";
-        elsif rising_edge(I_clk) then
+        if rising_edge(I_clk) then
             if SR_Counter = "11" then
                 SR_Counter <= "00";
             else
diff --git a/src/registres.vhd b/src/registres.vhd
index 3dbbadc..0e1220e 100644
--- a/src/registres.vhd
+++ b/src/registres.vhd
@@ -5,17 +5,17 @@ use IEEE.numeric_std.all;
 entity registres is
 
     port (
-        I_clk  : in  std_logic;
-        I_rst  : in  std_logic;
-        I_wr   : in  std_logic;
-        I_adr  : in  std_logic_vector(2 downto 0);
-        I_data : in  std_logic_vector(5 downto 0);
-        O_reg0 : out std_logic_vector(5 downto 0);
-        O_reg1 : out std_logic_vector(5 downto 0);
-        O_reg2 : out std_logic_vector(5 downto 0);
-        O_reg3 : out std_logic_vector(5 downto 0);
-        O_reg4 : out std_logic_vector(5 downto 0);
-        O_reg5 : out std_logic_vector(5 downto 0)
+        I_clk        : in  std_logic;
+        I_GlobalInit : in  std_logic;
+        I_wr         : in  std_logic;
+        I_adr        : in  std_logic_vector(2 downto 0);
+        I_data       : in  std_logic_vector(5 downto 0);
+        O_reg0       : out std_logic_vector(5 downto 0);
+        O_reg1       : out std_logic_vector(5 downto 0);
+        O_reg2       : out std_logic_vector(5 downto 0);
+        O_reg3       : out std_logic_vector(5 downto 0);
+        O_reg4       : out std_logic_vector(5 downto 0);
+        O_reg5       : out std_logic_vector(5 downto 0)
         );
 
 end registres;
@@ -24,31 +24,19 @@ architecture a_registres of registres is
 
 begin
 
-    process (I_clk, I_rst)
+    process (I_clk)
     begin
-        if I_rst = '1' then
-            O_reg0 <= (others => '0');
-            O_reg1 <= (others => '0');
-            O_reg2 <= (others => '0');
-            O_reg3 <= (others => '0');
-            O_reg4 <= (others => '0');
-            O_reg5 <= (others => '0');
-        elsif rising_edge(I_clk) then
-            if I_wr = '1' then
-                -- if I_adr = "000" then
-                --     O_reg0 <= I_data;
-                -- elsif I_adr = "001" then
-                --     O_reg1 <= I_data;
-                -- elsif I_adr = "010" then
-                --     O_reg2 <= I_data;
-                -- elsif I_adr = "011" then
-                --     O_reg3 <= I_data;
-                -- elsif I_adr = "100" then
-                --     O_reg4 <= I_data;
-                -- elsif I_adr = "101" then
-                --     O_reg5 <= I_data;
-                -- end if;
-                case I_adr is
+
+        if rising_edge(I_clk) then
+            if I_GlobalInit = '1' then
+                O_reg0 <= (others => '0');
+                O_reg1 <= (others => '0');
+                O_reg2 <= (others => '0');
+                O_reg3 <= (others => '0');
+                O_reg4 <= (others => '0');
+                O_reg5 <= (others => '0');
+            elsif I_wr = '1' then
+              case I_adr is
                     when "000"  => O_reg0 <= I_data;
                     when "001"  => O_reg1 <= I_data;
                     when "010"  => O_reg2 <= I_data;
diff --git a/src/tirage.vhd b/src/tirage.vhd
index 0082967..0ed7477 100644
--- a/src/tirage.vhd
+++ b/src/tirage.vhd
@@ -7,7 +7,7 @@ entity tirage is
 
     port (
         I_clk         : in  std_logic;
-        I_rst         : in  std_logic;
+        I_GlobalInit  : in  std_logic;
         I_clk_display : in  std_logic;
         I_button      : in  std_logic;
         O_reg0        : out std_logic_vector(5 downto 0);
@@ -27,7 +27,7 @@ architecture a_tirage of tirage is
     component automate is
         port (
             I_clk            : in  std_logic;
-            I_rst            : in  std_logic;
+            I_GlobalInit     : in  std_logic;
             I_clk_display    : in  std_logic;
             I_button         : in  std_logic;
             I_invalide       : in  std_logic;
@@ -40,26 +40,26 @@ architecture a_tirage of tirage is
 
     component registres is
         port (
-            I_clk  : in  std_logic;
-            I_rst  : in  std_logic;
-            I_wr   : in  std_logic;
-            I_adr  : in  std_logic_vector(2 downto 0);
-            I_data : in  std_logic_vector(5 downto 0);
-            O_reg0 : out std_logic_vector(5 downto 0);
-            O_reg1 : out std_logic_vector(5 downto 0);
-            O_reg2 : out std_logic_vector(5 downto 0);
-            O_reg3 : out std_logic_vector(5 downto 0);
-            O_reg4 : out std_logic_vector(5 downto 0);
-            O_reg5 : out std_logic_vector(5 downto 0));
+            I_clk        : in  std_logic;
+            I_GlobalInit : in  std_logic;
+            I_wr         : in  std_logic;
+            I_adr        : in  std_logic_vector(2 downto 0);
+            I_data       : in  std_logic_vector(5 downto 0);
+            O_reg0       : out std_logic_vector(5 downto 0);
+            O_reg1       : out std_logic_vector(5 downto 0);
+            O_reg2       : out std_logic_vector(5 downto 0);
+            O_reg3       : out std_logic_vector(5 downto 0);
+            O_reg4       : out std_logic_vector(5 downto 0);
+            O_reg5       : out std_logic_vector(5 downto 0));
     end component registres;
 
     component compteur_valid is
         port (
-            I_clk      : in  std_logic;
-            I_rst      : in  std_logic;
-            I_comptage : in  std_logic;
-            O_adr      : out std_logic_vector(2 downto 0);
-            O_fin      : out std_logic);
+            I_clk        : in  std_logic;
+            I_GlobalInit : in  std_logic;
+            I_comptage   : in  std_logic;
+            O_adr        : out std_logic_vector(2 downto 0);
+            O_fin        : out std_logic);
     end component compteur_valid;
 
     component comparateur is
@@ -76,7 +76,6 @@ architecture a_tirage of tirage is
     component compteur1_49 is
         port (
             I_clk      : in  std_logic;
-            I_rst      : in  std_logic;
             I_comptage : in  std_logic;
             O_sortie   : out std_logic_vector(5 downto 0));
     end component compteur1_49;
@@ -84,7 +83,6 @@ architecture a_tirage of tirage is
     component led_pwm is
         port (
             I_clk      : in  std_logic;
-            I_rst      : in  std_logic;
             I_ledR     : in  std_logic;
             I_ledV     : in  std_logic;
             O_ledR_PWM : out std_logic;
@@ -114,7 +112,7 @@ begin
 
     automate_1 : entity work.automate
         port map (
-            I_rst         => I_rst,
+            I_GlobalInit  => I_GlobalInit,
             I_clk         => I_clk,
             I_clk_display => I_clk_display,
             I_button      => I_button,
@@ -126,47 +124,40 @@ begin
             O_l_green     => SC_l_V
             );
 
-
-
     registres_2 : entity work.registres
         port map (
-            I_clk  => I_clk,
-            I_rst  => I_rst,
-            I_wr   => SC_enregistrement,
-            I_adr  => SC_adr,
-            I_data => SC_numero_courant,
-            O_reg0 => SC_r0,
-            O_reg1 => SC_r1,
-            O_reg2 => SC_r2,
-            O_reg3 => SC_r3,
-            O_reg4 => SC_r4,
-            O_reg5 => SC_r5
+            I_clk        => I_clk,
+            I_GlobalInit => I_GlobalInit,
+            I_wr         => SC_enregistrement,
+            I_adr        => SC_adr,
+            I_data       => SC_numero_courant,
+            O_reg0       => SC_r0,
+            O_reg1       => SC_r1,
+            O_reg2       => SC_r2,
+            O_reg3       => SC_r3,
+            O_reg4       => SC_r4,
+            O_reg5       => SC_r5
             );
 
-
     compteur_valid_1 : entity work.compteur_valid
         port map (
-            I_clk      => I_clk,
-            I_rst      => I_rst,
-            I_comptage => SC_enregistrement,
-            O_adr      => SC_adr,
-            O_fin      => SC_fin
+            I_clk        => I_clk,
+            I_GlobalInit => I_GlobalInit,
+            I_comptage   => SC_enregistrement,
+            O_adr        => SC_adr,
+            O_fin        => SC_fin
             );
 
-
     compteur_1 : entity work.compteur1_49
         port map (
             I_clk      => I_clk,
-            I_rst      => I_rst,
             I_comptage => SC_comptage,
             O_sortie   => SC_numero_courant
             );
 
-
     led_pwm_1 : entity work.led_pwm
         port map (
             I_clk      => I_clk,
-            I_rst      => I_rst,
             I_ledR     => SC_l_R,
             I_ledV     => SC_l_V,
             O_ledR_PWM => O_l_red,
-- 
GitLab