VerilogHDL期末复习.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VerilogHDL期末复习

文件扩展名为v,大小写敏感;所有关键字必须小写; 标识符(区分大小写) 合法字符:26个大小写英文字母;数字0-9;下划线;$等; 命名规则:以英文字母或下划线开头;不能出现两条(或以上)连续的下划线;不能和关键字重复。 数据对象: 1、常数:整数、实数和字符串。整数可综合,实数和字符串不可综合。 (1)整数:位宽’进制符号数字 位宽:数字对应的二进制数的位数; 进制符号包括:b或B(二进制),d或D(十进制),o或O(八进制),h或H(十六进制)。 数字中间可用下划线分隔,提高可读性。 十进制数的位宽和进制符号可省略。 若只标进制,未注明位宽,则位宽为(单个位的该进制数对应二进制位宽*该进制数的位数)。 若指明的位宽比数字需要的位宽小,则从左边(高位)截去多余位。 除十进制外,数字中可用x或X(未知),z或Z(高阻)。位数由所在数字格式决定。如hfx等价于b1111xxxx 整数可在其前面加负号,负数的实际值为其对应的二进制补码。 (2)实数 (3)字符串 2、变量 (1)网络型(net type) net型变量的输出值始终根据输入变化而变化,一般用来定义硬件电路中的各种连线。 wire型变量是net型变量中最常用的一种,其取值可以是0、1、x或z。 wire、tri:连线类型,功能完全相同;tri名称仅为增加程序可读性,表示综合后电路有三态功能。 wor、trior:具有线或特性的连线,功能相同。 wand、triand:具有线与特性的连线,功能相同。 tri1、tri0:分别为上拉电阻和下拉电阻。 supply1、supply0:分别为电源(逻辑1)和地(逻辑0)。 (2)寄存器型(register type) reg:常用的寄存器型变量。(可综合) integer:32位带符号整数型变量。(不同资料中可综合性表述不同) real:64位带符号实数型变量。(不可综合,表示实数寄存器) time:无符号时间型变量。(不可综合,模拟时间的存储与处理) wire与reg区别:reg需要被明确赋值,且被重新赋值前一直保持原值。wire在assign语句和元件例化语句中赋值;reg放在always和initial等语句中,通过过程中的赋值语句进行赋值。 操作符: (1)、算术操作符:+(加),-(减),*(乘),/(除),%(求余),**(乘方)。 (2)、逻辑操作符:(逻辑与),||(逻辑或),!(逻辑非)。 操作数是位矢量时,无论有多少个位,逻辑操作符运算结果只有1位,为0或1。逻辑操作符先分别对两个操作数中位进行“按位或”操作,再对两操作数的“按位或”结果进行指定的逻辑操作 (3)、位运算操作符:~(按位取反),(按位与),|(按位或),^(按位异或),^~或~^(按位同或)。 进行位运算时,两个操作数位宽不同时,自动按右端对齐,位数少的在高位用0补齐。 数据均只有一个位时,位运算与逻辑操作符运算结果相同,逻辑操作运算可用位运算替代。 (4)、缩减操作符:(与),~(与非),|(或),~|(或非),^(异或),^~或~^(同或) 缩减运算操作数只有一个,运算法则与逻辑运算相同,无论操作数有多少个位,运算结果只有一位,为0或1,相当于一个多输入端的逻辑门。 (5)、关系操作符:(小于),=(小于等于),(大于),=(大于等于)。 关系操作运算结果是1位逻辑值。关系是真,结果为1;关系是假,结果为0;如果某个操作数的值不确定,则结果不确定,为未知x或X。 (6)、等值操作符:= =(等于),!=(不等于),= = =(全等于),!= =(不全等于)。 等值操作运算结果是1位逻辑值。关系是真,结果为1;关系是假,结果为0。用等于(= =)操作符时,两个操作数的二进制位必须逐位相等,比较结果才为1,否则为0;当两操作数中某些位是未知或高阻时,对应位比较结果为不确定值,最终比较结果为0。用全等于(= = =)操作符时,将未知和高阻都当成确定的值进行比较,对应位比较结果为确定值。 (7)、转移操作符:(右移)、(左移)。 操作数n //右移n位,左边用0填补; 操作数n //左移n位,右边用0填补; (8)、条件操作符:? 操作数=条件表达式?表达式1:表达式2; 条件操作符有3个操作数,当条件表达式为真时,操作数=表达式1;当条件表达式为假时,操作数=表达式2。 (9)、并接操作符:{} 并接操作符可以将多个操作数按二进制位拼接起来,构成一个新的操作数,多个操作数间用逗号分隔。 模块语句: module 模块名(模块端口列表); 模块端口和模块功能描述 end module 模块端口列表须列出所有端口,用逗号分隔。 端口定义:(三种模式) input 输入端口名表(逗号

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档