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

Subversion Repositories i2c_to_wb

[/] [i2c_to_wb/] [trunk/] [sim/] [src/] [tb_dut.v] - Blame information for rev 2

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 qaztronic
// --------------------------------------------------------------------
2
//
3
// --------------------------------------------------------------------
4
 
5
 
6
`include "timescale.v"
7
 
8
 
9
module tb_dut(
10
                input tb_clk,
11
                input tb_rst
12
              );
13
 
14
 
15
  // --------------------------------------------------------------------
16
  // test bench variables
17
  reg test_it;
18
 
19
 
20
  // --------------------------------------------------------------------
21
  // wires
22
  wire i2c_data;
23
  wire i2c_clk;
24
 
25
 
26
  // --------------------------------------------------------------------
27
  //  async_mem_master
28
        pullup p1(i2c_data); // pullup scl line
29
        pullup p2(i2c_clk); // pullup sda line
30
 
31
  i2c_master_model
32
    i2c(
33
      .i2c_data(i2c_data),
34
      .i2c_clk(i2c_clk)
35
    );
36
 
37
 
38
  // --------------------------------------------------------------------
39
  //  i2c_to_wb_top
40
  wire i2c_data_out;
41
  wire i2c_clk_out;
42
  wire i2c_data_oe;
43
  wire i2c_clk_oe;
44
  wire [31:0] wb_data_i;
45
  wire [31:0] wb_data_o;
46
  wire [31:0] wb_addr_o;
47
  wire [3:0] wb_sel_o;
48
  wire wb_we_o;
49
  wire wb_cyc_o;
50
  wire wb_stb_o;
51
  wire wb_ack_i;
52
  wire wb_err_i;
53
  wire wb_rty_i;
54
 
55
  // tristate buffers
56
  assign i2c_data = i2c_data_oe ? i2c_data_out  : 1'bz;
57
  assign i2c_clk  = i2c_clk_oe  ? i2c_clk_out   : 1'bz;
58
 
59
  i2c_to_wb_top
60
    i_i2c_to_wb_top(
61
      .i2c_data_in(i2c_data),
62
      .i2c_clk_in(i2c_clk),
63
      .i2c_data_out(i2c_data_out),
64
      .i2c_clk_out(i2c_clk_out),
65
      .i2c_data_oe(i2c_data_oe),
66
      .i2c_clk_oe(i2c_clk_oe),
67
 
68
      .wb_data_i(wb_data_i),
69
      .wb_data_o(wb_data_o),
70
      .wb_addr_o(wb_addr_o),
71
      .wb_sel_o(wb_sel_o),
72
      .wb_we_o(wb_we_o),
73
      .wb_cyc_o(wb_cyc_o),
74
      .wb_stb_o(wb_stb_o),
75
      .wb_ack_i(wb_ack_i),
76
      .wb_err_i(wb_err_i),
77
      .wb_rty_i(wb_rty_i),
78
 
79
      .wb_clk_i(tb_clk),
80
      .wb_rst_i(tb_rst)
81
  );
82
 
83
 
84
  // --------------------------------------------------------------------
85
  //  glitch_generator 
86
  glitch_generator i_g1( i2c_data );
87
  glitch_generator i_g2( i2c_clk );
88
 
89
 
90
  // --------------------------------------------------------------------
91
  //  outputs
92
 
93
 
94
 
95
endmodule
96
 

powered by: WebSVN 2.1.0

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