微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > 使用SMIC018数字库遇到的问题,求牛人们帮忙解决一下吧

使用SMIC018数字库遇到的问题,求牛人们帮忙解决一下吧

时间:10-02 整理:3721RD 点击:
我在EETOP上下载的smic018数字库,相信大家都见过那个帖子,用起来遇到点问题,不知道大家用起来怎么样?
我用ASTRO创建mw库的时候,用GDS生成CEL view,用LEF生成FRAM view,但是建库的时候就提示好多warning,最后提示no layer direction and offset info in lef,但是明明有这些信息啊。是不是ASTRO的问题呢?
凑合用建好的库跑后端,用ICC,总是提示enable to get METAL2,METAL3 in physical library,生成的layout有METAL2和3,可是没有该层的显示信息,比如颜色,花纹什么的,影响不影响呢?
还有一个问题,no floorplan is defined for the current design for nonmpc or incremental physical synthesis,这个错误是什么意思呢,我感觉遇到的问题有点奇葩,希望高手们帮我解决一下,不胜感激!

是unable to get METAL2,METAL3 in physical library,自己先顶一下,等高手出现。

不好意思,首先我可能不能帮你解决这个问题。但是我想问你一句,
为什么用GDS生成CEL view,又用LEF生成FRAM view?

要不然是怎么生成呢,这样貌似是可行的,只不过还有一些需要设置的地方没弄对,你是怎么生成CEL 和FRAM的呢?

用gds或者lef,没有同时用的呢。
我只是个菜鸟,仅供参考。呵呵!

如果用GDS的时候,是不是用到那个gds2Arc.map和gds2InLayer_6lm.map,然后进行smash,BPV,PR boundary等过程,对吗?
如果用LEF文件,我这里好像没有tech lef 文件啊,而且也没有这个map文件,该怎么办?
老兄你是怎么做的啊,成功过了吗,可以把这个过程细说一下吗?非常感激!

我也不会呢,你可以在坛子里找点相关资料。而且我说的也不一定对呢,呵呵!

嗯,还是非常感谢,大家一起研究哈

lef和gds只需要一个就行了吧lef比较好用一点

define lib_name “##edit lib name##"
cmCreateLib
setFormField "Create Library" "Library Name" lib_name
setFormField "Create Library" "Set Case Sensitive" "1"
setFormField "Create Library" "Technology File Name" "*.tf"
formOK "Create Library"
cmSetBusNameStyle
setFormField "Set Bus Naming Style" "Library Name" lib_name
setFormField "Set Bus Naming Style" "Bus Naming Style" "[%d]"
formOK "Set Bus Naming Style"
define cell_name "##edit cell name##"
auStreamIn
setFormField "Stream In Data File" "Library Name" lib_name
setFormField "Stream In Data File" "Stream File Name" (*.gds)
setFormField "Stream In Data File" "Layer File" "gdsin.map"
setFormField "Stream In Data File" "Store Undefined Layers" "0"
setFormField "Stream In Data File" "Extract Only Geometries Defined in Layer File" "1"
setFormField "Stream In Data File" "Use Layer for Boundary" "1"
setFormField "Stream In Data File" "Overwrite Existing Cells" "1"
setFormField "Stream In Data File" "Boundary Layer" "255"
formOK "Stream In Data File"
dbTruncateText (dbOpenLib lib_name) " "
dbSetCellPortTypes lib_name cell_name '(
("VSSAIO" "Ground")
("VSSD" "Ground")
("VSSA" "Ground")
("VDDAIO" "Power")
("VDDD" "Power")
("VDDA" "Power")
) #f

