verilog为什么会出现这些警告,
来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/08/19 13:02:03
verilog为什么会出现这些警告,
//
module pll2(
clk,
rst_b,
sysclk
);
input clk;
input rst_b;
output sysclk;
reg sysclk;
reg [2:0] time_cnt;
reg [2:0] time_cnt_n;
reg inputs_reg1;
reg inputs_reg2;
always @ (posedge clk) //对输入信号寄存两拍
begin
inputs_reg1
//
module pll2(
clk,
rst_b,
sysclk
);
input clk;
input rst_b;
output sysclk;
reg sysclk;
reg [2:0] time_cnt;
reg [2:0] time_cnt_n;
reg inputs_reg1;
reg inputs_reg2;
always @ (posedge clk) //对输入信号寄存两拍
begin
inputs_reg1
![verilog为什么会出现这些警告,](/uploads/image/z/8032607-71-7.jpg?t=verilog%E4%B8%BA%E4%BB%80%E4%B9%88%E4%BC%9A%E5%87%BA%E7%8E%B0%E8%BF%99%E4%BA%9B%E8%AD%A6%E5%91%8A%2C)
警告不是有编号嘛,网上查一下,quartus用的人多,大部分都有分析的.
第一段sysclk接地了(在代码中恒为0),自己看一下代码.
第二段的警告是clk和rst_b没有驱动,应该是管脚没有定义.
第三段同样是管脚(sysclk)管脚没定义,共有3个管脚没定义.
第四段是提醒没有使用的管脚置为零(接地).
你这段代码的问题应该在
always @ (posedge clk) //对输入信号寄存两拍
begin
inputs_reg1
再问: 谢谢您的回答,很仔细。第一段和第二段我的代码明明没有那些问题啊,没有接地,也没有不定义啊?为什么还有这些警告? 如果没有这一段的话,就会出现clock skew > data delay方面的好多警告,你有什么好的办法吗?
再答: 做一下仿真你应该能看到sysclk的值会一直是0,边沿检测是错误的,所以接下的的逻辑都无法执行。边沿检测的时钟频率应该是要远远大于所检测的脉冲的。 No output dependent on input pin "clk"的警告的意思我理解错了,好久没用quartus,应该是说没有任何输出与这两个信号有关,原因就是边沿检测没有执行,if (inputs_reg1 == 1'b1 && inputs_reg2 == 1'b0)这个语句不成立,你自己看会有什么后果。 把边沿检测改好后应该没有问题。
第一段sysclk接地了(在代码中恒为0),自己看一下代码.
第二段的警告是clk和rst_b没有驱动,应该是管脚没有定义.
第三段同样是管脚(sysclk)管脚没定义,共有3个管脚没定义.
第四段是提醒没有使用的管脚置为零(接地).
你这段代码的问题应该在
always @ (posedge clk) //对输入信号寄存两拍
begin
inputs_reg1
再问: 谢谢您的回答,很仔细。第一段和第二段我的代码明明没有那些问题啊,没有接地,也没有不定义啊?为什么还有这些警告? 如果没有这一段的话,就会出现clock skew > data delay方面的好多警告,你有什么好的办法吗?
再答: 做一下仿真你应该能看到sysclk的值会一直是0,边沿检测是错误的,所以接下的的逻辑都无法执行。边沿检测的时钟频率应该是要远远大于所检测的脉冲的。 No output dependent on input pin "clk"的警告的意思我理解错了,好久没用quartus,应该是说没有任何输出与这两个信号有关,原因就是边沿检测没有执行,if (inputs_reg1 == 1'b1 && inputs_reg2 == 1'b0)这个语句不成立,你自己看会有什么后果。 把边沿检测改好后应该没有问题。