(原创)Quartus 9.1里面升级Terasic Technologies Inc的Bug

  这几天在升级了Quartus 9.1之后,想添加Terasic的IP核,发现添加的速度很慢,原因是因为没有升级,所以下面就有一个warning,同时,加载ip的速度很慢,让人很受不了。

  虽然这个对整个工程的整体功能上没有什么影响,但是,每次加载ip核速度都这么慢,至少要两分钟的话,确实有点让人受不了,所以呢,我就按照他的要求给他进行升级。步骤如下:

1、选中要升级的ip核,右键Upgrade

注:这里,我已经升级成功了DM9000A,所以上面已经有了,如果没有升级的话,只有下面一个经典版。

2、出现如下画面

注:表示已经编译成功啦,说明已经没有问题啦,进行下一步。

3、点击close,进入HDL Files,如下图所示

注:这里面也显示是没有error,没有warnings,但是这里就是最关键的一步,上面的红圈所示,默认的情况下,里面是没有设置top level module,不过照理来看,只有一个verilog文件的情况下,如果你不设置的话,也应该是他。但是这里面,就是9.1带来的bug啦,如果你不设置的话,就会出现下面的结果,如下图1所示,当你设置了top level module的时候,就会多了一个信号,如下图2所示:

         

                        图1(没有加top level module) 

                                   图2(加了top level  module)

  很明显,这里是有差别了,当你手动添加了,top level module的时候,多了一个复位信号。可能有的人会说,竟然不添加也没有错误的话,大可以更新成功就行啦,这里,我当初也是这么很快的更新成功啦,可以最后的结果是,ip倒是更新成功啦,可是,结果却没有出来,也就是说,这个ip是无效的。所以,这里,强烈建议大家在做这一步的时候,手动添加一个top level module。

4、修改iRST_N信号的Avalon接口类型

  在一般的情况下,这个信号应该是clk信号的复位信号,不知道系统默认的是beginbrusttransfer_n信号,这里我只有手动更改它的信号类型。

注:修改的结果如上图所示,这里有个技巧,照理应该先修改interface里面,将avalon_slave_0改为clk,之后,修改signal type为rest_n,这里你会发现下面还是有warning,这里,你大可以再修改一下interface为clk,这样这个warning就消失了,这可能是软件的一个bug吧,没有什么,只是消除一个bug的小窍门。

5、进入下一步,到最后finish就ok!

注:点击finish就结束啦。

总结:

  这里就是一个复位信号没有被软件发现,导致后面ip的更新无效,这应该是9.1的一个bug吧,以前的版本我也更新过,但是也没出现过这些问题,这可能就是以前大家所说的,千万不要总更新quartus软件的原因吧,稳定的版本比较少。不过这里,我还是犯了一点求之过急的错误吧,要是我一步步的来,应该能早点发现这个问题。

原文地址:https://www.cnblogs.com/yingfang18/p/1885096.html