Sublime与Verilog的不为人知的秘密

1、SublimeText3简单介绍

1.1收费问题

Sublime虽然名义上收费,但是官方支持无限试用,如果弹窗提示你支付,关了就好,所以等于免费。

1.2兼容性

Sublime支持跨平台,同时支持Windows、Linux、Mac OS X等操作系统。目前使用中没有碰到过兼容性问题。

1.3功能性

Sublime具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。相关增强功能通过插件的方式进行增加,扩展性很强。其他更加强大的编辑器,功能虽然强大,但易用性偏差,需要学习。Sublime在易用性和功能性之间找到了平衡。

2、Sublime Text3使用方法

-------------------作为Verilog编程工作者,打开Sublime的正确姿势

2.1软件安装

直接登录官网,下载就好,和普通软件一样,双击exe文件安装就好。但是使用Sublime的重点是插件,所以需要安装一个管理插件的插件“Package Control”。

2.1.1最简单安装Package Control的方法

方法一:

打开Sublime Text3,使用快捷键ctrl + ~,调出控制台。在控制台中粘贴以下代码:

import urllib.request,os,hashlib; h = '6f4c264a24d933ce70df5dedcf1dcaee' + 'ebe013ee18cced0ef93d5f746d80ef60'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)

可以自动安装好Package Control插件,该插件用于管理其他插件。或者可以参考官网的其他方式安装该插件。

图1安装Package Control

方法二:

打开Sublime Text3,按下快捷键 Ctrl+Shift+P,输入package,选择Install Package Control,就可以安装,如图1所示。

然后,在Sublime主界面按下快捷键 Ctrl+Shift+P,输入install,在下拉菜单中选择Install Package,如图2所示,然后会弹出另一个输入框,在里面输入需要安装的插件名称,就可开始安装别的插件了。

图2 Install Package菜单栏

图3运行状态指示

选择了Install Package后,Sublime软件的左下角会有图3所示的运行动画,表示与官方服务器连接中,请等待一下就会弹出第二个输入框。

图4 卸载插件的方式

同理,在Sublime主界面按下快捷键 Ctrl+Shift+P,输入remove,如图4所示,选择Remove Package后,在第二个输入框中选择需要卸载的插件即可。

2.2Sublime基本功能

2.2.1文件目录以及窗口控制

图5文件目录

本功能很简单,就是将你需要查看的工程里面的源代码文件夹直接拖到Sublime的窗口中即可,在软件的左侧就会显示本目录树状图,方便打开对应的*.v文件。

图6窗口分栏

窗口控制就是分栏显示代码,别的软件也有的基本功能,其快捷键是ALT+SHIFT+2,数字代表分栏的个数。

2.2.2全局查找

图7全局查找

功能很简单,使用快捷键CTRL+SHIFT+F就可以全局查找,不同于CTRL+F查找的方式,可以跨文件查找,并且显示在一个窗口中,双击就可以在文件相应地方显示。如图7所示,左半部分是查找结果,显示在一个窗口,右半部分是相应具体文件的相应地方。

2.3推荐插件之一:Verilog语法高亮自动补全

在上述的步骤选择了Install Package后,等待连接服务器,在第二个输入框中输入Verilog,选择Verilog,当然你也可以选择System Verilog,如图8所示。

图8 Verilog插件

等待几秒安装插件后即可使用。

“Verilog”插件支持的功能:

1、语法高亮

2、自动补全(可以自己修改补全方式)

3、模块文件打开:

图9文件打开

该功能可以方便的打开例化文件。在打开了文件目录后,如图9左侧显示,将鼠标放在模块名上,会显示该文件的蓝色名字,点击蓝色的文件名,即可直接打开本模块代码。

2.3推荐插件之二:ConvertToUTF8中文显示

在打开文件时,很多时候中文会显示乱码,这是因为没有用特定的编码方式打开,本插件就是为了解决这个问题的。

跟上述方法一样,使用快捷键 Ctrl+Shift+P,输入install,选择Install Package,在第二个输入框输入ConvertToUTF8,就可以安装。

本插件可以支持GB2312,GBK,BIG5,EUC-KR,EUC-JP这些编码的字体,特别是前两个,在中文显示时会用到。

2.4推荐插件之三:SublimeLinter-contrib-vcom语法检查

该插件已更名为SublimeLinter-contrib-modelsim

本软件可以在输入代码时候,检查语法问题,检查位宽匹配问题。其基本原理是使用modelsim中的语法检查功能,所以查错功能与modelsim类似。但是需要在另一个插件的基础上——SublimeLinter。

PS:在Sublime中还有其他verilog的语法检查插件,但是使用比较复杂,需要编译第三方插件,并且在查错的时候存在一个问题,例化问题。当顶层模块例化了其他模块,其他的语法检查插件会报错,提示找不到例化的文件,使用起来不方便,目前本插件使用起来没用什么问题。

图10 SublimeLinter插件安装

跟上述方法一样,使用快捷键 Ctrl+Shift+P,输入install,选择Install Package,在第二个输入框输入SublimeLinter,然后使用同样的方法安装SublimeLinter-contrib-vcom,即可使用。

“Sublimelinter”插件支持的功能:

1、Verilog语法检查,在改写文件后,使用CTRL+S保存文件后,如果有语法错误,软件就会自动报错ERROR。

2、位宽匹配错误,使用CTRL+S保存后,如果有1’h23,这种类似的问题,软件会自动提示WARNING。

2.5推荐插件之四:Sublimerge 3文件对比

图11 Sublimerge 3插件安装

同理,使用快捷键 Ctrl+Shift+P,输入install,选择Install Package,在第二个输入框输入Sublimerge 3,然后使用同样的方法安装Sublimerge 3,即可使用。推荐使用本插件进行轻量级对比,大量对比用BeyondCompare更好点。

“Sublimerge 3”插件支持的功能:代码对比(类似BeyondCompare)

图12文件间对比方法

在文件目录中按住CTRL同时选择2个文件,鼠标右键选择Sublimerge->Compare Selected Files,就可以对比,如图12所示。

图13 文件内对比

在文件中鼠标右键点击,也可以对比,选择相应的菜单实现相应的功能,如图13所示。

2.6推荐插件之五:Verilog Gadget实用小插件

图14 VerilogGadget插件安装

使用快捷键 Ctrl+Shift+P,输入install,选择Install Package,在第二个输入框输入Verilog Gadget,即可使用。

“VerilogGadget”插件支持的功能:

1、自动生成TestBench文件:只用在需要生成TestBench文件的模块中,点击鼠标右键,选择Generate Testbench,直接生成一个Testbench文件,当然,生成的模板可以自己修改。

2、插入文件头:在文件中点击鼠标右键,选择Insert Header,即可插入文件头。需要提前写好文件头的txt文档,其中使用{DATE}表示当前日期,使用{YEAR}表示今年,使用{TIME}表示当前时间,使用{FILE}表示当前文件名,然后在Sublime的setting中设置文件头的txt文档的路径就行。

3、自动例化模块:在模块中右键选择Instantiate Module,在顶层文件使用快捷键CTRL+V就可以例化模块。

4、自动对齐:选择需要对齐的代码,使用快捷键ctrl+shift+x,即可对齐。

自动重复代码:在模块中右键选择Repeat Code with Numbers,可以实现自动重复序列的生成,在写case语句时很有用,具体使用方法可参考官方说明

猜你喜欢

转载自blog.csdn.net/qq_33231534/article/details/107428702