0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在Vivado调用MIG产生DDR3的问题解析

FPGA设计论坛 来源:CSDN技术社区 2025-05-03 10:21 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1.[Place 30-51] IDELAYCTRL elements have been found to be associated with IODELAY_GROUP ‘DDR3_IODELAY_MIG0’, but the design does not contain IODELAY elements associated with this IODELAY_GROUP.

问题解析:这个问题很简单,就是DDR3 module 的输入时钟与所需要的时钟不匹配,例如配置所需的时钟为200MHz

32350c82-20f2-11f0-9310-92fbcf53809c.png




下面是调用的DDR3模块的,模块的倒数第二行是,模块的时钟输入,时钟源来自PLL产生的系统时钟的倍频。

ddr3 ddr3_1 ( // Memory interface ports .ddr3_addr           (ddr3_addr), .ddr3_ba            (ddr3_ba), .ddr3_cas_n          (ddr3_cas_n), .ddr3_ck_n           (ddr3_ck_n), .ddr3_ck_p           (ddr3_ck_p),.ddr3_cke           (ddr3_cke), .ddr3_ras_n          (ddr3_ras_n), .ddr3_reset_n         (ddr3_reset_n), .ddr3_we_n           (ddr3_we_n), .ddr3_dq            (ddr3_dq), .ddr3_dqs_n          (ddr3_dqs_n), .ddr3_dqs_p          (ddr3_dqs_p), .init_calib_complete      (init_calib_complete), .ddr3_cs_n           (ddr3_cs_n), .ddr3_dm            (ddr3_dm), .ddr3_odt           (ddr3_odt), // Application interface ports.ui_clk            (ui_clk), .ui_clk_sync_rst        (ui_clk_sync_rst), // outputui_clk_sync_rst.mmcm_locked          (), // outputmmcm_locked.aresetn            (1'b1), // inputaresetn.app_sr_req          (1'b0), // inputapp_sr_req.app_ref_req          (1'b0), // inputapp_ref_req.app_zq_req          (1'b0), // inputapp_zq_req.app_sr_active         (), // outputapp_sr_active.app_ref_ack          (), // outputapp_ref_ack.app_zq_ack          (), // outputapp_zq_ack// Slave Interface Write Address Ports.s_axi_awid          (s00_axi_awid), // input [0:0]s_axi_awid.s_axi_awaddr         (s00_axi_awaddr), // input [29:0]s_axi_awaddr.s_axi_awlen          (s00_axi_awlen), // input [7:0]s_axi_awlen.s_axi_awsize         (s00_axi_awsize), // input [2:0]s_axi_awsize.s_axi_awburst         (s00_axi_awburst), // input [1:0]s_axi_awburst.s_axi_awlock         (s00_axi_awlock), // input [0:0]s_axi_awlock.s_axi_awcache         (s00_axi_awcache), // input [3:0]s_axi_awcache.s_axi_awprot         (s00_axi_awprot), // input [2:0]s_axi_awprot.s_axi_awqos          (s00_axi_awqos), // input [3:0]s_axi_awqos.s_axi_awvalid         (s00_axi_awvalid), // inputs_axi_awvalid.s_axi_awready         (s00_axi_awready), // outputs_axi_awready// Slave Interface Write Data Ports.s_axi_wdata          (s00_axi_wdata), // input [63:0]s_axi_wdata.s_axi_wstrb          (s00_axi_wstrb), // input [7:0]s_axi_wstrb.s_axi_wlast          (s00_axi_wlast), // inputs_axi_wlast.s_axi_wvalid         (s00_axi_wvalid), // inputs_axi_wvalid.s_axi_wready         (s00_axi_wready), // outputs_axi_wready// Slave Interface Write Response Ports.s_axi_bid           (s00_axi_bid), // output [0:0]s_axi_bid.s_axi_bresp          (s00_axi_bresp), // output [1:0]s_axi_bresp.s_axi_bvalid         (s00_axi_bvalid), // outputs_axi_bvalid.s_axi_bready         (s00_axi_bready), // inputs_axi_bready// Slave Interface Read Address Ports.s_axi_arid          (s00_axi_arid), // input [0:0]s_axi_arid.s_axi_araddr         (s00_axi_araddr), // input [29:0]s_axi_araddr.s_axi_arlen          (s00_axi_arlen), // input [7:0]s_axi_arlen.s_axi_arsize         (s00_axi_arsize), // input [2:0]s_axi_arsize.s_axi_arburst         (s00_axi_arburst), // input [1:0]s_axi_arburst.s_axi_arlock         (s00_axi_arlock), // input [0:0]s_axi_arlock.s_axi_arcache         (s00_axi_arcache), // input [3:0]s_axi_arcache.s_axi_arprot         (s00_axi_arprot), // input [2:0]s_axi_arprot.s_axi_arqos          (s00_axi_arqos), // input [3:0]s_axi_arqos.s_axi_arvalid         (s00_axi_arvalid), // inputs_axi_arvalid.s_axi_arready         (s00_axi_arready), // outputs_axi_arready// Slave Interface Read Data Ports.s_axi_rid           (s00_axi_rid), // output [0:0]s_axi_rid.s_axi_rdata          (s00_axi_rdata), // output [63:0]s_axi_rdata.s_axi_rresp          (s00_axi_rresp), // output [1:0]s_axi_rresp.s_axi_rlast          (s00_axi_rlast), // outputs_axi_rlast.s_axi_rvalid         (s00_axi_rvalid), // outputs_axi_rvalid.s_axi_rready         (s00_axi_rready), // inputs_axi_rready// System Clock Ports.sys_clk_i           (clk_DDR    ),// input DDR3 CLK,DDR3模块的输入时钟.sys_rst            (rst_n     ));// input sys_rst

下面是系统时钟缓冲模块IBUFG module,和时钟倍频PLL module,如果这个时候的clk_DDR时钟不是DRR3模块所需要的200MHz,那么就会产生上面的错误。

IBUFGIBUFG_U(  .O(clk_bufg), .I(sys_clk) );//generate the video and CMOS sensor clocksys_pllvideo  (  // Clock out ports  .clk_out1(clk_video),  // output clk_out1,40M.clk_out2(clk_40m),  // output clk_out2  .clk_out3(adc_clk),  // output clk_out3,125M.clk_out4(clk_DDR),  // output clk_out3,125M// Status and control signals  .locked(     ),   // output locked// Clock in ports  .clk_in1(clk_bufg));   // input clk_in1

解决方法:把PLL部分的clk_DDR的时钟输出为200MHz就可以了,或者把MIG中的DDR3的输入时钟改成你想要的时钟大小即可,反正时钟匹配上就可以了。

324c5ba8-20f2-11f0-9310-92fbcf53809c.png


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • DDR3
    +关注

    关注

    2

    文章

    287

    浏览量

    43957
  • 时钟
    +关注

    关注

    11

    文章

    1953

    浏览量

    134594
  • MIG
    MIG
    +关注

    关注

    0

    文章

    13

    浏览量

    11280
  • Vivado
    +关注

    关注

    19

    文章

    848

    浏览量

    70520

原文标题:VIVADO调用MIG产生DDR3时实例化遇到的问题以及解决方法

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于Arty Artix-35T FPGA开发板的DDR3mig介绍

    使用Vivado 2018.1。 第一篇:DDR3mig的介绍 1 DDR3介绍 以镁光的MT41K128M16为例来介绍DDR3。  
    的头像 发表于 01-01 10:09 5176次阅读
    基于Arty Artix-35T FPGA开发板的<b class='flag-5'>DDR3</b>和<b class='flag-5'>mig</b>介绍

    cyclone V控制DDR3的读写,quartusII配置DDR3 ip核后,如何调用实现DDR3的读写呢,谢谢

    DDR3的IP核配置完毕后,产生了好多文件,请问如何调用这些文件实现DDR3的读写呢?看了一些文章,说是要等到local_init_done为高电平后,才能进行读写操作。请问
    发表于 01-14 18:15

    完成DDR3校准的MIG IP失败的原因?

    大家好 我的问题是DDR3校准完成失败。调试结果:dbg_wrcal_err = 1,通过波形,我们可以看到写入模式不匹配。 我的问题是MIG IP Core配置中是否有任何参数可以调整它?或者我
    发表于 07-23 10:09

    如何解决电路板中的DDR3校准问题?

    我正在使用vivado 2014.3,MIG 7 ddr3 verilog IP,内存时钟400MHz,用户时钟200 MHz,ddr数据宽度64位,AXI数据宽度128位。
    发表于 08-05 13:45

    如何在Vivado中使用MIG设计DDR3 SODIMM接口?

    亲爱的先生Vivado:v2016.4装置:Artix-7我尝试Vivado中使用MIG设计DDR3 SODIMM接口。但是,
    发表于 08-24 06:45

    Quamtum-SI DDR3仿真解析

    Quamtum-SI DDR3仿真解析 Automated DDR3 Analysis  
    发表于 04-29 09:00 4750次阅读
    Quamtum-SI <b class='flag-5'>DDR3</b>仿真<b class='flag-5'>解析</b>

    基于FPGA的DDR3多端口读写存储管理的设计与实现

    为了解决视频图形显示系统中多个端口访问DDR3的数据存储冲突,设计并实现了基于FPGA的DDR3存储管理系统。DDR3存储器控制模块使用MIG生成D
    发表于 11-18 18:51 7966次阅读
    基于FPGA的<b class='flag-5'>DDR3</b>多端口读写存储管理的设计与实现

    关于DDR3信号扇出和走线问题解析

    DDR3内存已经被广泛地使用,专业的PCB设计工程师会不可避免地会使用它来设计电路板。本文为您提出了一些关于DDR3信号正确扇出和走线的建议,这些建议同样也适用于高密度、紧凑型的电路板设计。
    发表于 06-16 07:17 1w次阅读
    关于<b class='flag-5'>DDR3</b>信号扇出和走线问<b class='flag-5'>题解析</b>

    基于Digilent介绍DDR3mig

    我们通过Configuration,Package,Speed...等DDR3的命名可知道DDR3的容量,封装,速度等级等信息。
    发表于 03-03 11:04 2571次阅读
    基于Digilent介绍<b class='flag-5'>DDR3</b>和<b class='flag-5'>mig</b>

    关于Virtex7上DDR3的测试例程详解

    这篇文章我们讲一下Virtex7上DDR3的测试例程,Vivado也提供了一个DDR的example,但却是纯Verilog代码,比较复杂,这里我们把DDR3
    的头像 发表于 05-02 09:05 4189次阅读
    关于Virtex7上<b class='flag-5'>DDR3</b>的测试例程详解

    lattice DDR3 IP核的生成及调用过程

    本文以一个案例的形式来介绍lattice DDR3 IP核的生成及调用过程,同时介绍各个接口信号的功能作用
    发表于 03-16 14:14 2687次阅读
    lattice <b class='flag-5'>DDR3</b> IP核的生成及<b class='flag-5'>调用</b>过程

    Virtex7上DDR3的测试例程

      这篇文章我们讲一下Virtex7上DDR3的测试例程,Vivado也提供了一个DDR的example,但却是纯Verilog代码,比较复杂,这里我们把DDR3
    的头像 发表于 08-16 10:28 3083次阅读

    DDR3缓存模块仿真平台构建步骤

    复制Vivado工程路径vivado_prj\at7.srcs\sources_1\ip\mig_7series_0下的mig_7series_0文件夹。粘贴到仿真路径testbenc
    的头像 发表于 08-12 11:08 2151次阅读

    基于AXI总线的DDR3读写测试

    本文开源一个FPGA项目:基于AXI总线的DDR3读写。之前的一篇文章介绍了DDR3简单用户接口的读写方式:《DDR3读写测试》,如果在某些项目中,我们需要把DDR挂载到AXI总线上,
    的头像 发表于 09-01 16:20 7151次阅读
    基于AXI总线的<b class='flag-5'>DDR3</b>读写测试

    基于FPGA的DDR3读写测试

    本文介绍一个FPGA开源项目:DDR3读写。该工程基于MIG控制器IP核对FPGA DDR3实现读写操作。
    的头像 发表于 09-01 16:23 3272次阅读
    基于FPGA的<b class='flag-5'>DDR3</b>读写测试