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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 8458|回复: 4

[求助] abstract提取lef请教

[复制链接]
发表于 2013-8-20 15:08:48 | 显示全部楼层 |阅读模式

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

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

x
对数字后端不太了解,一直都是做模拟layout,现在有个项目是做IP,layout还没开始,但客户要我们先提供一个lef库文件.我现在用frame框了IP的大小,再用所有metal填满,然后在有port的位置挖掉metal,用path metal留出几微米长,再打上label,这个就当成以后layout的port了.之后从layout库导出一个lef,一个gds,在abstract里,建库,导入lef,导入gds,直到导出lef文件.


我的问题是:


1.导入lef时,提示我tf里缺少"LEFDefaultRouteSpec"定义,但客户提供的tf就是没有这个定义,我能自己写吗?我目前自己在tf里添加了以下内容:


;( group
[override] )

;( -----
---------- )

  ( "LEFDefaultRouteSpec"
nil



    interconnect(
     ( validLayers   (M1 M2 M3 M4 M5G) )
     ( validVias     (M1_M2_std M2_M3_std M3_M4_std M4_M5G_std) )
    ) ;interconnect


    routingGrids(
     ( horizontalPitch            "M1"   1.0 )
     ( verticalPitch              "M1"   1.0 )
     ( horizontalOffset           "M1"   0.0 )
     ( verticalOffset             "M1"   0.0 )
     ( horizontalPitch            "M2"   1.0 )
     ( verticalPitch              "M2"   1.0 )
     ( horizontalOffset           "M2"   0.0 )
     ( verticalOffset             "M2"   0.0 )
     ( horizontalPitch            "M3"   1.0 )
     ( verticalPitch              "M3"   1.0 )
     ( horizontalOffset           "M3"   0.0 )
     ( verticalOffset             "M3"   0.0 )
     ( horizontalPitch            "M4"   1.0 )
     ( verticalPitch              "M4"   1.0 )
     ( horizontalOffset           "M4"   0.0 )
     ( verticalOffset             "M4"   0.0 )
     ( horizontalPitch            "M5G"   3.0 )
     ( verticalPitch              "M5G"   3.0 )
     ( horizontalOffset           "M5G"   0.0 )
     ( verticalOffset             "M5G"   0.0 )
    ) ;routingGrids


  ) ;LEFDefaultRouteSpec



但是我不清楚routingGrids那些pitch和offset都是干什么的,数值也是自己填的,我用改好的tf,load到layout库里,然后再导出lef,再拿这个lef导入abstract就没有问题了,我想问这样做有没有问题?我发现最后导出来的lef只有pin的位置信息,和obs阻挡信息,好像并不涉及布线规则这些,那是不是就算自己改的数值不对也没问题?


2.在abstract里,是将这个IP设置成core方式,还是block方式?


3.我用block方式导出的lef,发现lef文档最后的obs信息,是整个模块的尺寸,包含了我定义pin的位置,这样有没有问题?我用core方式导出的lef,面积就是我layout里画的,没有metal的地方就是没有的.


4.我用block方式导出的lef里没有开头的site信息,但我看公司以前做过的其他IP的lef文档是有site信息的.


以下是我提取的lef,请问这个文件提取的有没有问题,布线工具能否正常使用?多谢!


VERSION 5.6 ;
BUSBITCHARS "[]" ;
DIVIDERCHAR "/" ;


