当前位置: 首页 > news >正文

diy定制网站wordpress边栏调用

diy定制网站,wordpress边栏调用,手机网站不支持下载的视频怎么下载,logo1231. 前言 芯片功耗组成中#xff0c;有高达40%甚至更多是由时钟树消耗掉的。这个结果的原因也很直观#xff0c;因为这些时钟树在系统中具有最高的切换频率#xff0c;而且有很多时钟buffer#xff0c;而且为了最小化时钟延时#xff0c;它们通常具有很高的驱动强度。此外有高达40%甚至更多是由时钟树消耗掉的。这个结果的原因也很直观因为这些时钟树在系统中具有最高的切换频率而且有很多时钟buffer而且为了最小化时钟延时它们通常具有很高的驱动强度。此外即使输入和输出保持不变接收时钟的触发器也会消耗一定的功耗。而且这些功耗主要是动态功耗。 那么减少时钟网络的功耗消耗最直接的办法就是如果不需要时钟的时候就把时钟关掉。这种方法就是大家熟悉的门控时钟clock gating。(电路图中看到的CG cell就是门控时钟了)。 2. 门控时钟的结构 2.1 与门门控 如果让我们设计一个门控时钟的电路我们会怎么设计呢最直接的方法不需要时钟的时候关掉时钟这就是与操作我们只需要把enable和CLK进行“与”操作不就行了么电路图如下 这种直接将控制EN信号和时钟CLK进行与操作完成门控的方式可以完成EN为0时时钟被关掉。但是同时带来另外一个很大的问题毛刺。 如上图所示EN是不受控制的随时可能跳变这样纯组合输出GCLK就完全可能会有毛刺产生。时钟信号上产生毛刺是很危险的。实际中这种直接与门的方式基本不会被采样。所以我们需要改进电路为了使门控时钟不产生毛刺我们必须对EN信号进行处理使其在CLK的高低电平期间保持不变或者说EN的变化就是以CLK为基准的。 很自然的我们会想到触发器只要把EN用CLK寄存一下那么输出就是以CLK为基准的其实还有一种办法是锁存器把EN用锁存器锁存的输出也是以CLK为基准的。 2.2 锁存门控 我们先看一下第二种电路增加锁存器的电路和对应的时序如下 该方法的原理在于:锁存器在CLK为低时透明。这样EN 信号上的毛刺仅出现在CLK的低电平处EN1与CLK进行与操作可以将这部分毛刺消除掉。这样GCLK上就没有毛刺了。 虽然达到了我们消除毛刺的目的但是这个电路还有两个缺点 如果在电路中锁存器与与门相隔很远到达锁存器的时钟与到达与门的时钟有较大的延迟差别则仍会出现毛刺。如果在电路中时钟使能信号距离锁存器很近可能会不满足锁存器的建立时间会造成锁存器输出出现亚稳态。 如下图分析所示 上述的右上图中B点的时钟比A时钟迟到并且Skew delay这种情况下产生了毛刺。为了消除毛刺要控制Clock Skew使它满足Skew Latch delay也就是锁存器的clk-q的延时。上述的右下图中B点的时钟比A时钟早到并且|Skew| ENsetup 一 (D-Q)这种情况下也产生了毛刺。为了消除毛刺要控制Clock Skew使它满足|Skew| ENsetup一(D-Q)。 常见的是第一种毛刺不过我们可以将这个逻辑做成一个单元这样就基本上能消除上面的那两种毛刺了因为这个门控单元是对Skew作了控制不存在前面描述的毛刺问题即 2.3 寄存门控 如2.1中提到的我们还有另外的解决办法就是用寄存器来寄存EN信号再与上CLK得到GCLK电路图和时序如下所示 由于DFF输出会delay一个周期所以除非CLKB上升沿提前CLKA很多快半个周期才会出现毛刺而这种情况一般很难发生。但是这种情况CLKB比CLKA迟到是不会出现毛刺的。当然如果第一个D触发器不能满足setup时间还是有可能产生亚稳态。 2.4 门控时钟结构选择 那么到底采用哪一种门控时钟的结构呢是锁存结构还是寄存结构呢通过分析我们大概会选择寄存器结构的门控时钟这种结构比锁存器结构的问题要少只需要满足寄存器的建立时间就不会出现问题。那么实际中是这样么答案恰恰相反SOC芯片设计中使用最多的却是锁存结构的门控时钟。 原因是:在实际的SOC芯片中要使用大量的门控时钟单元。所以通常会把门控时钟做出一个标准单元有工艺厂商提供。那么锁存器结构中线延时带来的问题就不存在了因为是做成一个单元线延时是可控和不变的。而且也可以通过挑选锁存器和增加延时总是能满足锁存器的建立时间这样通过工艺厂预先把门控时钟做出标准单元这些问题都解决了。 那么用寄存器结构也可以达到这种效果为什么不用寄存器结构呢那是因为面积一个DFF是由两个D锁存器组成的采样D锁存器组成门控时钟单元可以节省一个锁存器的面积。当大量的门控时钟插入到SOC芯片中时这个节省的面积就相当可观了。所以我们在工艺库中看到的标准门控时钟单元就是锁存结构了 当然这里说的是SOC芯片中使用的标准库单元。如果是FPGA或者用RTL实现个人认为还是用寄存器门控加上setup约束来实现比较稳妥。 2.5 门控优缺点 2.5.1 优点         通常情况下时钟树由大量的缓冲器和反相器组成时钟信号为设计中翻转率最高的信号时钟树的功耗可能高达整个设计功耗30%。加入门控时钟电路后由于减少了时钟树的开关行为节省了开关功耗。同时由于减少了时钟引脚的开关行为寄存器的内部功耗也减少了。采用门控时钟可以非常有效地降低设计的功耗一般情况下能够节省20%~60%的功耗。 此外由于门控时钟不需要用到MUX单元加入门控时钟电路后设计的面积也减少了。门控时钟电路的扇出越大减低功耗和面积的效能越好。当然扇出太大了又会产生时序等的问题。 门控时钟电路非常容易实现用工具自动插入门控时钟不需要修改RTL代码门控时钟与工艺无关。 2.5.2 缺点      那么完成了clk-gating结构后我们需要分析一下clk-gating的收益是什么呢功耗收益能够在EN端不使能时关断时钟降低寄存器的动态功耗。那么对应的额外消耗支出有哪些呢 面积增加与门、或门和latch都是会增加面积的因此工具不会无脑的插入gating一般只有在EN控制的寄存器超过4bit时才会插入这个值是可以设置的EN路径的时序更加紧张为了保证时钟及时被开启EN端必须更早的实现时序收敛或者理解为EN路径是相对clk的D路径是相对gating clk的。关于这一点综合完的clk timing.rpt和clk gating timing.rpt对比下就会发现gating的timing路径中一般会减去一个时间比如-100ps 3. RTL中的门控时钟 通常情况下时钟树由大量的缓冲器和反相器组成时钟信号为设计中翻转率最高的信号时钟树的功耗可能高达整个设计功耗40%。加入门控时钟电路后由于减少了时钟树的翻转节省了翻转功耗。同时由于减少了寄存器时钟引脚的翻转行为寄存器的内部功耗也减少了。采用门控时钟可以非常有效地降低设计的功耗一般情况下能够节省20%~60%的功耗。 3.1 门控实现 那么RTL中怎么才能实现门控时钟呢答案是不用实现。现在的综合工具比如DC会自动插入门控时钟。如下图所示 上图的典型综合结果中即不使用门控时钟的情况在每个受EN使能控制的寄存器之前加入了一个MUX当EN信号有效时寄存器锁存输入信号D;否则保持原值。这种方法也能减少寄存器上的翻转因而节省翻转功耗。然而这种“载入一使能”结构中每个寄存器都有一个MUX假设MUX面积为4则8位寄存器需要增加的面积为32。面积越大意味着芯片成本越高而且整体的功耗也会增加。另外这种方式不能消除时钟树上的功耗。 对于右下角的门控时钟形式的综合电路假设一个门控逻辑的面积为10一个门控时钟信号可以驱动8位寄存器则在门控时钟电路中对每8个寄存器需增加一个门控逻辑增加的面积为10。由此可以看到门控时钟的电路比普通综合结果的面积更小、功耗更低。    这里有两点需要注意 插入门控时钟单元后上面电路中的MUX就不需要了如果数据D是多bit的一般都是如此插入CG后的面积可能反而会减少如果D是单bit信号节省的功耗就比较少但是如果D是一个32bit的信号那么插入CG后节省的功耗就比较多了。 这里的决定因素就是D的位宽了如果D的位宽很小那么可能插入的CG面积比原来的MUX大很多而且节省的功耗又很少这样得不偿失。只有D位宽超过了一定的bit数后插入CG的收益就比较大。 那么这个临界值是多少呢不同的工艺可能不一样但是DC给的默认值是3.也就是说如果D的位宽超过了3bit那么DC就会默认插入CG这样综合考虑就会有收益。我们可以通过DC命令来控制芯片中对不同位宽的寄存器是否自动插入CG。一般情况都不会去修改它 set_clock_gating_style -minimum_bitwidth 4 鉴于门控时钟的优点我们需要把普通的综合结果“转换”为门控时钟的结果我们主要是通过DC的power compiler来自动实现的。我们主要通过命令来设置门控时钟的风格和通过命令“启动”插入门控时钟。综合工具根据我们所设置的时钟门控的风格插入相应的门控逻辑。因此门控时钟的实现主要有两步一步是设置门控时钟的风格通过命令set_clock_gating_stale 及其选项来实现另一步就是在网表中加入门控时钟通过命令insert_clock_gating来实现。 3.2 RTL 门控时钟编码风格 虽然现在综合工具可以自动插入门控时钟但是如果编码风格不好也不能达到自动插入CG的目的。比较下面两种RTL写法 左边的RTL代码能够成功的综合成自动插入CG的电路右边的不能综合成插入CG的电路右边电路在d_valid为低时d_out也会一直变化其实没有真正的数据有效的指示信号所以综合不出来插入CG的电路。 需要注意的是有的前端设计人员为了仿真的时候看的比较清楚很容易会写成右边的代码这样不仅不能在综合的时候自动插入CG来减少功耗而且增加了d_out的翻转率进一步增加了功耗。 在不用的时候把数据设成0并不能减少功耗保持数据不变化才能减少toggle降低功耗所以我们在RTL编写的时候一定要注意。作为前端设计者了解这些知识就足够了如果想深入了解综合的控制可以去了解set_clock_gating_style 这个核心控制命令。
http://www.laogonggong.com/news/120945.html

