失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 【杂谈】FPGA之路——Verilog与编辑器的那些事儿

【杂谈】FPGA之路——Verilog与编辑器的那些事儿

时间:2022-08-05 09:49:03

相关推荐

【杂谈】FPGA之路——Verilog与编辑器的那些事儿

目录

前言「 Verilog与Notepad++ 」「 Verilog与Sublime Text3」「 Verilog与VS Code」「 Verilog与Vim」「 重拾旧爱Notepad++」「 打造专属的编辑器」「 神之编辑器-Emacs」「 历经磨难“终得利器」

前言

Verilog HDL,硬件描述语言的一种,以文本形式描述数字系统硬件的结构和行为的语言[1]。Verilog HDL和VHDL是世界上最流行的两种硬件描述语言。在硬件描述语言中是很流行,但在所有编程语言中,其长期在100名左右徘徊,在TIOBE 2月的排行榜中甚至跌出了前100名,足见其有多小众。

「 Verilog与Notepad++ 」

大学毕业后,从事FPGA开发相关工作,进入公司后,大家都用Notepad++,于是我也顺理成章的用上了Notepad++。Notepad++特别适合于Verilog的代码编写工作,因为Verilog不像其他编程语言,需要频繁的编译与调试,而且,一般Verilog的代码量不是特别大。前三个月,我用得很爽,但慢慢地,问题就来了。Notepad++除了支持Verilog语法高亮,除此之外只有基本的编辑功能。还是那句老话,磨刀不误砍柴工。不满足于现状的我,还是在因特内特上“疯狂”的寻找Notepad++与Verilog相关的插件,最终的结果不出意料的一无所获。

在这里,我仔细思考了一下,Verilog相关的插件为何如此之少的原因?主要有一下三点:

使用Verilog这种语言的人很少,无论是FPGA开发还是芯片设计的从业人员,相比于互联网的程序员的数量,完全不在一个数量级上;FPGA工程师号称“硬件工程师中的软件工程师”,在国内从事FPGA开发的技术人员绝大多数都是硬件出身,很少有软件出身的。插件编写需要很专业的软件功底,所以,这就尴尬了,会写插件的人不会去用Verilog,而会Verilog的人又都不会插件,同时,写Verilog的人很难有开源的思想;国外的情况不清楚,但无论哪一种编程语言,国内对插件开发这类的事情似乎并不太“热衷”;

在插件寻找之路上,我意外的发现Sublime Text3在这一方面明显强于Notepad++。

2月28日写到这里,4月4日才接上- -!

「 Verilog与Sublime Text3」

由于Notepad++对Verilog的支持实在太差,我转而使用Sublime Text3进行Code。Sublime Text3支持Verilog的插件明显比Notepad++多很多,底时开始在网上疯狂地搜索与Verilog相关的插件。这些插件都很强大和使用,具体可以参照以下的文章:

1.sublime3添加verilog自动补全代码段

2.sublime text 3在windows中配置ctags插件

3.使用模板加快编码效率(三)——sublime [更新]

4.Sublime Text 2 和 Verilog HDL

5.引用4的原创网页已经打不开了,这是备用链接

6.sublime text3 verilog代码编写高级操作篇

本以为可以和Sublime Text3一起孤独终老了,用了1个多月后,发现Sublime Text3相比于Notepad++依旧略显“笨重”。同时,各种插件有很多地方并不是完全适合我。由于笔者的前公司有各种编码规范,许多自动化的功能,还需要手动进行二次修改,这样似乎并不能带来太多的便捷。有时候还不如复制粘贴来得快。于是,就这样还是和Sublime Text3和平分手了。

近期看同事使用Sublime Text3,发现Sublime Text3编辑器有Python的API,那么只要掌握一点Pyhton的知识,就可以自己制作专属于自己的插件了。用Python去制作插件,学些成本相当较低。

「 Verilog与VS Code」

