网站大量收购闲置独家精品文档,联系QQ:2885784924

《FPGA数字系统设计》08 Verilog HDL操作符.pptxVIP

《FPGA数字系统设计》08 Verilog HDL操作符.pptx

  1. 1、本文档共23页,可阅读全部内容。
  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文档。上传文档
查看更多
FPGA数字系统设计Verilog HDL操作符 Verilog HDL 操作符Verilog 包含如下操作符Bitwise(按位操作符)(~, , |, ^)Arithmetic(算术操作符)(+, -, *, /, %, **)Shift(移位操作符)(, , , )Relational(关系操作符)(, , =, =)Equality(等价操作符)(==, !=, ===, !==)Reduction(缩减操作符)(, |, ^)Logical(逻辑操作符)(!, , ||)Concatenation(拼接操作符)({ })Conditional(关系操作符)(? :) Verilog HDL 操作符逻辑操作符Verilog HDL支持3个逻辑操作符:逻辑与(),逻辑或(||)和逻辑非(!)。逻辑操作符与按位操作符不同。如果不使用x和z,逻辑操作操作的结果是1位宽的布尔值,True(1)或者False(0)。如果操作数中包含x和z,则操作结果为1位宽x。通常情况下,逻辑操作符用于连接布尔表达式,例如 (state==IDLE)||((state==op)(count10)) 在布尔表达式中使用逻辑操作符,在电路信号的连接中使用按位操作符。 Verilog HDL 操作符算术操作符Verilog HDL支持6个算术操作符:加法 (+),减法 (-),乘法(*),除法 (/),取模(%),幂(**)。“+”和“-”操作符是二目操作符,综合时分别得到加法器和减法器。乘法器电路相对复杂,因此对于乘法操作符(*)的综合结果是综合软件和目标器件工艺而定 。 Verilog HDL 操作符算术操作符目前许多FPGA器件包含预先定义的组合逻辑乘法器。因此,在FPGA综合时,综合软件一般能够对乘法操作符“*”进行综合,并采用内部乘法器单元实现。 注意:尽管综合软件支持乘法操作符的综合,但在进行HDL代码设计时,需要考虑到目标器件包含的乘法器的数目限制。 除法(/),取模(%)和乘幂(**)一般不能自动综合。. Verilog HDL 操作符算术操作符Verilog HDL支持6个算术操作符:加法 (+),减法 (-),乘法(*),除法 (/),取模(%),幂(**)。Operators symbolDescriptionNumber of OperandsSynthesisresults+加法2adder-减法2adder(subtractor)*乘法2multiplier/除法2X%取模2X**幂2Xmodule example_ari ( input [1:0] a, b, output [2:0]y1,y2, output [3:0]y3 ); assign y1 = a + b; assign y2 = a – b; assign y3 = a*b;endmodule Verilog HDL 操作符module example_ari ( input [1:0] a, b, output [2:0]y1,y2, output [3:0]y3 ); assign y1 = a + b; assign y2 = a – b; assign y3 = a*b;endmodule Verilog HDL 操作符移位操作符Verilog HDL支持4种类型的移位操作:逻辑右移(),逻辑左移(),算术右移(),算术左移()。移位操作符是二目操作符 ,功能是将操作数向左或者向右移动指定的位数。它的两个操作数分别是要进行移位的向量和需要移动的位数。操作数被移动后,逻辑移位(或者)使用0填充由于移位产生的空余位;算术右移操作()会使用符号位(MSB)进行填充,算术左移操作()使用0填充。aa2a2a2a20100001100011100001111110011001100111100 Verilog HDL 操作符移位操作符 如果移位操作符的两个操作数都是信号,比如ab,综合时将得到筒式移位寄存器(barrel shifter),筒式移位寄存器电路相对比较复杂。如果第2个操作数是常量,比如a2,没有确定的逻辑电路与之对应,通常可以使用拼接操作符实现。设计中一般不建议使用移位操作符。aa2a2a2a20100001100011100001111110011001100111100

文档评论(0)

粱州牧 + 关注
实名认证
文档贡献者

资料收集自互联网,若有侵权请联系删除,谢谢~

版权声明书
用户编号:8036120077000004

1亿VIP精品文档

相关文档