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

编程知识 更新时间:2023-04-05 00:43:17

目录

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

前言

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


「 Verilog与Notepad++ 」

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

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

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

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


「 Verilog与Sublime Text3」

由于Notepad++对Verilog的支持实在太差,我转而使用Sublime Text3进行Code。Sublime Text3支持Verilog的插件明显比Notepad++多很多,17年底时开始在网上疯狂地搜索与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 是15年发布的,我第一次接触大概是16年的时候,不由的想起那个时候我还在画CAD --!。17年差不多偶尔使用VS Code写点Markdown,18年写Python。但时至2020年3月之前,我从未用VS Code进行过Verilog的Code。原因主要在于,17年接触VS Code时,那时VS Code商店里与verilog/systemverilog相关插件的数量用一只手就可以数过来(欲哭无泪),同时很多功能不够完善,网上更加找不到相关的帖子。但那时,我就知道有一天VS Code会变得足够强大。等到那个时候,我会选择使用VS Code的。我于2020年4月3日切到VS Code上进行Code。此至今日(2020年4月4日),VS Code上的HDL语言相关的插件已经很强大了。
后续,我会写一些关于VS CODE的Verilog环境搭建的教程


「 Verilog与Vim」

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

2021年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」

2021年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之百度百科:https://baike.baidu/item/Verilog%20HDL/596353?fr=aladdin
2.VIM:https://www.vim/
3.Python Script:https://github/bruderstein/PythonScript/releases
4.Notepad++ Python Script下载链接:http://npppythonscript.sourceforge/

更多推荐

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

本文发布于:2023-04-05 00:43:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/b9ccdb3c3c2de8ca2e28840492a48fb1.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:之路   编辑器   事儿   杂谈   FPGA

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 43968文章数
  • 14阅读数
  • 0评论数