virtuoso cadence初学--常用设置文件1(cds.lib display.drf)

目录

1.cds.lib文件

新建库

添加工艺库

2.display.drf文件

保存drf文件

载入drf文件

波形图曲线属性


对于模拟集成电路设计者来说,目前用到最广的软件就是cadence公司的IC系列(IC617、IC618,更古老一些的有IC5141),一般打开的是virtuoso

目前网上的virtuoso初始化教程是很全面的,目前也没有去整理相关内容。这里想要介绍一下virtuoso里比较重要的几个文件。分别是cds.lib;display.drf;.cdsinit;.cdsenv;.bashrc。其中前面到dot的都是隐藏文件,在centos或者小红帽里面,要把隐藏文件打开才能看到。如下图示例

1.cds.lib文件

这个文件可以说是正常使用软件必不可少的文件,正如他的后缀名称,这是与库文件有关的东西,库就是工艺库,像什么台积电(TSMC)、中芯国际(SMIC)、华宏、格罗方德(global Foundry)等等的芯片代工厂(制造厂),他们掌握的是把设计的电路实实在在的制造出来,以供使用,而他们肯定是和eda工具厂商绑定的,而这些工艺库就是他们这些工艺厂提供的真实的器件网表(只能说大体与实际相同)。因此这个文件是很重要的。这个文件里应该是下图这个样子的。其中SOFTINCLUDE 是调用的后面跟的位置的初始cds.lib文件,因为cadence公司也要有初始的一些器件以及激励电流源电压源等等(一般cadence的库应该包括analogLib、basic等等),一般添加的库,都是DEFINE进行,就像下面的第二行的定义一样。而第三行的库,一般是自己的库,毕竟自己的电路也要保存下来,因此要新建一个自己放电路的库名称。

当然,这里只是告诉我们这几行都是啥东西,查找错误的时候可以定位问题,一般建库的时候都是在CIW(Command Interpreter Window)里进行,这东西后面在说。

cds文件一般就这么一个作用,就是工艺库。

新建库

我们打开virtuoso,会出现下面这个CIW窗口,这里面的命令很多,只能是用到时再去学习。在file里的New就是创建,我们创建自己库的话,就是这里去搞,步骤如下:

Name就是你自己库的名字,其实如果是自己用的话,随便起名就好,有时候可能想要自己好找,可能分类去建库,比如啥OPA、BG、ADC、PLL等等。这里就是举个例子,后面的一般选第三个,一般就是链接你需要用到器件的那个库。

这里选tsmcN65

上面就将自己的库建好了。可以在下面步骤下查看自己的库,Tools-->library manager,会看到你目前这时候所有的库了。

当然,也可以在自己的cds文件里查看,如下图

添加工艺库

工艺库的,一般可以直接在cds文件里写到库文件的地址就像上面图里的tsmcN65(这里的前提是你已经将工艺库安装完成之后,这里就使用已安装好的来叙述,如果需要安装过程,可以评论,很简单的东西)

除了在cds.lib里面写之外,还可以用如下步骤实现:

2.display.drf文件

该文件是显示文件,一般是在工艺库里会有初始化的显示文件。这里面会电路的连线粗细颜色,器件的一些显示,版图layout里的颜色等等,还有ADE波形图里面的线的属性。总之就是显示相关的一些设置。

比如下面这个电路的连线,现在是gray灰色,有时候看这个灰色是很费劲的,我们希望改变他的颜色。这里,我们在CIW窗口打开显示设置。如下面第二图。先display resource manager 然后点edit,就能看到图三,这里面可以看到,有颜色,线条粗细等区别。我们常用的就是连线wire和label。在搜索框搜索需要更改的目标,这里输入wire,前两个drawing就是指画的连线,第二个label就是线上的label字体的颜色(这里没有创建label)。

找到要更改的属性,在右侧更改,更改之后,右下角有两个小方块,一个是现在的显示情况,另一个是修改时候的预览,记得更改之后要点击一下modify current packet。这样才会更改,如下图,连线的颜色修改了。

保存drf文件

每次去这样修改是很麻烦的,那么怎样才能更简单的使用自己想要的显示效果呢?

保存drf文件,以此载入;

当修改过显示之后, 每次退出virtuoso时,会显示一个保存显示信息,这里输入名称,比如display_1.drf(记得加后缀),这个文件默认保存在你打开virtuoso的文件夹下面。

当然,这样退出再保存肯定是不太好的,一般都是在修改之后直接保存,步骤如下:

这样就保存下来。

载入drf文件

1、就在保存文件的命令上面的load就是载入使用的,步骤如下

一般直接替代就好,然后点击open

2、可是这样 每次打开也是要忙活一会,那么有没有让他初始化成自己想要的样子的呢?肯定是有的。目前我只知道一个方法,就是在cdsinit文件里添加载入命令