cmSmash
setFormField "Smash" "Library Name" lib_name
setFormField "Smash" "Child View" "Original"
setFormField "Smash" "Cell Name" cell_name
formOK "Smash"
cmMarkCellType
setFormField "Mark Cell Type" "Cell Name"(string-append cell_name ".CEL")
setFormField "Mark Cell Type" "Library Name" lib_name
setFormField "Mark Cell Type" "pattern match" "1"
setFormField "Mark Cell Type" "Cell Type" "macro"
formOK "Mark Cell Type"
geNewMakeMacro
setFormField "Make Macro" "Library Name" lib_name
setFormField "Make Macro" "Cell Name" (string-append cell_name ".CEL")
setFormField "Make Macro" "Routing Blockage Output Layer" "metBlk"
formButton "Make Macro" "extractPin"
setFormField "Make Macro" "Identify Macro Pin By Pin Text" "1"
setToggleField "Make Macro" "through" "polyCont" 1
setFormField "Make Macro" "Metal1 Text" "131"
setFormField "Make Macro" "Metal2 Text" "132"
setFormField "Make Macro" "Metal3 Text" "133"
setFormField "Make Macro" "Metal4 Text" "134"
setFormField "Make Macro" "Metal5 Text" "135"
setFormField "Make Macro" "Metal6 Text" "136"
setFormField "Make Macro" "Metal7 Text" "137"
formButton "Make Macro" "extractBlkg"
setFormField "Make Macro" "Poly" "block all"
setFormField "Make Macro" "Metal 1" "block all"
setFormField "Make Macro" "Metal 2" "block all"
setFormField "Make Macro" "Metal 3" "block all"
setFormField "Make Macro" "Metal 4" "block all"
setFormField "Make Macro" "Metal 5" "block all"
setFormField "Make Macro" "Metal 6" "block all"
setFormField "Make Macro" "Metal 7" "block all"
formOK "Make Macro"
geOpenCell
setFormField "Open Cell" "Cell Name" (string-append cell_name ".FRAM")
formOK "Open Cell"
dbSetPortDirection (geGetEditCell) "VSSAIO" "inputoutput"
dbSetPortDirection (geGetEditCell) "VSSD" "inputoutput"
dbSetPortDirection (geGetEditCell) "VSSA" "inputoutput"
dbSetPortDirection (geGetEditCell) "VDDAIO" "inputoutput"
dbSetPortDirection (geGetEditCell) "VDDD" "inputoutput"
dbSetPortDirection (geGetEditCell) "VDDA" "inputoutput"
(dbSaveCell (geGetEditCell))
geCloseWindow
formButton "Close Window" "DiscardAll"
formOK "Close Window"

这是我用过的从gds产生milkyway的过程,仅供参考


define lib_name "###edit lib name###"
cmCreateLib
setFormField "Create Library" "Library Name" lib_name
setFormField "Create Library" "Set Case Sensitive" "1"
setFormField "Create Library" "Technology File Name" "*.tf"
formOK "Create Library"

read_lef
setFormField "Read LEF" "Library Name" "###edit lib name"
setFormField "Read LEF" "Cell LEF Files" "*.alef" (没有的话可以不写,但有的话应该在lef前面)
formButton "Read LEF" "advancedOption"
setFormField "Read LEF" "Cell LEF Files" "*.lef"
formOK "Read LEF"

这是我用的从lef到milkyway的过程仅供参考

非常感谢,我明天试试

我今天试了一下您说的方法。首先第二种在我这里不行,生成的cell不完整,还提示在LEF文件中没有layer direction or offset 信息[img]file:///C:/Documents%20and%20Settings/Administrator/Application%20Data/Tencent/Users/642352444/QQ/WinTemp/RichOle/([]OT`4RA2A7QJ%$PC~T37Q.jpg[/img]
其次是第一种方法,有几个地方看不懂,
define cell_name "##edit cell name##"是不是对于每一个期间都定义一遍,我看有的方法是用*号,但是在这里用不成,报错。不知道为什么。
dbTruncateText (dbOpenLib lib_name) " "这一句是什么意思呢?
dbSetCellPortTypes lib_name cell_name '(这一句里的cell_name怎么办,总不能一个器件来一遍吧, (>_<)
setFormField "Mark Cell Type" "Cell Name"(string-append cell_name ".CEL")同上问题
geNewMakeMacro 这里是不是可以不做?

借鉴学习下

您好,请教下lef2milkyway的时候,生成出来的fram看不到pin的属性,请问下如何处理?

另外还有两个问题需要问下:1.看你的lef2milkyway script里没有map方面的信息,ug里面描述的是
lef layermilkyway layer number
这个不需要设置?
2.是否需要geNewMakeMacro进行设置?
3.对于pg信号,在lef种的direction是inout,但是在fram种显现不出来,如何查看是否正确?
4.最后就是pin的属性问题,只能看到pin的名字,而对于pin的属性是输入还是输出都看不出来?
谢谢。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top