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

Subversion Repositories versatile_mem_ctrl

[/] [versatile_mem_ctrl/] [trunk/] [bench/] [tb.v] - Diff between revs 32 and 33

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 32 Rev 33
Line 3... Line 3...
module versatile_mem_ctrl_tb
module versatile_mem_ctrl_tb
  (
  (
   output OK
   output OK
   );
   );
 
 
   // number of wb clock domains
 
   parameter nr_of_wb_clk_domains = 1;
 
   // number of wb ports in each wb clock domain
 
   parameter nr_of_wb_ports_clk0  = 3;
 
   parameter nr_of_wb_ports_clk1  = 0;
 
   parameter nr_of_wb_ports_clk2  = 0;
 
   parameter nr_of_wb_ports_clk3  = 0;
 
 
 
   reg    sdram_clk, wb_clk, wb_rst;
   reg    sdram_clk, wb_clk, wb_rst;
 
 
   wire [31:0] wb0_dat_i;
   wire [31:0] wb0_dat_i;
   wire [3:0]  wb0_sel_i;
   wire [3:0]  wb0_sel_i;
   wire [31:0] wb0_adr_i;
   wire [31:0] wb0_adr_i;
Line 54... Line 46...
   wire [1:0]  dqm, dqmd, dm_rdqs;
   wire [1:0]  dqm, dqmd, dm_rdqs;
   wire        dq_oe, dqs_oe;
   wire        dq_oe, dqs_oe;
   wire        cs_n, cs_nd, ras, rasd, cas, casd, we, wed, cke, cked;
   wire        cs_n, cs_nd, ras, rasd, cas, casd, we, wed, cke, cked;
   wire        ck_fb_i, ck_fb_o;
   wire        ck_fb_i, ck_fb_o;
 
 
   // 
 
   wire [36*nr_of_wb_ports_clk0-1:0] wb_dat_i_v;
 
   wire [36*nr_of_wb_ports_clk0-1:0] wb_adr_i_v;
 
   wire [31:0]                       wb_dat_o_v;
 
   wire [0:nr_of_wb_ports_clk0-1]    wb_cyc_i_v;
 
   wire [0:nr_of_wb_ports_clk0-1]    wb_stb_i_v;
 
   wire [0:nr_of_wb_ports_clk0-1]    wb_ack_o_v;
 
   // 
 
   assign wb_dat_i_v = {4'h0,wb4_dat_i,4'h0,wb1_dat_i,3'h0,wb0_dat_i};
 
   assign wb_adr_i_v = {4'h0,wb4_adr_i,4'h0,wb1_adr_i,3'h0,wb0_adr_i};
 
   assign wb_cyc_i_v = {wb4_cyc_i,wb1_cyc_i,wb0_cyc_i};
 
   assign wb_stb_i_v = {wb4_stb_i,wb1_stb_i,wb0_stb_i};
 
   assign wb_ack_o_v = {};
 
 
 
`ifdef SDR_16          // SDR SDRAM
`ifdef SDR_16          // SDR SDRAM
   wb0 wb0i
   wb0 wb0i
     (
     (
      .adr(wb0_adr_i),
      .adr(wb0_adr_i),
      .bte(wb0_bte_i),
      .bte(wb0_bte_i),
Line 164... Line 142...
      .dat_i(wb4_dat_o),
      .dat_i(wb4_dat_o),
      .reset(wb_rst)
      .reset(wb_rst)
      );
      );
`endif
`endif
 
 
  versatile_mem_ctrl_top dut (
   versatile_mem_ctrl_top # (
    // wb clk0
    .nr_of_wb_clk_domains(2),
    .wb_dat_i_0(wb_dat_i_v),
    .nr_of_wb_ports_clk0(2),
    .wb_dat_o_0(wb_dat_o_v),
    .nr_of_wb_ports_clk1(1),
    .wb_adr_i_0(wb_adr_i_v),
    .nr_of_wb_ports_clk2(0),
    //.wb_sel_i_0(),     
    .nr_of_wb_ports_clk3(0))
    //.wb_cti_i_0(),     
   dut (
    //.wb_bte_i_0(),     
    .wb_adr_i_0({{wb0_adr_i[31:2],wb0_we_i,wb0_bte_i,wb0_cti_i},{wb1_adr_i[31:2],wb1_we_i,wb1_bte_i,wb1_cti_i}}),
    //.wb_we_i_0(),
    .wb_dat_i_0({{wb0_dat_i,wb0_sel_i},{wb1_dat_i,wb1_sel_i}}),
    .wb_cyc_i_0(wb_cyc_i_v),
    .wb_dat_o_0({wb0_dat_o,wb1_dat_o}),
    .wb_stb_i_0(wb_stb_i_v),
    .wb_stb_i_0({wb0_stb_i,wb1_stb_i}),
    .wb_ack_o_0(wb_ack_o_v),
    .wb_cyc_i_0({wb0_cyc_i,wb1_cyc_i}),
    // wb clk1
    .wb_ack_o_0({wb0_ack_o,wb1_ack_o}),
    .wb_dat_i_1(),
 
    .wb_dat_o_1(),
    .wb_adr_i_1({wb4_adr_i[31:2],wb4_we_i,wb4_bte_i,wb4_cti_i}),
    .wb_adr_i_1(),
    .wb_dat_i_1({wb4_dat_i,wb4_sel_i}),
    //.wb_sel_i_1(),    
    .wb_dat_o_1(wb4_dat_o),
    //.wb_cti_i_1(),    
    .wb_stb_i_1(wb4_stb_i),
    //.wb_bte_i_1(),    
    .wb_cyc_i_1(wb4_cyc_i),
    //.wb_we_i_1(),     
    .wb_ack_o_1(wb4_ack_o),
    .wb_cyc_i_1(),
 
    .wb_stb_i_1(),
    .wb_adr_i_2(2'b0),
    .wb_ack_o_1(),
    .wb_dat_i_2(2'b0),
    // wb clk2 
 
    .wb_dat_i_2(),
 
    .wb_dat_o_2(),
    .wb_dat_o_2(),
    .wb_adr_i_2(),
    .wb_stb_i_2(2'b0),
    //.wb_sel_i_2(),    
    .wb_cyc_i_2(2'b0),
    //.wb_cti_i_2(),    
 
    //.wb_bte_i_2(),    
 
    //.wb_we_i_2(),     
 
    .wb_cyc_i_2(),
 
    .wb_stb_i_2(),
 
    .wb_ack_o_2(),
    .wb_ack_o_2(),
    // wb clk3
 
    .wb_dat_i_3(),
    .wb_adr_i_3(2'b0),
 
    .wb_dat_i_3(2'b0),
    .wb_dat_o_3(),
    .wb_dat_o_3(),
    .wb_adr_i_3(),
    .wb_stb_i_3(2'b0),
    //.wb_sel_i_3(),    
    .wb_cyc_i_3(2'b0),
    //.wb_cti_i_3(),    
 
    //.wb_bte_i_3(),    
 
    //.wb_we_i_3(),     
 
    .wb_cyc_i_3(),
 
    .wb_stb_i_3(),
 
    .wb_ack_o_3(),
    .wb_ack_o_3(),
 
 
    // SDR SDRAM 16
    // SDR SDRAM 16
   `ifdef SDR_16
   `ifdef SDR_16
    .ba_pad_o(ba),
    .ba_pad_o(ba),
    .a_pad_o(a),
    .a_pad_o(a),
    .cs_n_pad_o(cs_n),
    .cs_n_pad_o(cs_n),
Line 245... Line 213...
    .dqs_n_pad_io(dqs_n_io),
    .dqs_n_pad_io(dqs_n_io),
    .rdqs_n_pad_i(),
    .rdqs_n_pad_i(),
    .odt_pad_o(),
    .odt_pad_o(),
    `endif
    `endif
    // misc     
    // misc     
    .wb_clk(wb_clk),
   .wb_clk({wb_clk,wb_clk}),
    .wb_rst(wb_rst),
   .wb_rst({wb_rst,wb_rst}),
    .sdram_clk(sdram_clk)
   .sdram_clk(sdram_clk),
 
   .sdram_rst(wb_rst)
    );
    );
 
 
`ifdef SDR_16
`ifdef SDR_16
   assign #1 dq_io = dq_oe ? dq_o : {16{1'bz}};
   assign #1 dq_io = dq_oe ? dq_o : {16{1'bz}};
   assign #1 dq_i  = dq_io;
   assign #1 dq_i  = dq_io;

powered by: WebSVN 2.1.0

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