VERDVANA'S BLOG Verdvana

DC综合之环境约束


1 前言

        环境约束对时序模型的影响有以下几方面:

  • 输入驱动和转换时间;
  • 输出负载电容;
  • 操作条件;
  • PVT的操作条件;
  • 寄生参数。

set_max_fanout
set_max_transition
set_max_capacitance


2 输入驱动和转换时间

        如果不加输入转换时间约束,DC认为输入电平转换是理想的。所以要添加输入转换时间,加入为0.12ns:

set_input_transition  0.12 [get_port A]

        如果不知道转换时间,而是由OR3B或门驱动:

set_driving_cell -lib_cell OR3B [get_port A]

        加入驅動約束會使原本理想的數據變化沿(直上直下)變為斜坡變化沿,會額外增加一小段延遲。

        如果是由FD1寄存器驱动:

set_driving_cell -lib_cell OR3B [get_port A]

        如果完全不知道输入驱动能力,就选择一个驱动能力稍弱的。


3 输出驱动

        如果给出了输出端的电容值,假如30fF:

set_load [expr 30.0/1000] [get_ports C]

        如果不知道电容值,是驱动一个AN2与门:

set_load [load_of my_lib/AN2/A] [get_ports C]

        如果是驱动三个inv1a0非门:

set_load [expr {[load_of my_lib/inv1a0/A]*3}] [get_ports C]

4 PVT和工作条件

        如果只有一个目标器件库,则不需要设置;如果有“slow”、“typicle”、“fast”等多个库,则需要设置:

set_operation_conditions -max “lib_name”

5 RC寄生参数

        通过线负载模型评估连线的寄生参数。根据所挂负载和经验参数估算所得。

        設置线负载模式:

set_wire_load_mode      top 

        设置线负载模型:

set_wire_load_model     -name           $WIRE_LOAD_MODEL \
                        -library        $LIB_NAME

        告辞