ISE调试过程中经常遇到的几种warning,以及解决办法

由于最近已经也刚刚接手项目,遇到特别多的问题,所以把遇到的问题记录一下,自己学习的同时,把过程分享出来,希望对大家有一定的帮助,共同进步。下面就是ISE调试过程中经常遇到的几种warning,以及解决办法,自己整理成文档,以供参考:

1、Redeclaration of ansi port XX is not allowed
“不允许重新声明ansi端口XX”。
出现的原因是在程序中声明了两遍端口信号
measure_freq(
output measure_end_reg1,
);
wire measure_end_reg1;//20181204
解决方法为:声明一遍信号即可:
measure_freq(
output wire measure_end_reg1,
);

2、Assignment to XX ignored, since the identifier is never used
忽略对 XX的赋值,因为从没使用此标识符。
ISE会对一些没被使用过的变量或者标识符进行优化,即使进行(KEEP=“TRUE”)的声明,但是在CDC文件上依然找不到,即不存在这个变量了。需要自己将这个XX变量取影响其他变量就可以关联起来了,这样综合器就不会丢下它不管,生成CDC文件就可以看到了

3、Net does not have a driver.
XILINX官方给出的解决方案是:This message appears when the Net or REG does not have driver。
官方给出的例子如下:
module (din ,clk, rst, out);
input din;
input clk;
input rst;
input out;

reg temp_reg;
reg Outdata;

always @ (posegde clk, posedge rst)begin
if(rst)
Outdata <= temp_reg;
else
Outdata <= din;
end
endmodule

In the above example ,the register ‘temp_reg’ is not driven by a source (drive)

4、Size mismatch in connection of port . Formal port size is 16-bit while actual signal size is 8-bit.

XILINX 官方给出的解决方案:This message appears when there is mismatch in size of argument and parameter. argument bit length differs from the parameter bit length for the port.
官方给出的例子:
Consider the following RTL:
file :ram .v
module ram (clk, we ,en,addr,di ,do);
input [13:0]addr;
……
//instantiating
module (clk, we,en,addr,di,do);
…….
input [13:0] addr;
…….
ram ram_inst(clk,we,en,addr[12],di,do);
endmodule
The creation of instance ram_inst for ram, the parameter port is of bit length 14(13:0),for input port addr,but the argument passed is of 1-bit length(i.e 12th bit)

5、Empty module remains a black box.
这个意思是fpga综合的时候当做黑盒对待,,即直接和其他部分连接,可以忽略此警告,也可以在模块例化的时候,顶上加一句(BOX_TYPE=”user_black_box”

6、Result of 25-bit expression is truncated to fit in 16-bit target.
位数不统一。25bit的结果被截断成16bit,这个需要查看设计中是否是正常需要进行截取低位。

7、Using initial value of ad_reg0 since it is never assigned
ad_reg0 没有分配初始值

8、Port read_en is not connected to this instance
端口read_en未连接到此实例,需要查看程序中是否是按照作者意图没有连接,还是忘记连接。

9、‘PLUG1_1’, unconnected in block instance ‘T9GS5L14_ctrl_u’, is tied to GND.
“Plug1_1”(在块实例“T9GS5L14_ctrl_”中未连接)绑定到GND

10、Input <PLUG1_1> is never used. This port will be preserved and left unconnected if it belongs to a top-level block or it belongs to a sub-block and the hierarchy of this sub-block is preserved.
输入PLUG1_1没有使用到。如果此端口属于顶级块或属于子块,并且此子块的层次结构被保留,则此端口将被保留并保持不连接。

11、Signal <temperature_data> is used but never assigned. This sourceless signal will be automatically connected to value GND.
使用信号<温度数据> ,但它从未分配。此无源信号将自动连接到值GND上。

12、Property “KEEP” (value “TRUE”) has not been applied on proper HDL object.
属性“keep”(值“true”)尚未应用于正确的HDL对象。

13、FFs/Latches <ad_read_back_en<0:0>> (without init value) have a constant value of 0 in block <adc_reg_ctrl>.
这句话是指adc_reg_ctrl模块中的ad_read_back_en信号是个固定值0,

14、FF/Latch <data_PLUG_back_11> (without init value) has a constant value of 0 in block <translater_u>. This FF/Latch will be trimmed during the optimization process.
这句话是指adc_reg translater ctrl模块中的data_PLUG_back_11信号是个固定值0,在优化过程中将被优化掉。

15、Node <data_send_15> of sequential type is unconnected in block <send_u1>.
序列类型的节点<data_send_15>在block<send_1>中未连接。

如果觉得对你有帮助请帮忙点赞,有误的地方欢迎各位铁汁留言,谢谢。

发布了18 篇原创文章 · 获赞 48 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weiyunguan8611/article/details/100342631
今日推荐