布局布线和时序分析
笔记本


2025-10-13 21:33:25innovus初始化文件enc.tcl示例走来走去223.166.231.54

proc sc { obj } {
	deselectAll
	selectInst $obj
	zoomSelected
}
proc sn { obj } {
	deselectAll
	selectNet $obj
	zoomSelected
}
proc sshape { obj } {
	deselectAll
	select_obj [dbGet [dbGet top.nets.name $obj -p ].sWires ]
	zoomSelected
}
proc p { obj } {
	deselectAll
	selectPin $obj
	zoomSelected
}

proc dd { obj } {
setEcoMode -updateTiming false -refinePlace false
setEcoMode -honorDontUse false -honorDontTouch false -honorFixedStatus false
	ecoDeleteRepeater -inst $obj
}
proc ds {} {
setEcoMode -updateTiming false -refinePlace false
setEcoMode -honorDontUse false -honorDontTouch false -honorFixedStatus false
	editDelete -net [dbGet selected.instTerms.net.name ]
	ecoDeleteRepeater -inst [dbGet selected.name ]
}
proc dn {} {
setEcoMode -updateTiming false -refinePlace false
setEcoMode -honorDontUse false -honorDontTouch false -honorFixedStatus false
	editDelete -net [dbGet selected.instTerms.net.name ]
}
proc d {} {
setEcoMode -updateTiming false -refinePlace false
setEcoMode -honorDontUse false -honorDontTouch false -honorFixedStatus false
	editDelete -net [dbGet selected.instTerms.net.name ]
}
proc dw {} {
setEcoMode -updateTiming false -refinePlace false
setEcoMode -honorDontUse false -honorDontTouch false -honorFixedStatus false
	editDelete -net [dbGet selected.net.name ]
}

proc ai { obj } {
setEcoMode -updateTiming false -refinePlace false
setEcoMode -honorDontUse false -honorDontTouch false -honorFixedStatus false
	ecoAddRepeater -term $obj -cell INV_D10_N_S8P75TSL_C68L20
}
proc ab { obj } {
setEcoMode -updateTiming false -refinePlace false
setEcoMode -honorDontUse false -honorDontTouch false -honorFixedStatus false
	ecoAddRepeater -term $obj -cell BUF_D6_N_S8P75TSL_C68L20
}

# instance arc cell net fanout load slew_mean slew_sigma slew delay_mean delay_sigma delay incr_delay arrival_mean arrival_sigma arrival required user_derate derate

# set_global report_timing_format {adjustment  annotation  aocv_derate  arc  arrival  arrival  arrival_mean  arrival_sensitivity  arrival_sigma  cell  delay  delay delay_mean delay_sensitivity \
       delay_sigma direction edge fanin fanout hpin incr_delay instance instance_location load module net phase pin pin_load pin_location power_domain  required \
       retime_delay retime_incr_delay retime_slew slew stage_count stolen timing_point total_derate user_derate voltage when_cond wire_load }

# set_global report_timing_format {instance arc cell fanout slew pin pin_load delay delay_mean delay_sigma arrival arrival_mean arrival_sigma required instance_location incr_delay user_derate }

# set_global report_timing_format {instance arc cell fanout slew pin pin_load delay arrival instance_location user_derate }

# set_global report_timing_format {instance cell fanout slew pin delay arrival derate }
set_global report_timing_format {instance arc cell fanout load slew delay_mean delay_sigma delay incr_delay arrival_mean arrival_sigma arrival derate }
# timing_point fanout edge cell slew_mean slew_sigma slew user_derate total_derate load delay_mean delay_sigma delay arrival_mean arrival_sigma arrival

#joe set_table_style -name report_timing -frame 
#joe set_table_style -nosplit -no_frame_fix_width
set_table_style -frame
#joe set_table_style -name report_timing -min_widths {120,15,30}
set_table_style -name report_timing -min_widths {160,8,5}
set_table_style -name report_timing_summary -min_widths {220,80,5} -indent 0
set_table_style -name report_timing -no_frame_fix_width -nosplit

alias rt report_timing -path_type full_clock -net

setMultiCpuUsage -localCpu 8

setLicenseCheck -wait 600

stty columns [exec tput cols ]

setEcoMode -batchMode false
# setEcoMode -updateTiming false -refinePlace false -LEQCheck true -prefixName [exec date +%m%d]
# setEcoMode -honorDontUse false -honorDontTouch false -honorFixedStatus false
# setEcoMode -batchMode true

set restore_db_file_check 0

proc hipath { args } {
	report_timing -to $args -machine_readable > reg2reg.mtarpt
	load_timing_debug_report reg2reg.mtarpt
	highlight_timing_report -file reg2reg.mtarpt -path 1
}

proc line { args } {
	set args [regsub {\{} $args "" ]
	set args [regsub {\}} $args "" ]
	if { [regexp 0x $args ] } { set args [get_object_name $args ] }
	puts ""
	foreach j_obj [split $args ] {
		puts $j_obj
	}
	puts ""
}

history keep 1000
alias get_selection {foreach obj [dbGet selected.name ] { puts $obj }}

proc lse { } {
	foreach obj [dbGet selected.name ] { puts $obj }
}

proc ml { args } { move_obj -direction left -distance $args -selected -group }
proc mr { args } { move_obj -direction right -distance $args -selected -group }
proc mu { args } { move_obj -direction up -distance $args -selected -group }
proc md { args } { move_obj -direction down -distance $args -selected -group }

proc sm {} {
	selectInst [get_db insts -if .is_macro==1 ]
}

alias l {line [get_db selected .name ]}

proc j_proc_highlight_path { args } {
	set options(-group) ""
	set options(-num) ""
	parse_proc_arguments -args $args options

	report_timing -max_paths $options(-num) -path_group $options(-group) -output_format binary > $options(-group).mtarpt

	load_timing_debug_report $options(-group).mtarpt
	highlight_timing_report -all -color_index 1
}

define_proc_arguments j_proc_highlight_path -info "Highlight timing path." \
	-define_args {
		{-group "Group name" "" string required}
		{-num "number of paths to be highlighted" "" string required}
	}

alias hp j_proc_highlight_path



回到首页时钟 , 联系信箱:yzbox#163.com(把#换成@) 粤ICP备18155639号