DC综合之环境约束
10 Feb 2020 876字 3分 次 Digital IC Design Synthesis Tcl打赏作者 CC BY 4.0 (除特别声明或转载文章外)
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
告辞