Line 9... |
Line 9... |
|
|
--! Use CPU Definitions package
|
--! Use CPU Definitions package
|
use work.pkgOpenCPU32.all;
|
use work.pkgOpenCPU32.all;
|
|
|
ENTITY testDataPath IS
|
ENTITY testDataPath IS
|
|
generic (n : integer := nBits - 1); --! Generic value (Used to easily change the size of the Alu on the package)
|
END testDataPath;
|
END testDataPath;
|
|
|
--! @brief Datapath Testbench file
|
--! @brief Datapath Testbench file
|
--! @details Attention to this testbench because it will give you hints on how the control circuit must work....
|
--! @details Attention to this testbench because it will give you hints on how the control circuit must work....
|
--! for more information: http://vhdlguru.blogspot.com/2010/03/how-to-write-testbench.html
|
--! for more information: http://vhdlguru.blogspot.com/2010/03/how-to-write-testbench.html
|
Line 38... |
Line 39... |
dpFlags : out STD_LOGIC_VECTOR (2 downto 0)); --! Alu Flags
|
dpFlags : out STD_LOGIC_VECTOR (2 downto 0)); --! Alu Flags
|
END COMPONENT;
|
END COMPONENT;
|
|
|
|
|
--Inputs
|
--Inputs
|
signal inputMm : std_logic_vector(31 downto 0) := (others => 'U'); --! Wire to connect Test signal to component
|
signal inputMm : std_logic_vector(n downto 0) := (others => 'U'); --! Wire to connect Test signal to component
|
signal inputImm : std_logic_vector(31 downto 0) := (others => 'U'); --! Wire to connect Test signal to component
|
signal inputImm : std_logic_vector(n downto 0) := (others => 'U'); --! Wire to connect Test signal to component
|
signal clk : std_logic := '0'; --! Wire to connect Test signal to component
|
signal clk : std_logic := '0'; --! Wire to connect Test signal to component
|
signal outEn : typeEnDis := disable; --! Wire to connect Test signal to component
|
signal outEn : typeEnDis := disable; --! Wire to connect Test signal to component
|
signal aluOp : aluOps := alu_pass; --! Wire to connect Test signal to component
|
signal aluOp : aluOps := alu_pass; --! Wire to connect Test signal to component
|
signal muxSel : std_logic_vector(2 downto 0) := (others => 'U'); --! Wire to connect Test signal to component
|
signal muxSel : std_logic_vector(2 downto 0) := (others => 'U'); --! Wire to connect Test signal to component
|
signal muxRegFile : std_logic_vector(1 downto 0) := (others => 'U'); --! Wire to connect Test signal to component
|
signal muxRegFile : std_logic_vector(1 downto 0) := (others => 'U'); --! Wire to connect Test signal to component
|
Line 53... |
Line 54... |
signal regFileReadAddrB : generalRegisters := r0; --! Wire to connect Test signal to component
|
signal regFileReadAddrB : generalRegisters := r0; --! Wire to connect Test signal to component
|
signal regFileEnA : std_logic := '0'; --! Wire to connect Test signal to component
|
signal regFileEnA : std_logic := '0'; --! Wire to connect Test signal to component
|
signal regFileEnB : std_logic := '0'; --! Wire to connect Test signal to component
|
signal regFileEnB : std_logic := '0'; --! Wire to connect Test signal to component
|
|
|
--Outputs
|
--Outputs
|
signal outputDp : std_logic_vector(31 downto 0); --! Wire to connect Test signal to component
|
signal outputDp : std_logic_vector(n downto 0); --! Wire to connect Test signal to component
|
signal dpFlags : std_logic_vector(2 downto 0); --! Wire to connect Test signal to component
|
signal dpFlags : std_logic_vector(2 downto 0); --! Wire to connect Test signal to component
|
|
|
-- Clock period definitions
|
-- Clock period definitions
|
constant CLK_period : time := 10 ns;
|
constant CLK_period : time := 10 ns;
|
|
|