取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
Highlighted
Observer
Observer
554 次查看
注册日期: ‎06-08-2020

non-project模式下仿真PLL,can not find module

跳至解决方案

hi,all

在non-project模式下仿真PLL,显示can not find module,是少添加了什么文件吗?

下图中红色部分报错:Module <clk_PLL> not find while processing moduel instance <clk_PLL>

下图中蓝色部分是在原有的脚本中,参考了export simulation中的vlog.prj,添加了clk_PLL_clk_wiz.v和clk_PLL.v文件,以及glbl.v文件。

Snipaste_2020-06-10_10-45-26.png

0 项奖励
1 解答

已接受的解答
Highlighted
Xilinx Employee
Xilinx Employee
445 次查看
注册日期: ‎07-17-2008

@yaodundun 那是Xilinx的仿真库没有指定。你既然有工程模式的可参考,可以找一个elaborate.bat/sh (与vlog.prj在同一个文件夹下)。

对于行为级仿真来说,典型需要指定的库有:

-L unisims_ver -L unimacro_ver -L secureip 

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------

在原帖中查看解决方案

9 回复数
Highlighted
Moderator
Moderator
551 次查看
注册日期: ‎11-05-2010

对比一下列表,是不是按要求加了仿真所需要的文件:

report_compile_order -of [get_ips XX_PLL]

 

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 项奖励
Highlighted
Xilinx Employee
Xilinx Employee
548 次查看
注册日期: ‎07-17-2008

问题在于,你把其他文件都编译到了默认的work库,而把PLL相关的编译到了xil_defaultlib库。

两种方式解决:

1. 保留目前的编译列表,在xelab命令行添加-L xil_defaultlib,并且将xil_defaultlib.glbl跟bench一起作为顶层在xelab中加载。

2. 修改编译列表,将PLL的两个文件和glbl也编译到work,同样将glbl跟bench一起加载(这种方式不需要指定库)。

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
Highlighted
Observer
Observer
527 次查看
注册日期: ‎06-08-2020

hi , @hongh

用您说的命令看了一下,确实少加了mmcm_pll_drp_func_***.vh的6个文件。

但我加了mmcm_pll_drp_func_***.vh这几个文件后,报了另外一个错:

root scope declaration is not allowed in verilog 95/2K mode 。这个错误应该怎么去解决?

我用的vivado 版本是2019.1。

 

0 项奖励
Highlighted
Moderator
Moderator
519 次查看
注册日期: ‎11-05-2010

头文件是用include 指定,不直接加入仿真列表

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 项奖励
Highlighted
Observer
Observer
509 次查看
注册日期: ‎06-08-2020

不好意思,刚开始用脚本,还不熟悉。

请问,头文件是应该加在哪个地方 ? 语法是什么 ?

谢谢!

0 项奖励
Highlighted
Observer
Observer
460 次查看
注册日期: ‎06-08-2020

hi, @graces 

按照对您所说方法的理解,修改了2个版本的脚本:start_sim1.sh  和start_sim2.sh (具体见附件)

sim1.pngsim2.png

两个版本运行后,都报了如下的错误:

Module <IBUF> not found while processing module instance <clkin1_ibuf> [/home/yaoyinqi/....../sources_1/ip/clk_PLL/clk_PLL_clk_wiz.v:84]

Module <PLLE4_ADV> not found while processing module instance <plle4_adv_inst> [/home/yaoyinqi/....../sources_1/ip/clk_PLL/clk_PLL_clk_wiz.v:119]

Module <BUFG>  not found while processing module instance <clkout1_buf> [/home/yaoyinqi/....../sources_1/ip/clk_PLL/clk_PLL_clk_wiz.v:172]

您能帮我分析一下是什么原因吗?该怎么解决?

谢谢!

0 项奖励
Highlighted
Observer
Observer
456 次查看
注册日期: ‎06-08-2020

hi ,@hongh

请问一下,您说的指定头文件,是加在下图所示的仿真脚本里吗? 语法是#include " <filename>" 吗?

谢谢!include.png

0 项奖励
Highlighted
Xilinx Employee
Xilinx Employee
446 次查看
注册日期: ‎07-17-2008

@yaodundun 那是Xilinx的仿真库没有指定。你既然有工程模式的可参考,可以找一个elaborate.bat/sh (与vlog.prj在同一个文件夹下)。

对于行为级仿真来说,典型需要指定的库有:

-L unisims_ver -L unimacro_ver -L secureip 

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------

在原帖中查看解决方案

Observer
Observer
437 次查看
注册日期: ‎06-08-2020
hi,@graces
谢谢您的回答,我的问题解决了!
0 项奖励