马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
上图是milkyway与DC/ICC等工具的关系,看一个热闹就可以,没必要深究。大部分的IC前端designer没有了解全部的必要,后端designer也分综合/STA/PR。分工可以提高效率,有分工才会有流程,这是IC设计流程的特征。也可以说,集成电路设计的最主要特点就是效率(分工/partition/time to market),另一个就是准确性(验证,DFT,OCV,可靠性都是体现准确性)。 milkyway包含很多“view”,每一种view是对物理库的一种描述。
截图是user guide中的一部分。对于DCT或DCG,我们只需要关系CEL view和FRAM view。如图,CEL view是“full layout view”,包含全部的layout几何拓卜信息;FRAM view是CEL view的“轮廓”信息。 那肯定有人好奇milkyway库长什么样子。
再深入一点就不敢给大家看了。 再比如physical library的一些物理参数。
只敢放个样子出来。 tluplus是寄生文件,名义上是database之类的数据文件,但是大部分tluplus的前面都是文本内容,是可以看的。基本描述的都是“图层”的相关信息(比如说某一次metal的厚度,宽度,K factor等等)。technology file是foundry提供。有兴趣的同学可以自己去看,因为foundry提供的library都是打包下载的,有front end的liberty,一般也会有back end的milkyway(早期叫astro,没有milkyway的话一般会有lef),tluplus较早的工艺可能不提供,technology file一般都是有的。 物理库相关的就聊到这,再多一点的信息都属于“我不懂”这个范畴。
synthetic library是DC为设计优化提供的一些固定“电路”。我看到知乎上有人说是synthesis库,显然是有点“尴尬”。 synthetic包含哪些库呢,我给大家find一下看看。
以及
除了3个DFT相关的synthetic library。standard是基础的library,也就是说,即使你不设置synthetic library,工具也会默认调用的库。dw_foundation就是我们需要额外加的库,实际上就是“designware”。 当然,UG是这么说的。
minpower的库一般是DC在优化过程中,需要考虑功耗优化时候才放进去的。比如:MCMM综合的时候,吃LVT cell,这个时候需要有一个power optimization的scenario。 symbol library基本上不会用,可以不去研究。 II. 库文件的读入 set target_library “$target_lib” set link_library “* $target_library $link_lib” set synthetic_library “dw_foundation.sldb dw_minpower.sldb” $target_library,即RTL要translate的目标工艺库,DC优化的主体,包含的主要内容就是STD的liberty;$link_library,DC综合时所需要的全部库文件的集合,$link_lib的主要内容就是memory和其他macro的liberty。星号“*”表示,当前工具的“内存”中包含的全部reference。 “reference”是一个非常重要的概念,STD和memory、macro这些都可以认为是笼统意义上的leaf cell,也就是最底层的单元,搭建电路的基础“素材”。但是,大部分设计都是有层次的,层次和层次间包含调用关系关系。顶层设计(current_design)通过层层调用,直至leaf cell,产生一个树形结构,这个结构的中间层都可以认为是reference。每一层reference既可以认为是current_design的cell,自身也是一个独立的design。 create_mw_lib -technology $TECH_FILE -bus_naming_style {[%d]} -mw_reference_library $MW_REF_LIB $MW_LIB_NAME milkyway的读入中,-technology指定technology file,-mw_reference_library,指定milkyway参考库,最后$MW_LIB_NAME指定当前DC生成的milkyway库的名称。然后, open_mw_lib $MW_LIB_NAME 来打开milkyway库。 set_tlu_plus_files -max_tluplus $TLUPLUS_MAX_FILE \ -min_tluplus $TLUPLUS_MIN_FILE \ -tech2itf_map $MAP_FILE -max_tluplus,-min_tluplus设定tluplus的库。这里就要用到这篇文章中的知识。 寄生参数存在corner,称之为RC corner。RC corner有RCworst、Cworst、RCbest、Cbest和typical。如果有DPT的情况,还要加上CCbest和CCworst的分析。最简单的DCT,只设定max tluplus,即单一的RC corner分析。-tech2itf_map,指定map文件,即调和technology file和tluplus的命名差异。
|