Bootstrap

QII中的几个Warning的解决方法

前几天看网上一个人说在仿经典基础程序按键消抖实验的时候0 error、0 warning,正好我也在仿这个实验,就想说看看我能不能也出现这样爽的结果,没想到最后出了6个warning,于是施展搜索大法,力争把几个warning消灭掉!

1.

Warning: An incorrect timescale is selected for the Verilog Output (.VO) file of this PLL design. It's required that the timescale should be 1 ps when simulating a PLL design in a third party EDA tool.

 

这个大致是关于时间精度的,在网上查了下,将SETTING中精度设置由1ns改为了原本的1ps,警告消失,警告的大致意思是在EDA第三方仿真工具下仿真PLL设计,就要求时间精度为1ps,不明白为什么一定要这样,有待以后解决。

 

2.

Warning: Found pins functioning as undefined clocks and/or memory enables
  Info: Assuming node CLK is an undefined clock

研究了半天,刚开始以为是没设定时钟管脚,还在纳闷明明所有PIN都设定了,后来看到网上说是没设定全局时钟,于是一系列设定后终于解决,并且明白了之前一直不理解的时钟频率问题,原来时钟频率是可以自行设定的,本来还以为只能testbench里假定呢,傻了~

下面是解决办法:

 选择Assignment > Setting命令,在Timing Analysis Settings下选择的Classic Timing Analyzer Settings

 Default required fmax中填入时钟频率,点击下面的Indicidual Clocks按钮

 点击New

 点击Applies to node后面的“...”按钮,并在弹出的Node finder中加入相应的CLK信号

 填上clock settings name(即为程序中CLK),设置时钟频率和占空比,点击OK

 然后一路OK下去,再编译的时候这个警告就会没有了

 

 

3.

Warning: The Reserve All Unused Pins setting has not been specified, and will default to 'As output driving ground'.

 

这个是比较诡异的警告,在网上搜了半天,没有确切的解决办法,这个信息大致的意思是未定义管脚设置接地,其实无关紧要,但是放在那不管很影响我的0warning记录,于是在setting里面找,后来发现在device里有个对话框device and pin options,打开后里面有个unused pins,把里面的选项由原来的接地改成三态,再仿真警告就没了,但奇怪的是,后来我又改了回来,再仿真,警告还是没有出现,不知何故。

 

4.

Warning: Expected ENABLE_CLOCK_LATENCY to be set to ON but is set to OFF

 

这个是说时钟延迟的一个设置应该设置为ON,网上都说没什么影响,貌似与时序仿真有关,不太清楚,设置在Classic Timing Analyzer中有个more setting,里面下拉菜单中就有ENABLE_CLOCK_LATENCY,设置为ON就OK。

 

5.

Warning (10238): Verilog Module Declaration warning at sw_debounce.v(5): ignored anonymous port(s) indicated by duplicate or dangling comma(s) in the port list for module "sw_debounce"

 

这个在网上死活没找到,最后只好自己解决,简单看了下,大致是端口定义那边的逗号出了问题,于是鼠标爬过去看,结果发现在定义端口的最后一个端口后面多了个逗号,真是马虎~

 

6.

Warning: Feature LogicLock is only available with a valid subscription license. Please purchase a software subscription to gain full access to this feature.

 

由于我用的版本是免费的,所以不支持逻辑锁定功能,不知道对程序有没有影响,消不下去。

 

郁闷~~~没有完成0warning,不过还好这个不是技术性问题,所以我也暂时忽略它吧!

一个晚上解决的,终于把键盘消抖程序完成了!

;