Sections

Verilog: testbench for counters

// ~~~~~~~~ ~~~~~~~~ ~~~~~~~~ ~~~~~~~~ ~~~~~~~~ ~~~~~~~~
// ~ --
// ~ Published by:   www.asic-digital-design.com
// ~ --
// ~ Description: This is TB for counters.
// ~ --     no monitors implemented!
// ~ --     need to observe status of outputs in waveform viewer!
// ~ --
// ~~~~~~~~ ~~~~~~~~ ~~~~~~~~ ~~~~~~~~ ~~~~~~~~ ~~~~~~~~

module counters_tb;

  wire arst_i;
  wire clk_i;
 
  wire [7:0] dout_bindir_i;
  wire [3:0] dout_bcddir_i;
  wire [7:0] dout_john_i;
  wire [7:0] dout_1ofn_i;

// -- designs under verification --
// -- ~ --
  cnt_bindir i_cnt_bindir (
    .dout(dout_bindir_i),   // output --
    .dir(1'b0),             // input  --
    .clk(clk_i),            // input  --
    .arst(arst_i),          // input  --
    .srst(1'b0),            // input  --
    .en(1'b1)               // input  --
  );
// -- ~ --
  cnt_bcddir i_cnt_bcddir (
    .dout4(dout_bcddir_i),  // output --
    .dir(1'b0),             // input  --
    .clk(clk_i),            // input  --
    .arst(arst_i),          // input  --
    .srst(1'b0),            // input  --
    .en(1'b1)               // input  --
  );
// -- ~ --
  cnt_john i_cnt_john (
    .dout(dout_john_i),     // output --
    .clk(clk_i),            // input  --
    .arst(arst_i),          // input  --
    .srst(1'b0),            // input  --
    .en(1'b1)               // input  --
  );
// -- ~ --
  shift_1ofn i_shift_1ofn (
    .dout(dout_1ofn_i),     // output --
    .clk(clk_i),            // input  --
    .arst(arst_i),          // input  --
    .srst(1'b0),            // input  --
    .en(1'b1)               // input  --
  );

// -- generator models --
// -- ~ --
  reset_gen i_reset_gen (
    .arst(arst_i)   // output --
  );
// -- ~ --
  clock_gen i_clock_gen (
    .clk(clk_i),    // output --
    .arst(arst_i)   // input  --
  );

endmodule

Sign in  |  Terms  |  Report Abuse  |  Print page  |  Powered by Google Sites