急!!verilog为什么会出现这些警告,怎么解决啊?1
发布网友
发布时间:2023-10-03 15:33
我来回答
共2个回答
热心网友
时间:2023-11-25 22:21
警告不是有编号嘛,网上查一下,quartus用的人多,大部分都有分析的。
第一段sysclk接地了(在代码中恒为0),自己看一下代码。
第二段的警告是clk和rst_b没有驱动,应该是管脚没有定义。
第三段同样是管脚(sysclk)管脚没定义,共有3个管脚没定义。
第四段是提醒没有使用的管脚置为零(接地)。
你这段代码的问题应该在
always @ (posedge clk) //对输入信号寄存两拍
begin
inputs_reg1 <= clk;
inputs_reg2 <= inputs_reg1;
if (inputs_reg1 == 1'b1 && inputs_reg2 == 1'b0)
这段,意思应该是对clk做边沿检测,但是哪有以clk为时钟对clk做边沿检测的···追问谢谢您的回答,很仔细。第一段和第二段我的代码明明没有那些问题啊,没有接地,也没有不定义啊?为什么还有这些警告?
如果没有这一段的话,就会出现clock skew > data delay方面的好多警告,你有什么好的办法吗?
追答做一下仿真你应该能看到sysclk的值会一直是0,边沿检测是错误的,所以接下的的逻辑都无法执行。边沿检测的时钟频率应该是要远远大于所检测的脉冲的。
No output dependent on input pin "clk"的警告的意思我理解错了,好久没用quartus,应该是说没有任何输出与这两个信号有关,原因就是边沿检测没有执行,if (inputs_reg1 == 1'b1 && inputs_reg2 == 1'b0)这个语句不成立,你自己看会有什么后果。
把边沿检测改好后应该没有问题。
热心网友
时间:2023-11-25 22:22
程序写的有问题,