在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 21501|回复: 30

[原创] ICC2-flow求助

[复制链接]
发表于 2016-5-5 10:33:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
小弟目前正在try ICC2的flow,目前在place阶段遇到一个问题,想求各位大神解答; 由于该模块存在多个power-domain,我在place阶段用创建bound的方式让处于同一power下的cell都放在同一个bound,且不是该power下的
cell禁止入内,创建如下:
create_bound -name PD_36_bound -boundary { {{0.000 1664.000} {1015.950 3806.400}} {{1015.950 1664.000} {2767.000 4604.800}} {{2767.000 1869.600} {3823.040 4604.800}} } [get_cells PPU/PPU_TOP/PPU_PD36] -type hard
-exclusive
然后进行后续的place,ICC2的place过程是:initial_place,initial_drc, initial_opto,  final_place, final_opto, 接下来就是  place_opt.
  在final_place开始的时候会做leaglize,此时通过log发现部分cell被推的很远。进一步查看发现,place阶段做优化插入的,属于PPU_PD36的cell一部分被推出了bound之外。与未被推出bound的那些cell相比,推出去的cell少了bounds这个属性,也就是说这些cell未能打上标签,工具认为不能摆在bound内。问题就在这:是不是后面插进去的cell有可能无法被bound识别?为什么有一部分被识别了?未被识别的原因可能是什么?求大神解惑!
    另外:有人怀疑创建bound是指定cell的命令[get_cells PPU/PPU_TOP/PPU_PD36]有问题,应该用[get_cells -physical_context PPU/PPU_TOP/PPU_PD36/*]去匹配,但上面这个命令在工具的例子中有给出:如下
The  following example creates a move bound named "movebound2" containing hierarchical cell "mid". It  also  implicitly  contains  all  cells within "mid".
         prompt> create_bound -name "movebound2" -boundary {{0 0} {200 200}} [get_cells mid]
                         期待大神的解答!!!
 楼主| 发表于 2016-5-5 10:58:03 | 显示全部楼层
自顶一下
 楼主| 发表于 2016-5-6 10:34:27 | 显示全部楼层
顶顶顶顶顶顶顶顶顶
发表于 2016-5-6 14:40:29 | 显示全部楼层
bound没法约束opt加入的cell吧,有的加上了可能是tool自己infer的。不过这还是create_power_domain, create_voltage_area来约束更合适吧
 楼主| 发表于 2016-5-6 18:00:46 | 显示全部楼层
回复 4# ryry17


   create_voltage_area是不是就要完整的UPF文件了?
发表于 2016-6-22 10:07:01 | 显示全部楼层
请教下那些ref library的ndm的库怎么转的?
发表于 2017-7-5 10:43:31 | 显示全部楼层
能分享下ICC2的安装文件么 ?
发表于 2018-1-24 10:15:14 | 显示全部楼层
回复 6# damonzhao

icc2_lm_shell   -f  ndm_gen.tcl

###ndm_gen.tcl





  1. set_app_options -name file.lef.allow_site_conflicts -value true
  2. set_app_options -name file.lef.auto_rename_conflict_sites -value true
  3. set_app_options -name lib.workspace.group_libs_naming_strategies -value common_prefix
  4. set_app_options -name lib.workspace.allow_commit_workspace_overwrite -value true
  5. set_app_options -name lib.workspace.group_libs_create_slg -value false
  6. set_app_options -name lib.workspace.allow_missing_related_pg_pins -value true
  7. set_app_options -name lib.logic_model.auto_remove_incompatible_timing_designs -value true
  8. set_app_options -name lib.workspace.remove_frame_bus_properties -value true
  9. set_app_options -name lib.logic_model.require_same_opt_attrs -value false
  10. set_app_options -name lib.logic_model.use_db_rail_names -value true
  11. set_app_options -name lib.logic_model.auto_remove_timing_only_designs -value true
  12. set_app_options -name lib.workspace.save_design_views -value false
  13. set_app_options -name lib.workspace.save_layout_views -value false
  14. set_app_options -name lib.setting.use_tech_scale_factor -value true
  15. set_app_options -name file.lef.non_real_cut_obs_mode -value true
  16. set_app_options -name lib.workspace.enable_rc_support -value true
  17. set_app_options -name lib.workspace.group_libs_fix_cell_shadowing -value true
  18. set_app_options -as_user_default -name lib.physical_model.design_rule_via_blockage_layers -value {V1 V2 V3 V4 V5 V6 TV1 TV2 PA}
  19. set_app_options -as_user_default -name lib.physical_model.block_all -value false

  20. create_workspace  examble  -technology  $techfile.tf
  21. read_db     examble.db

  22. # Create OVERLAP.lef file to avoid (LEFR-021)
  23. #set overlap_lef ./OVERLAP.lef
  24. #echo "LAYER OVERLAP\n    TYPE OVERLAP ;\nEND OVERLAP\n" > $overlap_lef
  25. #read_lef $overlap_lef
  26. ################

  27. read_lef    examble.lef
  28. check_workspace
  29. commit_workspace -output  examble.ndm
  30. remove_workspace



  31. ############ workspace EXPLORE_physical_only:
  32. #create_workspace EXPLORE_physical_only  -flow physical_only  -technology  $techfile.tf
  33. #set_app_options -name lib.workspace.include_design_filters -value { ENDCAP DECAP FILLER PFILLER}
  34. #read_lef std.lef
  35. #read_lef io.lef
  36. #reset_app_options lib.workspace.include_design_filters
  37. #check_workspace
  38. #commit_workspace -output ./EXPLORE_physical_only.ndm
  39. #remove_workspace





  40. ############# SITE name modification for CORE cells
  41. #set all_ndms [glob ${NDM_DIR}/*.ndm]
  42. #foreach ndm $all_ndms {
  43. #    echo $ndm
  44. #    set ndm_dir [file dirname $ndm]
  45. #    create_workspace -flow edit $ndm
  46. #
  47. #    foreach_in_collection lib_cell [get_lib_cells */* -quiet -filter "site_name!=unit"] {
  48. #        set site_n [get_attr $lib_cell site_name]
  49. #        if {[get_attr [get_site_defs $site_n] type] == "core"} {
  50. #            set_attr $lib_cell site_name unit
  51. #        }
  52. #    }
  53. #      
  54. #    ############# Secondary PG pin modification
  55. #    foreach_in_collection lib_cell_spg [get_lib_pins */*BIASNW*/BIASNW -quiet] {
  56. #        set_attribute -objects $lib_cell_spg -name is_secondary_pg -value true
  57. #    }
  58. #
  59. #    check_workspace
  60. #    commit_workspace -output $ndm -force
  61. #}




复制代码
发表于 2018-1-24 15:15:32 | 显示全部楼层
回复 8# 凌云木


   Thank you for sharing
发表于 2018-2-7 20:01:58 | 显示全部楼层
thanks for ndm.tcl
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /3 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-24 06:51 , Processed in 0.027483 second(s), 5 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表