这里先说命令是什么

drLoadDrf(filePath)

我这里就是("/home/IC/Documents/display/dispaly_blue.drf")

在cdsinit文件介绍里会更详细介绍。

波形图曲线属性

这里我才发现上面的反相器我画错了,如果各位去搭来测试,记得nmos和pmos换一下位置

这是反相器的tran仿真,这样看很不舒服,我们看波形一般希望线粗一点以及是连续的线,每次单独改应该各位都会(左边栏里面选中曲线,右键找)

我们要改成自己想要的情况,可以在display页面去修改,一般波形图的曲线属性,是y0--y9这种,有可能是y0_drawing这种,可能需要自己去尝试一下,修改之后保存display.drf文件。

又或者直接 在drf文件里面查找y0 y1等等,一般只会修改solid改成thickLine2(这是中等粗细)、thickLine(粗线)

其实这也不是唯一的办法,如果下次想起来,再聊聊吧

先写这些,其它下次吧!

希望有所帮助!

<think>好的,用户的问题是关于在Cadence或其他类似EDA工具中处理多个cds.lib文件的问题。首先,我需要理解cds.lib文件的作用。根据引用[1],cds.lib是设计库管理文件,包含基础设计库定义和用户自定义工程库。用户可能在多个项目中使用不同的cds.lib文件,或者在不同目录下存在多个该文件,导致冲突或管理困难。 接下来,我需要分析用户的具体需求。用户提到“multiple cds.lib files handling”,可能想知道如何有效管理多个cds.lib,比如优先级、继承关系、合并方法,或者如何避免冲突。根据引用[1][2][3],Cadence工具默认会在当前工作目录和安装目录下查找cds.lib,用户可以通过SOFTINCLUDE或INCLUDE指令来包含其他路径的库文件,这样可以集中管理或分层配置。 然后,考虑可能的解决方案。例如,使用环境变量CDS_LIB_DIR指定路径,或者通过主cds.lib包含其他文件。引用[2]提到编辑cds.lib时加入系统路径,引用[3]说明配置后语法高亮等问题解决,这可能涉及到配置文件的正确引用。 用户可能遇到的问题包括:多个cds.lib导致库重复定义、路径冲突、工具无法正确识别等。需要提供如何设置优先级、合并文件的建议,以及调试方法,比如检查加载顺序、使用绝对路径等。 此外,用户可能想知道最佳实践,比如项目级和工作区级的cds.lib管理,或者版本控制中的注意事项。需要结合引用中的信息,说明如何通过INCLUDE和SOFTINCLUDE灵活管理,避免硬编码路径,便于团队协作。 最后,生成相关问题时要覆盖配置方法、冲突解决、环境变量使用、调试技巧和应用场景,确保全面帮助用户理解多个cds.lib文件的管理策略。</think>### 多 cds.lib 文件管理方法 在 Cadence 等 EDA 工具中,多个 $cds.lib$ 文件的管理涉及以下核心机制: 1. **文件加载优先级** - 工具默认依次从以下路径加载 $cds.lib$: $$ \text{安装目录} \rightarrow \text{用户主目录} \rightarrow \text{当前工作目录} $$ 后加载的文件会覆盖先加载的同名库定义[^1][^2]。 2. **继承式管理** 推荐使用 $SOFTINCLUDE$ 或 $INCLUDE$ 指令实现层级管理: ```text # 主 cds.lib 文件 SOFTINCLUDE /global/path/cds.lib # 弱引用(可缺失) INCLUDE ./project_specific/cds.lib # 强引用(必须存在) ``` 3. **环境变量控制** 通过设置 $CDS_LIB_DIR$ 指定库文件搜索路径,支持多路径配置: ```bash export CDS_LIB_DIR="/path1:/path2:$CDS_LIB_DIR" ``` ### 常见问题解决方案 | 问题类型 | 解决方法 | |---------|----------| | 库定义冲突 | 使用 `libManager` 命令检查加载顺序,通过 `undefine` 移除重复库 | | 路径失效 | 在包含语句中使用绝对路径,避免相对路径导致的断裂 | | 版本控制 | 将工程相关库定义写入项目级 $cds.lib$,与系统级文件隔离 | ### 调试技巧 ```bash # 启动时添加 -log 参数记录加载过程 virtuoso -log load_sequence.log # 在 CI/CD 流程中验证路径有效性 check_cdslib --validate-all ``` ### 典型应用场景 - **多项目并行开发**:为每个项目创建独立 $cds.lib$,通过环境变量切换上下文 - **PDK 版本管理**:为不同工艺版本配置专属库文件,使用 $SOFTINCLUDE$ 实现灵活切换 - **团队协作**:将公共库定义存储在共享服务器,个人 $cds.lib$ 通过 `INCLUDE` 引用基础配置[^3]
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值