OpenCores
URL https://opencores.org/ocsvn/potato/potato/trunk

Subversion Repositories potato

[/] [potato/] [trunk/] [example/] [tb_imem_wrapper.vhd] - Blame information for rev 12

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 12 skordal
-- The Potato Processor - A simple processor for FPGAs
2
-- (c) Kristian Klomsten Skordal 2015 <kristian.skordal@wafflemail.net>
3
-- Report bugs and issues on <http://opencores.org/project,potato,bugtracker>
4
 
5
library ieee;
6
use ieee.std_logic_1164.all;
7
 
8
entity tb_imem_wrapper is
9
end entity tb_imem_wrapper;
10
 
11
architecture testbench of tb_imem_wrapper is
12
 
13
        -- Clock signal:
14
        signal clk : std_logic := '0';
15
        constant clk_period : time := 10 ns;
16
 
17
        -- Reset signal:
18
        signal reset : std_logic := '1';
19
 
20
        -- Wishbone signals:
21
        signal wb_adr_in : std_logic_vector(10 downto 0);
22
        signal wb_dat_out : std_logic_vector(31 downto 0);
23
        signal wb_cyc_in : std_logic := '0';
24
        signal wb_stb_in : std_logic := '0';
25
        signal wb_ack_out : std_logic;
26
 
27
begin
28
 
29
        uut: entity work.imem_wrapper
30
                port map(
31
                        clk => clk,
32
                        reset => reset,
33
                        wb_adr_in => wb_adr_in,
34
                        wb_dat_out => wb_dat_out,
35
                        wb_cyc_in => wb_cyc_in,
36
                        wb_stb_in => wb_stb_in,
37
                        wb_ack_out => wb_ack_out
38
                );
39
 
40
        clock: process
41
        begin
42
                clk <= '1';
43
                wait for clk_period;
44
                clk <= '0';
45
                wait for clk_period;
46
        end process clock;
47
 
48
        stimulus: process
49
        begin
50
                wait for clk_period * 2;
51
                reset <= '0';
52
                wait for clk_period;
53
 
54
                -- Read an instruction:
55
                wb_adr_in <= (others => '0');
56
                wb_cyc_in <= '1';
57
                wb_stb_in <= '1';
58
                wait for clk_period;
59
                wait until wb_ack_out = '1';
60
                wait for clk_period;
61
                wb_cyc_in <= '0';
62
                wb_stb_in <= '0';
63
 
64
                -- TODO: Make testbench automated.
65
 
66
                wait;
67
        end process stimulus;
68
 
69
end architecture testbench;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.