提升敲代码效率:sublime Verilog Gadget插件

下载方式

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.vSublime 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代码的效率。

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值