第六章GUI 设置与偏好
Preferences 对话框
通过 Edit → Preferences 打开设置对话框,包含以下类别:
General Preferences
- Application:指定菜单、按钮、标签、console 面板、源码面板和 Visualize waveforms pane 所用字体的外观。Waveform Font 区域勾选 Use Monospaced Font 可以让 Visualize 字体跟随通用等宽字体设置(等宽字体同时影响 Console 和 Lint Messages 等 pane)。字体偏好需要重启 JasperGold 才生效
- Tables:过滤是否每个 session 独立(默认过滤会跨 session 沿用,新分析 session 继承当前 session 的过滤设置,且关闭后不可恢复);证明过程中状态排序是否动态刷新(默认不自动刷新,临时改用
set_property_table_dynamic_sort);属性表是否显示 related covers - Search and Text Filters:Immediate searching 默认开启(每敲一个键就更新搜索),关掉后会出现 Apply 按钮,可提升大设计下的运行性能;Immediate filtering 及 Filtering interrupt threshold(默认阈值 10,000,超过该值的表格可以中断过滤操作)
Dialog Preferences
这一页控制的是各类对话框的警告与确认消息是否弹出,文档举的例子是退出确认框。
Source Browser Preferences
这一页只有两类设置:语法高亮的颜色编码,以及是否允许在已改动的文件上调试。
Visualize Preferences
- Appearance:白色或黑色背景、有无网格线、信号线用纯色还是彩色编码;是否始终显示 trace values pane、source browser navigation pane 和 reset cycles;是否显示目标属性 COI 中所有信号的值;长十六进制串是否每四位插入下划线以便阅读;波形查看器中是否默认显示层次名。这里还能打开创建用户自定义快捷键的对话框
- Plot Settings:是否允许绘制重复信号、replot 后是否 zoom-fit(两项默认开启);是否折叠 trace extension(见
set_trace_extension);打开 CEX trace 时是否自动显示 Why 结果(默认关闭) - Visualize Stack Navigation Setting:用 Go Backward / Go Forward 在 trace 栈中移动时,默认不高亮相邻 trace 之间的差异,可在此开启
- Replot Setting:Always prompt(开启多 trace 功能,每次有新 trace 都询问画在同一窗口还是新窗口)、Prompt only when there are multiple traces(只对 QuietTrace 开启)、Use the same window(关闭多 trace 功能)
- Why Settings / WaveEdit / Tracking Signals:配置 Why 行为(例如跳过简单 buffer);WaveEdit 可改用较弱的
-at_least_once约束;Tracking Signals 决定 fanin/fanout/driver/load 等探索操作的结果在 waveforms pane 中是否成组显示(默认每次询问)
Console Preferences
- Open message hyperlinks in external editor:决定前端消息(与
analyze、elaborate相关)中的超链接如何处理。默认点击超链接会打开 Source Browser 并定位到链接指定的文件和行号,也可以改为打开外部编辑器 - Escape text dropped on console:拖放到 console 的文本是否按 Tcl 转义规则处理(在 pane 内部拖放的文本不会被转义)
External Tools Preferences
指定用于特定任务的首选应用程序,例如阅读 PDF 文件和比较文件差异(diff)。设置保存在 ~/.config/jasper/jaspergold.conf,部分设置需要重启(工具会弹对话框提示)。
acroread 作为 PDF 阅读器,从 Help 菜单打开手册时可能报 "corrupted file"——改用 xpdf 或 evince 即可。Cadence 的 PDF 是 1.6 及以上版本,Linux 上的 Adobe Acrobat Reader 不支持。自定义 GUI 按钮
可以添加自定义工具栏按钮,执行常用 Tcl 命令。
其他设置
- Unavailable Fonts 处理
- Window Geometry(窗口位置和大小记忆)
- Color Depth 配置
- GUI Config File 位置
- Message Pane 字体颜色
- Property Table 过滤行为
- Source Pane Annotation 颜色
- Source Code Limits(源码显示大小限制)
- Primary Inputs Driver 操作
- GUI 前景/背景颜色自定义
- VNC 会话中的文本复制
推荐配置
以下建议都对应 Preferences 里真实存在的选项:
| 设置 | 推荐值 | 原因 |
|---|---|---|
| Visualize → Appearance → 长十六进制串每四位插下划线 | 开启 | 宽信号的十六进制值一眼能数清位数 |
| Visualize → Plot Settings → 打开 CEX 时自动显示 Why 结果 | 开启 | 默认关闭;开启后一打开反例就能看到直接扇入的驱动来源,省一步操作 |
| Visualize → Replot Setting | Prompt only when there are multiple traces | 只在 QuietTrace 产生多条 trace 时才打断你 |
| General → Search and Text Filters → Immediate searching | 大设计上关闭 | 改为点 Apply 再搜,能明显改善大设计的响应速度 |
| General → Application → Use Monospaced Font | 开启 | 波形字体跟随等宽字体,信号值对齐更整齐(改字体后需重启) |
两个容易找错地方的设置
「自动保存」不在 Preferences 里,它是一个环境变量 JASPER_FORCED_EXIT_TIMEOUT:指定一个以秒为单位的超时,当工具闲置达到该时长后,自动保存数据库并退出。默认没有这个时间限制;最小允许值是 3600 秒,设得更小会被强制回到 3600。超时时间过去四分之三时会弹出对话框,提供两个选项——点 Exit Application 立即自动保存并退出,点 Continue 关闭对话框继续工作。判定"闲置"的标准是所有 analysis session 都不活动(既没有在跑 Tcl 命令,也没有后台作业如 prove 或 Visualize)。
「默认 radix」也不是一个偏好开关。GUI 显示值时的默认基数是按位宽自动决定的:位宽大于 4 bit 的信号向量默认用十六进制,4 bit 及以下默认用二进制。也就是说宽信号本来就是十六进制显示,不需要你去设置。如果要自定义显示方式,用 radix 文件(File 菜单可加载),在其中定义 tag-value 对;没有被 tag 匹配到的值仍按上述默认 radix 显示。
自定义工具栏按钮
用 custom_gui_action 命令在主 JasperGold Apps 视图或 Visualize 窗口中添加、删除、列出自定义按钮:
# 添加一个自定义按钮(-window 指定加到哪个窗口或 app 视图)
custom_gui_action -add <button_name> \
-window ( visualize | console | arch | bps | cdc | conn | cov | csr | fpv \
| lpv | rtld | sec | spec | spv | superlint | unr | xprop ) \
-script <tcl_script> \
[-tooltip <tooltip_string>] \
[-iconfile <path_of_icon_file>] \
[-force]
# 删除 / 列出
custom_gui_action -remove <button_name> -window <window>
custom_gui_action -list -window <window>自定义按钮会以蓝色背景成组出现在 Visualize 窗口中,方便和内置按钮区分。
VNC/远程桌面优化
在 VNC 或远程桌面中使用 JasperGold 时,GUI 渲染可能较慢。建议:
- 调整 Color Depth 配置(附录 A 有专门一节讲这个)
- VNC 会话中复制文本有专门的处理方式,参见附录 A 的 Copying Text in VNC Sessions 一节
- 用
jg -batch <filename>以批处理模式跑证明,再用 GUI 打开数据库(jg -batch <my.jdb> <filename>)调试,避免长时间占用远程图形界面
来源文档
jaspergold_apps_userguide.pdf Appendix A