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

Subversion Repositories oc_axi_bfm

[/] [oc_axi_bfm/] [trunk/] [example/] [avalon_dma_tb.v] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 jackfrye11
// avalon_dma_tb.v
2
 
3
// Generated using ACDS version 19.1 670
4
 
5
`timescale 1 ps / 1 ps
6
module avalon_dma_tb (
7
        );
8
 
9
  integer i;
10
  reg [31:0] i_r;
11
 
12
 
13
  reg   [0:0] avalon_dma_inst_oc_axi_lite_bfm_0_driver_bfm_conduit_new_signal_5_r;
14
  reg   [0:0] avalon_dma_inst_oc_axi_lite_bfm_0_driver_bfm_conduit_new_signal_2_r;
15
  reg  [31:0] avalon_dma_inst_oc_axi_lite_bfm_0_driver_bfm_conduit_new_signal_3_r;
16
  reg  [31:0] avalon_dma_inst_oc_axi_lite_bfm_0_driver_bfm_conduit_new_signal_r;
17
 
18
        wire         avalon_dma_inst_clk_bfm_clk_clk;                                   // avalon_dma_inst_clk_bfm:clk -> [avalon_dma_inst:clk_clk, avalon_dma_inst_oc_axi_lite_bfm_0_driver_bfm:clk, avalon_dma_inst_reset_bfm:clk]
19
        wire         avalon_dma_inst_oc_axi_lite_bfm_0_driver_new_signal_4;             // avalon_dma_inst:oc_axi_lite_bfm_0_driver_new_signal_4 -> avalon_dma_inst_oc_axi_lite_bfm_0_driver_bfm:sig_new_signal_4
20
        wire   [0:0] avalon_dma_inst_oc_axi_lite_bfm_0_driver_bfm_conduit_new_signal_5; // avalon_dma_inst_oc_axi_lite_bfm_0_driver_bfm:sig_new_signal_5 -> avalon_dma_inst:oc_axi_lite_bfm_0_driver_new_signal_5
21
        wire  [31:0] avalon_dma_inst_oc_axi_lite_bfm_0_driver_new_signal_1;             // avalon_dma_inst:oc_axi_lite_bfm_0_driver_new_signal_1 -> avalon_dma_inst_oc_axi_lite_bfm_0_driver_bfm:sig_new_signal_1
22
        wire   [0:0] avalon_dma_inst_oc_axi_lite_bfm_0_driver_bfm_conduit_new_signal_2; // avalon_dma_inst_oc_axi_lite_bfm_0_driver_bfm:sig_new_signal_2 -> avalon_dma_inst:oc_axi_lite_bfm_0_driver_new_signal_2
23
        wire  [31:0] avalon_dma_inst_oc_axi_lite_bfm_0_driver_bfm_conduit_new_signal_3; // avalon_dma_inst_oc_axi_lite_bfm_0_driver_bfm:sig_new_signal_3 -> avalon_dma_inst:oc_axi_lite_bfm_0_driver_new_signal_3
24
        wire  [31:0] avalon_dma_inst_oc_axi_lite_bfm_0_driver_bfm_conduit_new_signal;   // avalon_dma_inst_oc_axi_lite_bfm_0_driver_bfm:sig_new_signal -> avalon_dma_inst:oc_axi_lite_bfm_0_driver_new_signal
25
        wire         avalon_dma_inst_reset_bfm_reset_reset;                             // avalon_dma_inst_reset_bfm:reset -> avalon_dma_inst:reset_reset_n
26
 
27
  assign avalon_dma_inst_oc_axi_lite_bfm_0_driver_bfm_conduit_new_signal_5 = avalon_dma_inst_oc_axi_lite_bfm_0_driver_bfm_conduit_new_signal_5_r;
28
  assign avalon_dma_inst_oc_axi_lite_bfm_0_driver_bfm_conduit_new_signal_2 = avalon_dma_inst_oc_axi_lite_bfm_0_driver_bfm_conduit_new_signal_2_r;
29
  assign avalon_dma_inst_oc_axi_lite_bfm_0_driver_bfm_conduit_new_signal_3 = avalon_dma_inst_oc_axi_lite_bfm_0_driver_bfm_conduit_new_signal_3_r;
30
  assign avalon_dma_inst_oc_axi_lite_bfm_0_driver_bfm_conduit_new_signal   = avalon_dma_inst_oc_axi_lite_bfm_0_driver_bfm_conduit_new_signal_r;
31
 
32
        avalon_dma avalon_dma_inst (
33
                .clk_clk                               (avalon_dma_inst_clk_bfm_clk_clk),                                   //                      clk.clk
34
                .oc_axi_lite_bfm_0_driver_new_signal   (avalon_dma_inst_oc_axi_lite_bfm_0_driver_bfm_conduit_new_signal),   // oc_axi_lite_bfm_0_driver.new_signal
35
                .oc_axi_lite_bfm_0_driver_new_signal_1 (avalon_dma_inst_oc_axi_lite_bfm_0_driver_new_signal_1),             //                         .new_signal_1
36
                .oc_axi_lite_bfm_0_driver_new_signal_2 (avalon_dma_inst_oc_axi_lite_bfm_0_driver_bfm_conduit_new_signal_2), //                         .new_signal_2
37
                .oc_axi_lite_bfm_0_driver_new_signal_3 (avalon_dma_inst_oc_axi_lite_bfm_0_driver_bfm_conduit_new_signal_3), //                         .new_signal_3
38
                .oc_axi_lite_bfm_0_driver_new_signal_4 (avalon_dma_inst_oc_axi_lite_bfm_0_driver_new_signal_4),             //                         .new_signal_4
39
                .oc_axi_lite_bfm_0_driver_new_signal_5 (avalon_dma_inst_oc_axi_lite_bfm_0_driver_bfm_conduit_new_signal_5), //                         .new_signal_5
40
                .reset_reset_n                         (avalon_dma_inst_reset_bfm_reset_reset)                              //                    reset.reset_n
41
        );
42
 
43
        altera_avalon_clock_source #(
44
                .CLOCK_RATE (50000000),
45
                .CLOCK_UNIT (1)
46
        ) avalon_dma_inst_clk_bfm (
47
                .clk (avalon_dma_inst_clk_bfm_clk_clk)  // clk.clk
48
        );
49
 
50
/*
51
        altera_conduit_bfm avalon_dma_inst_oc_axi_lite_bfm_0_driver_bfm (
52
                .clk              (avalon_dma_inst_clk_bfm_clk_clk),                                   //     clk.clk
53
                .sig_new_signal   (avalon_dma_inst_oc_axi_lite_bfm_0_driver_bfm_conduit_new_signal),   // conduit.new_signal
54
                .sig_new_signal_1 (avalon_dma_inst_oc_axi_lite_bfm_0_driver_new_signal_1),             //        .new_signal_1
55
                .sig_new_signal_2 (avalon_dma_inst_oc_axi_lite_bfm_0_driver_bfm_conduit_new_signal_2), //        .new_signal_2
56
                .sig_new_signal_3 (avalon_dma_inst_oc_axi_lite_bfm_0_driver_bfm_conduit_new_signal_3), //        .new_signal_3
57
                .sig_new_signal_4 (avalon_dma_inst_oc_axi_lite_bfm_0_driver_new_signal_4),             //        .new_signal_4
58
                .sig_new_signal_5 (avalon_dma_inst_oc_axi_lite_bfm_0_driver_bfm_conduit_new_signal_5), //        .new_signal_5
59
                .reset            (1'b0)                                                               // (terminated)
60
        );
61
*/
62
        altera_avalon_reset_source #(
63
                .ASSERT_HIGH_RESET    (0),
64
                .INITIAL_RESET_CYCLES (50)
65
        ) avalon_dma_inst_reset_bfm (
66
                .reset (avalon_dma_inst_reset_bfm_reset_reset), // reset.reset_n
67
                .clk   (avalon_dma_inst_clk_bfm_clk_clk)        //   clk.clk
68
        );
69
 
70
/*
71
                .addr             (oc_axi_lite_bfm_0_driver_new_signal),   //  driver.new_signal
72
                .r_data           (oc_axi_lite_bfm_0_driver_new_signal_1), //        .new_signal_1
73
                .transaction_type (oc_axi_lite_bfm_0_driver_new_signal_2), //        .new_signal_2
74
                .w_data           (oc_axi_lite_bfm_0_driver_new_signal_3), //        .new_signal_3
75
                .done             (oc_axi_lite_bfm_0_driver_new_signal_4), //        .new_signal_4
76
                .start            (oc_axi_lite_bfm_0_driver_new_signal_5), //        .new_signal_5
77
*/
78
 
79
  initial begin
80
    #2000000
81
 
82
    i_r = 32'h00000000;
83
 
84
    for(i = 0; i < 4096; i=i+4)
85
    begin
86
      write(i_r, 32'hdeadbeef);
87
      i_r = i_r + 4;
88
    end
89
 
90
    write(32'h00002004, 32'h00000000); // read address
91
    write(32'h00002008, 32'h00001000); // write address
92
    write(32'h0000200C, 32'h00001000); // length
93
    write(32'h00002018, 32'h0000000a); // GO and WORD
94
 
95
 
96
  end
97
 
98
 
99
  task write;
100
    input [31:0] addr;
101
    input [31:0] data;
102
    begin
103
      $display("In task\n");
104
      avalon_dma_inst_oc_axi_lite_bfm_0_driver_bfm_conduit_new_signal_r = addr;       //addr
105
      avalon_dma_inst_oc_axi_lite_bfm_0_driver_bfm_conduit_new_signal_3_r = data;     // data
106
      avalon_dma_inst_oc_axi_lite_bfm_0_driver_bfm_conduit_new_signal_2_r  = 1'b0;    // write - transaction type
107
      avalon_dma_inst_oc_axi_lite_bfm_0_driver_bfm_conduit_new_signal_5_r = 1'b1;     // start
108
 
109
      wait(avalon_dma_inst_oc_axi_lite_bfm_0_driver_new_signal_4);      // done
110
      avalon_dma_inst_oc_axi_lite_bfm_0_driver_bfm_conduit_new_signal_5_r = 1'b0;     // start
111
 
112
      wait(~avalon_dma_inst_oc_axi_lite_bfm_0_driver_new_signal_4);     // done
113
    end
114
  endtask
115
 
116
endmodule

powered by: WebSVN 2.1.0

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