微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > the clock of DDR3 has multiple driver(s)

the clock of DDR3 has multiple driver(s)

时间:10-02 整理:3721RD 点击:

The design of the top is showing as follows. The software question is logical net 'CLK_OUT' has multiple driver(s). How can I solve the problems ? Thanks  a lot.

module top(
    input clk,
    input rst,

inout[15:0] mcb3_dram_dq,     
output[13:0] mcb3_dram_a,      
output[2:0] mcb3_dram_ba,      
output mcb3_dram_ras_n,   
output mcb3_dram_cas_n,   
output mcb3_dram_we_n,   
output mcb3_dram_odt,     
output mcb3_dram_cke,     
output mcb3_dram_ck,      
output mcb3_dram_ck_n,   
inout mcb3_dram_dqs,     
inout mcb3_dram_dqs_n,   
inout mcb3_dram_udqs,   
inout mcb3_dram_udqs_n,  
//output mcb3_dram_udm,     
output mcb3_dram_dm,      
output mcb3_dram_reset_n
    );

wire CLK_500M,CLK_100M,CLK_100M_TO;
wire LOCKED;
wire LOCK;
wire tx_SERDESSTROBE;
wire CLK_OUT;

my_pll my_pll_ins
   (// Clock in ports
    .CLK_IN1(clk),      // IN
    // Clock out ports
    .CLK_OUT1(CLK_500M),     // OUT
.CLK_OUT2(CLK_100M),     // OUT
.RESET(rst),// IN
    .LOCKED(LOCKED)
);      // OUT
BUFG BUFG_inst (
      .O(CLK_100M_TO), // 1-bit output: Clock buffer output
      .I(CLK_100M)  // 1-bit input: Clock buffer input
   );
BUFPLL #(
.divIDE(5)
)
tx_bufpll_inst(
.IOCLK(CLK_OUT),
//OUTPUT
.LOCKED(LOCKED),
//IN
.LOCK(LOCK),
//OUTPUT
.PLLIN(CLK_500M),          //IN
.GCLK(CLK_100M_TO),      //IN
.SERDESSTROBE(tx_SERDESSTROBE)//OUTPUT
);
my_ipcore # (
    .C3_P0_MASK_SIZE(16),
    .C3_P0_DATA_PORT_SIZE(128),
    .DEBUG_EN(0),
    .C3_MEMCLK_PERIOD(3200),
    .C3_CALIB_SOFT_IP("TRUE"),
    .C3_SIMULATION("FALSE"),
    .C3_RST_ACT_LOW(0),
    .C3_INPUT_CLK_TYPE("SINGLE_ENDED"),
    .C3_MEM_ADDR_ORDER("BANK_ROW_COLUMN"),
    .C3_NUM_DQ_PINS(8),
    .C3_MEM_ADDR_WIDTH(15),
    .C3_MEM_BANKADDR_WIDTH(3)
)
u_my_ipcore (
  .c3_sys_clk           (CLK_OUT),
  .c3_sys_rst_i           (rst),                        
  .mcb3_dram_dq           (mcb3_dram_dq),  
  .mcb3_dram_a            (mcb3_dram_a),  
  .mcb3_dram_ba           (mcb3_dram_ba),
  .mcb3_dram_ras_n        (mcb3_dram_ras_n),                        
  .mcb3_dram_cas_n        (mcb3_dram_cas_n),                        
  .mcb3_dram_we_n         (mcb3_dram_we_n),                          
  .mcb3_dram_cke          (mcb3_dram_cke),                          
  .mcb3_dram_ck           (mcb3_dram_ck),                          
  .mcb3_dram_ck_n         (mcb3_dram_ck_n),      
  .mcb3_dram_dqs          (mcb3_dram_dqs),                          
  .mcb3_dram_dqs_n        (mcb3_dram_dqs_n),
  .mcb3_dram_dm           (mcb3_dram_dm),
  .mcb3_dram_reset_n      (mcb3_dram_reset_n),
  .c3_clk0
        (),
  .c3_rst0
        (),
  .c3_calib_done    (),
     .mcb3_rzq               (),  
     .mcb3_zio               (),

     .c3_p0_cmd_clk                          (),
   .c3_p0_cmd_en                           (),
   .c3_p0_cmd_instr                        (),
   .c3_p0_cmd_bl                           (),
   .c3_p0_cmd_byte_addr                    (),
   .c3_p0_cmd_empty                        (),
   .c3_p0_cmd_full                         (),
   .c3_p0_wr_clk                           (),
   .c3_p0_wr_en                            (),
   .c3_p0_wr_mask                          (),
   .c3_p0_wr_data                          (),
   .c3_p0_wr_full                          (),
   .c3_p0_wr_empty                         (),
   .c3_p0_wr_count                         (),
   .c3_p0_wr_underrun                      (),
   .c3_p0_wr_error                         (),
   .c3_p0_rd_clk                           (),
   .c3_p0_rd_en                            (),
   .c3_p0_rd_data                          (),
   .c3_p0_rd_full                          (),
   .c3_p0_rd_empty                         (),
   .c3_p0_rd_count                         (),
   .c3_p0_rd_overflow                      (),
   .c3_p0_rd_error                         ()
);

endmodule

自己顶一下

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top