time_limited原因分析及解决(要用IP核的特别注意)

最近在写一个数字调制解调的FPGA程序,想要为了方便简单用了三个IP核,我的Quartus版本为13.0。用了个DAC模块想要外接示波器看下波形。在程序programmer时一直跳出xxx_time_limited.sof错误(xxx是程序名),如图所示:

time_limited原因分析及解决(要用IP核的特别注意)_第1张图片

这时看output_files文件夹里面只有xxx_time_limited.sof这个sof文件。如果不管他直接烧录程序到开发板上的话,IP核的部分是会烧录失败的(我在程序里加入了led,但led亮了,说明不会影响到非IP核部分)。在网上查找了很多解决办法,发现我的Quartus是网上下载的破解版,在破解时按照破解方法(Vivado2017.4安装步骤及破解 - weixin_42693097的博客 - CSDN博客),只破解了软件加Nios II核,所以对IP核的破解是不全的(很多人应该都是这样)。此时license setup界面如图所示:

假设此时证书名为license1.dat

time_limited原因分析及解决(要用IP核的特别注意)_第2张图片

于是我认为只要将所有IP核都破解了便可以正常烧录了,于是找到了一篇帖子(quartus ii IP核的破解 - Studying…… - CSDN博客),按照里面讲的将license文件里的内容替换,注意将所有的“HOSTID=68f728727cd8”里面等于号后的数字部分改成你自己的HOSTID(自己的HOSTID大家应该知道在哪吧),改完之后保存。再看license setup界面如图所示:

假设此时证书名为license.dat

time_limited原因分析及解决(要用IP核的特别注意)_第3张图片

可以看到所有的IP核都已经破解。然后重新编译,发现之前的EDA Netlist Writer错误也解决了,看来IP核得到正确破解了。这里放一个之前的错误提示,都说的什么opencore问题(但这个却不影响modelsim软件仿真,现在也不清楚会不会影响硬件仿真),如图:

time_limited原因分析及解决(要用IP核的特别注意)_第4张图片

 

但是我发现这样做了好像还是不够,看到好多地方都在说要做时钟约束,于是我也打开TimeQuest Timing Analyzer,按照(altera小实验——TimeQuest Timing Analyzer初步使用 - moon9999的博客 - CSDN博客)做了下时钟约束,虽然现在也不知道有什么用,但这解决了我系统编译时TimeQuest Timing Analyzer的错误(但是最后还是会有一个unconstrained paths错误)。

 

好,几个问题解决了过后,再重新programmer,“惊喜”的发现----还是出现了xxx_time_limited提示,欲哭无泪啊。但是,在加载sof文件时,选择add file后,发现除了xxx_time_limited.sof外,还有一个xxx.sof文件(这个跟之前是不一样的,不知道是破解IP核还是时序约束导致的,总归是好事),是不是加载这个就会成功了呢?有点小激动,但是现在手边还没有示波器,所以只能等两天试过了再继续总结了。

根据之后的实验,发现按照上面的方法将所有的IP核都破解了过后,程序成功的下载到开发板上了,也成功的用示波器看到了波形!!!

还有有一个需要注意的问题,就是在新建IP核的时候要将license.dat换回license1.dat,再重启软件,要不然生成IP核的时候会卡住。

有相关问题的话欢迎大家提问

你可能感兴趣的:(FPGA)