学习Verilog时,看到书中有这样一段程序:
module random_pulse( dout );
output [9:0] dout; //定义10位输出变量
reg dout; //声明该变量为寄存器变量,没有说明位数,默认不是1位寄存器吗?
..
..
..
endmodule
dout变量先定义为10位,之后声明是1位寄存器变量,合乎语法吗?还有,有时说明变量为input 或output,然后还要说明是reg型,有时候不用说明,在什么情况需要说明,什么情况不需要说明?请教各位指点,多谢! |