verilog理解

  1. Verilog HDL语言中的变量只有网线wire和寄存器reg两大类数据类型。
  2. 网线类型表示Verilog HDL结构化元件间的物理连线,它的值由驱动它的源器件的值决定,如果没有驱动源器件连接到网线,网线的缺省值为高阻z。
  3. 寄存器类型表示一个抽象的数据寄存器,它只能在always语句和initial语句中被赋值,并且寄存器变量赋值之后,值会一直被保存下来,只有在下次赋值时才会发生改变。寄存器类型变量的缺省值为x,使用中一般要进行初始化。
  4. Verilog HDL语言的描述主要有数据流描述和行为描述两种方式。数据流描述方式主要用assign语句,建立元器件间的连接。因而assign语句就是“连接”语句。行为描述主要用always结构。在Verilog HDL语言中规定:每个描述语句以“ ;”结束。
  5. 模块的连接方法-->模块的结构中允许将多个模块组织成更大的模块。它的组织方式很像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

 

posted on 2014-11-29 20:33  Karma_wjc  阅读(449)  评论(0编辑  收藏  举报