summaryrefslogtreecommitdiff
path: root/implementations/vhdl/add_vhdltbc/encryptdecrypt/state_register.vhd
diff options
context:
space:
mode:
authorKévin Le Gouguec <kevin.legouguec@airbus.com>2019-03-26 15:04:31 +0100
committerKévin Le Gouguec <kevin.legouguec@airbus.com>2019-03-26 15:44:53 +0100
commita555bb68a86a8d57cd3cae3d5e3c14acfda6fd6d (patch)
tree7a7485852756a76085c54bb7d863d5c726a480c9 /implementations/vhdl/add_vhdltbc/encryptdecrypt/state_register.vhd
parent89a026b31fa8a65c756eed53cada41fab99d2edc (diff)
downloadlilliput-ae-implem-a555bb68a86a8d57cd3cae3d5e3c14acfda6fd6d.tar.xz
[implem-vhdl] Factorisation du code
Diffstat (limited to 'implementations/vhdl/add_vhdltbc/encryptdecrypt/state_register.vhd')
-rw-r--r--implementations/vhdl/add_vhdltbc/encryptdecrypt/state_register.vhd26
1 files changed, 26 insertions, 0 deletions
diff --git a/implementations/vhdl/add_vhdltbc/encryptdecrypt/state_register.vhd b/implementations/vhdl/add_vhdltbc/encryptdecrypt/state_register.vhd
new file mode 100644
index 0000000..96b2510
--- /dev/null
+++ b/implementations/vhdl/add_vhdltbc/encryptdecrypt/state_register.vhd
@@ -0,0 +1,26 @@
+library IEEE;
+library work;
+use IEEE.numeric_std.ALL;
+use IEEE.STD_LOGIC_1164.ALL;
+use work.crypt_pack.ALL;
+
+entity state_register is
+ port(
+ state_i : in type_state; -- Etat d'entrée
+ state_o : out type_state; -- Etatde sortie
+ clock_i : in std_logic; -- Permet de gérer la clock
+ reset_i : in std_logic);
+end state_register;
+
+architecture state_register_arch of state_register is
+begin
+ process(reset_i, clock_i) -- On définit ici un process car les fonctions ne doivent pas se faire en même temps
+ begin
+ if(reset_i = '0') then
+ state_o <= (others => (others => (others => '0'))); --si rest_i est nul c'est que les valeurs de state_o sont nuls
+ elsif(clock_i'event and clock_i = '1') then -- Dans le cas d'un front descendant d'horloge state_o prend la valeur de state_i. On utilise un front descendant d'horloge pour un soucis de synchronisation avec sbox
+ state_o <= state_i;
+ end if;
+ end process;
+
+ end state_register_arch;