Verilog HDL程序是由模块构成的。每个模块的内容都是嵌在module和endmodule两个语句之间。每个模块实现特定的功能。模块可以进行层次嵌套。
每个模块要进行端口定义,并说明输入输出口,然后对模块的功能进行行为逻辑描述。
Verilog HDL程序的书写格式自由,一行可以写几个语句,一个语句也可以分写多行。
除了endmodule语句外,每个语句和数据定义的最后必须有分号。

模块的结构:
module <模块名> (<端口列表>)
<I/O说明>
<内部信号声明>
<功能定义>
endmodule


模块的端口定义:
模块的端口声明了模块的输入输出口。如
module 模块名(口1,口2,口3,口4,......)


模块的内容:
I/O说明
输入口(input 端口名1,端口名2,……端口名n)
输出口(output 端口名1,端口名2,……端口名n)
I/O\说明也可以卸载端口声明语句中: module module_name(input port1,input port2,…output port1,output port2…)