4_verilog_hdl语法说课.ppt

  1. 1、本文档共89页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
通用定义 module module_name ( port_list ); (模块名称(端口列表)) port declarations; (端口声明:输入,输出) … variable declaration; (变量声明) … description of behavior (逻辑功能描述) endmodule 空白符包括:空格(\b)、制表符tab(\t)、换行和换页。除了字符串中的空白符,Verilog中的空白符仅仅用于分隔标识符,在编译阶段被忽略。空白符主要使代码错落有致,阅读起来更方便。 // 单行注释 /* 单行注释的另外一种方式 */ /* 多行注释 */ 例子:// 我是老师(√) /*我是老师*/( √ ) /*我是老师, 你们是学生*/ ( √ ) /*这是//合法的注释*/ ( √ ) /*这是/*不合法的*/注释*/(×) ◆ 整数 ◆ 实数 ◆ 字符串 整数按如下方式书写: +/-size basevalue 即 +/-位宽进制数字 size 为对应二进制数的宽度;base为进制;value是基于进制的数字序列。 进制有如下4种表示形式: ◆ 二进制(b或B) ◆ 十进制(d或D或缺省) ◆ 十六进制(h或H) ◆ 八进制(o或O) 字符串是双引号内的字符序列。 字符串不能分成多行书写。例如: INTERNAL ERROR“ “This is an example for Verilog HDL” 字符串的作用主要是用于仿真时,显示一些相关的信息,或者指定显示的格式。 字符串变量属于reg型变量,其宽度为字符串中字符的个数乘以8,比如: reg[8*12:1] stringvar; initial begin stringvar = “Hell0 world” ; end Verilog有下面四种基本的逻辑状态。 ◆ 0:低电平、逻辑0或逻辑非 ◆ 1:高电平、逻辑1或“真” ◆ x或X:不确定或未知的逻辑状态 ◆ z或Z:高阻态 Verilog中的所有数据类型都在上述4类逻辑状态中取值,其中x和z都不区分大小写,也就是说,值0x1z与值0X1Z是等同的。 Nets(网络连线): 由模块或门驱动的连线。 驱动端信号的改变会立刻 传递到输出的连线上。 例如:右图上,selb的改 变,会自动地立刻影响或 门的输出。 算术操作符有: +(一元加和二元加) -(一元减和二元减) *(乘) /(除) %(取模) 注意工程上常数乘/除法、变量乘/除法的一些处理方式。 逻辑操作符有: (逻辑与) || (逻辑或) !(逻辑非) 这些操作符在逻辑值0或1上操作。逻辑操作的结构为0或1。 例如, 假定: Crd = b0; //0为假 Dgs = b1; //1为真 那么: Crd Dgs 结果为0 (假) Crd || Dgs 结果为1 (真) ! Dgs 结果为0 (假) 对于向量操作, 非0向量作为1处理。例如,假定: A _ B u s = b0110; B _ B u s = b0100; 那么: A _ B u s || B _ B u s 结果为1 A _ B u s B _ B u s 结果为1 并且: ! A _ B u s 与! B _ B u s的结果相同。结果为0。 按位操作符有: ~(一元非) (二元与) |(二元或) ^(二元异或) ~^, ^~(二元异或非) 例如,假定, A = b0110; B = b0100; 那么: A | B 结果为0 1 1 0 A B 结果为0 1 0 0 关系操作符有: (大于) (小于) =(不小于) =(不大于) 关系操作符的结果为真( 1)或假( 0) 相等关系操作符有: = =(逻辑相等) != (逻辑不等) = = =(全等) != =(非全等) 如果比较结果为假,则结果为0;否则结果为1。在全等比较中,值x和z严格按位比较。也就是说,不进行解释,并且结果一定可知。 移位操作符有: (左移) (右移) 移位操作符左侧 操作数移动 右侧操作数表示的次数,它是一个逻辑移位。空闲位添0补位 与 ~

文档评论(0)

舞林宝贝 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档