第三章结构功耗.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文档。上传文档
查看更多
第三章结构功耗

第三章 功耗结构设计 本章讨论数字设计的三个主要物理性质之一:功耗。同时,我们也会讨论在FPGA中如何用结构化的方法来对功耗进行优化。 与ASIC器件( 图3.1 简单的门控时钟:差的设计实例 如3.1所示,这是一个较差的实例,设计里使用了一个简单的门控时钟。在这样的时钟拓扑结构中,当“Main Clock”有效地时候所有的触发器和与之对应的组合逻辑都随之有效(开启)。然而,在面虚线框内的逻辑只有当“Clock Enable”信号为1的时候才会有效。这里我们把“Clock Enable”信号作为门控信号或者使能信号。如上文所说的,通过逻辑使能一部分电路,设计者尝试着通过减少逻辑单元数量(C)以及对应逻辑门的平均切换频率(f)的方法成比例的减小动态功耗。 门控时钟对于减小动态功耗有直接的帮助,但是它增加了设计实现与时序分析的难度。 在继续讨论实现的细节之前,务必认识到仔细的时钟规划对于FPGA设计是何等重要。系统时钟是所有同步数字电路的核心。EDA(Electronic Design Automation)工具是基于系统时钟来进行优化,综合,布局以及时序分析等。系统时钟非常重要,它的特征必须首先确定,用以驱动设计实现的进程。 即使经过逻辑门控制的时钟只有很细微的变化,仍然要把逻辑门输出用来驱动时钟管脚的这个新的网络看作另外一个时钟域。在这个时钟域内,这个时钟网络需要一个低偏斜的路径来驱动所有的触发器,这一点与产生它的系统时钟是一致的。对于ASIC设计者来说,这个低偏斜的路径可以通过定制的时钟树获得。但是在FPGA中由于低偏斜路径的布线资源是固定的并且有数量的限制,这就给设计者提出了难题。 门控时钟引入了新的时钟域,并且会对FPGA设计带来困难。 下面几节我们重点讨论门控时钟带来的问题。 时钟偏斜 在研究门控时钟有关的话题之前,我们必须首先简要的回顾一下时钟偏斜的问题。在时序逻辑设计中,时钟偏斜的概念非常重要。 在图3.2中,第一级触发器与第二级触发器之间时钟信号的传输延时被看作零。如果信号通过组合逻辑有一个正的延时,那么电路的时序裕量就取决于“时钟周期”与“组合逻辑延时+ 走线延时 + 触发器建立时间”之间的相对关系。 信号在每个时钟有效沿,只能在一级触发器的两端传输。然而对于第二级和第三级触发器这种情况却有所不用。由于两个触发器之间的时钟路径存在延时,因此时钟的有效边沿将不会在两个触发器输入端同时出现。相反的,由于时钟路径的延时,第三级触发器输入的时钟有效边沿将会延后一段时间出现。 图3.2 时钟偏斜 如果通过逻辑的延时(定义为dL)小于时钟路径的延时(定义为dC)。那么将会出现这种情况:通过第二级触发器的信号将会先于时钟信号的有效沿到达第三级触发器。当时钟有效沿到达的时候,这个信号就会穿过第三级触发器。那么,这个信号在一个时钟有效边沿穿过了第二级和第三级触发器。这种情形将会导致电路灾难性的失败,因此在进行时序分析的时候必须把时钟偏斜考虑进去。另外,注意到时钟偏斜与时钟频率是相互独立的也很重要。即使不考虑时钟频率的影响,上文提到的这种“信号飞越”的案例同样会出现。 在FPGA设计中,对时钟偏斜错误的处理会导致灾难性的失败。 控制偏斜 FPGA提供的低偏斜资源能够确保时钟信号在其所有的输入端尽量一致(在ps级以内)。在图3.3所示的案例中,时钟网络上引入了一个逻辑“与门”。 这条时钟路径肯定会被从低偏斜的全局资源中移除,连接到这个“与门”上。这里在时钟线上增加了偏斜,其根本问题和前文提到的案例是一样的:时钟的门延时(dG)加上走线延时将会大于信号的逻辑延时(dL)。为了解决这个潜在的问题,必须给实现和分析的工具一组约束,这样由于门控引起的与偏斜有关的任何时序问题都能得到正确的分析和解决。 图3.3 门控时钟引起的时钟偏斜:差的设计实例 作为一个例子思考下面模块,里面使用了门控时钟: // Poor design practice module clockgating( output dataout, input clk, datain, input clockgate1); reg ff0, ff1, ff2; wire clk1; // clocks are disabled when gate is low assign clk1 = clk clockgate1; assign dataout = ff2; always @(posedge clk) ff0 = datain; always @(posedge clk) ff1 = ff0; always @(posedge clk1) ff2 = ff1; endmodule 在上面的例子中,在数据路径的触发器之间没有逻辑,但是在

文档评论(0)

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

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

1亿VIP精品文档

相关文档