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


2020-09-15 13:46:58删除IO上多余的BUF/INV走来走去116.236.47.26

有时候在IO和IOBUF之间有多余的BUF/INV,需要删除:

proc j_get_driver_instance_of_a_pin { j_para } {
	set j_nets [get_nets -of $j_para ]
	set j_driver_output_pin [get_pins -of $j_nets -filter "direction == out" ]
	set j_driver_instance [get_cells -of $j_driver_output_pin ]
	return [get_object_name $j_driver_instance ]
}

foreach_in_collection j_obj [all_outputs ] { 
	puts "# [get_object_name $j_obj ]"
	set j_loading $j_obj

	puts "remove_buffer {"

	for { set i 0 } { $i < 10 } { incr i } {
		set j_buf_name [j_get_driver_instance_of_a_pin $j_loading ]
		set j_loading $j_buf_name/A
		if { [regexp PORT_BUF $j_buf_name ] } { 
#			puts "# $j_buf_name"
			break 
		} 
		puts "$j_buf_name"
#		puts "change_selection -add $j_buf_name"
	}
	puts "}"
}


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