verilog 中forever always_这才是用Gvim写Verilog的正确方式

a76175df77e09d99f77adc19b788cadf.png

环境:RedHat Linux,工具:GVim,Emacs

为了高效的编写Verilog,通常有些编辑器插件可以自动生成代码,比如自动端口定义,自动连线,自动实例化等等。公司的环境有很好用的自动化插件,想给自己的电脑也整个怎么做。比如Emacs中有个插件叫verilog-mode。但是博主习惯了用Vim,查询后发现Vim也可以调用这个插件来实现自动化。

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

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

自动化前

module 

自动化后

module 

在相应的位置写好命令,测试了下不区分大小写。然后在Vim命令模式下按 < Leader > + a,< Leader>在Vim中默认是 ,也就是按 + a,就OK了。这个对于写顶层的来说大大提高了效率。

实例化的文件和top在一个目录下直接运行就行,如果不在一个目录下,就在endmodule后添加如下

//Local Variables:

如何安装

  • 确保自己的环境Emacs安装完整,最新的Emacs版本会自带这个插件
  • 从git上下这个文件到本地
git clone https://github.com/zhuzhzh/verilog_emacsauto.vim
  • 把这个插件放在/home/xxx/.vim/plugin/verilog_emacsauto.vim,plugin这个文件夹默认是没有,可以自己新建一个。
  • 然后打开verilog_emacsauto.vim里面的文件verilog_emacsauto.vim/plugin/systemverilog_emacs_auto.vim
  • 把其中所有的%.emacsautotmp全部替换成%.tmp.v
  • 把-l ~/.elisp/verilog-mode.el全部去掉

没去掉之前是这个亚子的

106d001967e56a651251a4f7c38c152b.png

去掉之后是这个亚子的

3ef109450ee18dac50aab2fd49f8dead.png
  • 然后就大功告成了,还有图形界面可以使用

d99f88d19b98f59e09ec204ed6d8cbb2.png

常用的就这几个,还有更多的自动化读者可以自己去本文开始的开发者网站探索。或者打开Emacs,菜单栏-Verilog-AUTO Help,

b799ae7f3081aac8cec564ff47051e4d.png

点击对应的auto会有下详细解释。

我也试了一下,这个autowire和autoreg,只能对output和实例化的端口进行操作,直接写一个always块或assign,如果操作的变量,不在output或实例化端口中,也不会自动定义。本文开始的那段代码中的变量doutx就没有被自动定义。在Emacs-菜单栏-Verilog-AUTO Help中打开这两个auto的详细介绍,貌似就是这样的。所以读者在使用的过程中应该注意。

f3c9d5fb3153b31a8e0918e262c8068b.png

4093e06073fcf889c2ad2543344c59b3.png

本操作只在RedHat下操作成功,其他平台感兴趣的读者可以自己试试,有人有疑惑为什么不直接用Emacs呢,这就是习惯,编辑器用习惯了其实也都一样,并不是要说哪个更好用。听说Sublime Text中也有类似这样的插件,不过编辑器这个东西,找个自己用的顺的,能跨多个平台的就可以了。

关于写代码还有哪些便捷,提高效率的工具,欢迎留言区分享出来。

感谢订阅号 ExASIC提供的这个方法,并帮助我进行配置修改。

Reference

在Vim中集成emacs下的verilog-mode功能​mp.weixin.qq.com
f20f5def47d953bfadc657fc34bc25d7.png
RTL顶层自动连线的秘密武器:Emacs verilog-mode介绍(VIM也可以用)​mp.weixin.qq.com
0c73782d9f85f14523c14b8df1ee1af1.png

d55ba60183b19142f5f0573f45d182ae.png
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值