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

Subversion Repositories ethernet_tri_mode

[/] [ethernet_tri_mode/] [trunk/] [bench/] [verilog/] [host_sim.v] - Blame information for rev 33

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 7 maverickis
module host_sim (
2
input                           Reset                                   ,
3
input                       Clk_reg                                     ,
4
output  reg             CSB                     ,
5
output  reg             WRB                     ,
6
output  reg             CPU_init_end            ,
7
output  reg    [15:0]   CD_in                   ,
8
input          [15:0]   CD_out                  ,
9
output  reg    [7:0]    CA
10
);
11
 
12
////////////////////////////////////////
13
task    CPU_init;
14
begin
15
        CA      =0;
16
        CD_in   =0;
17
        WRB     =1;
18
        CSB     =1;
19
end
20
endtask
21
 
22
////////////////////////////////////////
23
task    CPU_wr;
24
input[6:0]      Addr;
25
input[15:0]     Data;
26
begin
27
        CA      ={Addr,1'b0};
28
        CD_in   =Data;
29
        WRB     =0;
30
        CSB     =0;
31
#20;
32
        CA      =0;
33
        CD_in   =0;
34
        WRB     =1;
35
        CSB     =1;
36
#20;
37
end
38
endtask
39
/////////////////////////////////////////
40
task    CPU_rd;
41
input[6:0]      Addr;
42
begin
43
        CA      ={Addr,1'b0};
44
        WRB     =1;
45
        CSB     =0;
46
#20;
47
        CA      =0;
48
        WRB     =1;
49
        CSB     =1;
50
#20;
51
end
52
endtask
53
/////////////////////////////////////////
54
 
55
integer         i;
56
 
57
reg     [31:0]  CPU_data [255:0];
58
reg     [7:0]   write_times;
59
reg     [7:0]   write_add;
60
reg     [15:0]  write_data;
61
 
62
 
63
initial
64
    begin
65
 
66
    end
67
 
68
 
69
initial
70
    begin
71
        CPU_init;
72
        CPU_init_end=0;
73
        $readmemh("../data/CPU.vec",CPU_data);
74
        {write_times,write_add,write_data}=CPU_data[0];
75
    #90 ;
76
        for (i=0;i<write_times;i=i+1)
77
            begin
78
            {write_times,write_add,write_data}=CPU_data[i];
79
            CPU_wr(write_add[6:0],write_data);
80
            end
81
        CPU_init_end=1;
82
    end
83
endmodule

powered by: WebSVN 2.1.0

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