- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
9、位拼接运算符 位拼接运算符是将多个操作数按各数的位置依次合并一个新的操作数的操作,结果的位数是各个数位数之和。形式如下: 复制通过指定重复次数来执行操作。形式如下: 下表显示了所有操作符的优先级和名称。操作符从最高优先级(顶行)到最低优先级(底行)排列。同一行中的操作符优先级相同。 运 算 符 优 先 级 ! ~ 高优先级 P136b表5.7 低优先级 * / % + - = = == != === !== ~ ^ ^~ | ~| || ?: * 第5章 Verilog 语法与要素 本章介绍Verilog HDL的基本要素,包括数字、字符串、标识符、运算符、数据类型和关键字等。 5.1 Verilog语言要素 1、空白符 包含空格符、Tab、换行、换页。每条Verilog语句以;结尾。教材P121中段两个书写格式具有相同效果。 2、注释 有两种形式的注释 单行注释: 以//打头,直到本行结束,不允许续行。 多行注释: 以/*开始,直到*/结束。 30cout // 非法:以数字为首 out* //非法: 包含不允许字符* 3、标识符 Verilog HDL中的标识符(identifier)可以是任意一组字母、数字、$符号和_(下划线)符号的组合,但标识符的第一个字符必须是字母或者下划线。另外,标识符是区分大小写的。以下是标识符的几个例子: 4、关键字 Verilog 系统内部使用的词,关键字用户不可用重定义其它含义。所有的关键字都是小写字母组成。例如always是关键字,但是ALWAYS不是关键字。 5. 2 常量 Verilog 中常量主要有三种类型:整数、实数、字符串 5.2.1 整数。 +/-size’basevalue +/-二进制位宽’进制数字序列 进制有以下4种形式: 二进制 : b或B,不区别大写、小写字母; 十进制: d或D或缺省,不区别大写、小写字母; 十六进制:h或H ,不区别大写、小写字母; 八进制: o或O ,不区别大写、小写字母; 8’ //位宽为8位二进制 8’hd5 //位宽为8位十六进制数d5(即二进制 5’o27 //位宽为5位八进制数27(即二进制数10111) 4’D2 //位宽为4位十进制数2(即二进制数0010) 4’B1x_01 //位宽为4位二进制数1x01 5’Hx //位宽为5位十六进制数x (即二进制数xxxxx) 4’hz //位宽为4位十六进制数z二进制数zzzz) 8 ‘h 2A //位宽为8位十六进制数2A即二进制数 合格的整数书写例子。 不合格的整数书写例子。 3’ b001 // ’ 与基数b之间不允许出现空格 4’d-4 // 数值不允许正、负符号( +或-)正、负符号只 // 允许出现在最左面 ( 3 +2 )’b10 //位宽为不可以是表达式 在书写数字时需要注意: 1)在较长数字之间可以因 _ 分开,用来提高可读性,但第一个数字 之前不可以加下划线。 2)无位宽说明时,默认为为32位(二进制)。 3)x或z在二进制中代表一位 x或z,在八进制中代表3位x或z,在十六 位进制中代表4为x或z. 例如:8’b1001xxxx 与 8’h9x相同 8’b1010zzzz 与 8’haz相同 4)如果没有定义一个整数的位宽,则其宽度为响应数所需的二进制位。 例如:’o721 // 9位二进制数111010001 ‘hAF //8位二进制5)如果定义的位宽比实际的位数长,则通常左边添0补位,但如果数的 最左边为x或z,则左边添x或z。 例如: 10’b10 //左边添8位0,即0000000010
文档评论(0)