MACRO CEC05AZREG15A0
  CLASS BLOCK ;
  ORIGIN 0 0 ;
  FOREIGN CEC05AZREG15A0 0 0 ;
  SIZE 1030 BY 600 ;
  SYMMETRY X Y R90 ;
  PIN BIMODE0
    DIRECTION INPUT ;
    USE SIGNAL ;
    PORT
      LAYER M2 ;
        RECT 870 0 871 4 ;
    END
  END BIMODE0
  PIN FB0
    DIRECTION INPUT ;
    USE SIGNAL ;
    PORT
      LAYER M2 ;
        RECT 364 0 365 4 ;
    END
  END FB0
  PIN INN0
    DIRECTION INPUT ;
    USE SIGNAL ;
    PORT
      LAYER M2 ;
        RECT 602 0 603 4 ;
    END
  END INN0
  PIN IOUT0
    DIRECTION OUTPUT ;
    USE SIGNAL ;
    PORT
      LAYER M2 ;
        RECT 360 0 362 4 ;
    END
  END IOUT0
  PIN PD
    DIRECTION INPUT ;
    USE SIGNAL ;
    PORT
      LAYER M2 ;
        RECT 1000 0 1000.26 4 ;
    END
  END PD
  PIN PDN0
    DIRECTION INPUT ;
    USE SIGNAL ;
    PORT
      LAYER M2 ;
        RECT 1001 0 1001.26 4 ;
    END
  END PDN0
  PIN RESET5V
    DIRECTION INPUT ;
    USE SIGNAL ;
    PORT
      LAYER M2 ;
        RECT 1002 0 1002.26 4 ;
    END
  END RESET5V
  PIN VDEV0
    DIRECTION OUTPUT ;
    USE SIGNAL ;
    PORT
      LAYER M2 ;
        RECT 600 0 601 4 ;
    END
  END VDEV0
  PIN AMP_OUT
    DIRECTION OUTPUT ;
    USE SIGNAL ;
    PORT
      LAYER M3 ;
        RECT 0 511 4 513 ;
    END
  END AMP_OUT
  PIN BGR_MON0
    DIRECTION OUTPUT ;
    USE SIGNAL ;
    PORT
      LAYER M3 ;
        RECT 0 342.04 4 342.4 ;
    END
  END BGR_MON0
  PIN BGR_MON0_EN
    DIRECTION INPUT ;
    USE SIGNAL ;
    PORT
      LAYER M3 ;
        RECT 0 342.84 4 343.2 ;
    END
  END BGR_MON0_EN
  PIN BGR_MON1
    DIRECTION OUTPUT ;
    USE SIGNAL ;
    PORT
      LAYER M3 ;
        RECT 0 212.87 4 213.23 ;
    END
  END BGR_MON1
  PIN BGR_MON1_EN
    DIRECTION INPUT ;
    USE SIGNAL ;
    PORT
      LAYER M3 ;
        RECT 0 213.67 4 214.03 ;
    END
  END BGR_MON1_EN
  PIN BGR_OUT0
    DIRECTION OUTPUT ;
    USE SIGNAL ;
    PORT
      LAYER M3 ;
        RECT 0 514 4 516 ;
    END
  END BGR_OUT0
  PIN BGR_OUT1
    DIRECTION OUTPUT ;
    USE SIGNAL ;
    PORT
      LAYER M3 ;
        RECT 0 517 4 519 ;
    END
  END BGR_OUT1
  PIN FB_START
    DIRECTION OUTPUT ;
    USE SIGNAL ;
    PORT
      LAYER M3 ;
        RECT 0 343.64 4 344 ;
    END
  END FB_START
  PIN IREFBLD
    DIRECTION OUTPUT ;
    USE SIGNAL ;
    PORT
      LAYER M3 ;
        RECT 0 508 4 510 ;
    END
  END IREFBLD
  PIN OUTPUT_EN
    DIRECTION INPUT ;
    USE SIGNAL ;
    PORT
      LAYER M3 ;
        RECT 0 208.07 4 208.43 ;
    END
  END OUTPUT_EN
  PIN TDA0
    DIRECTION INPUT ;
    USE SIGNAL ;
    PORT
      LAYER M3 ;
        RECT 0 203.74 4 204 ;
    END
  END TDA0
  PIN TDA1
    DIRECTION INPUT ;
    USE SIGNAL ;
    PORT
      LAYER M3 ;
        RECT 0 203.14 4 203.4 ;
    END
  END TDA1
  PIN TDA2
    DIRECTION INPUT ;
    USE SIGNAL ;
    PORT
      LAYER M3 ;
        RECT 0 202.54 4 202.8 ;
    END
  END TDA2
  PIN TDA3
    DIRECTION INPUT ;
    USE SIGNAL ;
    PORT
      LAYER M3 ;
        RECT 0 201.94 4 202.2 ;
    END
  END TDA3
  PIN TDB0
    DIRECTION INPUT ;
    USE SIGNAL ;
    PORT
      LAYER M3 ;
        RECT 0 356.94 4 357.2 ;
    END
  END TDB0
  PIN TDB1
    DIRECTION INPUT ;
    USE SIGNAL ;
    PORT
      LAYER M3 ;
        RECT 0 357.54 4 357.8 ;
    END
  END TDB1
  PIN TDB2
    DIRECTION INPUT ;
    USE SIGNAL ;
    PORT
      LAYER M3 ;
        RECT 0 358.14 4 358.4 ;
    END
  END TDB2
  PIN TDB3
    DIRECTION INPUT ;
    USE SIGNAL ;
    PORT
      LAYER M3 ;
        RECT 0 358.74 4 359 ;
    END
  END TDB3
  PIN TDC0
    DIRECTION INPUT ;
    USE SIGNAL ;
    PORT
      LAYER M3 ;
        RECT 0 201.34 4 201.6 ;
    END
  END TDC0
  PIN TDC1
    DIRECTION INPUT ;
    USE SIGNAL ;
    PORT
      LAYER M3 ;
        RECT 0 200.74 4 201 ;
    END
  END TDC1
  PIN TDC2
    DIRECTION INPUT ;
    USE SIGNAL ;
    PORT
      LAYER M3 ;
        RECT 0 200.14 4 200.4 ;
    END
  END TDC2
  PIN TDC3
    DIRECTION INPUT ;
    USE SIGNAL ;
    PORT
      LAYER M3 ;
        RECT 0 199.54 4 199.8 ;
    END
  END TDC3
  PIN TEST_ENX
    DIRECTION INPUT ;
    USE SIGNAL ;
    PORT
      LAYER M3 ;
        RECT 0 505.5 4 505.86 ;
    END
  END TEST_ENX
  PIN TEST_MODE
    DIRECTION INPUT ;
    USE SIGNAL ;
    PORT
      LAYER M3 ;
        RECT 0 506.64 4 507 ;
    END
  END TEST_MODE
  PIN V10
    DIRECTION OUTPUT ;
    USE SIGNAL ;
    PORT
      LAYER M3 ;
        RECT 0 208.87 4 210.87 ;
    END
  END V10
  PIN V10_MON
    DIRECTION OUTPUT ;
    USE SIGNAL ;
    PORT
      LAYER M3 ;
        RECT 0 211.27 4 211.63 ;
    END
  END V10_MON
  PIN V10_MON_EN
    DIRECTION INPUT ;
    USE SIGNAL ;
    PORT
      LAYER M3 ;
        RECT 0 212.07 4 212.43 ;
    END
  END V10_MON_EN
  PIN VDD15
    DIRECTION INOUT ;
    USE POWER ;
    PORT
      LAYER M4 ;
        RECT 1026 27.01 1030 32.01 ;
    END
  END VDD15
  PIN VIN
    DIRECTION INOUT ;
    USE POWER ;
    PORT
      LAYER M4 ;
        RECT 1026 97 1030 147 ;
    END
    PORT
      LAYER M4 ;
        RECT 1026 379.1 1030 479.1 ;
    END
    PORT
      LAYER M4 ;
        RECT 0 19 4 119 ;
    END
    PORT
      LAYER M4 ;
        RECT 0 379.1 4 479.1 ;
    END
  END VIN
  PIN VOUT0
    DIRECTION OUTPUT ;
    USE SIGNAL ;
    PORT
      LAYER M4 ;
        RECT 654 0 854 3.99 ;
    END
  END VOUT0
  PIN VSS15
    DIRECTION INOUT ;
    USE GROUND ;
    PORT
      LAYER M4 ;
        RECT 1026 21 1030 26 ;
    END
  END VSS15
  PIN VSSBGR
    DIRECTION INOUT ;
    USE GROUND ;
    PORT
      LAYER M4 ;
        RECT 1026 224 1030 324 ;
    END
    PORT
      LAYER M4 ;
        RECT 0 224 4 324 ;
    END
  END VSSBGR
  PIN VSSREG
    DIRECTION INOUT ;
    USE GROUND ;
    PORT
      LAYER M4 ;
        RECT 1026 148.02 1030 198.02 ;
    END
  END VSSREG
  OBS
    LAYER M5G ;
      RECT 0 0 1030 600 ;
    LAYER M4 ;
      RECT 0 0 1030 600 ;
    LAYER M3 ;
      RECT 0 0 1030 600 ;
    LAYER M2 ;
      RECT 0 0 1030 600 ;
    LAYER M1 ;
      RECT 0 0 1030 600 ;
  END
END CEC05AZREG15A0


END LIBRARY


如果这样的做法不对,请问正常的做法是什么,麻烦各位简单讲解一下,谢谢!
发表于 2013-8-21 11:49:27 | 显示全部楼层
关于1:可以自己写,但pitch和offset根据工艺定,standard cell的pin都应该在pitch上的,占用的布线通道比较优化;IP的你可以查看log有无warnning,你写的数值不一定不能用但或许不是优化的。
关于2&3:standard cell选择core,IP可以选择block。
关于4:IP的话site没关系的。

以上均为个人浅见,纯粹交流。
 楼主| 发表于 2013-8-22 08:42:13 | 显示全部楼层
回复 2# mldxtj

谢谢,差不多搞明白了.我又改了一下tf,按照pitch=spacing+最小线宽来改的,block方式看起来只关注输入输出pin,和我以前提的完全一样.
发表于 2022-10-18 16:47:45 | 显示全部楼层
学到了
发表于 2024-3-11 10:25:08 | 显示全部楼层
学习了。多谢解答!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-4-30 22:19 , Processed in 0.021092 second(s), 6 queries , Gzip On, Redis On.

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