Verilog HDL程序设计实例.pptVIP

  1. 1、本文档共26页,可阅读全部内容。
  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文档。上传文档
查看更多
超大规模集成电路CAD 2009 附录:Verilog HDL程序设计实例 许晓琳 (xu.xiaolin@163.com) 电子科学与应用物理学院 合肥工业大学 1 加法器/计数器实例 1bit半加器adder设计实例 1bit全加器full_add设计实例 同步4bit全加器adder4设计实例 4bit计数器count4设计实例 8bit BCD码计数器count60设计实例 1bit半加器adder设计实例 输入分别定义为a、b;进位输出和结果分别定义为count、sum,声明为wire数据类型,数据流语句采用assign赋值语句。 1bit全加器full_add设计实例 考虑输入进位,第i位的输出进位当作i+1位的输入 a^b^cin分别表示两个输入及进位,cout、sum表示输出进位及输出结果值。cout=((ab)|(bcin)|(acin)), sum=(a^b^)^cin 同步4bit全加器adder4设计实例 尽量避免用异步电路而采用同步电路进行设计 数据稳定传输必须满足建立时间和保持时间的要求,否则电路就会出现逻辑错误。 测试一组随机数据,称为IC测试中一种有效的办法 系统自带的概率分布函数:$random(seed) 4bit计数器count4设计实例 计数器通过累加或递减实现计数功能,原理同加法器原理,只是将加法器操作数变成了常数“1” 计数器通常带有“reset”复位,clk出发时,当reset有效,计数器复位为初始值 计数器测试,主要考虑reset复位是否有效及加减法溢出 8bit BCD码计数器count60设计实例 BCD码是用二进制编码的十进制代码,最常见的如“8421码” 本实例设计,计数达到60(十六进制),data为载入计数开始值,load为载入有效,cin为累加计数有效,qout为计数输出值,cout为计数值达到60输出 2 乘法器/除法器实例 加法树乘法器add_tree_mult设计实例 查找表乘法器lookup_mult设计实例 布尔乘法器booth_mult设计实例 移位除法器shift_divider设计实例 加法树乘法器add_tree_mult设计实例 需要设计一个加法树乘法器add_tree_mult,计算16位读写地址 虽然增加了若干个寄存器以暂存数据,增加了芯片资源的耗用,但它能在一个时钟周期内完成两数相乘,提高了运算速度 应用了函数mux8_1实现数据选择 在芯片测试工程中,有时并不需要测试所有的情况,而只是测试较少一部分出现概率较大的数据 查找表乘法器lookup_mult设计实例 查找表乘法器是将乘积存放在存储器中,将操作数作为地址访问存储器,得到的输出数据就是乘法运算的结果 查找表乘法器的速度只局限于所使用存储器的存取速度 布尔乘法器booth_mult设计实例 Booth算法通过以移位运算代替某些加法运算来提高乘法器的运算速度 补码一位乘(Booth算法)的部分积求解规则 根据当前位与前一位的取值,采取如下措施: 判断位为00:不做任何算术运算 判断位为01:将被乘数累加到乘积的左半边(高位); 判断位为10:将乘积的左半边部分减去被乘数; 判断位为11:不作任何算术运算 将乘积寄存器右移一位,开始新的判断和操作。 布尔乘法器booth_mult设计实例 设计一个4×4布尔乘法器 移位除法器shift_divider设计实例 二进制除法运算基本原则就是移位和相减 设计8位移位除法器,通过除数移位,再将被除数和除数想相减,得到最后结果 4 编码器/译码器实例 二进制编码器bin_enc设计实例 曼彻斯特编译码器manch_ed设计 二进制编码器bin_enc设计实例 曼彻斯特编译码器manch_ed设计实例 Manchester码又称双相码,是对每个二进制代码分别利用两个具有不同相位的二进制新码去取代的原码 编码规则之一 0?01(零相位的一个周期的方波) 1?0(180相位的一个周期的方波) 将NRZ普通二进制数据与其位率时钟信号相异或而得,解决传输数据没有时钟的问题 5 状态机实例 状态机介绍 16位状态机乘法器实现 交通控制灯控制设计 PCI总线目标接口状态机实现 5.1 状态机介绍 组成要素 状态:也叫状态变量。在逻辑设计中,使用状态划分逻辑顺序和时序规律。 输出:指在某一个状态时特定发生的事件 输入:指状态机中进入每个状态的条件 状态机分类: Moore / Mealy 划分依据:根据状态机的输出是否与输入条件有关 摩尔型状态机 输出仅仅依赖于当前状态,而与输入条件无关 若输入信号表示为1,输出信号表示为0,FSM当前状态为PS,下一个状态为NS,则摩尔状态机的输出关系式为: NS=f

文档评论(0)

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

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

1亿VIP精品文档

相关文档