zoukankan      html  css  js  c++  java
  • Synopsys- Multivoltage Flow User Guide-多电压域设计笔记

    1、低功耗设计策略

      1)动态功耗和静态功耗

      动态功耗包括开关功耗(switching power)和内部功耗(internal power),前者来源于对负载电容的充放电,后者来源于短路电流。

        

      静态功耗包括亚阈值漏电、栅漏电、pn结到衬底的漏电。

      

      2)降低功耗的方法

      a)降低供电电压

      功耗与电源的二次方成正比,因此降低电源电压是降低功耗的有效手段。但是带来的负面影响是:降低了晶体管的切换速度,因此而降低了晶体管的阈值电压,又会使得噪声容限减小、亚阈值漏电增加

      b)时钟门控

       

      c)使用多阈值库单元

      低阈值单元速度快,但漏电高;高阈值单元速度慢,但漏电低。可以在时序上的关键路径使用低阈值单元提高速度,在非关键路径上使用高阈值单元降低漏电。

      d)多电压域设计

      速度要求高的模块放在高电压域,速度要求不高的放在低电压域,两者之间信号交互需要通过level-shifter 单元转换

      

      e)电源门控

      可以同时降低动态和静态功耗,存在的挑战有:the need for a power controller, a power-switching network, isolation cells, and retention registers.

      在Power-down模块和Always-on模块之间需要添加隔离单元,其作用是当被门控的模块断电之后可以为不断电模块提供一个稳定的输入驱动,如图所示的隔离单元在左边模块不断电的情况下正常传递信号,当断电时维持固定逻辑“0”

      在Power-down模块和Always-on模块之间还需要添加保持寄存器,其作用是在模块断电之前拷贝主寄存器的数据到影子寄存器,在模块重新上电之后再从影子寄存器中恢复数据到主寄存器。

      

      

      f)动态电压频率调节

      在运行过程中,为了满足负载要求而动态地改变电源电压和工作频率,称为动态电压和频率调节。

      3)统一电压格式(UPF)

      使用UPF命令,可以为芯片设计指定电源网络、电源开关、隔离、保持和电源管理等。

    2、库的要求

      1)Liberty PG引脚语法

      为每个单元的供电引脚指定供电电源。

      2)时钟门控单元

      集成的时钟门单元将时钟门的各种组合和时序元素集成到单个库单元中。

      

      3)多阈值单元

      可以使用属性定义多阈值单元:

      

      4)电平转换器

      双向信号不能用电平转换器

      

      5)隔离单元

      双向信号不能用隔离单元。可以同时执行电平转换和隔离功能的单元称为enable level-shifter单元。

      

      使用隔离单元的原因:

      

       当左边的Voltage Area处于关断状态,右边的Voltage Area却始终处于开启状态,左边的PD关断使电路输出悬空,处于未知状态X,则PMOS管和NMOS管可能同时导通,造成器件短路。(https://www.sohu.com/a/220628287_99933533

      6)电源门控单元

      

      7)常开逻辑单元

      作用:在shutdown电压域中需要一直保持active的单元,比如保持寄存器、隔离单元、retention 控制路径、isolation使能路径。比如,一个save或者restore信号穿过shutdown电压域并且需要加缓冲,那么就需要一个常开的buffer。与常规单元相比,它们多了一个备份电源。

      

      8)保持寄存器单元

      

      9)内部有生成电源的MACRO单元

      10)将库转到PG Pin库格式

      a)使用FRAM View

      b)使用Tcl命令

      c)使用针对低功耗库规格的命令

    3、电源意图规范

      统一电源格式(UPF)提供了一种统一的方式来指定整个设计过程中的电源实现意图,包括综合、物理实现和验证。这种一致性使得在给定设计中存在特定的低功耗特性时,更容易执行综合、仿真、逻辑等价性检查和设计验证

      1)电源意图的概念

      a)power domain:一块电压域中所有的单元共享同一组电源,通常被实现为物理芯片布局中的一个连续电压区域。每个电压域带一个scope属性和一个extent属性,scope是这个电压域被定义的逻辑层次,而extent则是属于这个电压域的逻辑元素集合。

      b)supply net和supply port:设计中的每个scope在它定义的层次级别上都有supply net和supply port。supply net是在给定的电源区域内承载电源电压或接地的导体,一个supply net穿过多个电压域被称为“reused”。supply port是设计层次结构的两个相邻层次之间、层次结构的父块和子块之间的电源连接点。从设计层次结构的一个层次跨越到下一个层次的supply net通过一个supply port。

      c)supply set:它是supply net的一个抽象集合,supply set是domain-independent的,这意味着supply set中的电源地可以被它所定义的scope中的所有power domain共用。

      d)supply set handle :

      e)power switch:是一个针对于supply net开关电源的器件。一个switch有一个输入的supply net,和一个可以被开启或者关闭的输出的supply net,以及至少一个输入信号控制开关。

      f)level shifter:电平移位器将信号从第一个域的电压摆幅转换为第二个域的电压摆幅。

      g)isolation cell:电平移位器在电压域关闭期间生成一个已知的逻辑值。

      h)retention registers:在具有电源开关的电源域中,在关机期间必须保留数据的任何寄存器都必须实现为保留寄存器。保留寄存器有一个单独的、始终在线的供应网络,有时称为备份供电,它在域的主供电关闭时保持保留寄存器中的数据稳定。

      示例1:

      

      创建电压域:

      

      访问某个电压域、电压端口、电压网络的方法:

      

      

       示例2:

      

      创建电压域:

      

       

       2)Synopsys 多电压流程

      

      power-related cells 是在综合时加入的,而power switch则是在PR时加入的

      3)UPF Commands Supported by Synopsys Tools 

       a)Basic Power Network Commands

      基本电源命令定义设计的电压域和每个域的电源端口、电源网络和电源开关。

      -create_power_domain

      -create_supply_port

      -create_supply_net
      

      -connect_supply_net 

      电源端口在两端只能连接一次,VCS和Formality对power流动的方向施加限制。

        

      

      -set_domain_supply_net

      The set_domain_supply_net command specifies the primary power net and primary ground net for an existing power domain. They are the default power nets connected to the logic elements (or inferred cells) of the power domain. At the gate level, the power and ground pins of inferred gates are connected to the primary power and ground nets unless specified otherwise by the connect_supply_netset_retention, or set_isolation command.
      指定primary power net 和 primary groud net,它们是逻辑单元的power pin和ground pin默认连接的nets

      -create_power_switch

      b)Level Shifter Commands 

       -set_level_shifter

      c)Power Supply Checking, Reporting, and Collection Commands

      生成报表

      -report_power_domains

      -report_supply_nets

      -report_supply_ports

      -get_power_domains

      -get_supply_nets

      -get_supply_ports

      d)Golden UPF flow

      

      4)Supply set

      一个supply set 包含某个instance 或power domain 所有的supply nets

       

      

    4、UPF脚本示例

      1)双电压域

      

       可以看到,上述例子并没有显式地去创建CPU_1的电源端口VN和GN以及CPU_2的电源端口VN和GN,因为供电网络PDSODIUM/VN1和PD_CPU_1/VN1都是在SODIUM这个scope中创建的,因此它们会自动创建端口进行跨层次连接。还少一个 create_supply_net  VN2 -domain   PD_SODIUM -reuse

      2)Hierarchy and the get_supply_nets Command

      

     5、特定工具的使用建议

      1)Logic Synthesis Using Design Compiler

      DC可以基于UPF命令和UPF指定的电源状态自动插入level shifters,isolation cells,rentention registers。

      DC的输入文件包括RTL和用户编写的UPF,综合之后会生成一个新的UPF,新的UPF包含了一些综合过程中与电源管理单元相关的连接,如level shifters,isolation cells,rentention registers。

      基本流程:

      

       a)电压域和层次

      

      2)指定工作电压

      

      3)编译

      在运行编译之前,将auto_insert_level_shifters_on_clocks变量设置为时钟名称列表或全部,这样编译器就会给时钟也插level shifters

     

  • 相关阅读:
    N皇后
    水域大小
    1221 分割平衡字符串
    1391 检查是否存在有效路径 DFS
    盛最多水的容器11 双指针
    烧饼排序
    每日日报8——软件设计④|抽象工厂模式(人与肤色)
    每日日报5——登录功能的实现(JAVA)
    每日日报4——软件设计②|简单工厂模式(女娲造人)
    vue利用transition过渡动画实现轮播图
  • 原文地址:https://www.cnblogs.com/wt-seu/p/12422322.html
Copyright © 2011-2022 走看看