OpenCores
URL https://opencores.org/ocsvn/fpga-cf/fpga-cf/trunk

Subversion Repositories fpga-cf

[/] [fpga-cf/] [trunk/] [hdl/] [PATLPP/] [regfile/] [regfile_tb.v] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 peteralieb
// Register file test bench
2
//
3
 
4
module regfile_tb;
5
 
6
reg clk, rst, wren_low, wren_high;
7
reg [3:0] addr;
8
reg [15:0] data_in;
9
wire [15:0] data_out;
10
 
11
regfile dut (
12
        .clk(clk),
13
        .rst(rst),
14
        .wren_low(wren_low),
15
        .wren_high(wren_high),
16
        .address(addr),
17
        .data_in(data_in),
18
        .data_out(data_out)
19
);
20
 
21
initial
22
begin
23
        clk = 1;
24
        rst = 1;
25
        wren_low = 0;
26
        wren_high = 0;
27
        addr = 0;
28
        data_in = 0;
29
        @(posedge clk);
30
        rst = 0;
31
        wren_low = 1;
32
        wren_high = 1;
33
        addr = 3;
34
        data_in = 16'ha3a3;
35
        @(posedge clk);
36
        wren_low = 0;
37
        addr = 2;
38
        data_in = 16'ha2a2;
39
        @(posedge clk);
40
        wren_low = 1;
41
        wren_high = 0;
42
        addr = 1;
43
        data_in = 16'ha1a1;
44
        @(posedge clk);
45
        wren_low = 0;
46
        addr = 0;
47
        data_in = 16'ha0a0;
48
        @(posedge clk);
49
        addr = 1;
50
        $display("Addres 0: %h", data_out);
51
        @(posedge clk);
52
        addr = 2;
53
        $display("Addres 1: %h", data_out);
54
        @(posedge clk);
55
        addr = 3;
56
        $display("Addres 2: %h", data_out);
57
        @(posedge clk);
58
        $display("Addres 3: %h", data_out);
59
end
60
 
61
always
62
        #100 clk = ~clk;
63
 
64
endmodule

powered by: WebSVN 2.1.0

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