Verilog_HDL_数字系统设计及实践__第2章Verilog基本语法_.pptVIP

Verilog_HDL_数字系统设计及实践__第2章Verilog基本语法_.ppt

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

* * * * * * * * * * * * * * * * * * * * * * * Bar = 4 - 6; // Bar被赋于十进制值62(-2的二进制补码) Tab = 4 - 6; // Tab被赋于十进制值-2(位向量为11111 0) ? Bar = -2 + (-4); // Bar被赋于十进制值58(位向量为111010) Tab = -2 + (-4); // Tab被赋于十进制值-6(位向量为111010) * * assign Adt = (Box + Cfg) + (Drt + Peg) ; 表达式右端的操作数最长为6 ,但是将左端包含在内时,最大长度为8 。所以所有的加操作使 用8 位进行。例如:Box 和Cfg 相加的结果长度为8 位。 * * 2.逻辑运算符(Logical operators) 逻辑与 || 逻辑或 ! 逻辑非 * 逻辑操作符的操作数只能是逻辑值0或1,例如: Crd = b0; //Crd是逻辑0 Dgs = b1; //Dgs是逻辑1 那么: Crd Dgs //结果为0 (假) Crd || Dgs //结果为1 (真) !Dgs //结果为0 (假) * 如果操作数是向量,那么非0向量被当作逻辑1,例如: A_Bus = b0110; //A_Bus不是0向量,被当作逻辑1 B_Bus = b0100; //B_Bus不是0向量,被当作逻辑1 那么: A_Bus || B_Bus //结果为1 A_Bus B_Bus //结果为1 !A_Bus //结果为0 !B_Bus //结果为0 在逻辑操作中,如果任意一个操作数包含x,结果也为x,如!x的结果为x。 * 3.位运算符(Bitwise operators) 位运算,即将两个操作数按对应位分别进行逻辑运算。 ~ 按位取反 按位与 | 按位或 ^ 按位异或 ^~,~^ 按位同或(符号^~与~^是等价的) * * * 例如: A = b0110; B = b0100; 那么: A | B //结果为0110 A B //结果为0100 如果两个操作数长度不相等, 长度较小的操作数在高位添0补位,例如: b0110 ^ b10000 //结果为b10110 与下式相同: b00110 ^ b10000 //结果为b10110 * 按位操作符对矢量中相对应位运算。 regb = 4b1 0 1 0 regc = 4b1 x 1 0 num = regb regc = 1 0 1 0 ; 位值为x时不一定产生x结果。如#50时的or计算。 * 当两个操作数位数不同时,位数少的操作数零扩展到相同位数。 a = 4b1011; b = 8 c = a | b; // a零扩展为 8 * 逻辑反与位反的对比 module negation(); reg [3: 0] rega, regb; reg [3: 0] bit; reg log; initial begin rega = 4b1011; regb = 4b0000; end initial fork #10 bit = ~rega; // num = 0100 #20 bit = ~regb; // num = 1111 #30 log = !rega; // num = 0 #40 log = !regb; // num = 1 #50 $finish; join endmodule ! logical not 逻辑反 ~ bit-wise not 位反 逻辑反的结果为一位1,0或x。 位反的结果与操作数的位数相同 逻辑反操作符将操作数的逻辑值取反。例如,若操作数为全0,则其逻辑值为0,逻辑反操作值为1。 * 4.关系运算符(Relational operators) 小于 = 小于或等于 大于 = 大于或等于 其结果是1’b1、1’b0或1’bx。 * 5.等式运算符(Equality Operators) == 等于 != 不等于 === 全等 !== 不全等 * 相等操作符 逻辑等 逻辑不

文档评论(0)

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

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

1亿VIP精品文档

相关文档