相关文章:

  • 亿度网络 网站建设佛山顺德容桂做网站的公司
  • 只有域名可以做网站吗手机版wordpress怎么用
  • 北京做网站哪里好网站域名实名认证查询
  • 合肥网站建设培训中心烟台模板建站代理
  • 受欢迎的购物网站建设四川内江网站建设
  • 网站基本特点无锡网站建设选众鼎
  • php做的网站收录被墙网站查询
  • 网站建设整改情况汇报nftkif链之家
  • php网站费用静态网站如何共用一个头部和尾部
  • 镇海建设银行网站首页vi手册模板免费
  • 网站建设好弄吗搜狐快站官网
  • 潮汕17网站一起做网店官网吴桥钢结构网架公司
  • 泉州专业网站制作公司关键词规划师工具
  • 简单网页制作视频教程上海火迎网络推广运营优化
  • 莱芜金点子广告最新招聘电子版asp网站 seo
  • 搭建漏洞网站网站开发师招聘
  • 建设部监理工程师报考网站wordpress页面连接数据库连接
  • 门户网站收录中信建设有限责任公司龙芳
  • 改变网站的域名空间南京市溧水建设局网站
  • 用thinksns做的网站高性能网站建设指南 书
  • 中文网站建设制作做网站的知名公司
  • 建设工程图审管理信息系统网站做网站中网页的大小
  • 云南省网站开发软件桂林做
  • 信用卡申请网站建设湛江网站建设咨询
  • 专业服务网站建设政协网站建设意义
  • 免费贴图素材网站电商设计师工资高吗
  • 厦门酒店网站建设免费网站域名注册个人
  • 买手表去哪个网站买是正品的做app界面设计用什么软件
  • 天津建站方案互动营销经典案例
  • 网站建设中html5源码门户网站建设成都