- Timestamp:
- Apr 5, 2019, 9:26:53 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
asp3_tinet_ecnl_arm/trunk/asp3_dcre/tecsgen/tecslib/core/optimize.rb
r352 r374 4 4 # Generator for TOPPERS Embedded Component System 5 5 # 6 # Copyright (C) 2008-201 4by TOPPERS Project6 # Copyright (C) 2008-2018 by TOPPERS Project 7 7 #-- 8 8 # 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ … … 178 178 179 179 def set_domain 180 domain_cells = {} 180 181 @cell_list.each{ |c| 181 182 if c.is_generate? then … … 191 192 @domain_roots[ dn ] = [ dr ] 192 193 end 194 if domain_cells[ dr ] then 195 domain_cells[ dr ] << c 196 else 197 domain_cells[ dr ] = [ c ] 198 end 193 199 end 194 200 } … … 196 202 @domain_roots.each{ |dn, drs| 197 203 drs.uniq! 198 if ! $debug then 199 dbgPrint "domains celltype:#{@name} domain=#{dn} " 204 if $verbose && dn then 205 print "[domain] celltype=#{@name} domainType=#{dn} domainRootRegions={" 206 delim = "" 200 207 drs.each{ |r| 201 dbgPrint " region=#{r.get_name}" 208 print delim, r.get_name 209 delim = ", " 202 210 } 203 dbgPrint "\n" 211 print "}\n" 212 drs.each{ |r| 213 print "[domain] celltype=#{@name} domainRootRegion=#{r.get_name} domainType=#{dn} domainKind=#{r.get_domain_root.get_domain_type.get_kind} domainCells={" 214 delim = "" 215 domain_cells[r].each{ |c| 216 print delim, c.get_name 217 delim = ", " 218 } 219 print "}\n" 220 } 204 221 end 205 222 } … … 212 229 # domain_type は一つのノードに一つしかないので、一つの要素を無条件で取り出す 213 230 if regions.length > 1 then 214 cdl_info( "I9999 celltype:#{@name} has cells in multi domain.\n" ) 215 if @idx_is_id == false then 216 cdl_info( "I9999 celltype:#{@name} forcely set idx_is_id\n" ) 217 end 218 @idx_is_id_act = true 231 if $verbose then 232 cdl_info( "I9999 celltype '$1' has cells in multi-domain.\n", @name ) 233 end 234 # if @idx_is_id == false then 235 # cdl_info( "I9999 celltype '$1' forcely set idx_is_id\n", @name ) 236 # end 237 @b_need_ptab = true 238 # @idx_is_id_act = true 219 239 end 220 240 } … … 228 248 end 229 249 250 optimize_call 251 if $unopt_entry == false then 252 optimize_entry 253 end 254 end 255 256 #=== Celltype#呼び口最適化 257 def optimize_call 230 258 @port.each{ |port| 231 259 next if port.get_port_type != :CALL … … 361 389 dbgPrint "#{port.get_name} : # of cells : #{port_cells.length} # of ports : #{port_ports.length}\n" 362 390 } 363 391 end 392 393 #=== Celltype#受け口最適化 394 # optimize_entry は、呼び口最適化の結果を使用している 395 def optimize_entry 364 396 # 受け口最適化の設定 365 397 @port.each{ |port|
Note:
See TracChangeset
for help on using the changeset viewer.