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