一、使用compile_ultra -gate_clock 可以enable clock gating optimization:
clock gates可以自动inserted or removed.其不能与-only_design_rule一同使用;当使用-exact_map 时,对于涉及到clock gating optimization 的一些DFF 时,可能不会遵守-exact_map option。
如果使用set_dont_touch 命令将其parent hierarchical cell 标记为dont_touch, 那clock gating cell不会modified or removed
二、timing_separate_clock_gating_group
指定是否将单独的cost group 用于clock-gating 的timing analysis, reports和optimization。
当其设置为true 时,一个叫做**clock_gating_default** 的单独cost group 被创建用于all clock-gating 检查。
三、power_do_not_sizeicg_cells
控制compile是否不调整设计中icg-cells 的大小以纠正DRC违规,因为这样做会导致更低的面积和功耗。
true 支持在dc non-topo mode, dc topo mode, dcnxt non-topo mode, dcnxt topo mode.
当the variable 为true 时,compile 不去size icg-cells 去fix DRC violation,会导致更低的面积和功耗,当在CTS 中icg-cells驱动所有的门控寄存器时。
四、set_clock_gating_style
设置clock-gating 的类型,用于clock-gate 的insertion and replacement
SYNTAX
set_clock_gating_style
[-sequential_cell none | latch]:指定用于gating clock 时enable signal delay 使用的cell。默认下,tool 选择一个latch cell。 latch-free style(不带latch门控时钟单元),use none. 可以指定一个latch cell 使用这个syntax: latch:lib_cell
[-minimun_bitwidth minsize_value]:指定gated clock 的寄存器组的最小size
[-setup setup_value]:指定setup time 约束在2-input clock gate 的enable input signal 上
[-hold hold_value]:指定hold time 约束在2-input clock gate 的enable input signal 上
[-positive_edge_logic {cell_list | integrated [active_low_enable] [invert_gclk]}]:指定用于选通由正沿时钟结构推断的触发器的时钟的电路
[-negative_edge_logic {cell_list | integrated [active_low_enable] [invert_gclk]}]:指定用于选通由负沿时钟结构推断的触发器的时钟的电路
[-control_point none | before | after]:指定在时钟门控电路中插入控制点的位置。
[-control_signal scan_enable | test_mode]:指定测试控制信号.如果创建了一个输入端口,并且-control_signal选项的参数为scan_enable,则端口的名称由test_scan_enable_port_naming_style变量确定
[-observation_point true | false]:指定是否实现一个可测性逻辑
[-observation_logic_depth depth_value]:指定XOR tree最大深度,在可测性逻辑中
[-max_fanout max_fanout_count]:指定可以用时钟门选通的寄存器组的最大大小
[-num_stages num_stages_count]:指定多级时钟选通的最大级数
[-no_sharing] :将时钟选通单元选通的寄存器限制为信号寄存器组
[-instances {instances_list}]:指定时钟门控样式应应用于给定的分层单元格列表
[-power_domain {power_domain_list}]
[-design {design_list}]
对于positive-edge triggered flip-flops, clock-gating 电路必须有一个AND 或者NAND功能,对于positive-edge triggered flip-flops,clock-gating 电路必须有一个OR 或者NOR 功能。
五、power_cg_physical_aware_cg
在synopsys physical guidance flow 中enable registers 和icg cell restructuring,当variable 为true 时。
当变量enable 时,set_clock_gate_latency 和apply_clock_gate_latency is disabled。