VIVADO报错:[opt31-67]之MIG ip核综合失败
参考内容
博客1:添加IP核的方法错误
博客2: 模块例化时有输入端口未连接
报错原因
平时我们我们正常生成ip核的操是如下的,这下的结果就会导致最终报错。报错结果如下
[Opt 31-67] Problem: A LUT5 cell in the design is missing a connection on input pin I0,… The LUT cell nameis:u_mig_7series_0/u_mig_7series_0_mig/u_memc_ui_top_std/mem_intfc0/mc0/rank_mach0/rank_common0/sr_cntrl.sre_request_logic.sre_request_r_i_1.
根据上面参考博客2的方法发现是app_ref_req有问题,但这个信号并没有和顶层的app_ref_req这个信号连接。所以在顶层连不连都没用
app_ref_req官方解释:用于ddr充电刷新的一个信号。MIG ip核会自动刷新ddr的,所以只有关闭了自动刷新这个信号才会有效,至于怎么关我也没找到。
解决办法
操作如下,在添加mig ip最后一步generate output products时改为global
附implemention成功图
2023.6.18更新MIG新遇到的bug
这个bug是vivado2019特有的,
在进行MIG ip设置的时钟,会进入到Memory Options C0…(最上面一行可看到),这个界面中的input clock period 设置的是200Mhz(这是来自我们调用pll生成的时钟),当产生输出后,再次进入到MIG ip设置界面,却发现这点被自动改成400或500Mhz。解决办法,用其它版本的没问题。当然用2019升级老版本的mig也是没有问题的(前提是升级后别去修改mig的设置参数)