参考文档
https://www.cnblogs.com/chengqi521/p/7977616.html
前言
对于ZYNQ的开发,顶层一般为PS+PL,而PL一般会封装成顶层,只露出接口。
而PL的子模块一般会用到Vivado提供的IP,如果是把所有PL端的模块直接导入工程,再想拖到block diagram中,就会报错。
错误类似下述:
update_module_reference aeye_vivado_top_st_top_0_0
ERROR: [filemgmt 56-181] Reference 'st_top' contains sub-design file 'c:/Projects/SmartTracker/aeye_vivado/aeye_vivado.srcs/sources_1/ip/HISPI_MMCM/HISPI_MMCM.xci'. This sub-design is not allowed in the reference due to following reason(s):
The 'xilinx.com:ip:clk_wiz:6.0' core does not support module reference.
ERROR: [Common 17-39] 'update_module_reference' failed due to earlier errors. 遇到问题,第一时间想到的是一定有人曾经遇到过相同的问题,官网一搜果然有:https://forums.xilinx.com/t5/Design-Tools-Others/clock-wiz-dose-not-support-module-reference-in-vivado/m-p/852545#M11955
大意就是:不能这么玩,有的IP的xci不支持嵌套,只能把PL端的顶层打个IP包,在block diagram中作为自定义IP调用。
自定义IP的流程可参考参考文档中的表述,在此不赘述。
果然打完包,就可以在block diagram中帅气的使用了。
但改了代码又得重新生成IP,想想都麻烦啊。。。。
以上。