From 8beb9da0147205bff3d812b5dc9a268238972bf1 Mon Sep 17 00:00:00 2001 From: milesdig Date: Thu, 27 Apr 2017 13:15:13 +0100 Subject: [PATCH] Starting sequencer testing --- Project/ControlSignals.xlsx | Bin 19898 -> 19895 bytes Project/Project/Project.xise | 16 ++++-- Project/Project/SequencerTB.vhd | 115 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 126 insertions(+), 5 deletions(-) rewrite Project/ControlSignals.xlsx (62%) create mode 100644 Project/Project/SequencerTB.vhd diff --git a/Project/ControlSignals.xlsx b/Project/ControlSignals.xlsx dissimilarity index 62% index 0976dc00aad37e71eacf282e59077352acd6d919..ac295a0dffe24bb505ee0313340ffa1775fd1535 100644 GIT binary patch delta 10671 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 diff --git a/Project/Project/Project.xise b/Project/Project/Project.xise index 8e0336f..e0d121c 100644 --- a/Project/Project/Project.xise +++ b/Project/Project/Project.xise @@ -24,11 +24,11 @@ - + - + @@ -50,19 +50,25 @@ - + - + - + + + + + + + diff --git a/Project/Project/SequencerTB.vhd b/Project/Project/SequencerTB.vhd new file mode 100644 index 0000000..f983d17 --- /dev/null +++ b/Project/Project/SequencerTB.vhd @@ -0,0 +1,115 @@ +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; + +ENTITY SequencerTB IS +END SequencerTB; + +ARCHITECTURE behavior OF SequencerTB IS + + -- Component Declaration for the Unit Under Test (UUT) + + COMPONENT Sequencer + PORT( + clk : IN std_logic; + PC_plus : IN std_logic_vector(7 downto 0); + instr : IN std_logic_vector(31 downto 0); + flags : IN std_logic_vector(7 downto 0); + PC : OUT std_logic_vector(7 downto 0); + MIA : OUT std_logic_vector(7 downto 0) + ); + END COMPONENT; + + + --Inputs + signal clk : std_logic := '0'; + signal PC_plus : std_logic_vector(7 downto 0) := (others => '0'); + signal instr : std_logic_vector(31 downto 0) := (others => '0'); + signal flags : std_logic_vector(7 downto 0) := (others => '0'); + + --Outputs + signal PC : std_logic_vector(7 downto 0); + signal MIA : std_logic_vector(7 downto 0); + + -- Clock period definitions + constant clk_period : time := 10 ns; + + -- Test Data + type TEST_RECORD is record + clk : std_logic; + + instr : std_logic_vector(31 downto 0); + PC_plus : std_logic_vector(5 downto 0); + flags : std_logic_vector(6 downto 0) + + PC : std_logic_vector(4 downto 1); + MIA : std_logic_vector(7 downto 0); + + end record TEST_RECORD; + + type TEST_RECORD_ARRAY is array (NATURAL range <>) of TEST_RECORD; + + constant test_data : TEST_RECORD_ARRAY := ( + -- Register + ("000100", "--1-"), --add rt, ra, rb + ("000100", "----"), + ("000100", "--00"), + ("000100", "0---"), + + ("010000", "--1-"), -- and rt, ra, rb + ("010000", "----"), + ("010000", "--00"), + ("010000", "0---"), + -- Memory + ("100111", "--1-"), -- stor + ("100111", "----"), + ("100111", "--01"), + ("100111", "-0--"), + + ("100101", "--1-"), -- load + ("100101", "----"), + ("100101", "--01"), + ("100101", "-0--"), + ("100101", "1---") + -- Branch + ); + +BEGIN + + -- Instantiate the Unit Under Test (UUT) + uut: Sequencer PORT MAP ( + clk => clk, + PC_plus => PC_plus, + instr => instr, + flags => flags, + PC => PC, + MIA => MIA + ); + + -- Clock process definitions + clk_process :process + begin + clk <= '0'; + wait for clk_period/2; + clk <= '1'; + wait for clk_period/2; + end process; + + + -- Stimulus process + stim_proc: process + begin + -- hold reset state for 100 ns. + wait for 100 ns; + + wait for clk_period*10; + + -- insert stimulus here + + wait; + end process; + +END; -- 2.11.4.GIT