下载方式
sublime安装好package control,按下ctrl+shift+p唤出命令面板,输入install package,选中install package后,搜索verilog,既可以找到Verilog Gadget下载。
代码格式对齐
选中想要对齐的代码,按下快捷键ctrl+shift+x
模块例化对齐:
对齐前:
lcd1602_ctrl u1(
.clk(clk),
.rst_n(rst_n),
.valid(valid),
.data(input_data),
.LCD_RW(lcd_rw),
.LCD_EN(lcd_en),
.LCD_RS(lcd_rs),
.LCD_DATA(lcd_data)
);
对齐后:
lcd1602_ctrl u1(
.clk (clk),
.rst_n (rst_n),
.valid (valid),
.data (input_data),
.LCD_RW (lcd_rw),
.LCD_EN (lcd_en),
.LCD_RS (lcd_rs),
.LCD_DATA (lcd_data)
);
其他比如input output端口,reg wire信号等都可以对齐
生成顶部注释文档
在任意一个verilog文件中鼠标右键->Insert Header即可生成顶部注释文档,默认内容如下
// This is a simple example.
// You can make a your own header file and set its path to settings.
// (Preferences > Package Settings > Verilog Gadget > Settings - User)
//
// "header": "Packages/Verilog Gadget/template/verilog_header.v"
//
// -----------------------------------------------------------------------------
// Copyright (c) 2014-{YEAR} All rights reserved
// -----------------------------------------------------------------------------
// Author : yongchan jeon (Kris) poucotm@gmail.com
// File : {FILE}
// Create : {DATE} {TIME}
// Revise : {RDATE} {RTIME}
// Editor : sublime text{SUBLIME_VERSION}, tab size ({TABS})
// -----------------------------------------------------------------------------
默认文件verilog_header.v在Sublime Text 3\Data\Packages\Verilog Gadget\template路径下
要替换为自己的内容,可以直接修改这个文件,但要记得备份。
也可以新建一个.v文件,然后去Sublime Text 3\Data\Packages\Verilog Gadget路径下,打开Verilog Gadget.sublime-settings设置文件,将header后面的内容替换为自己的header.v文件路径,比如
"header": "Packages/Verilog Gadget/template/my_header.v"
我的header.v内容如下:
// -----------------------------------------------------------------------------
// Create : {DATE}
// Revise : {RDATE}
// Note :
// -----------------------------------------------------------------------------
用sublime打开任意.v文件,鼠标右键->insert header即可生成上述文本,效果如下:
// -----------------------------------------------------------------------------
// Create : 2022-03-10
// Revise : 2022-03-10
// Note :
// -----------------------------------------------------------------------------
模块例化
在任意一个Verilog文件中鼠标右键->Instantiate Module,或者ctrl+shift+c,即可将这个Verilog模块例化文本复制到clipboard,在想要例化的地方ctrl+v即可
比如某个待例化模块端口如下:
module vga_ctrl(
input vga_clk,
input rst_n,
input [23:0] rgb_data,
output hsync,
output vsync,
output [9:0] x,
output [9:0] y,
output [23:0] rgb,
output DAC_CLK,
output VGA_BLK,
output VGA_SYNC
);
只需要在该文件下鼠标右键->Instantiate Module,或者ctrl+shift+c,就能在clipboard生成如下文本:
vga_ctrl inst_vga_ctrl
(
.vga_clk (vga_clk),
.rst_n (rst_n),
.rgb_data (rgb_data),
.hsync (hsync),
.vsync (vsync),
.x (x),
.y (y),
.rgb (rgb),
.DAC_CLK (DAC_CLK),
.VGA_BLK (VGA_BLK),
.VGA_SYNC (VGA_SYNC)
);
代码片段
代码片段属于sublime本身就有的功能,敲出关键词后即可一键生成代码段,减少不必要的重复劳动。
用户可以自建verilog代码片段,方法为:在sublime工具栏中选择Tools->Developer->New Snippet。
即可生成默认代码段:
<snippet>
<content><![CDATA[
Hello, ${1:this} is a ${2:snippet}.
]]></content>
<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
<!-- <tabTrigger>hello</tabTrigger> -->
<!-- Optional: Set a scope to limit where the snippet will trigger -->
<!-- <scope>source.python</scope> -->
</snippet>
以Module关键词为例,我们将触发标签(tabTrigger)设置为module,再设置触发范围(scope)为verilog文件,然后根据自己的需求在content内写好module代码段,保存即可,我的module代码段如下:
<snippet>
<content><![CDATA[
module ${1:module_name}(
input clk,
input rst_n,
);
//------------signals--------------
//------------function-------------
endmodule
]]></content>
<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
<tabTrigger>module</tabTrigger>
<!-- Optional: Set a scope to limit where the snippet will trigger -->
<scope>source.verilog</scope>
</snippet>
有了该代码段就能在任意.v文件中用module关键词生成代码段,效果如下:
module module_name(
input clk,
input rst_n,
);
//------------signals--------------
//------------function-------------
endmodule
其他的比如testbench、always、case等也都可以自己新建代码段,提升敲verilog代码的效率。