vim verilog 插件 automatic-verilog-Anlogic-安路社区-FPGA CPLD-ChipDebug

vim verilog 插件 automatic-verilog

传说这个世界上只有代码三种编辑器,Vim , Emacs 和其他编辑器,其中Vim被称作编辑器之神,Emacs被称为神的编辑器,当然,其他编辑器永远只能是其他编辑器。
图片[1]-vim verilog 插件 automatic-verilog-Anlogic-安路社区-FPGA CPLD-ChipDebug
博主是坚定的Vim党,GVim即Gui Vim。Vim is the best text editor!
图片[2]-vim verilog 插件 automatic-verilog-Anlogic-安路社区-FPGA CPLD-ChipDebug
各大编辑器的学习曲线
本文要再次分享的是基于Gvim的开源插件,我愿称之为我见过的最强的GVim上的开源的编写Verilog插件。(定语足够多)

autoinst自动例化

支持任意跨文件夹例化,需要在endmodule最后写图示代码标识,路径指定任意位置支持相对路径、绝对路径(注意End后面必须再加一行空行)
图片[3]-vim verilog 插件 automatic-verilog-Anlogic-安路社区-FPGA CPLD-ChipDebug
支持自动例化`ifdef,支持修改端口例化名后保留不重刷
图片[4]-vim verilog 插件 automatic-verilog-Anlogic-安路社区-FPGA CPLD-ChipDebug
图片[5]-vim verilog 插件 automatic-verilog-Anlogic-安路社区-FPGA CPLD-ChipDebug
支持Verilog1995和Verilog2001的端口描述语法,默认是关闭的需要自行配置选项打开

图片[6]-vim verilog 插件 automatic-verilog-Anlogic-安路社区-FPGA CPLD-ChipDebug

支持例化模块端口修改后,注释哪些被修改,哪些新增
图片[7]-vim verilog 插件 automatic-verilog-Anlogic-安路社区-FPGA CPLD-ChipDebug
使用方式,光标放在autoinst的位置,在Gvim命令模式,键入AI。在命令模式键入AIall,还可以一键将当前.v的所有autoinst标志的地方全部刷新。

autodef自动定义

直接写assign或者直接写always。然后完全可以自动定义wire或reg。尤其是做顶层的集成的时候,几千根wire连线,根本不是人做的。工作效率提高1000%
图片[8]-vim verilog 插件 automatic-verilog-Anlogic-安路社区-FPGA CPLD-ChipDebug
如果有些定义你想自己写,写在自动生成的注释段外面就行了,工具会自动查重。将当前顶层所有的wire刷新一遍,同时显示新增或删除

图片[9]-vim verilog 插件 automatic-verilog-Anlogic-安路社区-FPGA CPLD-ChipDebug

使用方式,在代码定义段编写标识/*autodef*/,在命令模式下键入AD

autopara自动para例化

支持例化parameter变量名和自动例化数字两种方式。
图片[10]-vim verilog 插件 automatic-verilog-Anlogic-安路社区-FPGA CPLD-ChipDebug
在参数例化模块段编写标识/*autoinstparam*/,在命令模式下键入AP,可以将子模块的parameter例化出来。在参数例化模块段编写标识/*autoinstparam_value*/,键入APV,可以直接将parameter的数值例化出来
同时也支持一键例化刷新当前.v所有instance。命令分别对应为APall和APVall

autoarg自动定义端口

如果你喜欢标准1995的端口描述写法。直接帮你自动定义端口,不过我个人更喜欢2001以后的端口描述写法,端口描述写一次就够了,所以autoarg我基本没用
图片[11]-vim verilog 插件 automatic-verilog-Anlogic-安路社区-FPGA CPLD-ChipDebug
在端口定义段编写标识/autoarg/,在命令模式下键入AR,可以将端口自动提到port上,并区分output段和input段

支持显示RtlTree

图片[12]-vim verilog 插件 automatic-verilog-Anlogic-安路社区-FPGA CPLD-ChipDebug

在命令模式下键入RtlTree,可以直接显示rtl tree,点击对应的模块可以实现跳转,简直就是一个小型的IDE

支持snippet用户自定义代码段

图片[13]-vim verilog 插件 automatic-verilog-Anlogic-安路社区-FPGA CPLD-ChipDebug

命令模式键入HD,直接生成文件头,格式都可以自定义,文件发生更改会自动更新last modified时间

图片[14]-vim verilog 插件 automatic-verilog-Anlogic-安路社区-FPGA CPLD-ChipDebug

命令模式键入ALB生成组合逻辑代码段,键入ALBPN会生成时序逻辑代码段,倒数第二个P代表时钟是上升沿还是下降沿,最后一个N表示复位的高低有效。
这些commad用户都可以自定义,这些是我加的几个常用的。

图片[15]-vim verilog 插件 automatic-verilog-Anlogic-安路社区-FPGA CPLD-ChipDebug

snippet的代码段也是可以用户自定义,感兴趣的朋友自己研究下。
上面说的已经是可以将编码效率提高1000%了,还有其他更多的功能。这里就不一一展示了,感兴趣的朋友可以自己去探索。

安装使用

安装使用方法也很简单,直接放到vim安装目录的plugin路径中,如果有没有这个目录就新建一个。更重要的是,支持Windows、Linux、MacOs全平台。操作完全相同。

图片[16]-vim verilog 插件 automatic-verilog-Anlogic-安路社区-FPGA CPLD-ChipDebug

那么怎么样才能得到这个工具呢?整理编写这个脚本的网友,已经全部开源,而且还在持续更新开发。你甚至可以自己在这个基础上再开发,做出符合自己的全部需求的Verilog插件。
GitHub链接如下:
https://github.com/HonkW93/automatic-verilog
他的个人网站有更加详细的介绍和使用方法。
https://blog.honk.wang/posts/AutoMatic/

图片[17]-vim verilog 插件 automatic-verilog-Anlogic-安路社区-FPGA CPLD-ChipDebug

请登录后发表评论

    没有回复内容