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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 14886|回复: 31

[求助] 为什么我用gds做mw和lef做mw的frame会不一样呢!

[复制链接]
发表于 2013-6-14 10:10:30 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 zg8312 于 2013-6-14 10:14 编辑

ISOHID4M这个cell是设计中要用到的,但是standar cell没有,我们就自己做了layout,然后用astro抽取frame给icc place&route使用!
但是出现了问题!我在astro中用import gds的方法抽取的frame,在icc中cell不在cell track上,但是用lef in这个方法做的frame是没有问题的,
lef文件也是同一个gds抽取的!同学们帮我看看问题出在哪里啦?

这张是import gds的方法抽取的frame!isohid4m这个cell离左右的cell都有缝隙!
Screenshot-2.png
这张是lef in做的frame!这个就没有缝隙!
Screenshot.png

这是我import gds to frame的脚本!





  1. define lib_name "iso_slow"
  2. define tech_file "smic18m_5lm.tf"
  3. define gds_file "ISO.gds"
  4. define metal1text_num "141"
  5. define metal2text_num "142"
  6. define metal3text_num "143"
  7. define metal4text_num "144"
  8. define metal5text_num "145"
  9. define cellpitch_width "0.56"
  10. define cellpitch_length "3.92"
  11. define prBoundary_layer "127"

  12. menuReload "astro_data_prep"

  13. cmCreateLib
  14. setFormField "Create Library" "Library Name" lib_name
  15. setFormField "Create Library" "Set Case Sensitive" "1"
  16. setFormField "Create Library" "Technology File Name" tech_file
  17. formOK "Create Library"

  18. geOpenLib
  19. setFormField "Open Library" "Library Name" lib_name
  20. formOK "Open Library"

  21. auStreamIn
  22. setFormField "Stream In Data File" "Stream File Name" gds_file
  23. setFormField "Stream In Data File" "Library Name" lib_name
  24. setFormField "Stream In Data File" "Use Layer for Boundary" "1"
  25. setFormField "Stream In Data File" "Boundary Layer" prBoundary_layer
  26. setFormField "Stream In Data File" "Cell Type Definition File" ""
  27. formOK "Stream In Data File"

  28. dbSetCellPortTypes lib_name "*" '(
  29. ("VDD" "Power")
  30. ("VSS" "Ground")
  31. ("ISO" "Input")
  32. ("I" "Input")
  33. ("Z" "Output")
  34. )#f

  35. cmMarkCellType
  36. setFormField "Mark Cell Type" "Library Name" lib_name
  37. setFormField "Mark Cell Type" "Cell Name" ".*"
  38. setFormField "Mark Cell Type" "pattern match" "1"
  39. setFormField "Mark Cell Type" "Cell Type" "std cell"
  40. formOK "Mark Cell Type"

  41. auExtractBlockagePinVia
  42. setFormField "Extract Blockage" "Library Name" lib_name
  43. setFormField "Extract Blockage" "macro" "0"
  44. setFormField "Extract Blockage" "pad" "0"
  45. ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  46. formButton "Extract Blockage" "extractBlkg"
  47. setFormField "Extract Blockage" "Routing Blockage Output Layer" "metBlk"
  48. setFormField "Extract Blockage" "Poly Blockage As Thin" "1"
  49. setFormField "Extract Blockage" "Metal1 Blockage As Thin" "1"
  50. setFormField "Extract Blockage" "Metal2 Blockage As Thin" "1"
  51. setFormField "Extract Blockage" "Metal3 Blockage As Thin" "1"
  52. setFormField "Extract Blockage" "Metal4 Blockage As Thin" "1"
  53. setFormField "Extract Blockage" "Metal5 Blockage As Thin" "1"
  54. ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  55. formButton "Extract Blockage" "extractPin"
  56. setFormField "Extract Blockage" "Metal1 Text" metal1text_num
  57. setFormField "Extract Blockage" "Metal2 Text" metal2text_num
  58. setFormField "Extract Blockage" "Metal3 Text" metal3text_num
  59. setFormField "Extract Blockage" "Metal4 Text" metal4text_num
  60. setFormField "Extract Blockage" "Metal5 Text" metal5text_num
  61. setFormField "Extract Blockage" "extract connectivity" "0"
  62. setFormField "Extract Blockage" "text fall through" "0"
  63. setFormField "Extract Blockage" "double fall through" "0"
  64. ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  65. formButton "Extract Blockage" "extractVia"
  66. formOK "Extract Blockage"

  67. auSetPRBdry
  68. setFormField "Set PR Boundary" "Library Name" lib_name
  69. setFormField "Set PR Boundary" "Height" "specify"
  70. setFormField "Set PR Boundary" "Height Value" cellpitch_length
  71. setFormField "Set PR Boundary" "Width" "specify"
  72. setFormField "Set PR Boundary" "Width Value" cellpitch_width
  73. formOK "Set PR Boundary"

  74. geConfirmCloseLib
  75. formYes "Dialog Box"





复制代码
发表于 2013-6-14 10:19:53 | 显示全部楼层
auSetPRBdry结束后需要下面的操作:
设置WireTrack。
Milkyway : Wire Tracks -> Define Unit Tile Wire Tracks …
设置的原则是横向的offset要设置为0,纵向的offset要设置为Pitch的一半。
 楼主| 发表于 2013-6-14 10:21:10 | 显示全部楼层
回复 2# xjg@hmes


    好的!谢谢!我试试!
 楼主| 发表于 2013-6-14 10:31:37 | 显示全部楼层
回复 2# xjg@hmes


    但是其中还有一个cell是ISOLOD4M,这个cell是和ISOHID4M这个cell一样的脚本的,但是它好像就没有这个问题的!
发表于 2013-6-14 10:44:47 | 显示全部楼层
好高森 马克一下
发表于 2013-6-14 10:45:48 | 显示全部楼层
回复 4# zg8312


    两个cell的size是一样的吗?可能是碰巧那个cell满足track。
通常std cell做Milkyway数据都需要做wire track
 楼主| 发表于 2013-6-14 11:43:22 | 显示全部楼层
回复 6# xjg@hmes


    两个cell的大小是不同的!按你的要求做了wire track,好像还是不行呢!
有没有cell track的设置呢!
发表于 2013-6-14 12:39:52 | 显示全部楼层
回复 7# zg8312


这个cell是你自己做的?cell的boundary size一定要是最小std cell的H/W的整数倍。
wire track设定是针对routing的。我刚开始没有细看你的描述,只看了你的script
 楼主| 发表于 2013-6-14 14:15:38 | 显示全部楼层
回复 8# xjg@hmes


    嗯!那我的脚本有没有什么问题呢?
发表于 2013-6-14 14:17:45 | 显示全部楼层
回复 9# zg8312


    脚本需要添加wire track,否则routing会有问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-11-5 22:54 , Processed in 0.029164 second(s), 9 queries , Gzip On, Redis On.

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