Analog power pin UPF defination

在一个analog macro端口上,有些pin是always on的,有些是shut down的,如何描述这些pin的power属性?这是一个常见问题,驴就此机会大致描述一下常见的做法。对于这个问题,UPF2.0跟UPF2.1有不同的处理方式。

UPF2.0, IEEE1801-2009,因为modeling的能力比较弱,有以下两种方式来处理:

方式一:需要Library的支持:

  • 需要在library里有电源跟地的定义

  pg_pin(VDDA) {
     voltage_name : VDDA;
     pg_type : 
primary_power;
}
pg_pin(VSSA) {
     voltage_name : VSSA;
     pg_type : 
primary_ground;
}

   pg_pin(VDDB) {
     voltage_name : VDDB;
     pg_type : 
primary_power;
}

  • 需要将signal pin跟power pin关联起来

pin(IA) {
  related_power_pin : "VDDA";
  related_ground_pin : "VSSA";
  direction : input; 
}

  pin(OB) {
  related_power_pin : "VDDB";
  related_ground_pin : "VSSB";
  direction : output

       power_down_function:  “!VDDB || VSSB”;
};

  • 在UPF文件中,需要将Hard_IP的PG pin连起来

connect_supply_net VDD1 –ports {Hard_IP/VDDA}

connect_supply_net VDD2 –ports {Hard_IP/VDDB}

connect_supply_net VSS –ports {Hard_IP/VSSA}

connect_supply_net VSS –ports {Hard_IP/VSSB}

方式二:如果library中没有电源跟地的定义:

  • 用UPF命令set_port_attributes来指定Hard_IP输入的receiver supply跟输出的driver supply。

set_port_attributes -ports {Macro/IA} –receiver_supply_set SS_VDDA_VSSA

set_port_attributes –ports {Macro/OB} –driver_supply_set SS_VDDB_VSSB

 

UPF2.1, IEEE1801-2013吸收了CPF hard macro model的精华,可以通过hard macro的power model来描述hard macro的power属性。

  • 由两组命令组合完成:

begin_power_model upf_model -for cellA

create_power_domainPD1-elements {.} -supply {ssh1} -supply {ssh2} 

# other commands ...

end_power_model

apply_power_model power_model_name

[-elements instance_list]

[-supply_map {{lower_scope_handle upper_scope_supply_set}*}] 

 

如果library里没有电源跟地的定义,建议使用UPF2.1的power_model来定义,更灵活且可以描述更复杂.

的power关系。一个power_model的完整示例:

猜你喜欢

转载自www.cnblogs.com/lelin/p/11410103.html