首页 > 代码库 > cpu设计-->verilog理解
cpu设计-->verilog理解
- 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; //分支110 11 MON,WED: Pocket_Money=2; //分支212 13 FRI,SAT,SUN: Pocket_Money=7; //分支314 15 default: Pocket_Money=0; //分支416 17 endcase
cpu设计-->verilog理解
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。