求助关于reg的一个语法问题
时间:10-02
整理:3721RD
点击:
在参数定义中,直接通过reg clk_50k;
来定义的参数,按理说默认应该是1位的
但是后面
always @(posedge sys_clk or negedge sys_rst_n) begin
if (sys_rst_n ==1'b0)
clk_50k <= 10'b0;
else if ((counter_div >=375)&&(counter_div <875))
clk_50k <= 10'b1;
else
clk_50k <= 10'b0;
end
说明clk_50k是10bit的
为什么默认定义的1bit的reg参数后面可以用10bit进行赋值呢?
谢谢
来定义的参数,按理说默认应该是1位的
但是后面
always @(posedge sys_clk or negedge sys_rst_n) begin
if (sys_rst_n ==1'b0)
clk_50k <= 10'b0;
else if ((counter_div >=375)&&(counter_div <875))
clk_50k <= 10'b1;
else
clk_50k <= 10'b0;
end
说明clk_50k是10bit的
为什么默认定义的1bit的reg参数后面可以用10bit进行赋值呢?
谢谢
verilog会截取最低的那1位赋给clk_50k。
这种写法很不好,没有特殊原因应该做到等号左右位宽匹配。
好的,非常感激!
Synthesis 會將LSB assign 給 clk_50K
The synthesis will be assign to clk_50k
学习了
不错不错。谢谢谢谢!
不知道小编的程序时在哪发现的