quartus编译时出现的几个警告

1. truncated value with size 32 to match size of target(10)

Verilog代码如下:

reg [9:0] send_cnt;

always @(posedge clk or negedge rst)

if(!rst)

  send_cnt < 'b0;

else

  send_cnt <= send_cnt + 'b1;

编译时产生上述警告。

警告原因:‘b1和'b0 默认为32位 与send_cnt 定义的10位宽不符。

解决方案:

reg [9:0] send_cnt;

always @(posedge clk or negedge rst)

if(!rst)

  send_cnt < 1'b0;

else

  send_cnt <= send_cnt + 1'b1;

2 hierarchies have connectivity warnings - see the Connectivity Checks report folder

原因:在编译之后,警告中“hierarchies”,一般情况下是例化时出现的问题。一般例化时,要是哪个连线没引出,没接上,或者是位宽不匹配就会出这个警告。

查找原因:点击图中的工具栏 compilation report,然后在Analysis & Synthesis 文件中找到 connectivity checks,点击即可查看到说明例化时哪里出现问题,如图中Warning后所示:位宽不匹配(32位的输入端口表达式比它驱动的16位输入端口宽)。

在设计中源代码如下:

parameter CV = 'd512;

test inst_test(

.clk(clk),

.rst(rst),

.height_i(CV)

);

解决办法:

将原代码改为:

parameter CV = 16'd512;

test inst_test(

.clk(clk),

.rst(rst),

.height_i(CV)

);

再次编辑,该警告消失。

3 Warning (18236): Number of processors has not been specified which may cause overloading on shared machines.  Set the global assignment NUM_PARALLEL_PROCESSORS in your QSF to an appropriate value for best performance.

原因:未指定处理器数量,这可能导致共享计算机上的过载。

解决方案:

quartus中打开tools,选择options,然后选择prosessing,修改如下:

然后打开该工程的qsf文件:在任意一行下面填上

set_global_assignment -name NUM_PARALLEL_PROCESSORS 4

再次编辑即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值