请教一下DC中target_library和link_library的区别?
将pad_lib.db包含在target_library,设计会如何综合?将该库包含在link_library又会如何综合?如果将该库同时包含在target_library和link_library库中又会如何?
请教一下DC中target_library和link_library的区别?
Synthesis只用target library,不用link library.
请教一下DC中target_library和link_library的区别?
link library一般可以放算法库和设计库等,比如DW;target library放的是工艺库。
请教一下DC中target_library和link_library的区别?
先进行数学关系,和基本data path的转化,这一步将用GTECH库,实际上就是布尔关系加上寄存器。然后进行合成,合成将对布尔关系进行优化,并将算术关系用synthesis library表示出来,对于其中未定义的module,就是只有调用没有申明的模块,synopsys将会去link library里去找,如果找不到,将之视为black box,并报告错误。举个例子,link_library中一般会有“*”,表示synopsys当前已经读入的library。这个很重要,比如,如果你有两个文件,一个是sub.v,另一个是top.v,其中调用了sub这个module。先将sub.v读入,然后读入top.v,这样你执行link后,synopsys就会找到top模块中的sub,如果link_library中没有“*”,那么将会把sub当作black box,报告错误。
这是我的理解,有错误请大家指正。
请教一下DC中target_library和link_library的区别?
target library 是你的综合目的库,存放的是你索要映射的逻辑单元。一般为standard cell library & io cell library 的typ而link library一般为红单元等其他库
The target_library specifies the name of the technology library that corresponds to the library whose cells the designers want DC to infer and finally map to. The link_library defines the name of the library that refers to the library of cells used solely for reference,i.e.,cells in the libk_library are not inferred by DC. For example ,you may specify a standard cell technology library ad the target_library, while specifying the pad technology library name and all other macros in the libk_library list. This means that the user would synthesisze the deaign that targets the cells present in the standard cell library, while linking to the pads and macros that are instantiated in the design.
小弟也刚开始学习DC,也遇到这个问题,以下是在其他地方看到的相关信息:
“目标库(targe_library):是DC在mapping时将设
计映射到特定工艺所使用的库,就是使用目标库中
的元件综合成设计的门级网表
连接库(link_library):是提供门级网表实例化的
基本单元,也就是门级网表实例化的元件或单元都
来自该库。连接库定义为标准单元的db格式的库文
件加上pad db格式的库文件,加上ROM,RAM等
宏单元库文件”
“简单地讲,所有用到的库都要放到link_library,因为DC自动到那里去找。
只有作综合用的库放在target_library,象ROM,PAD等不用synthesis的就不要放进去了。”
xuexi
设置是一样的,但意义不一样
link library内容大于等于target library
在综合时主要用到target
不知是不是这样?
同意7楼的意见,targe_library一般是标准库,
link_library可以放宏。
I don't think that is right. Target library is the standard cells you want to map to during synthesis. Usually the slowest/worst-case/lv cells.
Link libraries are all the standard cells that you may not want to map to during synthesis, but want to use for timing speed/bcwc/OCV analysis. Usually these are your typical/fast/lowtemp std cells. You also add all the cells characterized all different voltages/voltage-threshold here.
xiaoxiaochen 說的才是對的
学习了~
thanks!
link library完全包含了target library吗?
什么呀 不懂啊
都没有关系,不管pad在不在targt里面,综合出来都是blackbox;
为什么target_library要设置成worst library?
学习,路过
请问一下哈,我在配置中link_library中没有加*,只有target_library,现在我有三个文件a.v b.v top.v,a和b在top中被调用了,我将这三个文件用read_verilog读入,并且将top设置成了current_design,然后link,同样能够link成功啊,为什么呢?
1、目标库(targe_library):一般就是std cell db;放的是标准单元工艺库; 是你的综合目的库,存放的是你索要映射的逻辑单元。一般为standard cell library & io cell library 的type;是DC在mapping时将设计映射到特定工艺所使用的库,就是使用目标库中的元件综合成设计的门级网表。
2、连接库(link_library):指定压焊块工艺库名称和所有其他的宏单元(RAM、ROM等);除了std cell,还有IO ,MACRO ,MEMORY db;一般为宏单元等其他库;一般可以放算法库和设计库等,比如DW;是提供门级网表实例化的基本单元,也就是门级网表实例化的元件或单元都来自该库。连接库定义为标准单元的db格式的库文件加上pad db格式的库文件,加上ROM,RAM等宏单元库文件。
3、符号库(symblo_library):包含工艺库中的单元图形表示的库名称。使用DV时,用于表示门电路原理图。如果忽略这一设置,DV会使用一个名为“generic.sdb”的通用符号库来生成原理图。如果你设置了symbol_library,但是假如你的单元的工艺库和符号库不匹配,DV会拒绝你的符号库,而调用通用库中的单元符号。
4、简单地讲,所有用到的库都要放到link_library,因为DC自动到那里去找。只有作综合用的库放在target_library,象ROM,PAD等不用synthesis的就不要放进去了。
5、link_library列表中应包含目标库名,这在DC中读取门级网表是很重要的。如果连接库列表中不包含目标库名,DC就不能连接网表中已经映射的单元,在这种情况下,DC会生成表示其不能解析网表中单元的警告。
6、link_library可以包含旧的工艺库名称,而target_library可以包含新的工艺库名称。
7、简单来说link library就是解决实例化引用的,如果实例化的就是一个与非门,DC就从target library中找到,如果例化的是一个fifo,DC就从fifo的库中找到,如果例化的是一个模块,DC就从内存中找到,因为这个模块的代码在编译过程中已经读进内存中去了。
8、pt和fm工具只有link_library,DC使用变量link_library,而PT使用link_path,除了名称和格式不一样之外,这两个变量的应用时相同的。PT是一个门级静态时序分析器,它只是用于结构化门级网表,因而,PT不使用变量target_library。
恩 我觉得你说的很对 嘿嘿对了 问你个小问题啊 ,你说CTS时 用inv比用buf的优点体现在哪里
学习中
各有各的逻辑,但是还是感觉不是解释的很清楚
受教了,感谢分享
一般来说link_library是包含target_library的,即link_library可以加入除target_library以外的东西,比如别人做的IP核、库之类的
