Line 34... |
Line 34... |
Port ( inputMm : in STD_LOGIC_VECTOR (n downto 0); --! Input of Datapath from main memory
|
Port ( inputMm : in STD_LOGIC_VECTOR (n downto 0); --! Input of Datapath from main memory
|
inputImm : in STD_LOGIC_VECTOR (n downto 0); --! Input of Datapath from imediate value (instructions...)
|
inputImm : in STD_LOGIC_VECTOR (n downto 0); --! Input of Datapath from imediate value (instructions...)
|
clk : in STD_LOGIC; --! Clock signal
|
clk : in STD_LOGIC; --! Clock signal
|
outEn : in typeEnDis; --! Enable/Disable datapath output
|
outEn : in typeEnDis; --! Enable/Disable datapath output
|
aluOp : in aluOps; --! Alu operations
|
aluOp : in aluOps; --! Alu operations
|
muxSel : in STD_LOGIC_VECTOR (2 downto 0); --! Select inputs from dataPath(Memory,Imediate,RegisterFile,Alu)
|
muxSel : in dpMuxInputs; --! Select inputs from dataPath(Memory,Imediate,RegisterFile,Alu)
|
muxRegFile : in STD_LOGIC_VECTOR(1 downto 0); --! Select Alu InputA (Memory,Imediate,RegFileA)
|
muxRegFile : in STD_LOGIC_VECTOR(1 downto 0); --! Select Alu InputA (Memory,Imediate,RegFileA)
|
regFileWriteAddr : in generalRegisters; --! General register write address
|
regFileWriteAddr : in generalRegisters; --! General register write address
|
regFileWriteEn : in STD_LOGIC; --! RegisterFile write enable signal
|
regFileWriteEn : in STD_LOGIC; --! RegisterFile write enable signal
|
regFileReadAddrA : in generalRegisters; --! General register read address (PortA)
|
regFileReadAddrA : in generalRegisters; --! General register read address (PortA)
|
regFileReadAddrB : in generalRegisters; --! General register read address (PortB)
|
regFileReadAddrB : in generalRegisters; --! General register read address (PortB)
|
Line 53... |
Line 53... |
Port ( reset : in STD_LOGIC;
|
Port ( reset : in STD_LOGIC;
|
clk : in STD_LOGIC; --! Main system clock
|
clk : in STD_LOGIC; --! Main system clock
|
FlagsDp : in STD_LOGIC_VECTOR (2 downto 0); --! Flags comming from the Datapath
|
FlagsDp : in STD_LOGIC_VECTOR (2 downto 0); --! Flags comming from the Datapath
|
DataDp : in STD_LOGIC_VECTOR (n downto 0); --! Data comming from the Datapath
|
DataDp : in STD_LOGIC_VECTOR (n downto 0); --! Data comming from the Datapath
|
outEnDp : out typeEnDis; --! Enable/Disable datapath output
|
outEnDp : out typeEnDis; --! Enable/Disable datapath output
|
MuxDp : out STD_LOGIC_VECTOR (2 downto 0); --! Select on datapath data from (Memory, Imediate, RegFileA, RegFileB, AluOut)
|
MuxDp : out dpMuxInputs; --! Select on datapath data from (Memory, Imediate, RegFileA, RegFileB, AluOut)
|
MuxRegDp : out STD_LOGIC_VECTOR(1 downto 0); --! Select Alu InputA (Memory,Imediate,RegFileA)
|
MuxRegDp : out STD_LOGIC_VECTOR(1 downto 0); --! Select Alu InputA (Memory,Imediate,RegFileA)
|
ImmDp : out STD_LOGIC_VECTOR (n downto 0); --! Imediate value passed to the Datapath
|
ImmDp : out STD_LOGIC_VECTOR (n downto 0); --! Imediate value passed to the Datapath
|
DpAluOp : out aluOps; --! Alu operations
|
DpAluOp : out aluOps; --! Alu operations
|
DpRegFileWriteAddr : out generalRegisters; --! General register address to write
|
DpRegFileWriteAddr : out generalRegisters; --! General register address to write
|
DpRegFileWriteEn : out STD_LOGIC; --! Enable register write
|
DpRegFileWriteEn : out STD_LOGIC; --! Enable register write
|
Line 74... |
Line 74... |
end COMPONENT;
|
end COMPONENT;
|
|
|
signal InputImediate : STD_LOGIC_VECTOR (n downto 0);
|
signal InputImediate : STD_LOGIC_VECTOR (n downto 0);
|
signal enableOutputDp : typeEnDis;
|
signal enableOutputDp : typeEnDis;
|
signal aluOperations : aluOps;
|
signal aluOperations : aluOps;
|
signal InputDataPathSelector : STD_LOGIC_VECTOR (2 downto 0);
|
signal InputDataPathSelector : dpMuxInputs;
|
signal InputDataPathAluASelector : STD_LOGIC_VECTOR (1 downto 0);
|
signal InputDataPathAluASelector : STD_LOGIC_VECTOR (1 downto 0);
|
signal registerFileWriteAddress : generalRegisters;
|
signal registerFileWriteAddress : generalRegisters;
|
signal registerFileWriteEnable : STD_LOGIC;
|
signal registerFileWriteEnable : STD_LOGIC;
|
signal registerFileReadAddressA : generalRegisters;
|
signal registerFileReadAddressA : generalRegisters;
|
signal registerFileReadAddressB : generalRegisters;
|
signal registerFileReadAddressB : generalRegisters;
|