- Verilog HDL语言中的变量只有网线wire和寄存器reg两大类数据类型。
- 网线类型表示Verilog HDL结构化元件间的物理连线,它的值由驱动它的源器件的值决定,如果没有驱动源器件连接到网线,网线的缺省值为高阻z。
- 寄存器类型表示一个抽象的数据寄存器,它只能在always语句和initial语句中被赋值,并且寄存器变量赋值之后,值会一直被保存下来,只有在下次赋值时才会发生改变。寄存器类型变量的缺省值为x,使用中一般要进行初始化。
- Verilog HDL语言的描述主要有数据流描述和行为描述两种方式。数据流描述方式主要用assign语句,建立元器件间的连接。因而assign语句就是“连接”语句。行为描述主要用always结构。在Verilog HDL语言中规定:每个描述语句以“ ;”结束。
- 模块的连接方法-->模块的结构中允许将多个模块组织成更大的模块。它的组织方式很像c语言中带有形参数的函数调用。为了说明问题简单,我们用模块来定义逻辑与、或和异或,然后以模块调用的方法来构造半加器,借此来说明模块间的关联方法。
1 module bjq ( input A, //定义输入端口A
2
3 input B, //定义输入端口B
4
5 output Sum, //定义和输出端口Sum
6
7 output Cout //定义进位输出端口Cout
8
9 ) ;
10
11 wire S1,T1; //定义连接导线
12
13 assign Cout =T1; //进位导线连接
14
15 assign Sum = S1; //本位和导线连接
16
17 yu yu1 (A, B, T1) ; //连接调用逻辑与模块
18
19 yihuo yihuo1(A,B,S1); //连接调用逻辑异或模块
20
21 endmodule
1 parameter MON=0,TUE=1,WED=2,THU=3,FRI=4,SAT=5,SUN=6;
2
3 reg [0:2] Day;
4
5 integer Pocket_Money;
6
7 case (Day)
8
9 TUE: Pocket_Money=6; //分支1
10
11 MON,WED: Pocket_Money=2; //分支2
12
13 FRI,SAT,SUN: Pocket_Money=7; //分支3
14
15 default: Pocket_Money=0; //分支4
16
17 endcase