- 1、本文档共73页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Verilog ABC; Verilog HDL基础;1. 模块端口定义
模块端口定义用来声明设计电路模块的输入输出端口,端口定义格式如下
module 模块名(端口1,端口2,端口3,…);
在端口定义的圆括弧中,是设计电路模块与外界联系的全部输入输出端口信号或引脚,它是设计实体对外的一个通信界面,是外界可以看到的部分(不包含电源和接地端),多个端口名之间用“,”分隔。例如,
module adder(sum,cont,ina,inb,cin);;2. 模块内容
模块内容包括I/O说明、信号类型声明和功能描述。
1) 模块的I/O说明
模块的I/O说明用来声明模块端口定义中各端口数据流动方向包括输入(input)、输出(output)和双向(inout)。I/O说明格式如下
input 端口1,端口2,端口3,…;
output 端口1,端口2,端口3,…;
例如
input ina,inb,cin;
output sum,cont;;2) 信号类型声明
信号类型声明用来说明设计电路的功能描述中,所用的信号的数据类型以及函数声明。
信号的数据类型主要有连线(wire)、寄存器(reg)、整型(integer)、实型(real)和时间(time)等类型。 ;3) 功能描述
功能描述是Verilog HDL程序设计中最主要的部分,用来描述设计模块的内部结构和模块端口间的逻辑关系,在电路上相当于器件的内部电路结构。
功能描述可以用assign语句、元件例化(instantiate)、always块语句、initial块语句等方法来实现,通常把确定这些设计模块描述的方法称为建模。 ;二、 Verilog HDL的词法;2. 常数
Verilog HDL的常数包括数字、未知x和高阻z三种。数字可以用二进制、十进制、八进制和十六进制等4种不同数制来表示,完整的数字格式为
位宽’进制符号数字
其中,位宽表示数字对应的二进制数的位数宽度;进制符号包括b或B(表示二进制数),d或D(表示十进制数),h或H(表示十六进制数),o或O(表示八进制数)。;例如
8’ //表示位宽为8位的二进制数
8’hf5 //表示位宽为8位的十六进制数
十进制数的位宽和进制符号可以缺省,例如
//表示十进制数125
8’b1111xxxx //等价8’hfx
8’b1101zzzz //等价8’hdz;3. 字符串
字符串是用双引号括起来的可打印字符序列,它??须包含在同一行中。例如,
”ABC”,”A BOY.”,”A”,”1234”
都是字符串。;4. 标识符
标识符是用户编程时为常量、变量、模块、寄存器、端口、连线、示例和begin-end块等元素定义的名称。标识符可以是字母、数字和下划线“_”等符号组成的任意序列。定义标识符时应遵循如下规则
① 首字符不能是数字。
② 字符数不能多于1024个。
③ 大小写字母是不同的。
④ 不要与关键字同名。 ;5. 关键字
关键字是Verilog HDL预先定义的单词,它们在程序中有不同的使用目的。例如,module和endmodule来指出源程序模块的开始和结束;用assign来描述一个逻辑表达式等。
Verilog -1995的关键字有97个(见表4.1所示),Verilog -2001增加了5个共102个。;6. 操作符
操作符也称为运算符,是Verilog HDL预定义的函数名字,这些函数对被操作的对象(即操作数)进行规定的运算,得到一个结果。
操作符通常由1~3个字符组成,例如,“+”表示加操作,“==”(两个=字符)表示逻辑等操作,“===”(3个=字符)表示全等操作。有些操作符的操作数只有1个,称为单目操作;有些操作符的操作数有2个,称为双目操作;有些操作符的操作数有3个,称为三目操作。;1) 算术操作符(Arithmetic operators)
常用的算术操作符:
+(加)、-(减)、*(乘)、/(除)、%(求余)。
其中%是求余操作符, 在两个整数相除的基础上,取出其余数。例如,5 % 6的值为5;13 % 5的值是3。;2) 逻辑操作符(Logical operators )
逻辑操作符包括:
(逻辑与)、||(逻辑或)、!(逻辑非);4) 关系操作符(Pelational operators)
关系操作符有:
(小于)、=(小于等于)、(大于)、=(大于等于)。
其中,=也是赋值运算的赋值符号。
关系运算的结果是1位逻辑值。在进行关系运算时,如果关系是真,则计算结果为1;如果关系是假,则计算结果为0;如果某个操作数的值不定,则计算结果
文档评论(0)