数字集成电路中的多电源设计

风行水上 @ 2012-06-27 13:54:05
标签:

    当一个芯片中的电源数目不止一个的时候,就需要小心谨慎地描述各电源之间的关系。这种设计类型被称为Multi-Voltage(MV)。

    一个相对独立的电源区域和周围区域的关系可以简化如下:

          VDD                       IVDD/IVSS ?
          VSS                       RVDD/RVSS ?
    
                   +--------------------+
                   | PVDD/PVSS          |
                   | IVDD/IVSS ?        |
            input  | RVDD/RVSS ?        | output
          +-------->                    +------>    level shifter
          +-------->                    +------>    isolation cell
          +-------->                    +------>    
                   |  retention cell    |
                   +--------------------+
    

    如果当前区域的电源电压和外部不同,则信号传输时需要电平转换。这可以通过在信号线中间插入被称为Level Shifter的cell来实现。

    如果当前区域或者外部区域中的一个电源被关闭了,则相应的信号线上的被驱动端(sink)就会信号不稳定。这可以通过插入被称为Isolation Cell的cell来实现。

    如果当前区域的电源被关闭了,但有些数据又需要在之后重新上电时恢复之前的值,这就需要用到被称之为Retention Cell的逻辑单元(cell)来实现。

    Level Shifter

    Level Shifter很显然可以放在当前区域内部,也可以放在外部。

    在IC Compiler中,是通过insert_level_shifter这个命令来进行操作的。

    为了用于描述插入的策略(strategy),下面两个命令应运而生:

    • set_level_shifter_strategy
      • 电平转换的方向:是高到低还是低到高?
      • 插入的位置:是内部还是外部?
    • set_level_shifter_threshold :多大的电压差才需要level shifter?

    Isolation Cell

    Isolation Cell的主要作用是:

    • 通电的情况下表现为一个buffer
    • 断电的情况上向外部输出稳定的信号

    从逻辑上看,很显然,Isolation Cell需要一个控制信号(-isolation_signal)来决定工作模式。
    这个稳定的信号值(-clamp_value)无非是三种情况:0、1、或者latch(锁存器)的值,显然这对应三种不同的Isolation Cell类型。

    由于Isolation Cell需要在相关电源断电的情况下正常工作,它显然需要一个独立的电源供应。这在IC Compiler中被称为 Isolation Power。

    用来描述Isolation Cell的插入策略可以用命令:

    • set_isolation :描述Power/Ground信号、锁存值、哪些port上需要插入等。
    • set_isolation_control : 描述控制信号和插入位置

    Retention Cell

    Isolation Cell主要用于一个电源区域的边界上。Retention Cell则主要用于该区域内部,它可以在该区域断电的情况下保存住特定的值,并在需要时恢复。从功能上看,Retention Cell是个稍微复杂点的寄存器(Register)。从电源供应上看,它显然也需要一个独立的电源供应。这个电源供应在IC Compiler中被称为(Retention Power)。

    用来描述Retention Cell的插入策略的命令:

    • set_retention
    • set_retention_control

    Power Switch Cell

    Multi-Voltage类型的芯片设计中,既然电源的开和关是很常见的,自然就需要一类特殊的cell单元来控制电源的开和关。这种类型的cell某种程度上更像是一种特殊的IO Cell,其设计和使用理念也很相像。

    最直接的想法就是做成chip中的chip——在芯片内部放置一个小的"IO Ring"。

    别外一种想法就是把power switch cell像普通cell一样放置在row上。

    TODO

    UPF Abstract Demo

    create_supply_set primary_sset
    
    create_power_domain PD
    set_domain_supply_net PD
       -primary_power_net  primary_sset.power \
       -primary_ground_net primary_sset.ground \
    
    set_isolation iso_cstr -domain PD \
     -isolation_power_net  primary_sset.power \
     -isolation_ground_net  primary_sset.ground \
     -clamp_value 0 | 1 | latch                 \
     -applies_to outputs | inputs | both        \
     -source                                    \
     -sink                                      \
     -diff_supply_only true | false             \
     -elements port | pin                       \
     -no_isolation                              \
    # -isolation_supply_set
    
    set_isolation_control iso_cstr -domain PD \
      -isolation_signal pin | port | net  \
      -isolation_sense low | high         \
      -location self | parent | fanout    \
    
    set_retention ret_cstr
      -retention_power_net  primary_sset.power \
      -retention_ground_net primary_sset.ground
    
    create_supply_net VDD -domain PD
    create_supply_net VSS -domain PD
    create_supply_set primary_sset -update \
       -function {power VDD} \
       -function {ground VSS}
                                          
    
    标签:

      分享到:
      comments powered by Disqus

      27/31ms