老古开发网首页
导航:老古开发网首页文章索引文章分类EDA/IC设计→[在vim中使用tag来查看verilog source code]
| -文章搜索 - 最新文章 - |

在vim中使用tag来查看verilog source code

发布时间:2006年7月29日 点击次数:1735
来源:   作者:
 
1,使用tags
tag是什么? 一个位置. 记录了关于一个标识符在哪里被定义的信
息. 比如verilog代码中的一个module的定义. 这种tag聚集在一起被放入一
个tags文件. 这个文件可以让Vim能够从任何位置起跳达到tag所指示的位
置--标识符被定义的位置.
下面的命令可以为当前目录下(包括子目录下)的所有verilog程序文件生成对应的tags文件:
    ctags -R .     (这命令在shell下运行)
"ctags"是一个独立的程序. 绝大多数Unix系统上都会预装这个程序,
如果你的系统上还没有, 你可以在下面找到一个功能丰富的ctags:
http://ctags.sf.net

(下面的都是在vim中的命令)
现在你在Vim中要跳到一个module 名字叫做fifo_ctrl的定义就可以用下面的命令:
:tag fifo_ctrl
这个命令会带你到"fifo_ctrl"的定义处, 哪怕它是在另一个文
件中.

CTRL-]命令会取当前光标下的word作为tag的名字并直接跳转. 这使
得在大量代码中进行探索更容易一些. 假设你正看"fifo_top",
发现它调用了一个叫"fifo_ram"的module, 这个module是干什么的呢? 你可
以把光标置于"fifo_ram"上, 按下CTRL-]即可.

":tags"命令会列出现在你就已经到过哪些tag了:

现在往回走. CTRL-T命令会跳到你前一次的tag处. 在上例中它会
带你到调用了"fifo_ram"的"fifo_top"module的地方.
CTRL-T可以带一个命令记数, 以此作为往回跳的次数, 你已经向前跳
过了, 现在正在往回跳, 我们再往前跳一次. 下面的命令可以直接跳转
到当前tag序列的最后:
  :tag

你也可以给它一个前辍, 让它向前跳指定的步长. 比如":3tag".
CTRL-T也可以带一个前辍.
这些命令可以让你向下深入一个函数调用树(使用CTRL-]), 也可以回
溯跳转(使用CTRL-T). 还可以随时用":tags"看你当前的跳转历史记录.

2 预览窗口
当你在写一个module调用时, 往往需要获知这个module的断口列表--查看
module的定义. tag所提供的机制正为此用. 最好是函数的定义可以显示在
另一窗口中以免影响当前的编辑. 这可以由预览窗口提供.
要打开一个预览窗口显示module"write_char"的定义使用命令:
:ptag write_char

Vim会打开一个窗口, 并将找到的"write char"函数的定义显示其中.
然后光标仍保持在你的当前编辑位置. 以便你无需以CTRL-W k窗口中切换
即可继续工作.

要关闭该预览窗口, 使用命令:
:pclose


欢迎进入老古论坛进行讨论
[EDA/IC设计] 相关文章:
Perl 学习指南(转载)
简介:
Perl 学习指南 作 者:qiang 审 校:JackyCheng 出 处:中国Perl协会 FPC 原 名:Perl学习指南 Perlchina提醒您:请保护作者的著作权,维护作者劳动的结晶。 首先,来到 Perlchina 就是找对学习 Perl 的第一步。 每个人都有不同的学习方法, 下面列举几个供参考 如果 Perl 是你学的第一个编程语言,推荐先看一些编程基础,流程控制,逻辑和设计的知识. 大家有没有好的中文书籍介绍? 如果你学过其他语言,那就可以从学习 Perl 的语法开始(Perl语言入门 ),或者是从 Perl 的自带文档。当你对 Perl 的语法了解后,尝试书......

(转)脚本来统计verilog代码的行数
(转)抛砖引玉,发实际项目用的一个仿真脚本(VCS+VERA)
IP核调试之SDRAM篇(2) 转载
IP核调试之SDRAM篇(1) 转载
FPGA 门数计算方法(转)
Xilinx FPGA全局时钟和第二全局时钟资源的使用方法
用HDLScore做覆盖率分析VHDL实例
用VHDL/VerilogHD语言开发PLD/FPGA的完整流程VHDL实例
格雷码计数器的设计思路VHDL实例
 
下一个:[EDA/IC设计]什么是脚本语言?
简介:
转自edacn 首先申明,进入这个行业还不到一年,所以下面的回答可能会比较片面,但我还是想把我对脚本语言的理解和你一起分享。 脚本语言就和DOS里面的批处理差不多,通俗的讲就是你不用一条命令接一条命令的输入,你可以把你想做的事情打包封装起来,然后直接运行这个"包"(即脚本语言)就可以了,它用起来十分方便,像现在的仿真、综合一般都会用到大量的脚本语言,例如在仿真后阶段,测试code coverage的时候如果按照命令行方式一行接一行的输入命令,你会觉得十分的繁琐,但是你要写一个脚本后,每次对仿真结果进行code coverage测试时只需要修改相应的参数变量即可。 现在用到脚本语言有很多......
 

上一个:[另类其他]全方位了解服务器CPU

老古开发网版权所有 2006年9月 asp.Net V2.0 设计:老古
页面缓存:10分钟 执行时间:16毫秒