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 @@ - - - - - -