Logo兔二思
  • 价格
  • 博客
  • 关于
Logo兔二思
2024/08/12

Virtuoso 多窗口管理:自定义标题栏和显示样式

快速区分项目:修改 CIW 窗口和设计窗口标题栏的文本显示;设置 Palette(LSW) 面板显示样式

小红书小红书公众号公众号微信微信

修改 CIW 窗口标题栏的文本显示

默认情况下,CIW 标题栏的文本格式通常是这样的:

( 默认格式:包含 Virtuoso 版本号和日志文件路径 )

这种统一的标题在启动多个 Virtuoso 时,难以快速定位到特定项目的 CIW 窗口。要解决这个问题,我们可以通过修改标题栏的名称来进行区分。比如在标题中加入项目编号 “Project_01”,名称缩写 “01”,或是与项目相关的关键词等。

以下是三个修改 CIW 窗口标题的演示示例(从简单到复杂)。

➊ 设置一个固定的项目名称作为 CIW 窗口的标题

在 CIW 窗口中输入以下命令:

CIW
hiSetWindowName( hiGetCIWindow() "Project_01" )

把以上引号中的内容替换成你的项目名称即可。

如果你有多个 CIW 窗口,需依次给每个窗口都执行一遍命令。

效果展示:

( CIW的标题文本已被更改为项目名 )

➋ 使用 Shell 文件中的变量作为 CIW 窗口的标题

假设在你的 Shell 配置文件(.bash 或 .cshrc)中,定义了一个名为 “Project01_NAME” 的变量来表示项目名称。你可以使用以下命令将其设为 CIW 窗口标题:

CIW
hiSetWindowName( hiGetCIWindow() getShellEnvVar("Project01_NAME") )

把以上引号中的内容替换成实际的变量名。

➌ 自动获取当前项目路径中的项目名称作为 CIW 窗口的标题

上述两种方法都需要手动设置标题,如果你想让 CIW 窗口自动显示当前项目的名称,SKILL 脚本可以帮到你。

下面是一段代码示例截图,可以实现自动更新标题的功能:

( setProjectNameAsCIWTitle.il )

这段代码实现的思路是:

假设我们的项目目录结构是统一的,它们都位于 “/project” 这个主目录下,其中包含各个项目的子文件夹。在这些项目目录下启动 Virtuoso 时,提取当前子文件夹的名称作为项目名,并将其设置为 CIW 窗口的标题。

下面是执行 SKILL 脚本的效果演示👇

调整电路&版图设计窗口标题栏的显示样式

和 CIW 窗口一样,电路和版图的标题栏也存在同样的问题,它们的默认显示是下面这样的,最小化窗口后所有打开的设计窗口看起来都是一样的,很难区分:

( 默认格式:包含应用名称&编辑状态&库名称等 )

Virtuoso 提供了两个环境变量可以自定义它们的显示样式,包括图标名称和标题栏名称。

环境变量 “iconNameFormat” 可以用来控制图标名称,但它仅在 GNOME 桌面环境下的 RHEL 5 和 6 版本上有效,并不兼容 RHEL 7 或 KDE 桌面环境。大多数窗口管理器只支持使用 “windowNameFormat” 环境变量来控制标题栏名称,所以在这里仅介绍后者环境变量的使用方法。

命令格式

