高效率比较器的设计.DOCVIP

  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文档。上传文档
查看更多
高效率比较器的设计

高效率比较器的设计 李伟尧(湘潭职业技术学院信息工程系 湖南 湘潭 411102) 摘要:在应用VHDL硬件描述语言设计比较器时,为了提高器件的运行速度,节省CPLD硬件资源,降低设计成本,提出了应用字比较方式设计比较器的方法,通过实例分析,对采用字比较与位比较设计方法设计的比较器进行了对比分析,说明了为什么比较器要采用字的比较方式,另外,本文还阐述了几种提高比较器效率的设计方法。 关键词:比较器;字比较;位比较;VHDL语言;CPLD 引言   应用VHDL硬件语言设计数字电路时,经常要用比较方式进行条件判断,并选择满足条件的分支执行。优化设计比较器,提高比较器的效率,不但可以使程序更精练、可靠,提高器件的运行速度,还可以节省硬件资源,减小使用门的数目,降低成本等。 在VHDL硬件描述语言中,条件信号是可以被赋值的[1]。在仿真过程中,不管条件信号是否发生了变化,仿真器总是需要经常检测条件信号的当前状态,如果VHDL程序中没有敏感信号列表时,就会导致仿真耗费的时间增多,因而必须充分考虑仿真耗时问题;如果采用位比较方式,存在一些合成器不能对位比较方式进行有效优化的问题,譬如使用HMAP;还有采用字比较方式进行设计的。在这样一些设计方式中,究竟哪种方式能实现高效率低成本呢?本文针对一个8bit比较器的设计过程,应用位比较方式和字比较方式进行程序设计和仿真研究,探索一种既能高速运行、又能节省硬件资源的高效设计方法。 设计实例 以下二个程序采用二种不同的表达方式[2],描述了同样功能的一个8bit比较器。第一个程序(COMPARATOR_A)采用位比较器方式,在程序中输入信号量ain1与另一个输入信号量ain2在FOR语句循环中逐位的进行比较,8bit循环了8次(I in 7 to 0 loop);第二个(COMPARATOR_B)程序采用字比较方式,该程序首先给输出值设置了一个缺省值“1”,然后直接进行字比较(if(bin1/=bin2)then),因此IF语句中没有ELSE子句,也没有(COMPARATOR_A)中的循环比较语句。 程序1 程序2 Library ieee; Library ieee; Use ieee.std_logic_1164.all; Use ieee.std_logic_1164.all Entity comparator_a is Entity comparator_b is Port(ain1,ain2:in std_logic_vector(7 downto 0); Port(bin1,bin2:in std_logic_vector(7 downto 0); Aout:out std_logic); Bout:out std_logic); End comparator_a; End comparator_b; Architecture rtl of comparator_a is Architecture rtl of comparator_b is Begin Begin Process(ain1,ain2) Process Begin Begin Aout=’1’; Bout=’1’; For I in 7 to 0 loop If(bin1/=bin2)then If (ain1(I)/=ain2(I)then Bout=’0’; Aout=’0’; End if; Exit; End Process; Else null; End rtl; End

文档评论(0)

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

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

1亿VIP精品文档

相关文档