文章开始时的声明:以下对比,纯为笔者个人使用感受总结。工具使用,请依照个人习惯和爱好选择。
使用软件版本:Virtuoso 6.1.8-64b
相关出席“人员”:Layout_XL、Layout_L、公平公正的裁判。
剧透,文末有大招放出。(相信是困扰大家很久的常见问题,也相信是大家期待很久的solution)
1. 场景型回合制比拼
进入主题,比赛开始:
回合1
场景描述:某Block原理图基本完成,开始版图layout设计;现需要从原理图中调出对应版图器件。
Layout_XL:
打开原理图,菜单栏Launch—Layout XL,在弹出的layout界面中的菜单栏选择:Connectivity—Generate—All From Source…,可以一次性生成原理图中所有的器件,并且调出的器件与原理图中的器件一一对应,并且器件与器件之间包含有连接关系。相关操作如下图:
Layout_L:
对照原理图,在layout_L界面中,手动一个一个调出器件,而且器件与器件之间没有连接关系。(蛮痛苦的)
公平公正的裁判:很明显Layout_XL直接K.O. Layout_L,总比分1:0。
回合2
场景描述:版图layout进行中时,designer中途需要调整部分管子的参数,并修改了部分net名称;此时版图工程师需要对应更新layout中的相关参数。
Layout_XL:
(1)更新管子参数:
方法1:在原理图中选择对应更改的管子,然后回到layout_xl界面,菜单栏Connectivity—Update—Layout Parameters,即可更新;(此方法较适合你清楚原理图修改地方的情形)
方法2:无需在原理图中选中对应更改的管子,直接在layout_xl界面,菜单栏Connectivity—Update—Components And Nets,在对应弹出的对话框中选中Update Layout Parameters,即可更新原理图中所有修改管子的参数。(此方法较适合你不清楚原理图修改地方的情形或原理图修改地方较多的情形)
(2)更新net名称:
直接在layout_xl界面,菜单栏Connectivity—Update—Components And Nets,在对应弹出的对话框中选中Update Nets and instance Name Mismatches Only,即可更新net名称。
Layout_L:
更新管子参数:
在原理图中找到被更改的管子,然后回到在layout中选中对应的器件,q出属性,对照原理图中管子参数更改即可。
由于layout_L中本就没有net名称,所以此项无需更改。
公平公正的裁判:可以看到Layout_XL无论是当你清楚原理图修改的地方还是不清楚修改的地方都能很快更新管子的参数,而Layout_L对不清楚修改地方的情形,会显得格外吃力,并且XL修改的参数均是软件自动完成,而L是手动修改完成,存在一定改错的风险。对于net名称,显然是有比没有好,方便查找。
所以综上所述:此回合Layout_XL胜Layout_L,总比分2:0。
回合3
场景描述:在同一层次原理图中存在单个元器件数量多(如:mos电容等)或存在重复的电路结构等情形,简单概括下:也就是电路中存在单个或多个元器件需要重复多次阵列的情形,当版图布局时。
Layout_XL:
使用Align功能对元器件进行排列组合,菜单栏右键选中Align,出现如下图标,然后对元器件进行布局。为保证器件和器件之间有xl关系,实践证明,此方法效率低。
Layout_L:
方法1:直接进行copy,按下快捷键“c”,并在对应界面中设置需要的器件数量,方便快捷。
方法2:在layout界面,选中需要阵列的元器件,直接q出属性界面,点击Convert To Mosaic,然后对于设置相关参数即可。菜单栏相关命令如下:Edit—Convert—To…
公平公正的裁判:在Layout_XL中,实际操作中可以体会到,保持多个需要重复阵列的器件仍然有xl关系时,此时布局效率是非常的低,相对于Layout_L效率则要高上许多。
所以综上所述:此回合Layout_XL负Layout_L,Layout_L扳回一局,总比分来到2:1。
回合4
场景描述:布局完成后,开始layout走线。
Layout_XL:
可以提供对应net的飞线提示,并且支持灵活指定单根或多根net网络飞线显示与不显示,方便连线,亦能提高LVS通过效率。(多数情况下一板见笑脸😊)相关操作如下图:
小tips:显示的飞线在完成连线后会自动消失哦。
Layout_L:
先找到两个器件对应的连接点,然后硬连。在原理图较大或器件较多的时候,头真的会变大很多。
公平公正的裁判:笑脸对头大,很明显,Layout_XL胜Layout_L,总比分3:1。
结果及总结:在大多数场景下,我们看到Layout_XL胜Layout_L,但Layout_L也有其自己特点。在实际工作中,我们需要根据项目特点或个人习惯或爱好进行工具选择,以最合适自己的方式来完成版图设计。
BYT:笔者对于较小的版图设计,使用Layout_XL,而对于较大版图的设计,则偏好使用Layout_XL+Layout_L。
2. 问题与讨论
问题1:在回合1中,一次调出都是单个管子,那么如果是hierarchy层级结构的原理图,想要调出多个整体cell,应该怎么设置呢?
Ans:菜单栏Launch—Configure Physical Hierarchy…,随后请按如下图设置即可。
问题2:在回合3中,layout_xl中除了Align的功能,还有什么操作可以快速处理相同结构的电路,并且还能保持xl关系呢?
Ans:请使用Clones…功能。
问题3: 在回合4中,在tips中有提到,在连线完成后,飞线会消失,但是为什么在hierarchy的layout_xl中,线连完后,飞线仍然显示呢?
Ans:在layout_xl中,对于hierarchy的layout,上下层连接点的识别是靠pin来的,所以你连线的位置要连到pin的位置,飞线才会消失。(请参考Virtuoso 版图小技巧 :任意形状的Poly或metal,转化为pin属性。是个不错的思路。)
问题4:如果是前同事或以前项目,遗留下来的版图(非XL关系或者是XL关系但是不全),此时需要改板,怎么才能让它保证有的XL关系呢?(主要是想省点精力,这次不是头大,而是头要裂开了)
Ans:这里提供几种方式(不能保证100%正确binding,但也是目前能知道的办法了),请依次尝试:
Setup1:首先请找到layout和schematic(两者需要能过LVS),然后新建一个库,将layout以Copy Hierarchy的方式,将所有cell copy到新库中。(相关操作方法请参考本站文章:“Copy”的进阶之路(Virtuoso) )重要!!!
Setup2:打开新库中的layout,按如下方式,重新设置对应参考schematic。
Setup3:layout_xl界面,Launch—Configure Physical Hierarchy…按照问题1中的方法,配置正确的cell路径。
此时,如果上述步骤,都正确配置后,你会发现layout和schematic已经有了xl关系(幸运的话:小的schematic此时可能已经完全和layout匹配上了);如果你发现schematic和layout的xl关系有明显的错误,那么你可能需要额外Binding操作。请继续往下看。
Setup4:执行Update Binding操作,按如下图,同样也可以勾选Clear进行重新Binding。
注意:在重新Binding后,请注意查看,layout和schematic之间xl关系的对应情况。如果还是发现xl的关系明显错误,那只能用最后一招了。(也就剩最后一招了)
Setup5:在Update Binding界面中,执行Hierarchy Binding操作。(大招)
Cross Reference栏和Extracted Netlist栏文件的获取方式:
请先Run LVS,在LVS界面的Outputs选项中勾选对应选项,如下图,然后回到对应生成LVS的文件夹中找到svdb文件夹,相关文件便在里面。
好了,最后一招也用上了,请再次查看layout和schematic之间的xl关系。至此用到最后一招,笔者也测试了几个案子,发现Setup1-4,不能搞定的案子,Setup5有的能完美解决;但笔者也有测试较多dummy的案子时,还是发现有不能完全匹配上(但绝大部分都已经匹配上了)。
如果你有更好的方式,可以将任意过LVS的layout和schematic进行XL的完美匹配,欢迎来信交流。
问题5:按照问题4中,Setup5的操作进行Hierarchy Binding时,为什么会提示Cross-Reference是无效文件呢?错误提示如下图:
Ans:请将layout和schematic放在同一个view中,在进行对应操作,即可解决此问题。
问题6:在问题4里,Update Binding界面中,有看到如下图片,红色框中的按钮,为什么我这边打开的没有呢?它又有什么作用呢?
Ans:红色框中的按钮需要额外加载skill才能显示(获取对应skill请在公众号里回复:102),它可以一键添加蓝框1中的路径。公众号:LSTK_LAY
问题7:还有什么其他好的Layout_XL绘图技巧吗?
Ans:请参考本站连载文章:Virtuoso 版图小技巧 ,查看更多招式!!!
那么重重重点来了,做个小调查,投出你珍贵又宝贵的一票!!!
投票链接:Virtuoso Layout_XL VS Layout_L 大比拼 (qq.com) 文章末尾,有投票。
-END-