俗话说“工欲善其事,必先利其器”,如果能让工作环境更整洁、用起来更顺手,那么工作效率必然也会高一些。
在实际项目中经常会遇到cds.lib
里关联了一堆lib,包括
- foundary提供的各种版本的stdcell
- 公司内部的基本库
- 当前项目的lib
- 参考项目的lib
- Testbench lib等等
有时候在浩瀚的左侧列表中寻找所需的lib着实是需要费一番功夫。那有没有好的整理方法呢?
如Things You Didn’t Know About Virtuoso: Customizing the Library Manager一文中介绍的,Cadence在IC6.1之后提供了自定义的功能,主要分为设置显示属性和创建合并Library两种。
设置显示属性(set display attributes)
这个功能的用途是给指定的library设置颜色和图标。
具体的操作是:
-
点击Library Manager的
Edit
-Display Settings
,在弹出的窗口中选择add
,再在弹出的窗口里输入一个有含义的名字,点击确定后可以看到这个名字出现在了左侧列表中; -
选中新加的名字,在右侧可以勾选
Using color
、Using icon
,设置颜色和图标,同时可以在右下侧看到预览效果; -
点击save后前面所作的修改便会以xml的格式保存到Virtuoso启动目录的
.cadence/libmanager/xxx
文件中; -
修改
cds.lib
,在目标lib的define语句后面添加ASSIGN libname DISPLAY display_name
,例如DEFINE my_lib ./my_lib ASSIGN my_lib DISPLAY blue
这个时候刷新Library Manager,就可以看到my_lib
变成了蓝色字体,选中时会出现蓝色背景的样式。
创建合并Library(create combined libraries)
这个功能是通过创建一个假lib(dummy lib),然后把指定的lib作为这个假lib的二级lib,来实现分组管理的目的。
具体的操作是:
-
修改
cds.lib
,定义假lib; -
在假lib的定义语句后添加
ASSIGN libname COMBINE sub_lib1 sub_lib2
,例如DEFINE sub_lib1 ./sub_lib1 DEFINE sub_lib2 ./sub_lib2 DEFINE my_libs ./my_libs ASSIGN my_libs COMBINE sub_lib1 sub_lib2
这个时候刷新Library Manager,就可以看到my_libs
前面多了个加号(+),点击后会显示二级lib。
PS,这个功能是可以依法创建三级lib或更多。
与版本管理工具的配合
通过设置显示属性的功能,可以很方便的把各lib的权限(只读、可读写)和状态(全部check-in、有check-out的、不是最新等)标注在Library Manager中,工作中一目了然。
因为家里没有Cadence的环境,所以没有提供截图,更多的可以参考让你的Cadence Library更加美观。