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

FPGA和Verilog设计中的latch锁存器的问题课案.doc

FPGA和Verilog设计中的latch锁存器的问题课案.doc

  1. 1、本文档共76页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FPGA和Verilog设计中的latch锁存器的问题课案

FPGA和Verilog设计中的latch锁存器的问题 ?一直都知道fpga中有latch这么一回事,但是一直都不太清楚到底什么是锁存器,它是怎么产生的,它到底和寄存器有多少区别,它怎么消除。为什么说他不好? ? ? ? ? ? ? ? ?一,是什么 ? ? ? ? ? ? ? ? ? ?锁存器是一种在异步时序电路系统中,对输入信号电平敏感的单元,用来存储信息。一个锁存器可以存储1bit的信息,通常,锁存器会多个一起出现,如4位锁存器,8位锁存器。? ? ? ? ? ? ? ?锁存器在数据未锁存时,输出端的信号随输入信号变化,就像信号通过一个缓冲器,一旦锁存信号有效,则数据被锁存,输入信号不起作用。因此,锁存器也被称为透明锁存器,指的是不锁存时输出对于输入是透明的。 ? ? ? ?二 ? 锁存器与寄存器的区别: ? ? ? ? ? ? ? ? ? ? ? 两者都是基本存储单元,单锁存器是电平触发的存储器,触发器是边沿触发的存储器。本质是,两者的基本功能是一样的,都可以存储数据。意思是说一个是组合逻辑的,一个是在时序电路中用的,时钟出发的。 ??? ? 三,锁存器的危害:? ? ? ? ?? 如果在赋值表达式右端引用了敏感电平列表中没有列出的信号,那么在综合时,将会为该没有列出的信号隐含地产生一个透明锁存器。 ? ? ? ? ? ? 4. 付初值。好用的 ??? ? ? ?六,怎么看到锁存器。 ? ? ? ? ? ? ? ? 其实我挺讨厌网上说了好多的废话,到最后我都不知道是啥。所以我建议大家自己编成,在看看综合后的RTL图,以及技术RTL图,看看到底有什么不同,到底锁存器长啥样,漂亮不漂亮,嘿嘿。以下是我的截图。供参考: 这个是我在case语句中加入了default语句的综合结果。 以上两个图是没有加入的情况,可以看出明显不同。在上面的图中有由组合电路产生的与门,提供了电平触发锁存器。同时在技术RTL中多了一个LUT查找表,是为了锁存器提供使能的,当使能输出为1时锁存,使能为0时,输出正常。 ? ? 不好意思代码我就不贴了。嘿嘿。ps:关键是我忘了是啥了,我就是一坑货呀。 其实挺简单地就是啊,a,b为输入,y输出。由a和b组成case({a,b})决定状态。 ? ? ? ???七,我们讨论一下到底锁存器是不是就是没用的 ? ? Latch作为一种电路单元,必然有其存在的理由及应用场景,在实际应用中,有些设计不可避免的要使用Latch,特别是总线应用上,例如,地址锁存器,数据锁存器,复位信号锁存器等。但是在更多的情况下,很容易产生未预料到的锁存器,使逻辑功能不满足要求,浪费大量时间。比较好的应用规则是:要学会分析是否需要Latch以及代码是否会产生意外的Latch。 通过Verilog HDL实现序列最大值有哪些信誉好的足球投注网站程序,并保持检测到的最大值 [plain]?view plaincopy ? module?two_max(?? ????????a,rst_n,abmax?? ????);?? ?? ????????input???[7:0]??a;?? ????????input??????????rst_n;?? ????????output??[7:0]??abmax;?? ?? ????????reg?????[7:0]??abmax_tmp;?? ?? ???????always?@?(a?or?rst_n)?begin?? ???????????????if?(!rst_n)?? ???????????????????abmax_tmp?=?8h00;?? ???????????????else?? ??????????????????if?(aabmax_tmp)?? ??????????????????????abmax_tmp?=?a;?? ???????end?? endmodule?? 上述代码在ISE中的综合结果会给出设计中包含Latch的警告。但实际上,abmax_tmp锁存器正是我们需要的,所以,虽然有警告,但是代码设计是没有问题的。将上述代码的if语句补全: [plain]?view plaincopy ? if?(a??abmax_tmp)?? ????abmax_tmp?=?a;?? else?? ????abmax_tmp?=?abmax_tmp;?? 经过综合后,仍然有Latch的警告。无论Latch是否是用户需要的,ISE都会给出警告,主要原因就是Latch对整个设计的时序性能影响较大。所以,在设计中要尽量避免Latch,但是确实需要使用的情况,也可以使用。 ? 2. “不期望”latch ? 指的是与设计意图不符,产生的Latch。主要问题在于设计人员没有合理使用Verilog HDL语言,常见

您可能关注的文档

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档