2、SpyGlass界面与工程管理
好,咱们正式开始动手了。这一章我带你熟悉SpyGlass的“战场”——也就是它的图形界面,以及怎么把咱们的RTL代码给“喂”进去。说实话,很多新手工程师一上来就急着跑检查,结果工程没建对,库文件没配好,跑出来的结果全是错的,白白浪费时间。
我个人习惯,拿到一个新项目,第一件事就是把工程管理好。这就像你写代码前先搭好目录结构一样,后面会省心很多。
2.1 SpyGlass GUI界面介绍
打开SpyGlass,你会看到一个典型的EDA工具界面。别被它吓到,其实核心就几个区域。
- 菜单栏:在最顶上。File、Edit、Run、Help这些,跟大多数软件差不多。我常用的就是File和Run。
- 工具栏:菜单栏下面一排小图标。新建工程、打开工程、保存、运行检查,这些常用操作都在这里。
- 工程浏览器:左边这一大片。这里会显示你的设计文件列表、库文件、约束文件。嗯,这里要注意,文件结构要清晰,不然找起来头疼。
- 消息窗口:底部区域。所有运行日志、警告、错误都显示在这里。我每次跑完检查,第一眼看的就是这里。
- 代码/结果查看区:中间最大的区域。双击一个错误,这里会直接定位到RTL代码的对应行,非常方便。
2.2 创建与管理工程
说白了,工程就是一个“容器”,把你的设计文件、库、设置都包在一起。我建议每个项目单独建一个工程,别混着用。
创建工程的步骤很简单:
- 点击菜单栏 File → New → Project。
- 弹出一个对话框,让你填工程名字和路径。名字别用中文,路径也别有空格。这是老生常谈了,但我见过有人在这上面栽跟头。
- 选择你用的语言。Verilog、VHDL、SystemVerilog,看你项目用什么。
- 点OK,工程就建好了。
管理工程呢,主要是打开、保存、关闭。这些都在File菜单下。你想想看,如果你每天都要打开同一个工程,其实可以直接双击工程文件(.prj),省得从菜单里找。
2.3 导入RTL设计文件
工程建好了,接下来就是把你的.v文件、.sv文件导进去。这一步很关键,文件没导全,检查结果肯定不准。
操作路径:Project → Add Files,或者直接在工程浏览器里右键,选择“Add Files”。
你可以单个文件添加,也可以一次性添加整个文件夹。我个人习惯用文件夹导入,省事。但要注意,SpyGlass默认会递归搜索子目录,如果你的目录结构很深,可能会把一些不需要的文件也加进来。
导入后,你会在工程浏览器里看到文件列表。双击一个文件,中间区域就会显示它的代码。你可以在这里浏览、编辑(虽然我不建议在SpyGlass里改代码,太慢了)。
2.4 设置设计顶层与库文件
这是最容易出错的一步。SpyGlass需要知道哪个模块是顶层,以及你的设计用到了哪些库。
设置顶层模块
在工程浏览器里,找到你的顶层模块文件。右键点击它,选择 Set as Top Level。或者,你也可以在菜单栏 Design → Set Top Level 里手动输入顶层模块的名字。
为什么要设顶层?因为SpyGlass要从顶层开始,往下遍历所有例化的子模块。如果你不设顶层,它不知道从哪里开始分析。说白了,就是告诉工具:“嘿,从这里开始查!”
设置库文件
很多设计会用到标准单元库、IO库、或者第三方IP。这些库文件需要告诉SpyGlass,否则它会报“找不到模块”的错误。
操作路径:Setup → Libraries。在弹出的对话框里,你可以添加库文件的搜索路径。支持.v、.vhd、.lib等格式。
我记得有一次,一个项目用了某个工艺厂的库,我忘了加路径,结果跑了半天全是“unresolved reference”的错误。后来加上库路径,一分钟就过了。所以,库文件一定要配好。
| 库类型 | 常见文件格式 | 说明 |
|---|---|---|
| 标准单元库 | .v, .lib | 工艺厂提供的标准逻辑门模型 |
| IO库 | .v, .lib | 输入输出引脚模型 |
| 第三方IP | .v, .sv | 购买的IP核,如DDR、PLL等 |
| 自定义库 | .v, .vh | 你自己写的共用模块 |
嗯,到这里,工程的基本配置就完成了。你可以保存工程,然后准备跑检查了。下一章,我会带你看看怎么运行lint检查,以及怎么读懂那些密密麻麻的报告。