verilog中的#是什么意思:`timescale 1ns/10ps; reg wave;parameter d; #(d) wave=0;#(2*d) wave=1.

上面缺少部分东西,但是意思表达清楚了,#(d)是什么意思,#(2*d)又是什么意思?

#d 表示延时d*1ns (1ns是有timescale 1ns/10ps 的1ns)。

#(2*d) 就是延时2个d *1ns。

这个d是你用parameter定义的一个常数。

假设parameter d=2 。

那你的程序就是延时2ns。

wave=0 。

再延时4ns。

wave =1。

相关定义

Verilog HDL是一种硬件描述语言,以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。 

Verilog HDL和VHDL是世界上最流行的两种硬件描述语言,都是在20世纪80年代中期开发出来的。前者由Gateway Design Automation公司(该公司于1989年被Cadence公司收购)开发。两种HDL均为IEEE标准。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-09-20
'timescale 1 ns/ 1 ps 一般用在VerilogHDL编程最开始声明的地方,意思是时间单位为1ns,精度为1ps.
如果程序后面要用到延时(比如生成clk),那么你可以使用“#d”来直接调用这个时间,例如#3就是“延时3ns”的意思,但是精度为1ps的偏差,一般精度没有多大影响,主要是使用前面的时间单位1ns.
第2个回答  推荐于2018-04-04
#d 表示延时d*1ns (1ns是有timescale 1ns/10ps 的1ns)
#(2*d) 就是延时2个d *1ns

这个d是你用parameter定义的一个常数
假设parameter d=2 ;
那你的程序就是延时2ns
wave=0 ;
再延时4ns
wave =1本回答被网友采纳
相似回答