1、设定实施约束的层次
set_design_top?SoC/Video_SB #指定design_top为Video_SB
set_scope?. ? #指定命令作用的范围为当前层次即Video_SB
set_scope V1/LV1 #指定命令作用的范围为V1/LV1
2、设定设定power_domain
Video_SB top层次下存在下面5个domain和sub_domain
Video_SB/Video_PD、Video_SB/V1_PD、Video_SB/V2_PD、Video_SB/LV12_PD、Video_SB/LV34_PD
设定power_domain的步骤如下:
1.?set_scope?Video_SB #set the scope to Video_SB
2.create_power_domain?Video_PD?-include_scope?#create Video_PD power domain in current scope.
3.create_power_domain V1_PD?-elements?{V1} ?#creates V1‘s domain,its own power domain called V1_PD
4.create_power_domain LV12_PD -elements {V1/LV1 V1/LV2}
5.create_power_domain V2_PD -elements {V2}
6.create_power_domain LV34_PD -elements {V2/LV3 V2/LV4}
3、描述power_domain的电源网络: Supply Network?
power domain中电源网络的定义如下图:
主要是通过下面四个进行电源网络的连接。
create_supply_portVDD ? -direction in
create_supply_port ? VSS ? -direction in
create_supply_netPwr ? ? -domain Video_PD
create_supply_net ? ?Gnd ? ?-domain Video_PD
connect_supply_net?Pwr ? -ports (VDD)
connect_supply_net ? Gnd ? -ports (VSS)
set_domain_supply_net?Video_PD \
-primary_power_net ? Pwr \
-primary_ground_net ? Gnd
下图中,V_PD domain 中的supply_net复用Video_PD domain中的supply_net。需要-reuse进行描述
create_supply_net?Pwr-reuse-domain V_PD
create_supply_net ? Gnd ? -reuse ? -domain V_PD
同时,必须显示的申明net所属的power_domain
set_domain_supply_net V_PD \
-primary_power_net Pwr \
-primary_ground_net Gnd
4、创建power_switch
create_supply_net ?VDDsw?-domain V_PD ? #定义switch产生的supply_net。
create_power_switch?SW -domain V_PD \
-input_supply_port {pwin?Pwr} \
-output_supply_prt {pwout?VDDsw?} \
-control_port {swctrl?sw_ctrl} \
-on_state {Pwon swctrl} \
-off_state {Pwoff !swctrl}
set_domain_supply_net V_PD?\ ? ? #V_PD的primary_power_net为switch产生的net
-primary_power_net VDDsw \
-primary_ground_net Gnd
5、设定Supply Port的值
add_port_stateVDD ? ? ? ? ? ? ?-state ? {ON_10 ?1.0} ? ?#VDD只有一种??淖刺?,其电压值为1.0v
add_port_state ? ?VSS ? ? ? ? ? ? ? -state ?{ON_00 ?0.0}
add_port_state ? SW/VDDsw ? -state ? {ON_10 ?1.0} ? -state ? {OFF ?off} ? ?#switch开关电压VDDsw,存在ON和OFF两种状态。
6、Power State Table的描述
create_pst ? PST1?-supplies ? {VDD, VDDsw, VDD2, VSS}
add_pst_state ? Normal?-pst PST1 -state {ON_10, ON_10, ON_08, ON_00}
add_pst_state ? Sleep ? ? -pst PST1 -state {ON_10, OFF, ON_08, ON_00}
add_pst_state ? Normal ? -pst PST1 -state {ON_10, OFF, OFF, ON_00}
7、set retention快速回复被关断domain的状态
其中retention cell的电源和地为红色VDD和VSS
set_retention?V_PD_retention \ ? ? #所以V_PD domain的状态都要能被恢复
-domain V_PD \
-retention_power_net Pwr \
-retention_ground_net Gnd
?set_retention_control?V_PD_retention \
-domain V_PD \
-save_signal {SRctrl posedge} \
-restore_signal {SRctrl negedge}
8、用isolation cell 隔离ON domain和OFF domain
OFF domain 其输出连接至ON domain,所以其输出需要处理。
set_isolation?V_PD_isolation \
-domain V_PD \
-applies_to outputs \
-clamp_value 0 \
-isolation_power_net Pwr \
Isolation_ground_net Gnd
set_isolation_control?V_PD_isolation \
-domain V_PD \
-isolation_signal vISO \
-isolation_sense high \
-location parent
9、level shift cell 处理不同电压域之间信号的传递。
set_level_shifter?LV_PD_LS
-domain LV_PD \
-threshold 0.1 \
-applies_to both \
-rule both \
-location self
原文链接:https://zhuanlan.zhihu.com/p/397526396?utm_id=0