altera公司cyclone V外接DDR3,通过HMC硬控,ddr3没能实现读写操作,请大神帮忙看看是怎么回事

2019-07-15 20:59发布

无标题.png
如图设计IP核时勾选Enable hard external memory interface
程序中调用IP核如下:
ddripsofttest        ddrtestrw(
                .pll_ref_clk(clkin),                //        pll_ref_clk.clk
                .global_reset_n(global_resetn),             //       global_reset.reset_n
                .soft_reset_n(soft_resetn),               //         soft_reset.reset_n
                .afi_clk(afi_clk),                    //            afi_clk.clk
                .afi_half_clk(afi_half_clk),               //       afi_half_clk.clk
                .afi_reset_n(afi_resetn),                //          afi_reset.reset_n
                .afi_reset_export_n(),         //   afi_reset_export.reset_n
                .mem_a(mem_a),                      //             memory.mem_a
                .mem_ba(mem_ba),                     //                   .mem_ba
                .mem_ck(mem_ck),                     //                   .mem_ck
                .mem_ck_n(mem_ckn),                   //                   .mem_ck_n
                .mem_cke(mem_cke),                    //                   .mem_cke
                .mem_cs_n(mem_csn),                   //                   .mem_cs_n
                .mem_ras_n(mem_rasn),                  //                   .mem_ras_n
                .mem_cas_n(mem_casn),                  //                   .mem_cas_n
                .mem_we_n(mem_wen),                   //                   .mem_we_n
                .mem_reset_n(mem_resetn),                //                   .mem_reset_n
                .mem_dq(mem_dq),                     //                   .mem_dq
                .mem_dqs(mem_dqs),                    //                   .mem_dqs
                .mem_dqs_n(mem_dqsn),                  //                   .mem_dqs_n
                .mem_odt(mem_odt),                    //                   .mem_odt
                .avl_ready_0(avl_ready),                //              avl_0.waitrequest_n
                .avl_burstbegin_0(avl_burstbegin),           //                   .beginbursttransfer
                .avl_addr_0(avl_addr),                 //                   .address
                .avl_rdata_valid_0(avl_rdata_valid),          //                   .readdatavalid
                .avl_rdata_0(avl_rdata),                //                   .readdata
                .avl_wdata_0(avl_wdata),                //                   .writedata
                .avl_read_req_0(avl_read_req),             //                   .read
                .avl_write_req_0(avl_write_req),            //                   .write
                .avl_size_0(avl_size),                 //                   .burstcount
                .avl_be_0(avl_be),                   //                   .byteenable
                .mp_cmd_clk_0_clk(afi_half_clk),           //       mp_cmd_clk_0.clk
                .mp_cmd_reset_n_0_reset_n(mp_resetn),   //   mp_cmd_reset_n_0.reset_n
                .mp_rfifo_clk_0_clk(afi_half_clk),         //     mp_rfifo_clk_0.clk
                .mp_rfifo_reset_n_0_reset_n(mp_resetn), // mp_rfifo_reset_n_0.reset_n
                .mp_wfifo_clk_0_clk(afi_half_clk),         //     mp_wfifo_clk_0.clk
                .mp_wfifo_reset_n_0_reset_n(mp_resetn), // mp_wfifo_reset_n_0.reset_n
                .local_init_done(local_init_done),            //             status.local_init_done
                .local_cal_success(local_cal_success),          //                   .local_cal_success
                .local_cal_fail(local_cal_fail),             //                   .local_cal_fail
                .oct_rzqin(oct_rzqin),                  //                oct.rzqin
                .pll_mem_clk(),                //        pll_sharing.pll_mem_clk
                .pll_write_clk(),              //                   .pll_write_clk
                .pll_locked(pll_locked),                 //                   .pll_locked
                .pll_write_clk_pre_phy_clk(),  //                   .pll_write_clk_pre_phy_clk
                .pll_addr_cmd_clk(),           //                   .pll_addr_cmd_clk
                .pll_avl_clk(),                //                   .pll_avl_clk
                .pll_config_clk(),             //                   .pll_config_clk
                .pll_mem_phy_clk(),            //                   .pll_mem_phy_clk
                .afi_phy_clk(),                //                   .afi_phy_clk
                .pll_avl_phy_clk()             //                   .pll_avl_phy_clk
);
其中clkin就是我的外部时钟,signalTAP II监测选择的采样时钟为afi_half_clk,下载程序后,检测不到任何信号,触发信号选择local_init_done为显示waiting for trigging,换了好几个触发条件都不行,感觉IP核没有起来

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。