IP核在modelsim里面的仿真

#modelsim与Quartus版本介绍:

笔者所用modelsim与Quartus是从Altera官网下载的ModelSim-Altera 10.1d (Quartus II 13.1)版本,Quartus调用modelsim仿真时,版本匹配。
但笔者更喜欢选择分开使用这两个软件。即在modelsim里面重新建工程,写测试文件,添加Quartus源文件来仿真Quartua工程。基于这个原因,本人的问题解决办法不同于网络上通用解决方案,故写出来提醒自己,也方便大家收录。

#案例一:

新建一个modelsim工程后,将所需要的源文件(包括IP核文件)添加至工程,
单击Compile——Compile_All,
这里写图片描述

发现编译无误
这里写图片描述

单击Simulate——Start_simulation,进行工程载入
这里写图片描述

出现找不到IP核单元的错误提示,注意此时的IP核是pll锁相环
这里写图片描述

错误解决办法:
选择Libraries——Add,添加库文件
库文件所在位置:modelsim-ase——aletra——Verilog(根据自己使用的语言去选择)——altera_mf || cycloneive(根据自己使用的板子去选择)
这里写图片描述

这里写图片描述

#案例二:
##基本步骤同案例一:

出现找不到IP核单元的错误提示,注意此时的IP核是PLL锁相环,片内RAM,以及大Boss:DDR
这里写图片描述

添加库文件后,PLL锁相环,片内RAM错误提示均已消失,但DDR出现新的错误提示
这里写图片描述

错误原因解释:
接口模块外部的时序环境较为复杂,牵扯到同步时钟域与异步时钟域,对于初学者,建议先不要在modelsim中对其进行仿真,直接用板子验证其正确与否。需要具备熟悉多个时钟域,各种输入的输出信号延时参数等一些知识的能力时,再选择在modelsim进行仿真。

##同步、异步时钟域:
同步时钟域,电路中由同一个时钟信号控制的区域。、如果两个时钟域时钟的频率和频率、相位和相位之间是相关的,我们就称这两个时钟域是同步时钟域。
异步时钟域容易出现的问题:
例如:从A时钟域出来的信号A直接进入B时钟域,从图可以看出,如果A信号在B时钟的上升沿发生变化,便会出现不定态。

猜你喜欢

转载自blog.csdn.net/proton_boke/article/details/72577450
今日推荐