定义跳转
376 字约 1 分钟
2025-01-08
什么是定义跳转
定义跳转让你从一个符号的使用位置跳到它的声明。常见的场景有:
- 从信号、变量或类型的使用位置跳到声明,包括实例连接和连接表达式里引用的信号;
- 从实例的模块名跳到模块定义,目标可以在另一个文件里;
- 从命名端口连接跳到目标模块的端口声明;
- 从实例的参数赋值跳到目标模块的参数声明。
把光标放在标识符上按 F12,或右键选择 Go to Definition。Alt+F12 在当前位置预览定义;Windows/Linux 上也可以按住 Ctrl 点击符号。
演示
命名连接的两侧
命名连接的两侧是不同的符号。在 .input_a(signal) 中,input_a 跳到目标模块的端口声明,signal 跳到当前模块里的本地声明;参数赋值 #(.WIDTH(8)) 中的 WIDTH 同理,跳到目标模块的参数声明。
查找引用
Find All References(Shift+F12)列出符号在工程中解析到的引用。它与文本搜索不同,不会把同名但无关的标识符算进来。宏和 include 路径在依赖可解析时也可以跳转。
跳转失败时
目标不明确或跳转失败时,检查是否有重名的设计单元、include 路径、库配置和 .dideignore。不要用修改顶层来代替修复缺失的依赖。