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

Subversion Repositories gpib_controller

[/] [gpib_controller/] [trunk/] [vhdl/] [test/] [Fifo8b_Test.vhd] - Blame information for rev 11

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 3 Andrewski
 
2
--------------------------------------------------------------------------------
3
-- Fifo8b test
4
--------------------------------------------------------------------------------
5
LIBRARY ieee;
6
USE ieee.std_logic_1164.ALL;
7
USE ieee.std_logic_unsigned.all;
8
USE ieee.numeric_std.ALL;
9
use ieee.std_logic_arith.all;
10
 
11
use work.helperComponents.all;
12
 
13
ENTITY Fifo8b_Test_vhd IS
14
END Fifo8b_Test_vhd;
15
 
16
ARCHITECTURE behavior OF Fifo8b_Test_vhd IS
17
 
18
        constant clk_period : time := 1us;
19
 
20
 
21
        SIGNAL reset :  std_logic := '0';
22
        SIGNAL clk :  std_logic := '0';
23
        -------------- fifo --------------------
24
        SIGNAL bytesAvailable : std_logic;
25
        SIGNAL availableBytesCount : std_logic_vector(10 downto 0);
26
        SIGNAL bufferFull : std_logic;
27
        SIGNAL resetFifo : std_logic := '0';
28
        ----------------------------------------
29
        SIGNAL data_in : std_logic_vector(7 downto 0) := (others => '0');
30
        SIGNAL ready_to_write : std_logic;
31
        SIGNAL strobe_write : std_logic := '0';
32
                ----------------------------------------
33
        SIGNAL data_out : std_logic_vector(7 downto 0);
34
        SIGNAL ready_to_read : std_logic;
35
        SIGNAL strobe_read : std_logic := '0';
36
 
37
BEGIN
38
 
39
        -- Instantiate the Unit Under Test (UUT)
40
        fifo: Fifo8b port map (
41
                reset => reset,
42
                clk => clk,
43
                -------------- fifo --------------------
44
                bytesAvailable => bytesAvailable,
45
                availableBytesCount => availableBytesCount,
46
                bufferFull => bufferFull,
47
                resetFifo => resetFifo,
48
                ----------------------------------------
49
                data_in => data_in,
50
                ready_to_write => ready_to_write,
51
                strobe_write => strobe_write,
52
                ----------------------------------------
53
                data_out => data_out,
54
                ready_to_read => ready_to_read,
55
                strobe_read => strobe_read
56
        );
57
 
58
        -- Clock process definitions
59
        clk_process :process
60
        begin
61
                clk <= '0';
62
                wait for clk_period/2;
63
                clk <= '1';
64
                wait for clk_period/2;
65
        end process;
66
 
67
        stim_proc: PROCESS
68
        BEGIN
69
 
70
                reset <= '1';
71
                wait for clk_period*4;
72
                reset <= '0';
73
                wait for clk_period*4;
74
 
75
                data_in <= "00000010";
76
                wait for clk_period;
77
                strobe_write <= '1';
78
                wait for clk_period;
79
                strobe_write <= '0';
80
 
81
                wait for clk_period*4;
82
 
83
                data_in <= "00000011";
84
                wait for clk_period;
85
                strobe_write <= '1';
86
                wait for clk_period;
87
                strobe_write <= '0';
88
 
89
                wait for clk_period*4;
90
 
91
                strobe_read <= '1';
92
                wait for clk_period;
93
                strobe_read <= '0';
94
 
95
                wait for clk_period*4;
96
 
97
                strobe_read <= '1';
98
                wait for clk_period;
99
                strobe_read <= '0';
100
 
101
                wait for clk_period*4;
102
 
103
                data_in <= "00000100";
104
                wait for clk_period;
105
                strobe_write <= '1';
106
                wait for clk_period;
107
                strobe_write <= '0';
108
 
109
                wait for clk_period*4;
110
 
111
                strobe_read <= '1';
112
                wait for clk_period;
113
                strobe_read <= '0';
114
 
115
--              for i in 0 to 2**11-1 loop
116
--                      data_in <= conv_std_logic_vector(i, 8);
117
--                      wait for clk_period;
118
--                      strobe_write <= '1';
119
--                      wait until ready_to_write = '0';
120
--                      strobe_write <= '0';
121
--                      if i < 2**11-1 then
122
--                              wait until ready_to_write = '1';
123
--                      end if;
124
--              end loop; 
125
--              
126
--              wait for clk_period;
127
--              
128
--              strobe_read <= '1';
129
--              wait for clk_period;
130
--              strobe_read <= '0';
131
--              
132
--              wait for clk_period*3;
133
--              
134
--              for i in 0 to 1 loop
135
--                      data_in <= conv_std_logic_vector(i, 8);
136
--                      wait for clk_period;
137
--                      strobe_write <= '1';
138
--                      wait until ready_to_write = '0';
139
--                      strobe_write <= '0';
140
--                      wait until ready_to_write = '1';
141
--              end loop;
142
 
143
                wait; -- will wait forever
144
        END PROCESS;
145
 
146
END;

powered by: WebSVN 2.1.0

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