From cd30c90fc76e57a100e5b299cb1815a80187006c Mon Sep 17 00:00:00 2001 From: pfaure Date: Thu, 24 Jun 2021 13:18:28 +0200 Subject: [PATCH] Preparation merge --- ...n.vhd => Etage1_LectureInstruction_NS.vhd} | 8 +++--- ...age4_Memoire.vhd => Etage4_Memoire_NS.vhd} | 10 +++---- .../sources_1/new/MemoireInstructions.vhd | 2 +- .../new/{Pipeline.vhd => Pipeline_NS.vhd} | 17 +++++------ Processeur.srcs/sources_1/new/System.vhd | 4 +-- Processeur.xpr | 28 +++++++++---------- 6 files changed, 35 insertions(+), 34 deletions(-) rename Processeur.srcs/sources_1/new/{Etage1_LectureInstruction.vhd => Etage1_LectureInstruction_NS.vhd} (98%) rename Processeur.srcs/sources_1/new/{Etage4_Memoire.vhd => Etage4_Memoire_NS.vhd} (98%) rename Processeur.srcs/sources_1/new/{Pipeline.vhd => Pipeline_NS.vhd} (98%) diff --git a/Processeur.srcs/sources_1/new/Etage1_LectureInstruction.vhd b/Processeur.srcs/sources_1/new/Etage1_LectureInstruction_NS.vhd similarity index 98% rename from Processeur.srcs/sources_1/new/Etage1_LectureInstruction.vhd rename to Processeur.srcs/sources_1/new/Etage1_LectureInstruction_NS.vhd index fd36b0c..d760337 100644 --- a/Processeur.srcs/sources_1/new/Etage1_LectureInstruction.vhd +++ b/Processeur.srcs/sources_1/new/Etage1_LectureInstruction_NS.vhd @@ -3,7 +3,7 @@ -- Engineer: Paul Faure -- -- Create Date: 18.04.2021 21:19:41 --- Module Name: Etage1_LectureInstruction - Behavioral +-- Module Name: Etage1_LectureInstruction_NS - Behavioral -- Project Name: Processeur sécurisé -- Target Devices: Basys 3 ARTIX7 -- Tool Versions: Vivado 2016.4 @@ -24,7 +24,7 @@ use IEEE.STD_LOGIC_UNSIGNED.ALL; use IEEE.NUMERIC_STD.ALL; -entity Etage1_LectureInstruction is +entity Etage1_LectureInstruction_NS is Generic (Instruction_size_in_memory : Natural; -- Taille d'une instruction en mémoire (Taille d'un code instruction + 3*Taille d'un mot binaire) Addr_size_mem_instruction : Natural; -- Nombre de bits pour adresser la mémoire d'instruction Mem_instruction_size : Natural; -- Taille de la mémoire d'instruction (nombre d'instructions stockées) @@ -61,11 +61,11 @@ entity Etage1_LectureInstruction is B : out STD_LOGIC_VECTOR (Nb_bits - 1 downto 0); -- Sortie de l'opérande B C : out STD_LOGIC_VECTOR (Nb_bits - 1 downto 0); -- Sortie de l'opérande C Instruction : out STD_LOGIC_VECTOR (Instruction_bus_size - 1 downto 0)); -- Sortie du code de l'instruction -end Etage1_LectureInstruction; +end Etage1_LectureInstruction_NS; -architecture Behavioral of Etage1_LectureInstruction is +architecture Behavioral of Etage1_LectureInstruction_NS is component MemoireInstructions is Generic (Nb_bits : Natural; Addr_size : Natural; diff --git a/Processeur.srcs/sources_1/new/Etage4_Memoire.vhd b/Processeur.srcs/sources_1/new/Etage4_Memoire_NS.vhd similarity index 98% rename from Processeur.srcs/sources_1/new/Etage4_Memoire.vhd rename to Processeur.srcs/sources_1/new/Etage4_Memoire_NS.vhd index cb745f6..307a059 100644 --- a/Processeur.srcs/sources_1/new/Etage4_Memoire.vhd +++ b/Processeur.srcs/sources_1/new/Etage4_Memoire_NS.vhd @@ -3,7 +3,7 @@ -- Engineer: Paul Faure -- -- Create Date: 18.04.2021 21:19:41 --- Module Name: Etage4_Memoire - Structural +-- Module Name: Etage4_Memoire_NS - Structural -- Project Name: Processeur sécurisé -- Target Devices: Basys 3 ARTIX7 -- Tool Versions: Vivado 2016.4 @@ -24,7 +24,7 @@ library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; -entity Etage4_Memoire is +entity Etage4_Memoire_NS is Generic ( Nb_bits : Natural; -- Taille d'un mot binaire Mem_size : Natural; -- Taille de la mémoire de donnees (nombre de mots binaires stockables) Adresse_mem_size : Natural; -- Nombre de bits pour adresser la mémoire de donnees @@ -44,9 +44,9 @@ entity Etage4_Memoire is OUT_B : out STD_LOGIC_VECTOR (Nb_bits - 1 downto 0); -- Sortie de l'opérande B OUT_Instruction : out STD_LOGIC_VECTOR (Instruction_bus_size - 1 downto 0); -- Sortie de l'instruction OUT_AddrRetour : out STD_LOGIC_VECTOR (Nb_bits - 1 downto 0)); -- Sortie de l'adresse de retour vers l'étage 1 -end Etage4_Memoire; +end Etage4_Memoire_NS; -architecture Structural of Etage4_Memoire is +architecture Structural of Etage4_Memoire_NS is component MemoireDonnees is Generic (Nb_bits : Natural; Addr_size : Natural; @@ -186,4 +186,4 @@ begin Addr_MemoireDonnees_EBP <= IN_Addr_MemoireDonnees + EBP; -end Structural; +end Structural; \ No newline at end of file diff --git a/Processeur.srcs/sources_1/new/MemoireInstructions.vhd b/Processeur.srcs/sources_1/new/MemoireInstructions.vhd index 0d10e0b..c525a7a 100644 --- a/Processeur.srcs/sources_1/new/MemoireInstructions.vhd +++ b/Processeur.srcs/sources_1/new/MemoireInstructions.vhd @@ -32,7 +32,7 @@ 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) := "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001010100000000000000000000000010001000000000000000000000000010100000000000001011000000001001100110101000010110000000001011000011100000000000000000010010000000000001010000000000111000001101000000000000000001001000000000000000000000000100110000000100001011000000000101100001100000000010000000001011000010110000000000000000010110000101000000010000000000111101100010000000000000000001000000000100000000000000000000010000000000000000000000010100100000001000000010000000001000000000000000001000000000010100000001000001010000000000110100000000000000010000000001010000000010000110000000000010100000000000001011000000001001100101101000011000000000001011000011010000001100000000010110000110000000010000000000101100001011000001000000000001011000010100000000000000000000010000010000000100000000100101000000100000010110000000000010000000100000001100000010010010000001100000001000000000100000000010000000000000000001110000010110000001100000000010010000001100000000000000001000001111101000000000000000000011000000110000001100000001010010000001100000000000000000010100000001000000010000001001001000000100000101000000000010000000000100000000000000000100100000000000000000000000010100000000000000000000000000010110000011100000111000000000101100000110000001100000000001011000001010000010000000000010110000010000000010000000000101100000011000000010000000001011000000100000000000000000010110000000000000101000000000100000000101000000100000000001000000000100000000100000000011110011011100000000000000000100000000000000000100000000000001000000100000001000000100010010000010000000001000000000100000000010000000000000000001111010100100000000000000000010000000000100000100000000000110000000100000001000000000000001000001000000011000000100000100000010000000111000001000100100000111000000010000000001000000001100000010100000000010000000010000000000000000001000001010010000000000000000000011000001110000011100000010010010000011100000000000000000011000000010000000100000010001000000001000000000100000000011000000001000000010000000000000100000010000001000000001000010000000100000011000000010010010000011000000001000000000100000000100000001010000000001010000001010000000000000000010000000001000000000000000001000001010111000000000000000000011000001010000010100000010010010000010100000000000000000010100000010000000100000010001000000001000000001100000000010100000001100000001000000000100000000010000000000000000001001000000010000000000000000010010000000000000000000000001010000000000000000000000000001011000000010000000100000000010110000000000000000000000000100000000000000000010000000001000000000010000000000000000100100000000000000000000000001010101100100000000000000000010011000101110000000000000000101000000000000000000000000000101100000010000000100000000001011000000010000000100000000010110000000000000000000000000111100011000000000000000000001000000000000000000100000000000010000000100000001000000100100100000010000000010000000001000000000010000000000000000101010000011100000000000000001000100000001000000000000000001001000000010101010100000000101010000011100000000000000001000100000001000000000000000001001000000011010101000000000100000010100100000000000000000001100000011000000110000000101001000000110000000000000000001010000000100000001000000100100100000010000001010000000001000000000010000000000000000010010000000000000000000000001010000000000000000000000000001011000000100000001000000000010110000000100000001000000000101100000000000000000000000001111000000100000000000000000010000000000000000001000000000000100000001000000010000001001001000000100000000100000000010000000000100000000000000001010100000111000000000000000010001000000010000000000000000010010000000100000000000000001010100000111000000000000000010001000000010000000000000000010010000000111111111000000001000000010011000000000000000000011000000110000001100000001010010000001100000000000000000010100000001000000010000001001001000000100000010100000000010000000000100000000000000000100100000000000000000000000001111011000010000000000000000"; + signal MEMORY : STD_LOGIC_VECTOR ((Mem_Size * Nb_bits)-1 downto 0) := "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001010100000000000000000000000010001000000010000000000000000010000000000100000000000000000101000000000000000000000000010011010000100000001000000000100110000000100000010000000000101100000001000000010000000001011000000000000000000000000010010000000100000000000000000100100000000000000000000000010100000000000000000000000000010110000001100000011000000000101100000010000000100000000001011000000010000000100000000010110000000000000000000000000111101000100000000000000000001000000000010000001000000000000010000001000000010000000110100100000011000000010000000001000000000100000000100000000010000000000000000010000000000001000000010000000100000001101001000000110000001000000000010000000001000000000000000001010100010100000000000000000010001000000100000000000000000010000000001000000000000000001000001010110000000000000000000011000001000000010000000010010010000010000000000000000000010100000010000000100000001101001000000110000100000000000010000000001000000001000000000100100000001000000000000000001001000000000000000100000000101000000000000000000000000000101100000000000000000000000001111001101010000000000000000101010000101000000000000000001000100000000000000000000000001001000000000000000000000000101010000101000000000000000001000100000000000000000000000001001000000001111111100000000100000100000000000000000000000001100000001000000010000000001001000000010000000000000000010010000000000000001000000001010000000000000000000000000001011000010010000100100000000010110000100000001000000000000101100000111000010100000000001011000001100000011000000000010110000010100000101000000000101100000100000001000000000001011000000110000001100000000010110000001000000010000000000101100000001000000010000000001011000000000000000000000000011110001010000000000000000000100000000110000010100000000000001000010100000101000001000010010000100000000001000000000100000001010000001100000000001101000010100000100000000000010000000100000000101000000000000100001010000010100000100001010000010100000011100000000000100000100000001001000010000100100001001000000010000000000011000010000000100000001001010000000100100000110000000000100100001000000001010000000001110000001110000100100000000010010000100100000000000000001000000101010000000000000000000011000010010000100100000111010010000100100000000000000000010100000111000001110000100001001000010000000100000000000010000000011100000110000000000100100000110000000010000000010010000001010000000000000000101011100100000000000000000001000100000101000000000000000001001000001010000000000000000101010001010000000000000000001000100000101000000000000000001001000001011111111100000000101010001010000000000000000001000100000101000000000000000001001000001010000000000000000101010001010000000000000000001000100000101000000000000000001001000001011111111100000000010010000010000000000000000000100100000011000000000000000001001000000100000000000000000010010000000100000000000000000100100000000000000000000000001111010110110000000000000000"; -- Skadoosh begin D_OUT <= MEMORY (((to_integer(unsigned(Addr)) + 1) * Nb_bits) - 1 downto Nb_bits * to_integer(unsigned(Addr))); diff --git a/Processeur.srcs/sources_1/new/Pipeline.vhd b/Processeur.srcs/sources_1/new/Pipeline_NS.vhd similarity index 98% rename from Processeur.srcs/sources_1/new/Pipeline.vhd rename to Processeur.srcs/sources_1/new/Pipeline_NS.vhd index d10dadf..8494c9a 100644 --- a/Processeur.srcs/sources_1/new/Pipeline.vhd +++ b/Processeur.srcs/sources_1/new/Pipeline_NS.vhd @@ -4,7 +4,7 @@ -- -- Create Date: 19.04.2021 16:57:41 -- Design Name: --- Module Name: Pipeline - Behavioral +-- Module Name: Pipeline_NS - Behavioral -- Project Name: -- Target Devices: -- Tool Versions: @@ -31,7 +31,7 @@ use IEEE.STD_LOGIC_1164.ALL; --library UNISIM; --use UNISIM.VComponents.all; -entity Pipeline is +entity Pipeline_NS is Generic (Nb_bits : Natural := 8; Instruction_En_Memoire_Size : Natural := 29; Addr_Memoire_Instruction_Size : Natural := 3; @@ -46,11 +46,11 @@ entity Pipeline is RST : STD_LOGIC; STD_IN : in STD_LOGIC_VECTOR (Nb_bits - 1 downto 0); STD_OUT : out STD_LOGIC_VECTOR (Nb_bits - 1 downto 0)); -end Pipeline; +end Pipeline_NS; -architecture Behavioral of Pipeline is +architecture Behavioral of Pipeline_NS is - component Etage1_LectureInstruction is + component Etage1_LectureInstruction_NS is Generic (Instruction_size_in_memory : Natural; Addr_size_mem_instruction : Natural; Mem_instruction_size : Natural; @@ -122,7 +122,7 @@ architecture Behavioral of Pipeline is C : out STD_LOGIC); end component; - component Etage4_Memoire is + component Etage4_Memoire_NS is Generic ( Nb_bits : Natural; Mem_size : Natural; Adresse_mem_size : Natural; @@ -200,7 +200,7 @@ architecture Behavioral of Pipeline is constant Instructions_critiques_lecture_C : STD_LOGIC_VECTOR (Nb_Instructions - 1 downto 0) := "1111111111" & "0000000000000011111110"; constant Instructions_critiques_ecriture : STD_LOGIC_VECTOR (Nb_Instructions - 1 downto 0) := "1111111111" & "0001000001011111111110"; begin - instance_Etage1 : Etage1_LectureInstruction + instance_Etage1 : Etage1_LectureInstruction_NS generic map (Instruction_size_in_memory => Instruction_En_Memoire_Size, Addr_size_mem_instruction => Addr_Memoire_Instruction_Size, Mem_instruction_size => Memoire_Instruction_Size, @@ -276,7 +276,7 @@ begin C => C ); - instance_Etage4 : Etage4_Memoire + instance_Etage4 : Etage4_Memoire_NS generic map( Nb_bits => Nb_bits, Mem_size => Memoire_Size, Adresse_mem_size => Adresse_mem_size, @@ -321,3 +321,4 @@ begin Instruction_to_5 <= Instruction_from_4; end process; end Behavioral; + diff --git a/Processeur.srcs/sources_1/new/System.vhd b/Processeur.srcs/sources_1/new/System.vhd index fb553fb..8673dd1 100644 --- a/Processeur.srcs/sources_1/new/System.vhd +++ b/Processeur.srcs/sources_1/new/System.vhd @@ -31,7 +31,7 @@ entity System is end System; architecture Structural of System is - component Pipeline is + component Pipeline_NS is Generic (Nb_bits : Natural := 8; Instruction_En_Memoire_Size : Natural := 29; Addr_Memoire_Instruction_Size : Natural := 3; @@ -62,7 +62,7 @@ begin CLK_OUT => my_CLK); -- Le processeur, augmentation de la taille de la mémoire d'instruction - instance : Pipeline + instance : Pipeline_NS generic map (Addr_Memoire_Instruction_Size => 8, Memoire_Instruction_Size => 256) port map (CLK => my_CLK, diff --git a/Processeur.xpr b/Processeur.xpr index 99d1f62..ebdd867 100644 --- a/Processeur.xpr +++ b/Processeur.xpr @@ -103,37 +103,37 @@ - - - - - - - - - - - - - + - + + + + + + + + + + + + +