15

棋子 · 7月24日

地表最强gVim编写Verilog插件

话说这个世界上只有三种编辑器,Vim , Emacs 和 其他编辑器,其中Vim被称作编辑器之神,Emacs被称其神的编辑器,当然,其他编辑器永远只能是其他编辑器。

image.png

博主是坚定的Vim党,gVim即gui Vim。Vim is the best text editor!

image.png

各大编辑器的学习曲线

对于编写Verilog的插件,本订阅号之前也推荐过两个。第一个是源于Emacs的一个插件。

verilog-mode开发者网站在这里,更多内容去上网查询。

https://www.veripool.org/wiki/verilog-mode

但是这个插件的autodefine功能并不好用,

然后又被我找到了,vim官网上的一个插件,有好用的autodefine功能,写代码的时候可以完全不用在意reg和wire类型的定义,直接写assign和always块,最后autodefine一下就可以了。

https://www.vim.org/scripts/script.php?script_id=4067

但是这个插件不能跨文件夹。

所以博主我萌生了,自己写一个完全满足自己需求的,gVim插件!!!(此处有回音~)

硅农:你那点python水平,心里没点B数吗?

扎心了,但是,踏破铁鞋终于被我找到了一个,集合了上面那两个插件的所有优点的一个gVim插件。我愿称之为我见过的地表最强gVim编写Verilog插件。

autoinst自动例化

支持任意跨文件夹例化

image.png

支持自动例化'ifdef

随便怎么写,都给你例化进来

image.png
支持修改端口修改后保留不重刷

支持Verilog1995和Verilog2001的端口描述语法

支持例化模块端口修改后,注释哪些被修改,哪些新增

image.png

autodef自动定义

直接写assign或者直接写always。然后完全可以自动定义wire或reg。尤其是做顶层的集成的时候,几千根wire连线,根本不是人做的。工作效率提高1000%

image.png

autopara自动para例化

支持替换变量名和自动例化数字两种方式。

image.png

autoarg自动定义端口

如果你喜欢1995的端口描述写法,直接帮你自动定义端口,我已经不写端口好多年。

image.png

支持显示RtlTree

image.png

上面说的已经是可以将编码效率提高1000%的最基本的,还有其他更多的功能。这里就不一一展示了。

header、自动always块。代码中波形注释块等等。

image.png

安装使用

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

image.png

那么这怎么样才能得的到的呢?编写这个脚本的网友,已经全部开源,而且还在持续更新开发。你甚至可以自己在这个基础上再开发,做出符合自己的完全需求的Verilog插件。

GitHub链接如下:

https://github.com/HonkW93/automatic-verilog

他的个人网站有更加详细的介绍和使用方法。

https://blog.honk.wang/posts/AutoMatic/

image.png

最后

听我说,所有用gVim的都必须得用它,没用gVim的希望早点用。最后祝大家代码写的快,下班下得早!

作者:硅农
文章来源:处芯积律

推荐阅读

更多IC设计干货请关注IC设计专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。

推荐阅读
关注数
17508
内容数
1277
主要交流IC以及SoC设计流程相关的技术和知识
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息