- 1、本文档共133页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【2017年整理】VerilogHDL基本语法
Verilog HDL 基本语法; 规定了文本布局、命名和注释的约定,以提高源代码的可读性和可维护性。
每个Verilog HDL源文件中只准编写一个顶层模块,也不能把一个顶层模块分成几部分写在几个源文件中。
源文件名字应与文件内容有关,最好与顶层模块同名!源文件名字的第一个字符必须是字母或下划线,不能是数字或$符号!
每行只写一个声明语句或说明。
源代码用层层缩进的格式来写。;定义变量名的大小写应自始至终保持一致(如变量名第一个字母均大写)。
变量名应该有意义,而且含有一定的有关信息。局部变量名(如循环变量)应简单扼要。
通过注释对源代码做必要的说明,尤其对接口(如模块参数、端口、任务、函数变量)做必要的注释很重要。;常量尽可能多地使用参数定义和宏定义,而不要在语句中直接使用字母、数字和字符串。
参数定义(用一个标识符来代表一个常量??的格式:
parameter 参数名1=表达式,参数名2=表达式,……;
宏定义(用一个简单的宏名来代替一个复杂的表达式)的格式:
’define 标志符(即宏名)字符串(即宏内容);常量;常量;17 //位宽, 基数符号不写会采用default值 (32bit十进制)
8’d32 //8-bit十进制值为32
8’h1A 8’o37
8’b0001_1100
32’bx // ”x”表unknown
4’b0??? // ”?”表示高阻;常量;常量;变量;变量;wire型变量
它是最常用的nets型变量,常用来表示以assign语句赋值的组合逻辑信号。
模块中的输入/输出信号类型缺省为wire型。
可用做任何方程式的输入,或“assign”语句和实例元件的输出。;wire 数据名1,数据名2, ……,数据名n;;变量;变量;reg型变量
定义——在过程块中被赋值的信号,往往代表触发器,但不一定就是触发器(也可以是组合逻辑信号)!;reg[n-1:0] 数据名1,数据名2, ……,数据名m;
或 reg[n:1] 数据名1,数据名2, ……,数据名m;; 用reg型变量生成组合逻辑举例:
module rw1( a, b, out1, out2 ) ;
input a, b;
output out1, out2;
reg out1;
wire out2;
assign out2 = a ;
always @(b)
out1 = ~b;
endmodule;用reg型变量生成触发器举例:
module rw2( clk, d, out1, out2 );
input clk, d;
output out1, out2;
reg out1;
wire out2;
assign out2 = d ~out1 ;
always @(posedge clk)
begin
out1 = d ;
end
endmodule ;变量;变量;变量;变量;关键字;关键词;关键词;特殊字符;标示符;标示符;标示符;运算符;进行整数除法运算时,结果值略去小数部分,只取整数部分!
%称为求模(或求余)运算符,要求%两侧均为整型数据;
求模运算结果值的符号位取第一个操作数的符号位!
[例] -11%3 结果为-2
进行算术运算时,若某操作数为不定值x,则整个结果也为x。
;运算符;运算符;==;左移会扩充位数!;运算符;;语句;语句; 非阻塞赋值方式
always @(posedge clk)
begin
b = a ;
c = b;
end;阻塞赋值方式
always @(posedge clk)
begin
b = a ;
c = b;
end;非阻塞(non-blocking)赋值方式 ( b= a):
b的值被赋成新值a的操作, 并不是立刻完成的,而是在块结束时才完成;
块内的多条赋值语句在块结束时同时赋值;
硬件有对应的电路。
阻塞(blocking)赋值方式 ( b = a):
b的
您可能关注的文档
- 【2017年整理】PROTELDXP2004 流水灯PCB设计.ppt
- 【2017年整理】PPT_外科_创伤及骨科_骨肿瘤2.ppt
- 【2017年整理】Protel试题集及答案.doc
- 【2017年整理】PSA管道拆除方案.doc
- 【2017年整理】PROTELDXP2004声光控节电开关设计.ppt
- 【2017年整理】PROTELDXP2004节能灯设计.ppt
- 【2017年整理】ppt第一章.ppt
- 【2017年整理】PROFIBUS DP 网络系统故障诊断方法.ppt
- 【2017年整理】PRS-700系列线路保护原理.ppt
- 【2017年整理】PSM691U电动机保护测控装置调试报告.doc
文档评论(0)