在使用verilog语言进行硬件描述时,你是否也经常用到#这个符号,那么你是否关心过这个符号到底是什么意思呢?它的作用是什么呢?
1.可用作参数的传递
`我们在进行verilog编程时经常会遇到如下一样的代码块
module study_test #(
parameter c = 12'd169
)
(
input wire [11:0] a,
output wire [11:0] b
)
assign b = a + c;
endmodule
上述的代码块在最开始定义模块时#的作用就是为了将169这个常数在一开始的时候传递给c,是一个参数传递的作用。值得注意的是在例化的时候代码如下
study_test study_test #(
.c (12'd288)
)
(
.a (a),
.b (b)
)
例化以后的模块用#将200的值传递给c,那么之前定义的169将不会被使用。
2.用于时序仿真中的延时
而在仿真中我们经常又可以看到这样的语句
always #20 clk = ~clk;
在这里的意思是每通过延时20个事件单位后执行clk信号的翻转,因此#还可以表示延时的意思。文章来源:https://www.toymoban.com/news/detail-719640.html
以上就是#在verilog中的作用,如果你觉得这篇回答对你有帮助,请帮我点赞收藏加关注,如果有哪些不妥的地方也请评论指正。文章来源地址https://www.toymoban.com/news/detail-719640.html
到了这里,关于verilog中#是什么意思?#有什么作用?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!