diff --git a/Processeur.srcs/sim_1/new/Test_ScreenSystem.vhd b/Processeur.srcs/sim_1/new/Test_ScreenSystem.vhd
deleted file mode 100644
index 70bffc0..0000000
--- a/Processeur.srcs/sim_1/new/Test_ScreenSystem.vhd
+++ /dev/null
@@ -1,90 +0,0 @@
-----------------------------------------------------------------------------------
--- Company:
--- Engineer:
---
--- Create Date: 29.06.2021 08:40:33
--- Design Name:
--- Module Name: Test_ScreenSystem - Behavioral
--- Project Name:
--- Target Devices:
--- Tool Versions:
--- Description:
---
--- Dependencies:
---
--- Revision:
--- Revision 0.01 - File Created
--- Additional Comments:
---
-----------------------------------------------------------------------------------
-
-
-library IEEE;
-use IEEE.STD_LOGIC_1164.ALL;
-
--- Uncomment the following library declaration if using
--- arithmetic functions with Signed or Unsigned values
---use IEEE.NUMERIC_STD.ALL;
-
--- Uncomment the following library declaration if instantiating
--- any Xilinx leaf cells in this code.
---library UNISIM;
---use UNISIM.VComponents.all;
-
-entity Test_ScreenSystem is
--- Port ( );
-end Test_ScreenSystem;
-
-architecture Behavioral of Test_ScreenSystem is
-
- component ScreenSystem is
- Port ( vgaRed : out STD_LOGIC_VECTOR (3 downto 0);
- vgaBlue : out STD_LOGIC_VECTOR (3 downto 0);
- vgaGreen : out STD_LOGIC_VECTOR (3 downto 0);
- Hsync : out STD_LOGIC;
- Vsync : out STD_LOGIC;
-
-
- btnC : in STD_LOGIC;
- CLK : in STD_LOGIC
- );
- end component;
-
- signal my_vgaRed : STD_LOGIC_VECTOR (3 downto 0) := (others => '0');
- signal my_vgaBlue : STD_LOGIC_VECTOR (3 downto 0) := (others => '0');
- signal my_vgaGreen : STD_LOGIC_VECTOR (3 downto 0) := (others => '0');
- signal my_Hsync : STD_LOGIC := '0';
- signal my_Vsync : STD_LOGIC := '0';
-
-
- signal my_btnC : STD_LOGIC := '0';
- signal my_CLK : STD_LOGIC := '0';
-
- constant CLK_period : time := 9.26 ns;
-
-begin
- instance : ScreenSystem
- port map (
- vgaRed => my_vgaRed,
- vgaBlue => my_vgaBlue,
- vgaGreen => my_vgaGreen,
- Hsync => my_Hsync,
- Vsync => my_Vsync,
- btnC => my_btnC,
- CLK => my_CLK
- );
-
- CLK_process :process
- begin
- my_CLK <= '0';
- wait for CLK_period/2;
- my_CLK <= '1';
- wait for CLK_period/2;
- end process;
-
- process
- begin
- wait;
- end process;
-
-end Behavioral;
\ No newline at end of file
diff --git a/Processeur.srcs/sources_1/new/Etage1_LectureInstruction_NS.vhd b/Processeur.srcs/sources_1/new/Etage1_LectureInstruction_NS.vhd
index 2284461..7946c3d 100644
--- a/Processeur.srcs/sources_1/new/Etage1_LectureInstruction_NS.vhd
+++ b/Processeur.srcs/sources_1/new/Etage1_LectureInstruction_NS.vhd
@@ -14,7 +14,6 @@
--
-- Dependencies:
-- - MemoireInstruction
--- - MemoireAdressesRetour
----------------------------------------------------------------------------------
@@ -224,7 +223,7 @@ begin
end process;
- -- Condition horrible -> Instruction critique en lecture sur A qui lit dans A=i et Ri dans tableau ou instruction critique en lecture sur B qui lit dans B=j et Rj dans tableau ou instruction critique en lecture sur C qui lit dans C=k et Rk dans tableau
+ -- Condition horrible -> Instruction critique en lecture sur A qui lit dans A=i et Ri dans tableau ou instruction critique en lecture sur B qui lit dans B=j et Rj dans tableau ou instruction critique en lecture sur C qui lit dans C=k et Rk dans tableau ou PRI en cours et un PRI ou un PRIC arrive
bulles <=
(
(
diff --git a/Processeur.srcs/sources_1/new/Etage2-5_Registres.vhd b/Processeur.srcs/sources_1/new/Etage2-5_Registres.vhd
index 791ea3e..601cad2 100644
--- a/Processeur.srcs/sources_1/new/Etage2-5_Registres.vhd
+++ b/Processeur.srcs/sources_1/new/Etage2-5_Registres.vhd
@@ -35,11 +35,11 @@ entity Etage2_5_Registres is
Port ( CLK : in STD_LOGIC; -- Clock
RST : in STD_LOGIC; -- Reset
STD_IN : in STD_LOGIC_VECTOR (Nb_bits - 1 downto 0); -- Entrée de données depuis l'exterieur du processeur
- STD_IN_Av : in STD_LOGIC;
- STD_IN_Request : out STD_LOGIC;
+ STD_IN_Av : in STD_LOGIC; -- Donnée depuis l'exterieur du processeur disponible
+ STD_IN_Request : out STD_LOGIC; -- Donnée depuis l'exterieur du processeur demandée
STD_OUT : out STD_LOGIC_VECTOR (Nb_bits - 1 downto 0); -- Sortie de données vers l'exterieur du processeur
- STD_OUT_Av : out STD_LOGIC;
- STD_OUT_Int : out STD_LOGIC;
+ STD_OUT_Av : out STD_LOGIC; -- Donnée vers l'exterieur du processeur disponible
+ STD_OUT_Int : out STD_LOGIC; -- Type de la donnée (int ou char)
IN_2_A : in STD_LOGIC_VECTOR (Nb_bits - 1 downto 0); -- Entrée de l'opérande A de l'étage 2
IN_2_B : in STD_LOGIC_VECTOR (Nb_bits - 1 downto 0); -- Entrée de l'opérande B de l'étage 2
IN_2_C : in STD_LOGIC_VECTOR (Nb_bits - 1 downto 0); -- Entrée de l'opérande C de l'étage 2
diff --git a/Processeur.srcs/sources_1/new/Etage4_Memoire_NS.vhd b/Processeur.srcs/sources_1/new/Etage4_Memoire_NS.vhd
index 307a059..1f19ee4 100644
--- a/Processeur.srcs/sources_1/new/Etage4_Memoire_NS.vhd
+++ b/Processeur.srcs/sources_1/new/Etage4_Memoire_NS.vhd
@@ -10,11 +10,10 @@
--
-- Description: Etage 4 du processeur
-- - Gestion de la mémoire
--- - Gestion de la sauvegarde du contexte lors des appels de fonction
+-- - Gestion de la sauvegarde du contexte et de l'adresse de retour lors des appels de fonction
--
-- Dependencies:
-- - MemoireDonnees
--- - MemoireAdressesRetour
-- - LC
-- - MUX
----------------------------------------------------------------------------------
@@ -168,7 +167,8 @@ begin
'0';
CALL_Aux <= '1' when IN_Instruction = Code_Instruction_CALL else
'0';
-
+
+ -- Gestion d'EBP
process
begin
wait until CLK'event and CLK = '1';
@@ -181,7 +181,9 @@ begin
end if;
end process;
- New_EBP <= EBP + IN_B (Adresse_mem_size - 1 downto 0) + 2;
+ -- Calcul de la nouvelle valeur d'EBP
+ New_EBP <= EBP + IN_B (Adresse_mem_size - 1 downto 0) + 2;
+ -- Valeur de EBP à stocker (bourré avec des '0')
IN_EBP <= (Nb_bits - 1 downto Adresse_mem_size => '0') & EBP;
Addr_MemoireDonnees_EBP <= IN_Addr_MemoireDonnees + EBP;
diff --git a/Processeur.srcs/sources_1/new/IntToASCII.vhd b/Processeur.srcs/sources_1/new/IntToASCII.vhd
deleted file mode 100644
index e69de29..0000000
diff --git a/Processeur.srcs/sources_1/new/MemoireInstructions.vhd b/Processeur.srcs/sources_1/new/MemoireInstructions.vhd
index 101bb99..b085616 100644
--- a/Processeur.srcs/sources_1/new/MemoireInstructions.vhd
+++ b/Processeur.srcs/sources_1/new/MemoireInstructions.vhd
@@ -30,10 +30,7 @@ entity MemoireInstructions is
end MemoireInstructions;
architecture Behavioral of MemoireInstructions is
- -- Do not touch until (-- Skadoosh)
- -- Do not add any Skadoosh
signal MEMORY : STD_LOGIC_VECTOR ((Mem_Size * Nb_bits)-1 downto 0) := "1011000000000000000000000000000000000000000000000000010010000000000000000000000000000000000000000000000000010010000000000000000000000000000101000000000000000001000100000000000000000000000000000000000000000000000001000000000000000000000000000000000100000000000000000010100000000000000010000000000000000000000000000000001001000000000000000010000000000000000000000000000000010010000000000000000000000000000000000000000000000000010010000000000000001000000000011110100000000000000000100100000000000000000000000001100001000000000000000010100000000010111110100000000000000100000000000000000101000000000000000001000000000000001000000000000000000101100000000000100110000000000000011000000000000000001011000000000001001000000000000000100000000000000000010110000000000010001000000000000000100000000000000000101100000000000100000000000000000000000000000000000001011000000000000111100000000000011110000000000000000010110000000000001110000000000000111000000000000000000101100000000000011010000000000001101000000000000000001011000000000000110000000000000011000000000000000000010110000000000001011000000000000101100000000000000000101100000000000010100000000000001010000000000000000001011000000000000100100000000000010010000000000000000010110000000000001000000000000000100000000000000000000101100000000000001110000000000000111000000000000000001011000000000000011000000000000001100000000000000000010110000000000000001000000000000010100000000000000000101100000000000000000000000000000100000000000000000001001000000000000010100000000000000000000000000000000010110000000000000101000000000000010100000000000000000100100000000000001000000000000000000000000000000000001011000000000000010000000000000001000000000000000000100100000000000000011000000000000000000000000000000001001000000000000000100000000000000000000000000000000010010000000000000000100000000000000000000000000000000100100000000000000000000000000000000000000000000000000100100000000000000110000000000001010000000000000000001011000000000000001100000000000000110000000000000000010010000000000000010000000000000101000000000000000000101100000000000000100000000000000010000000000000000001001000000000000000100000000011001010000000000000000010110000000000000001000000000000000100000000000000000100100000000000000000000000001101101000000000000000001011000000000000000000000000000000000000000000000000100100000000000001111000000000000000000000000000000001001000000000000011100000000000000000000000000000000010010000000000000110100000000000000000000000000000000100100000000000001100000000000000000000000000000000000100100000000000011110000000001101101000000000000000001001000000000000111000000000011000010000000000000000010010000000000001101000000000111001000000000000000000100100000000000011000000000001100111000000000000000010010000000000000101100000000000000000000000000000000100100000000000001010000000000000000000000000000000001001000000000000010010000000000000000000000000000000010010000000000000100000000000000000000000000000000000010010000000000001011000000000110111100000000000000000100100000000000010100000000001110010000000000000000001001000000000000100100000000011100000000000000000000010010000000000001000000000000010000000000000000000001001000000000000001110000000000000000000000000000000010010000000000000011000000000000000000000000000000000100100000000000000101000000000000000000000000000000001001000000000000001000000000000000000000000000000000001001000000000000011100000000011101010000000000000000010010000000000000110000000000110010000000000000000000100100000000000001010000000000100000000000000000000001001000000000000010000000000011101000000000000000000100100000000000000011000000000000000000000000000000001001000000000000000100000000000000000000000000000000010010000000000000000100000000000000000000000000000000100100000000000000000000000000000000000000000000000000100100000000000000110000000001110101000000000000000001001000000000000001000000000011000100000000000000000010010000000000000001000000000110010100000000000000000100100000000000000000000000001000100000000000000000010101000000000000000000000000000000000000000000000000010110000000000010001000000000000000100000000000000000101100000000000100000000000000000000000000000000000001011000000000000111100000000000011110000000000000000010110000000000001110000000000000111000000000000000000101100000000000011010000000000001101000000000000000001011000000000000110000000000000011000000000000000000010110000000000001011000000000000101100000000000000000101100000000000010100000000000001010000000000000000001011000000000000100100000000000010010000000000000000010110000000000001000000000000000100000000000000000000101100000000000001110000000000000111000000000000000001011000000000000011000000000000001100000000000000000010110000000000000101000000000000010100000000000000000101100000000000001000000000000000100000000000000000001011000000000000001100000000000000110000000000000000010110000000000000010000000000000001000000000000000001001000000000000000010000000000000000000000000000000010010000000000000000000000000000000000000000000000000010010000000000000001000000000000101000000000000000000101100000000000000010000000000000001000000000000000001001000000000000000000000000011001010000000000000000010110000000000000000000000000000000000000000000000001001000000000000011110000000000000000000000000000000010010000000000000111000000000000000000000000000000000100100000000000001101000000000000000000000000000000001001000000000000011000000000000000000000000000000000001001000000000000111100000000011011010000000000000000010010000000000001110000000000110100100000000000000000100100000000000011010000000001110100000000000000000001001000000000000110000000000011010010000000000000000100100000000000001011000000000000000000000000000000001001000000000000010100000000000000000000000000000000010010000000000000100100000000000000000000000000000000100100000000000001000000000000000000000000000000000000100100000000000010110000000001100111000000000000000001001000000000000101000000000011001010000000000000000010010000000000001001000000000110110000000000000000000100100000000000010000000000000100000000000000000000010010000000000000011100000000000000000000000000000000100100000000000000110000000000000000000000000000000001001000000000000001010000000000000000000000000000000010010000000000000010000000000000000000000000000000000010010000000000000111000000000110111000000000000000000100100000000000001100000000001101111000000000000000001001000000000000010100000000011010010000000000000000010010000000000000100000000000111010000000000000000001001000000000000000110000000000000000000000000000000010010000000000000001000000000000000000000000000000000100100000000000000001000000000000000000000000000000001001000000000000000000000000000000000000000000000000001001000000000000001100000000011000110000000000000000010010000000000000010000000000110111000000000000000000100100000000000000010000000001101111000000000000000001001000000000000000000000000010001100000000000000000101010000000000000000000000000000000000000000000000000101100000000000011110000000000000111000000000000000001011000000000000111000000000000001100000000000000000010110000000000001101000000000000010100000000000000000101100000000000011000000000000000100000000000000000001011000000000000101100000000000000110000000000000000010110000000000001010000000000000001000000000000000000101100000000000010010000000000000001000000000000000001011000000000000100000000000000000000000000000000000010110000000000000111000000000000111100000000000000000101100000000000001100000000000001110000000000000000001011000000000000010100000000000011010000000000000000010110000000000000100000000000000110000000000000000000101100000000000000110000000000001011000000000000000001011000000000000001000000000000010100000000000000000010110000000000000000000000000000100000000000000000000111100000001011001110000000000000000000000000000000010000000000010110110100000000000000000000000000000000000110000000000001001000000000000100100000000000010000100100000000000010010000000000000000000000000000000001011000000000000000100000000000010010000000000000000010010000000000001000000000000000000100000000000000001001000000000000001110000000000000000000000000000000010010000000000000011000000000000000000000000000000000100100000000000000101000000000000000000000000000000001001000000000000001000000000000000000000000000000000001001000000000000011100000000011010110000000000000000010110000000000010000000000000000011100000000000000000100100000000000001100000000001110010000000000000000001011000000000000111100000000000001100000000000000000010010000000000000101000000000110000100000000000000000101100000000000011100000000000000101000000000000000001001000000000000010000000000010110010000000000000000010110000000000001101000000000000010000000000000000001001000000000000000110000000000000000000000000000000010010000000000000001000000000000000000000000000000000100100000000000000001000000000000000000000000000000001001000000000000000000000000000000000000000000000000001001000000000000001100000000001000000000000000000000010110000000000001100000000000000001100000000000000000100100000000000000100000000001101011000000000000000001011000000000000101100000000000000100000000000000000010010000000000000001000000000111001000000000000000000101100000000000010100000000000000001000000000000000001001000000000000000000000000011000010000000000000000010110000000000001001000000000000000000000000000000001001000000000000011110000000000000000000000000000000010010000000000000111000000000000000000000000000000000100100000000000001101000000000000000000000000000000001001000000000000011000000000000000000000000000000000001001000000000000111100000000010110010000000000000000010110000000000001000000000000000111100000000000000000100100000000000011100000000000100000000000000000000001011000000000000011100000000000011100000000000000000010010000000000001101000000000110101100000000000000000101100000000000001100000000000001101000000000000000001001000000000000110000000000011100100000000000000000010110000000000000101000000000000110000000000000000001001000000000000010110000000000000000000000000000000010010000000000000101000000000000000000000000000000000100100000000000001001000000000000000000000000000000001001000000000000010000000000000000000000000000000000001001000000000000101100000000011000010000000000000000010110000000000000100000000000000101100000000000000000100100000000000010100000000001011001000000000000000001011000000000000001100000000000010100000000000000000010010000000000001001000000000010000000000000000000000101100000000000000100000000000001001000000000000000001001000000000000100000000000001000000000000000000000010110000000000000001000000000000100000000000000000001001000000000000001110000000000000000000000000000000001001000000000000011100000000000010100000000000000000010110000000000000000000000000000011100000000000000001001000000000000001100000000000000000000000000000000010010000000000000010100000000000000000000000000000000100100000000000000100000000000000000000000000000000001001000000000000000110000000000000000000000000000000001001000000000000011000000000000010100000000000000000010110000000000010110000000000000011000000000000000000100100000000000001010000000000101111000000000000000001011000000000001010100000000000001010000000000000000010010000000000000100000000000101111100000000000000000100100000000000000110000000001011111000000000000000010010000000000000001000000000000000000000000000000000100100000000000000001000000000000000000000000000000001001000000000000000000000000000000000000000000000000010010000000000000111100000000000000000000000000000000010010000000000000010000000000101110000000000000000000100100000000000000010000000001111100000000000000000001001000000000000000000000000010111110000000000000000010010000000000001111000000000010000000000000000000001001000000000000011100000000000000000000000000000000010010000000000000110100000000000000000000000000000000100100000000000001100000000000000000000000000000000001001000000000000010110000000000000000000000000000000001001000000000000111000000000011111000000000000000000010010000000000001101000000000101111100000000000000000100100000000000011000000000000100000000000000000000001001000000000000101100000000011111000000000000000000100100000000000001010000000000000000000000000000000001001000000000000010010000000000000000000000000000000010010000000000000100000000000000000000000000000000000100100000000000000111000000000000000000000000000000000100100000000000010100000000000100000000000000000000001001000000000000100100000000001000000000000000000000010010000000000001000000000000010000000000000000000000100100000000000001110000000000100000000000000000000010010000000000000010000000000000000000000000000000000100100000000000000011000000000000000000000000000000000100100000000000001000000000000001010000000000000000001011000000000001010000000000000001000000000000000000010010000000000000011000000000010000000000000000000000101100000000000100110000000000000011000000000000000010010000000000000001000000000000000000000000000000000100100000000000000001000000000000000000000000000000001001000000000000000000000000000000000000000000000000010010000000000000111100000000000000000000000000000000010010000000000000010000000000010000000000000000000000100100000000000000010000000000101001000000000000000001001000000000000000000000000010111110000000000000000010010000000000001111000000000101111100000000000000001001000000000000011100000000000000000000000000000000010010000000000000110100000000000000000000000000000000100100000000000001100000000000000000000000000000000001001000000000000010110000000000000000000000000000000001001000000000000111000000000001010000000000000000000010010000000000001101000000000010110100000000000000000100100000000000011000000000000101101000000000000000001001000000000000101100000000011111000000000000000000100100000000000001010000000000000000000000000000000001001000000000000010010000000000000000000000000000000010010000000000000100000000000000000000000000000000000100100000000000000111000000000000000000000000000000000100100000000000010100000000000100000000000000000000001001000000000000100100000000001000000000000000000000010010000000000001000000000000010000000000000000000000100100000000000001110000000000100000000000000000000010010000000000000001000000000000000000000000000000000100100000000000000001000000000000000000000000000000001001000000000000000000000000000000000000000000000000010010000000000000111100000000000000000000000000000000010010000000000000010000000000000101000000000000000000100100000000000000010000000000101001000000000000000001001000000000000000000000000001100000000000000000000010010000000000001111000000000011000000000000000000001001000000000000011100000000000000000000000000000000010010000000000000110100000000000000000000000000000000100100000000000001100000000000000000000000000000000001001000000000000010110000000000000000000000000000000001001000000000000111000000000001010000000000000000000010010000000000001101000000000010000000000000000000000100100000000000011000000000000101001000000000000000001001000000000000101100000000011111000000000000000000100100000000000001010000000000000000000000000000000001001000000000000010010000000000000000000000000000000010010000000000000100000000000000000000000000000000000100100000000000000111000000000000000000000000000000000100100000000000010100000000000101000000000000000000001001000000000000100100000000001000000000000000000000010010000000000001000000000000010000000000000000000000100100000000000001110000000000100000000000000000000010010000000000000001000000000000000000000000000000000100100000000000000001000000000000000000000000000000001001000000000000000000000000000000000000000000000000010010000000000000111100000000000000000000000000000000010010000000000000010000000000000101000000000000000000101100000000000100100000000000000010000000000000000001001000000000000000100000000001010010000000000000000010110000000000010001000000000000000100000000000000000100100000000000000000000000001011111000000000000000001011000000000001000000000000000000000000000000000000010010000000000001111000000000101111100000000000000000101100000000000011110000000000001111000000000000000010010000000000000111000000000000000000000000000000000100100000000000001101000000000000000000000000000000001001000000000000011000000000000000000000000000000000010010000000000000101100000000000000000000000000000000010010000000000001110000000000010100000000000000000000101100000000000011100000000000001110000000000000000001001000000000000110100000000001000000000000000000000010110000000000001101000000000000110100000000000000000100100000000000011000000000000100000000000000000000001011000000000000110000000000000011000000000000000000010010000000000001011000000000010000000000000000000000101100000000000010110000000000001011000000000000000010010000000000000101000000000000000000000000000000000100100000000000001001000000000000000000000000000000001001000000000000010000000000000000000000000000000000010010000000000000011100000000000000000000000000000000010010000000000001010000000000010000000000000000000000101100000000000010100000000000001010000000000000000001001000000000000100100000000001000000000000000000000010110000000000001001000000000000100100000000000000000100100000000000010000000000000100000000000000000000001011000000000000100000000000000010000000000000000000010010000000000000111000000000010000000000000000000000101100000000000001110000000000000111000000000000000010010000000000000011000000000000000000000000000000000100100000000000000101000000000000000000000000000000001001000000000000001000000000000000000000000000000000001001000000000000011000000000000010100000000000000000010110000000000000110000000000000011000000000000000000100100000000000001010000000000001010000000000000000001011000000000000010100000000000001010000000000000000010010000000000000100000000000100010000000000000000000101100000000000001000000000000000100000000000000000010010000000000000001100000000000000000000000000000000100100000000000000010000000000000000000000000000000001001000000000000000010000000000000000000000000000000010010000000000000000000000000000000000000000000000000010010000000000000011000000000100010100000000000000000101100000000000000110000000000000011000000000000000001001000000000000001000000000010010110000000000000000010110000000000000010000000000000001000000000000000000100100000000000000010000000001000011000000000000000001011000000000000000100000000000000010000000000000000010010000000000000000000000000100000100000000000000000101100000000000000000000000000000000000000000000000010010000000000000111100000000000000000000000000000000100100000000000001110000000000000000000000000000000001001000000000000011010000000000000000000000000000000010010000000000000110000000000000000000000000000000000010010000000000001111000000000100100000000000000000000100100000000000011100000000000100000000000000000000001001000000000000110100000000010011100000000000000000010010000000000001100000000000100010100000000000000001001000000000000010110000000000000000000000000000000010010000000000000101000000000000000000000000000000000100100000000000001001000000000000000000000000000000001001000000000000010000000000000000000000000000000000001001000000000000101100000000010001010000000000000000010010000000000001010000000000100001000000000000000000100100000000000010010000000000100000000000000000000001001000000000000100000000000010001010000000000000000100100000000000000111000000000000000000000000000000001001000000000000001100000000000000000000000000000000010010000000000000010100000000000000000000000000000000100100000000000000100000000000000000000000000000000000100100000000000001110000000001010110000000000000000001001000000000000011000000000001001110000000000000000010010000000000000101000000000101010100000000000000000100100000000000001000000000001001111000000000000000010010000000000000001100000000000000000000000000000000100100000000000000010000000000000000000000000000000001001000000000000000010000000000000000000000000000000010010000000000000000000000000000000000000000000000000010010000000000000011000000000101100100000000000000000100100000000000000100000000000001010000000000000000001001000000000000000100000000000010100000000000000000010010000000000000000000000000000000000000000000000001010100000000000000000000000000000000000000000000000001011000000000010001000000000000000100000000000000000010110000000000100001000000000000000100000000000000000101100000000001000000000000000000000000000000000000001011000000000001111100000000000011110000000000000000010110000000000011110000000000000111000000000000000000101100000000000111010000000000001101000000000000000001011000000000001110000000000000011000000000000000000010110000000000011011000000000000101100000000000000000101100000000000110100000000000001010000000000000000001011000000000001100100000000000010010000000000000000010110000000000001001000000000000011100000000000000000101100000000000010000000000000000110000000000000000001011000000000000011100000000000010000000000000000000010110000000000000110000000000000010000000000000000000101100000000000001010000000000000011000000000000000001111000000000101100100000000000000000000000000000000010000000000000000100000000000000100000000000000000000000100000000000010000000000000001000000000000000011001001000000000000011000000000000000010000000000000000010000000000000001000000000000000010000000000000000000110100000000000010000000000000000110000000000000000001000000000000000011000000000000000110000000000000000000010000000000001000000000000000100000000000000001100101000000000000010000000000000000111000000000000000001011000000000001100000000000000010000000000000000000000100000000000000110000000000000011100000000000001100100100000000000001110000000000000001000000000000000000011000000000000011000000000000001100000000000000111010000000000000000111000000000000010000000000000000000100100000000000001100000000000000101000000000000000001110000000000000011100000000000001110000000000000000010010000000000000111000000000000000000000000000000001000000000000011100110000000000000000000000000000000000011000000000000011100000000000001110000000000000101010010000000000000111000000000000000000000000000000000101100000000000101110000000000000111000000000000000000101000000000000010100000000000001010000000000000110010010000000000000110000000000000100000000000000000000101100000000000101100000000000000110000000000000000001000000000000000010100000000000001000000000000000000010110000000000010101000000000000010100000000000000000100100000000000001000000000000000001000000000000000001011000000000001010000000000000001000000000000000000100110000000000000011000000000000000000000000000000000101100000000000100110000000000000011000000000000000010010000000000000001000000000000000000000000000000000100100000000000000001000000000000000000000000000000000100100000000000000100000000000001010000000000000000001011000000000001001000000000000000100000000000000000010010000000000000001000000000011101000000000000000000101100000000000100010000000000000001000000000000000010010000000000000000000000000000000000000000000000000100100000000000001111000000000000000000000000000000001001000000000000011100000000000000000000000000000000010010000000000000110100000000000000000000000000000000010010000000000000000000000000010000000000000000000000101100000000000100000000000000000000000000000000000001001000000000000111100000000011100100000000000000000010110000000000001111000000000000111100000000000000000100100000000000011100000000001110101000000000000000001011000000000000111000000000000011100000000000000000010010000000000001101000000000110010100000000000000000101100000000000011010000000000001101000000000000000010010000000000000110000000000000000000000000000000000100100000000000001011000000000000000000000000000000001001000000000000010100000000000000000000000000000000010010000000000000100100000000000000000000000000000000010010000000000001100000000000110110000000000000000000101100000000000011000000000000001100000000000000000001001000000000000101100000000011000010000000000000000010110000000000001011000000000000101100000000000000000100100000000000010100000000001110110000000000000000001011000000000000101000000000000010100000000000000000010010000000000001001000000000010000000000000000000000101100000000000010010000000000001001000000000000000010010000000000000100000000000000000000000000000000000100100000000000000111000000000000000000000000000000001001000000000000001100000000000000000000000000000000010010000000000000010100000000000000000000000000000000010010000000000001000000000000110010100000000000000000101100000000000010000000000000001000000000000000000001001000000000000011100000000011011100000000000000000010110000000000000111000000000000011100000000000000000100100000000000001100000000001110101000000000000000001011000000000000011000000000000001100000000000000000010010000000000000101000000000000101000000000000000000101100000000000001010000000000000101000000000000000010010000000000000010000000000000000000000000000000000100100000000000000011000000000000000000000000000000001001000000000000000100000000000000000000000000000000010010000000000000000100000000000000000000000000000000010010000000000000100000000000010000000000000000000000101100000000000001000000000000000100000000000000000001001000000000000001100000000011100100000000000000000010110000000000000011000000000000001100000000000000000100100000000000000100000000001101001000000000000000001011000000000000001000000000000000100000000000000000010010000000000000001000000000111001100000000000000000101100000000000000010000000000000001000000000000000010010000000000000000000000000000000000000000000000000100100000000000001111000000000000000000000000000000001001000000000000011100000000000000000000000000000000010010000000000000110100000000000000000000000000000000010010000000000000000000000000110100100000000000000000101100000000000000000000000000000000000000000000000001001000000000000111100000000011000010000000000000000010010000000000001110000000000111001100000000000000000100100000000000011010000000000100000000000000000000010010000000000000110000000000000000000000000000000000100100000000000001011000000000000000000000000000000001001000000000000010100000000000000000000000000000000010010000000000000100100000000000000000000000000000000010010000000000001100000000000111101000000000000000000100100000000000010110000000001100101000000000000000001001000000000000101000000000011011000000000000000000010010000000000001001000000000110110000000000000000001001000000000000010000000000000000000000000000000000010010000000000000011100000000000000000000000000000000100100000000000000110000000000000000000000000000000001001000000000000001010000000000000000000000000000000001001000000000000100000000000011010010000000000000000010010000000000000111000000000111010100000000000000000100100000000000001100000000001100101000000000000000001001000000000000010100000000010101100000000000000000010010000000000000100000000000000000000000000000000000100100000000000000110000000000000000000000000000000001001000000000000001000000000000000000000000000000000010010000000000000001000000000000000000000000000000000100100000000000000000000000000000000000000000000000001111000000011011010000000000000000000000000000000000";
- -- Skadoosh
begin
D_OUT <= MEMORY (((to_integer(unsigned(Addr)) + 1) * Nb_bits) - 1 downto Nb_bits * to_integer(unsigned(Addr)));
end Behavioral;
diff --git a/Processeur.srcs/sources_1/new/PeripheriqueEcran.vhd b/Processeur.srcs/sources_1/new/PeripheriqueEcran.vhd
index 9084dc8..7461456 100644
--- a/Processeur.srcs/sources_1/new/PeripheriqueEcran.vhd
+++ b/Processeur.srcs/sources_1/new/PeripheriqueEcran.vhd
@@ -24,15 +24,6 @@ use IEEE.STD_LOGIC_1164.ALL;
use work.ScreenProperties.all;
--- Uncomment the following library declaration if using
--- arithmetic functions with Signed or Unsigned values
---use IEEE.NUMERIC_STD.ALL;
-
--- Uncomment the following library declaration if instantiating
--- any Xilinx leaf cells in this code.
---library UNISIM;
---use UNISIM.VComponents.all;
-
entity PeripheriqueEcran is
Generic ( Nb_Bits : Natural);
Port ( CLK : in STD_LOGIC;
diff --git a/Processeur.srcs/sources_1/new/Pipeline_NS.vhd b/Processeur.srcs/sources_1/new/Pipeline_NS.vhd
index f4becba..8f3aee1 100644
--- a/Processeur.srcs/sources_1/new/Pipeline_NS.vhd
+++ b/Processeur.srcs/sources_1/new/Pipeline_NS.vhd
@@ -1,47 +1,36 @@
----------------------------------------------------------------------------------
--- Company:
--- Engineer:
+-- Company: INSA-Toulouse
+-- Engineer: Paul Faure
--
-- Create Date: 19.04.2021 16:57:41
--- Design Name:
-- Module Name: Pipeline_NS - Behavioral
--- Project Name:
--- Target Devices:
--- Tool Versions:
--- Description:
+-- Project Name: Processeur sécurisé
+-- Target Devices: Basys 3 ARTIX7
+-- Tool Versions: Vivado 2016.4
+-- Description: Version non sécurisée du pipeline, connecte les étages et fait avancer les signaux sur le pipeline
--
-- Dependencies:
---
--- Revision:
--- Revision 0.01 - File Created
--- Additional Comments:
---
+-- - Etage1_LectureInstruction_NS
+-- - Etage2_5_Registres
+-- - Etage3_Calcul
+-- - Etage4_Memoire_NS
----------------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
--- Uncomment the following library declaration if using
--- arithmetic functions with Signed or Unsigned values
---use IEEE.NUMERIC_STD.ALL;
-
--- Uncomment the following library declaration if instantiating
--- any Xilinx leaf cells in this code.
---library UNISIM;
---use UNISIM.VComponents.all;
-
entity Pipeline_NS is
- Generic (Nb_bits : Natural := 8;
- Instruction_En_Memoire_Size : Natural := 29;
- Addr_Memoire_Instruction_Size : Natural := 3;
- Memoire_Instruction_Size : Natural := 8;
- Instruction_Bus_Size : Natural := 5;
- Nb_Instructions : Natural := 32;
- Nb_Registres : Natural := 16;
- Addr_registres_size : Natural := 4;
- Memoire_Size : Natural := 32;
- Adresse_mem_size : Natural := 5);
+ Generic (Nb_bits : Natural := 8; -- Taille d'un mot binaire
+ Instruction_En_Memoire_Size : Natural := 29; -- Taille d'une instruction en mémoire (Taille d'un code instruction + 3*Taille d'un mot binaire)
+ Addr_Memoire_Instruction_Size : Natural := 3; -- Nombre de bits pour adresser la mémoire d'instruction
+ Memoire_Instruction_Size : Natural := 8; -- Taille de la mémoire d'instruction (nombre d'instructions stockées)
+ Instruction_Bus_Size : Natural := 5; -- Nombre de bits du bus d'instruction (Taille d'un code instruction)
+ Nb_Instructions : Natural := 32; -- Nombre d'instructions dans le processeur
+ Nb_Registres : Natural := 16; -- Nombre de registres du processeurs
+ Addr_registres_size : Natural := 4; -- Nombre de bits pour adresser les registres
+ Memoire_Size : Natural := 32; -- Taille de la mémoire de données
+ Adresse_mem_size : Natural := 5); -- Nombre de bits pour adresser la mémoire
Port (CLK : STD_LOGIC;
RST : STD_LOGIC;
STD_IN : in STD_LOGIC_VECTOR (Nb_bits - 1 downto 0);
@@ -156,6 +145,7 @@ architecture Behavioral of Pipeline_NS is
OUT_AddrRetour : out STD_LOGIC_VECTOR (Nb_bits - 1 downto 0));
end component;
+ -- Signaux reliant les étages
signal A_from_1 : STD_LOGIC_VECTOR (Nb_bits - 1 downto 0) := (others => '0');
signal A_from_2 : STD_LOGIC_VECTOR (Nb_bits - 1 downto 0) := (others => '0');
signal A_from_3 : STD_LOGIC_VECTOR (Nb_bits - 1 downto 0) := (others => '0');
@@ -184,15 +174,17 @@ architecture Behavioral of Pipeline_NS is
signal Instruction_to_3 : STD_LOGIC_VECTOR (Instruction_Bus_Size - 1 downto 0) := (others => '0');
signal Instruction_to_4 : STD_LOGIC_VECTOR (Instruction_Bus_Size - 1 downto 0) := (others => '0');
signal Instruction_to_5 : STD_LOGIC_VECTOR (Instruction_Bus_Size - 1 downto 0) := (others => '0');
+ -- Sorties de l'ALU
signal N : STD_LOGIC := '0';
signal Z : STD_LOGIC := '0';
signal O : STD_LOGIC := '0';
signal C : STD_LOGIC := '0';
+ -- Sortie de l'adresse de retour de l'étage 4 vers le 1
signal AdresseRetour : STD_LOGIC_VECTOR (Nb_bits - 1 downto 0) := (others => '0');
signal intern_STD_IN_Request : STD_LOGIC := '0';
-
+ -- Constantes de contrôle des MUX et LC
constant Bits_Controle_MUX_2_A : STD_LOGIC_VECTOR (Nb_Instructions - 1 downto 0) := "111111111" & "11110011101111111111111";
constant Bits_Controle_MUX_2_B : STD_LOGIC_VECTOR (Nb_Instructions - 1 downto 0) := "111111111" & "11111111000011000000001";
constant Bits_Controle_LC_3 : STD_LOGIC_VECTOR (Nb_Instructions * 3 - 1 downto 0) := "000" & "000" & "000" & "000" & "000" & "000" & "000" & "000" & "000" & "000" & "000" & "000" & "000" & "000" & "000" & "000" & "000" & "000" & "000" & "000" & "000" & "000" & "000" & "000" & "111" & "110" & "101" & "100" & "010" & "011" & "001" & "000";
@@ -211,6 +203,7 @@ architecture Behavioral of Pipeline_NS is
constant Code_Instruction_RET : STD_LOGIC_VECTOR (Instruction_Bus_Size - 1 downto 0) := "10101";
constant Code_Instruction_STOP : STD_LOGIC_VECTOR (Instruction_Bus_Size - 1 downto 0) := "10110";
+ -- Constantes de contrôle des bulles
constant Instructions_critiques_lecture_A : STD_LOGIC_VECTOR (Nb_Instructions - 1 downto 0) := "111111111" & "00001100010000000000000";
constant Instructions_critiques_lecture_B : STD_LOGIC_VECTOR (Nb_Instructions - 1 downto 0) := "111111111" & "00000000111100111111110";
constant Instructions_critiques_lecture_C : STD_LOGIC_VECTOR (Nb_Instructions - 1 downto 0) := "111111111" & "00000000000000011111110";
diff --git a/Processeur.srcs/sources_1/new/ScreenSystem.vhd b/Processeur.srcs/sources_1/new/ScreenSystem.vhd
deleted file mode 100644
index d7b7bdc..0000000
--- a/Processeur.srcs/sources_1/new/ScreenSystem.vhd
+++ /dev/null
@@ -1,129 +0,0 @@
-----------------------------------------------------------------------------------
--- Company:
--- Engineer:
---
--- Create Date: 28.06.2021 17:27:26
--- Design Name:
--- Module Name: ScreenSystem - Behavioral
--- Project Name:
--- Target Devices:
--- Tool Versions:
--- Description:
---
--- Dependencies:
---
--- Revision:
--- Revision 0.01 - File Created
--- Additional Comments:
---
-----------------------------------------------------------------------------------
-
-
-library IEEE;
-use IEEE.STD_LOGIC_1164.ALL;
-
-use work.ScreenProperties.all;
-
--- Uncomment the following library declaration if using
--- arithmetic functions with Signed or Unsigned values
---use IEEE.NUMERIC_STD.ALL;
-
--- Uncomment the following library declaration if instantiating
--- any Xilinx leaf cells in this code.
---library UNISIM;
---use UNISIM.VComponents.all;
-
-entity ScreenSystem is
- Port ( vgaRed : out STD_LOGIC_VECTOR (3 downto 0);
- vgaBlue : out STD_LOGIC_VECTOR (3 downto 0);
- vgaGreen : out STD_LOGIC_VECTOR (3 downto 0);
- Hsync : out STD_LOGIC;
- Vsync : out STD_LOGIC;
-
-
- btnC : in STD_LOGIC;
- CLK : in STD_LOGIC
- );
-end ScreenSystem;
-
-architecture Behavioral of ScreenSystem is
-
- component VGAControler is
- Port ( VGA_RED : out STD_LOGIC_VECTOR (3 downto 0);
- VGA_BLUE : out STD_LOGIC_VECTOR (3 downto 0);
- VGA_GREEN : out STD_LOGIC_VECTOR (3 downto 0);
- VGA_HS : out STD_LOGIC;
- VGA_VS : out STD_LOGIC;
-
- X : out X_T;
- Y : out Y_T;
- PIXEL_ON : in STD_LOGIC;
-
- CLK : in STD_LOGIC;
- RST : in STD_LOGIC);
- end component;
-
- component clk_wiz_0
- port
- (-- Clock in ports
- clk_in1 : in std_logic;
- -- Clock out ports
- clk_out1 : out std_logic
- );
- end component;
-
- component Ecran is
- Port ( CLK : in STD_LOGIC;
- RST : in STD_LOGIC;
- Data_Av : in STD_LOGIC;
- Data_IN : in STD_LOGIC_VECTOR (0 to 6);
- X : in X_T;
- Y : in Y_T;
- OUT_ON : out STD_LOGIC);
- end component;
-
- signal my_X : X_T := 0;
- signal my_Y : Y_T := 0;
- signal my_PIXEL_ON : STD_LOGIC := '0';
-
- signal my_CLK : STD_LOGIC := '0';
- signal RST : STD_LOGIC;
-
-begin
-
- instanceVGA : VGAControler
- port map( VGA_RED => vgaRed,
- VGA_BLUE => vgaBlue,
- VGA_GREEN => vgaGreen,
- VGA_HS => Hsync,
- VGA_VS => Vsync,
-
- X => my_X,
- Y => my_Y,
- PIXEL_ON => my_PIXEL_ON,
-
- CLK => my_CLK,
- RST => RST);
-
-
- clk_wiz_0_inst : clk_wiz_0
- port map (
- clk_in1 => CLK,
- clk_out1 => my_CLK
- );
-
-
- instance_Ecran : Ecran
- port map ( CLK => CLK,
- RST => RST,
- Data_Av => '0',
- Data_IN => "0000000",
- X => my_X,
- Y => my_Y,
- OUT_ON => my_PIXEL_ON);
-
- -- Gestion du RST (inversion d'état)
- RST <= '1' when btnC = '0' else
- '0';
-
-end Behavioral;
diff --git a/Processeur.srcs/sources_1/new/System.vhd b/Processeur.srcs/sources_1/new/System.vhd
index 5553807..7ef10e9 100644
--- a/Processeur.srcs/sources_1/new/System.vhd
+++ b/Processeur.srcs/sources_1/new/System.vhd
@@ -7,11 +7,14 @@
-- Project Name: Processeur sécurisé
-- Target Devices: Basys 3 ARTIX7
-- Tool Versions: Vivado 2016.4
--- Description: Environnement du processeur, mapping entre le processeur et la carte
+-- Description: Environnement du processeur, mapping entre le processeur et les periphériques, affectation des ports la carte
--
-- Dependencies:
-- - Clock_Divider
-- - Pipeline
+-- - Pipeline_NS
+-- - PeripheriqueEcran
+-- - PeripheriqueClavier
----------------------------------------------------------------------------------
@@ -19,8 +22,8 @@ library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
-- Lien avec le fichier de contraintes
--- Récupération des leds pour STD_OUT
--- Récupération des switchs pour STD_IN
+-- Récupération du VGA
+-- Récupération du PS2
-- Récupération d'un bouton pour RST
-- Récupération de la clock
entity System is
@@ -117,22 +120,24 @@ architecture Structural of System is
end component;
-- signaux auxiliaires
- signal my_RST : STD_LOGIC;
- signal my_CLK : STD_LOGIC;
- signal STD_IN : STD_LOGIC_VECTOR (15 downto 0) := (others => '0');
- signal STD_IN_Av : STD_LOGIC := '0';
- signal STD_IN_Request : STD_LOGIC := '0';
- signal intern_STD_OUT : STD_LOGIC_VECTOR (15 downto 0) := (others => '0');
- signal intern_STD_OUT_Av : STD_LOGIC := '0';
- signal intern_STD_OUT_Int : STD_LOGIC := '0';
- signal pipeline_STD_OUT : STD_LOGIC_VECTOR (15 downto 0) := (others => '0');
- signal pipeline_STD_OUT_Av : STD_LOGIC := '0';
- signal pipeline_STD_OUT_Int : STD_LOGIC := '0';
- signal clavier_STD_OUT : STD_LOGIC_VECTOR (15 downto 0) := (others => '0');
- signal clavier_STD_OUT_Av : STD_LOGIC := '0';
- signal clavier_STD_OUT_Int : STD_LOGIC := '0';
+ signal my_RST : STD_LOGIC; -- Signal de RST (inversion par rapport au btnC)
+ signal my_CLK : STD_LOGIC; -- Signal de clock (divisée par rapport CLK)
+ -- signaux de gestion de l'entrée
+ signal STD_IN : STD_LOGIC_VECTOR (15 downto 0) := (others => '0'); -- Entrée
+ signal STD_IN_Av : STD_LOGIC := '0'; -- Entrée disponible en lecture sur le clavier
+ signal STD_IN_Request : STD_LOGIC := '0'; -- Demande d'une entrée au clavier
+ -- signaux de gestion de la sortie
+ signal STD_OUT : STD_LOGIC_VECTOR (15 downto 0) := (others => '0'); -- Sortie vers l'écran
+ signal STD_OUT_Av : STD_LOGIC := '0'; -- Sortie disponible pour l'écran
+ signal STD_OUT_Int : STD_LOGIC := '0'; -- Type de la sortie (entier ou ASCII) pour l'écran
+ signal pipeline_STD_OUT : STD_LOGIC_VECTOR (15 downto 0) := (others => '0'); -- Sortie depuis le Pipeline
+ signal pipeline_STD_OUT_Av : STD_LOGIC := '0'; -- Sortie disponible depuis le Pipeline
+ signal pipeline_STD_OUT_Int : STD_LOGIC := '0'; -- Type de la sortie (entier ou ASCII) depuis le pipeline
+ signal clavier_STD_OUT : STD_LOGIC_VECTOR (15 downto 0) := (others => '0'); -- Sortie depuis le Clavier
+ signal clavier_STD_OUT_Av : STD_LOGIC := '0'; -- Sortie disponible depuis le Clavier
+ signal clavier_STD_OUT_Int : STD_LOGIC := '0'; -- Type de la sortie (entier ou ASCII) depuis le Clavier
- constant SECURISED : boolean := false;
+ constant SECURISED : boolean := false; -- Booléen de sélection entre la version sécurisée et non sécurisée
begin
@@ -142,7 +147,7 @@ begin
CLK_OUT => my_CLK);
- -- Generation du processeur en fonction de la condition sécurisé ou non
+ -- Generation du pipeline en fonction de la condition sécurisé ou non
instance: if (SECURISED) generate
instance_securisee : entity work.Pipeline
generic map (Nb_bits => 16,
@@ -199,9 +204,9 @@ begin
Hsync => Hsync,
Vsync => Vsync,
- STD_OUT => intern_STD_OUT,
- STD_OUT_Av => intern_STD_OUT_Av,
- STD_OUT_Int => intern_STD_OUT_Int);
+ STD_OUT => STD_OUT,
+ STD_OUT_Av => STD_OUT_Av,
+ STD_OUT_Int => STD_OUT_Int);
instance_perif_clavier : PeripheriqueClavier
generic map (Nb_Bits => 16)
@@ -221,9 +226,10 @@ begin
'0';
- intern_STD_OUT <= clavier_STD_OUT when STD_IN_Request = '1' else pipeline_STD_OUT;
- intern_STD_OUT_Av <= clavier_STD_OUT_Av when STD_IN_Request = '1' else pipeline_STD_OUT_Av;
- intern_STD_OUT_Int <= clavier_STD_OUT_Int when STD_IN_Request = '1' else pipeline_STD_OUT_Int;
+ -- Gestion de l'affichage sur l'écran lors d'une demande d'entrée le clavier affiche sur l'écran
+ STD_OUT <= clavier_STD_OUT when STD_IN_Request = '1' else pipeline_STD_OUT;
+ STD_OUT_Av <= clavier_STD_OUT_Av when STD_IN_Request = '1' else pipeline_STD_OUT_Av;
+ STD_OUT_Int <= clavier_STD_OUT_Int when STD_IN_Request = '1' else pipeline_STD_OUT_Int;
end Structural;
diff --git a/Processeur.srcs/sources_1/new/SystemKeyboard.vhd b/Processeur.srcs/sources_1/new/SystemKeyboard.vhd
deleted file mode 100644
index 608a5cf..0000000
--- a/Processeur.srcs/sources_1/new/SystemKeyboard.vhd
+++ /dev/null
@@ -1,95 +0,0 @@
-----------------------------------------------------------------------------------
--- Company:
--- Engineer:
---
--- Create Date: 01.07.2021 13:37:43
--- Design Name:
--- Module Name: SystemKeyboard - Behavioral
--- Project Name:
--- Target Devices:
--- Tool Versions:
--- Description:
---
--- Dependencies:
---
--- Revision:
--- Revision 0.01 - File Created
--- Additional Comments:
---
-----------------------------------------------------------------------------------
-
-
-library IEEE;
-use IEEE.STD_LOGIC_1164.ALL;
-
--- Uncomment the following library declaration if using
--- arithmetic functions with Signed or Unsigned values
---use IEEE.NUMERIC_STD.ALL;
-
--- Uncomment the following library declaration if instantiating
--- any Xilinx leaf cells in this code.
---library UNISIM;
---use UNISIM.VComponents.all;
-
-entity SystemKeyboard is
- Port (CLK : in STD_LOGIC;
-
- PS2Clk : in STD_LOGIC;
- PS2Data : in STD_LOGIC;
-
- led : out STD_LOGIC_VECTOR (0 to 10);
- btnC : in STD_LOGIC);
-end SystemKeyboard;
-
-architecture Behavioral of SystemKeyboard is
-
-component Keyboard
- Port (CLK : in STD_LOGIC;
-
- PS2Clk : in STD_LOGIC;
- PS2Data : in STD_LOGIC;
-
- Data_read : in STD_LOGIC;
- Data_av : out STD_LOGIC;
- Data : out STD_LOGIC_VECTOR (0 to 6);
-
- alert : out STD_LOGIC);
-end component;
-
-signal intern_Data_read : STD_LOGIC := '0';
-signal intern_Data_av : STD_LOGIC := '0';
-signal Data_Read : STD_LOGIC_VECTOR (0 to 6);
-
-begin
-
- instance_Keyboard : Keyboard
- port map (CLK => CLK,
-
- PS2Clk => PS2Clk,
- PS2Data => PS2Data,
-
- Data_read => intern_Data_read,
- Data_av => intern_Data_av,
- Data => Data_Read,
-
- alert => led(10));
-
- led(7) <= '0';
- led(8) <= intern_Data_av;
- led(9) <= intern_Data_read;
-
- process
- begin
- wait until CLK'event and CLK = '1';
- if (intern_Data_av = '1' and btnC = '1') then
- led(0 to 6) <= Data_read;
- intern_Data_read <= '1';
- else
- intern_Data_read <= '0';
- end if;
- end process;
-
-
-
-
-end Behavioral;
diff --git a/Processeur.xpr b/Processeur.xpr
index e810b40..80adc0d 100644
--- a/Processeur.xpr
+++ b/Processeur.xpr
@@ -203,12 +203,6 @@
-
-
-
-
-
-
@@ -221,12 +215,6 @@
-
-
-
-
-
-
@@ -251,12 +239,6 @@
-
-
-
-
-
-
@@ -391,12 +373,6 @@
-
-
-
-
-
-