.cdsinit
envSetVal( "designEditor.window" "windowNameFormat" 'string "winTitle" )

其中,“winTitle” 可以由以下占位符组合而成:

占位符含义示例/取值
%a应用名称Virtuoso Layout Suite XL
%m编辑状态reading: / editing:
%l库名称libname
%c单元名称cellname
%v视图名称view
%x配置信息configuration

系统默认的占位符组合

.cdsinit
envSetVal( "designEditor.window" "windowNameFormat" 'string "%a %m: %l %c %v %x" )

默认格式,应用名称 %a 被排在显示顺序的首位。

自定义格式的配置示例

.cdsinit
envSetVal("designEditor.window" "windowNameFormat" 'string "%v, Cell:%c Lib:%l - %a %m" )

调整了占位符的顺序,把视图名称 %v 置于首位。以下是这种格式生成的标题样式:

( 设计窗口标题名的新格式展示 )

Tips:

可以把上述命令放入 .cdsinit 文件中。这样,每次启动 Virtuoso 时,设计窗口的标题将自动按照你定义的顺序显示。

设置 Palette(LSW) 窗口面板样式

Virtuoso Layout 中的 Palette 面板也支持调整样式,它提供了以下三种显示模式:

  1. Single Assistant(默认设置)

    • 将三个子面板整合在一个 Palette 面板中显示;
    • 适合喜欢简洁界面的用户,占用屏幕空间少;
  2. Multiple Assistant

    • 将三个子面板作为独立的面板,支持单独显示和隐藏;
    • 这种设置允许用户同时查看所有子面板,适合需要频繁切换不同面板的用户;
  3. Single Window

    • 独立窗口模式,早期 IC5141 版本的显示方式;
    • 这种模式适合使用多显示器的用户,因为可以自由移动 Palette 窗口到其他屏幕;

要设置 Palette 的默认显示模式,需要在你的 Shell 配置文件中添加相应的环境变量。

以下是三种显示模式的设置命令(选其一):

setenv CDS_PALETTE_TYPE SingleAssistant
setenv CDS_PALETTE_TYPE MultiAssistant
setenv CDS_PALETTE_TYPE SingleWindow

Layer Set Manager 显示方式设置

如果你选择了 MultiAssistant 模式,还可以进一步设置 —— 把 Layer Set Manager(图层集管理器)也设成一个独立的面板。

在 .cdsinit 文件中添加以下命令实现:

.cdsinit
envSetVal( "layout" "pteLSManagerAsAssistant" 'boolean t )

效果展示:

( Layer Set Manager 可以从 Assistants 下拉菜单中打开)

另外,图层管理器在 Palette 面板中默认是不启用的。需要我们在 Palette 面板右键选择 Show Tools - Layer Set Manager 手动开启。

从 IC6.1.8 ISR24 版本开始,可以通过以下变量在 LSW 中默认启用图层集管理器:

.cdsinit
envSetVal( "layout" "pteShowLSManager" 'boolean t )

效果展示:

( 启动时默认开启 Layer Set Manager,不用右键再去选了 )

本篇完。

全部文章
修改 CIW 窗口标题栏的文本显示➊ 设置一个固定的项目名称作为 CIW 窗口的标题➋ 使用 Shell 文件中的变量作为 CIW 窗口的标题➌ 自动获取当前项目路径中的项目名称作为 CIW 窗口的标题调整电路&版图设计窗口标题栏的显示样式命令格式系统默认的占位符组合自定义格式的配置示例设置 Palette(LSW) 窗口面板样式Layer Set Manager 显示方式设置

更多文章

如何解决 “LVS 验证时 Source 端网表未定义 SUBCKT” 的问题
扩展开发

如何解决 “LVS 验证时 Source 端网表未定义 SUBCKT” 的问题

遇到 LVS 提示 Source netlist 缺少 SUBCKT 定义时,通常是 CDL 网表没有包含 PDK 的器件定义文件。本文介绍问题原因、include 文件添加方式,以及如何保存为可复用配置。

avatar for Tina
Tina
2021/02/18
Layout EAD 实时提取版图寄生参数(二):参数设置
工具实战

Layout EAD 实时提取版图寄生参数(二):参数设置

介绍 Layout EAD 启动后的基础配置流程,包括 Process 工艺角、EM 数据源、Layer Mapping、提取模式和多线程等参数设置,并说明如何保存 ini 配置后执行寄生提取。

avatar for Tina
Tina
2024/05/10
从想法到可用脚本:一次 AI 辅助 SKILL 开发实践
扩展开发

从想法到可用脚本:一次 AI 辅助 SKILL 开发实践

分享我是如何从一个最简单的想法出发,通过与 AI 的不断对话、迭代和调试,一步步将“批量 DRC一键验证”的工具从 0 到 1 搭建起来的。

avatar for Tina
Tina
2025/08/26

邮件列表

加入我们的社区

订阅邮件列表,及时获取最新消息和更新

邮箱
订阅→
小红书公众号微信
© 2026 兔二思. All Rights Reserved.