VS Code 是发布的,我第一次接触大概是的时候,不由的想起那个时候我还在画CAD --!。差不多偶尔使用VS Code写点Markdown,写Python。但时至3月之前,我从未用VS Code进行过Verilog的Code。原因主要在于,接触VS Code时,那时VS Code商店里与verilog/systemverilog相关插件的数量用一只手就可以数过来(欲哭无泪),同时很多功能不够完善,网上更加找不到相关的帖子。但那时,我就知道有一天VS Code会变得足够强大。等到那个时候,我会选择使用VS Code的。我于4月3日切到VS Code上进行Code。此至今日(4月4日),VS Code上的HDL语言相关的插件已经很强大了。

后续,我会写一些关于VS CODE的Verilog环境搭建的教程

「 Verilog与Vim」

Vim又是一个小插曲,前同事中有VIM大佬,看大佬用VIM写verilog,简直出神入化。我于4月12日在JD购得一本《Vim使用技巧(第2版)》[英] Drew Neil著。不到3周,我便放弃了。。。

8月15日

近期,因为一些工作的原因不得不适用GVIM,在没有办法的情况下,适用两周后发现回不来了。VIM天生就是针对编辑开发的,每个按键都是与编辑相关的快捷键。因为这个原因,VIM是众多编辑器中编辑代码效率最高的。

于是,选择了在VSCODE上安装VIM的插件,在按“i”进入编辑模块后,基本和原来的VSCODE的编辑环境相同。进一步提高了编辑效率,双手不适用鼠标的感觉真的很爽。

「 重拾旧爱Notepad++」

最终选用Notepad++,其一是因为轻量化。但是,我也发现当Notepad++在工作区打开太多文件夹时,也会存在各种卡顿的问题。

其二,是因为我找到了Notepad++的Python接口。可以通过Python脚本进行各种定制化操作,达到和插件一样的效果,用起来也很爽。

目前,我实现了自己定制的自动端口例化和自动声明,具体使用方法可以参考我的Github库:Notepad_plugins_for_verilog。(由于很多插件是在公司写的,前公司的东西都带不出来,后续写插件一定要在家里进行。–!)

「 打造专属的编辑器」

待更新。。。

VSCode配置Verilog/SystemVerilog开发环境(一)概述

VSCode配置Verilog/SystemVerilog开发环境(二)插件安装

VSCode配置Verilog/SystemVerilog开发环境(三)插件配置

VSCode配置Verilog/SystemVerilog开发环境(四)常用操作

VSCode配置Verilog/SystemVerilog开发环境(五)插件制作

「 神之编辑器-Emacs」

8月15日

使用emacs,仅仅是因为需要使用org-mode。近期越发觉得,自己有必要梳理一下自己的知识体系,过去三年多的时间,学习过很多东西,虽然也做过很多笔记,但是并没有完全归纳整理好。在使用过众多的笔记软件后,如:ONENOTE、edairy、Mybase、以及众多的Markdown软件,并没有找到一个很全面的工具,每一个都有各自的缺点,但始终不能在一个软件上搞定的所有事。于是乎,知乎查了一下,“大家都使用什么软件记录科学性的笔记?”,最多的推荐便是EMACS的org-mode。

在简单使用后发现,org-mode是可以完全取代Markdwon的,并可扩展性很强。必要时,可以自行扩展自己需要的功能。于是决定,后续使用org-mode进行笔记的整理。但深入了解后,发现emcas的学习曲线比VIM还陡峭。:)但还是决定使用org-mode进行笔记记录,主要有以下几点原因:

可以完全取代Markdwon;支持导出Latex、Markdown、HTML等,便于输出;表格功能很丰富,支持函数计算等;插入代码段之后,支持直接运行并返回结果。这个在我写详设时,就不用开计算器了;TAG功能,知识的非线性整理;

「 历经磨难“终得利器」

1.Verilog HDL之百度百科:/item/Verilog%20HDL/596353?fr=aladdin

2.VIM:/

3.Python Script:/bruderstein/PythonScript/releases

4.Notepad++ Python Script下载链接:/

如果觉得《【杂谈】FPGA之路——Verilog与编辑器的那些事儿》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。