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


2024-12-05 11:21:35innovus统计各类cell数量和面积走来走去116.236.47.26

set j_std_count 0 
#set j_std_count2 0 
set j_mem_count 0
#set j_mem_count2 0

set j_fill_count 0
set j_fill_area 0

set j_std_area 0
set j_mem_area 0

set j_current_inst_area 0

set j_std_count [llength [dbGet top.insts.cell.baseClass core -p ] ]
set j_mem_count [llength [dbGet top.insts.cell.baseClass block -p ] ]

set j_fill_count [llength [dbGet top.insts.name FILL* ] ]

foreach j_obj [dbGet [dbGet top.insts.cell.baseClass block -p2].area ] {
	set j_mem_area [expr $j_mem_area + $j_obj ]
#	incr j_mem_count2
}

foreach j_obj [dbGet [dbGet top.insts.cell.baseClass core -p2].area ] {
	set j_std_area [expr $j_std_area + $j_obj ]
#	incr j_std_count2
}

foreach j_obj [dbGet [dbGet top.insts.name FILL* -p].area ] {
	set j_fill_area [expr $j_fill_area + $j_obj ]
}

set j_std_count [expr $j_std_count - $j_fill_count ]
set j_std_area [expr $j_std_area - $j_fill_area ]

# sequential cells
set j_seq_area 0
set j_seq_count 0
foreach j_obj [get_db insts -if { .is_sequential == true && .is_memory == false } ] {
	set j_area [get_db $j_obj .area ]
	set j_seq_area [expr $j_seq_area + $j_area ]
	incr j_seq_count
}

# combinational cells
set j_comb_area 0
set j_comb_count 0
foreach j_obj [get_db insts -if { .is_combinational == true } ] {
	set j_area [get_db $j_obj .area ]
	set j_comb_area [expr $j_comb_area + $j_area ]
	incr j_comb_count
}

# TR/TL/TSL
set j_TR_area 0
set j_TR_count 0
set j_TL_area 0
set j_TL_count 0
set j_TSL_area 0
set j_TSL_count 0
foreach j_obj [get_db insts -if { .is_memory == false && .is_physical == false } ] {
	set j_base [get_db $j_obj .base_cell ]
	set j_area [get_db $j_obj .area ]
	switch -regexp $j_base {
		TR {
			set j_TR_area [expr $j_TR_area + $j_area ]
			incr j_TR_count
		}
		TL {
			set j_TL_area [expr $j_TL_area + $j_area ]
			incr j_TL_count
		}
		TSL {
			set j_TSL_area [expr $j_TSL_area + $j_area ]
			incr j_TSL_count
		}
		default {
		}
	}
}

puts "TR STD count : $j_TR_count"
puts "TR STD area : $j_TR_area"
puts "TL STD count : $j_TL_count"
puts "TL STD area : $j_TL_area"
puts "TSL STD count : $j_TSL_count"
puts "TSL STD area : $j_TSL_area"
puts "TR STD count ratio : [expr double($j_TR_count)/($j_TR_count+$j_TL_count+$j_TSL_count) ]"
puts "TR STD area ratio : [expr double($j_TR_area)/($j_TR_area+$j_TL_area+$j_TSL_area) ]"
puts "TL STD count ratio : [expr double($j_TL_count)/($j_TR_count+$j_TL_count+$j_TSL_count) ]"
puts "TL STD area ratio : [expr double($j_TL_area)/($j_TR_area+$j_TL_area+$j_TSL_area) ]"
puts "TSL STD count ratio : [expr double($j_TSL_count)/($j_TR_count+$j_TL_count+$j_TSL_count) ]"
puts "TSL STD area ratio : [expr double($j_TSL_area)/($j_TR_area+$j_TL_area+$j_TSL_area) ]"

puts "SEQ STD count : $j_seq_count"
puts "SEQ STD area : $j_seq_area"
puts "COMB STD count : $j_comb_count"
puts "COMB STD area : $j_comb_area"
puts "STD count :	$j_std_count"
puts "STD area :	$j_std_area"
puts "MEM count :	$j_mem_count"
puts "MEM area :	$j_mem_area"



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