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] - Diff between revs 7 and 33

Only display areas with differences | Details | Blame | View Log

Rev 7 Rev 33
module host_sim (
module host_sim (
input                           Reset                                   ,
input                           Reset                                   ,
input                       Clk_reg                                     ,
input                       Clk_reg                                     ,
output  reg             CSB                     ,
output  reg             CSB                     ,
output  reg             WRB                     ,
output  reg             WRB                     ,
output  reg             CPU_init_end            ,
output  reg             CPU_init_end            ,
output  reg    [15:0]   CD_in                   ,
output  reg    [15:0]   CD_in                   ,
input          [15:0]   CD_out                  ,
input          [15:0]   CD_out                  ,
output  reg    [7:0]    CA
output  reg    [7:0]    CA
);
);
 
 
////////////////////////////////////////
////////////////////////////////////////
task    CPU_init;
task    CPU_init;
begin
begin
        CA      =0;
        CA      =0;
        CD_in   =0;
        CD_in   =0;
        WRB     =1;
        WRB     =1;
        CSB     =1;
        CSB     =1;
end
end
endtask
endtask
 
 
////////////////////////////////////////
////////////////////////////////////////
task    CPU_wr;
task    CPU_wr;
input[6:0]      Addr;
input[6:0]      Addr;
input[15:0]     Data;
input[15:0]     Data;
begin
begin
        CA      ={Addr,1'b0};
        CA      ={Addr,1'b0};
        CD_in   =Data;
        CD_in   =Data;
        WRB     =0;
        WRB     =0;
        CSB     =0;
        CSB     =0;
#20;
#20;
        CA      =0;
        CA      =0;
        CD_in   =0;
        CD_in   =0;
        WRB     =1;
        WRB     =1;
        CSB     =1;
        CSB     =1;
#20;
#20;
end
end
endtask
endtask
/////////////////////////////////////////
/////////////////////////////////////////
task    CPU_rd;
task    CPU_rd;
input[6:0]      Addr;
input[6:0]      Addr;
begin
begin
        CA      ={Addr,1'b0};
        CA      ={Addr,1'b0};
        WRB     =1;
        WRB     =1;
        CSB     =0;
        CSB     =0;
#20;
#20;
        CA      =0;
        CA      =0;
        WRB     =1;
        WRB     =1;
        CSB     =1;
        CSB     =1;
#20;
#20;
end
end
endtask
endtask
/////////////////////////////////////////
/////////////////////////////////////////
 
 
integer         i;
integer         i;
 
 
reg     [31:0]  CPU_data [255:0];
reg     [31:0]  CPU_data [255:0];
reg     [7:0]   write_times;
reg     [7:0]   write_times;
reg     [7:0]   write_add;
reg     [7:0]   write_add;
reg     [15:0]  write_data;
reg     [15:0]  write_data;
 
 
 
 
initial
initial
    begin
    begin
 
 
    end
    end
 
 
 
 
initial
initial
    begin
    begin
        CPU_init;
        CPU_init;
        CPU_init_end=0;
        CPU_init_end=0;
        $readmemh("../data/CPU.vec",CPU_data);
        $readmemh("../data/CPU.vec",CPU_data);
        {write_times,write_add,write_data}=CPU_data[0];
        {write_times,write_add,write_data}=CPU_data[0];
    #90 ;
    #90 ;
        for (i=0;i<write_times;i=i+1)
        for (i=0;i<write_times;i=i+1)
            begin
            begin
            {write_times,write_add,write_data}=CPU_data[i];
            {write_times,write_add,write_data}=CPU_data[i];
            CPU_wr(write_add[6:0],write_data);
            CPU_wr(write_add[6:0],write_data);
            end
            end
        CPU_init_end=1;
        CPU_init_end=1;
    end
    end
 
 

powered by: WebSVN 2.1.0

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