- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 常用数字电路的设计技巧 5.1 锁存器的产生 在电路设计中如果不是必需,则应该尽量使用触发器,而不用锁存器。下面给出用Verilog HDL语言描述触发器和锁存器的例子。 从上面的例子我们可以看出,触发器是在时钟沿进行数据锁存的,而锁存器是用电平使能来锁存数据的。所以,触发器的q输出端在每一个时钟沿都会被更新,而锁存器只能在使能电平有效时其q值才会被更新。 在Verilog HDL程序设计中,如果条件语句的所有条件没有列举出来,则很容易生成锁存器。下面我们给出一个在“always”块中使用if语句造成出现锁存器的例子。 在左边的“always”块,if语句说明只有当sel=1时,q才取d的值。这段程序并没有写出sel=0时的结果,那么当综合器综合这段程序时,会自动认为在sel=0时q值保持原值。这样电路中必然会出现一个锁存器来锁存q的值。如果设计者希望当sel=0时q的值为0,那么else项就必不可少了。请看右边的“always”块,整段程序模块被综合器综合后,“always”块对应的部分不会生成锁存器。 在条件case语句中缺少default项时,也会发生这种情况。例如: 在上面左边的例子中,当sel=00时,q取a的值;当sel=10时,q取b的值。这段程序中并没有说明sel取00和10以外的值时q取什么值。同样,综合器综合这段程序时会自动生成锁存器,默认q保持原值。上面右边的例子很明确,程序中的case语句有default项,指明了当sel不取00或10时,编译器或仿真器应赋q为0值。 为了避免违背设计者意愿而偶然出现锁存器的现象,如果用if语句,则最好写上else项;如果用case语句,则最好写上default项。遵循上面两条原则,就可以避免发生这种错误,使设计者更加明确设计目标,同时也增强了Verilog程序的可读性。 5.2 D触发器的妙用5.2.1 毛刺的消除 信号在FPGA器件内部通过连线和逻辑单元时,都有一定的延时。延时的大小与连线的长短和逻辑单元的数目有关,同时还受器件的制造工艺、工作电压、温度等条件的影响。信号的高低电平转换也需要一定的过渡时间。由于存在这些因素,因此多路信号的电平值发生变化时,在信号变化的瞬间,组合逻辑的输出有先后顺序,并不是同时变化,往往会出现一些不正确的尖峰信号,这些尖峰信号称为“毛刺”。如果一个组合逻辑电路中有“毛刺”出现,则说明该电路存在“冒险”。 图5.1是一个逻辑冒险的例子,从图中我们可知f=ab+cd。如果a、b、c、d这四个输入信号经综合布线后,信号到达CLB(可构造逻辑块)的长度相同,则此时我们可以忽略信号在线路上传输的延迟,a、b、c、d信号的高低电平是同时变化的,这种布线无冒险现象。但如果它们的布线长度不一致,如图5.2所示,f的查找表被布线到M块上,则此时a、b、c、d这四个输入信号到达CLB的路线长度肯定不一致,这就必然导致输出信号f出现毛刺。 图5.1 存在逻辑冒险的电路 图5.2 FPGA的内部结构 在D触发器的D输入端,只要毛刺不出现在时钟的上升沿并且满足数据的建立和保持时间,就不会对系统造成危害,利用D触发器不敏感的特性可以有效地消除毛刺。图5.3所示是对上述电路消除毛刺的方法。 图5.3 消除毛刺的逻辑电路 5.2.2 系统工作频率的提高 在设计一个时序系统时,如果系统的工作频率过低,则达不到所设计的要求。一般有三种方法对系统进行改善:一是对逻辑代码进行优化,使其输出结果在更短的时钟周期内完成;二是对系统提供的时钟进行倍频;三是把一个系统模块拆散成几个系统模块,进行分级处理,并且每级的逻辑衔接信号都加上D触发器。 图5.4是一个工作频率为f MHz的串联二级组合逻辑电路。 图5.4 串联二级组合逻辑电路 图5.5所示是对上述电路的流水线改进型,此时的系统的工作频率可达2f MHz。 图5.5 采用流水线技术的改进电路 5.3 优化的有限状态机设计 有限状态机(Finite State Machine,FSM)在数字系统设计中应用十分广泛。根据状态机的输出是否与输入有关,可将状态机分为两大类:摩尔(Moore)型状态机和米莉(Mealy)型状态机。Moore型状态机的输出仅与当前状态有关;Mealy型状态机的输出不仅与当前状态有关,还与输入有关。 一个优化的有限状态机主要应注意以下三个方面: (1) 状态机要安全。FSM不会进入死循环,并且一旦FSM进入非设计状态,它能很快恢复到正常状态。 (2) 状态机的设计要满足设计的面积和速度的要求。面积小和速度快是程序下载到芯片中的理想要求。两者是对立统一的矛盾体,要求一个设计同时满足设计
您可能关注的文档
- 质量管理学 作者 温德成 4.设计质量管理.ppt
- 质量管理学 作者 温德成 6. 抽样检验.ppt
- 质量管理学 作者 温德成 8.顾客满意管理.ppt
- 质量管理学 作者 温德成 9、质量信息及其管理.ppt
- 质量管理学 作者 温德成 10.EXCEL、SPSS、MINITAB在质量管理中的应用.ppt
- 质量管理学 作者 温德成 11.卓越绩效模式.ppt
- 质量管理与可靠性 第2版 作者 苏秦 第1章 质量管理概论.ppt
- 质量管理与可靠性 第2版 作者 苏秦 第2章 质量管理体系及评价.ppt
- 质量管理与可靠性 第2版 作者 苏秦 第3章 设计质量控制.ppt
- 质量管理与可靠性 第2版 作者 苏秦 第6章 质量成本与质量绩效.ppt
- FPGA CPLD设计初级教程 作者 沈涛 全书 第6章.ppt
- FPGA CPLD设计初级教程 作者 沈涛 全书 第7章.ppt
- FPGA CPLD设计初级教程 作者 沈涛 全书 封面及目录.ppt
- FPGA CPLD设计初级教程 作者 沈涛 全书 实验八.ppt
- FPGA CPLD设计初级教程 作者 沈涛 全书 实验六.ppt
- FPGA上的嵌入式系统设计实例 作者 赵峰_ 第1章.ppt
- FPGA上的嵌入式系统设计实例 作者 赵峰_ 第5章.ppt
- FPGA上的嵌入式系统设计实例 作者 赵峰_ 第6章.ppt
- FPGA设计及应用 第二版 作者 褚振勇 第1-3章 第1章.ppt
- FPGA设计及应用 第二版 作者 褚振勇 第1-3章 第2章.ppt
文档评论(0)