Verilog 自动化
自动生成 verilog 模块端口、实例及其连接,适用于 Sublime Text 2 & 3
详细信息
安装次数
- 总数 25K
- Win 18K
- Mac 3K
- Linux 4K
8月6日 | 8月5日 | 8月4日 | 8月3日 | 8月2日 | 8月1日 | 7月31日 | 7月30日 | 7月29日 | 7月28日 | 7月27日 | 7月26日 | 7月25日 | 7月24日 | 7月23日 | 7月22日 | 7月21日 | 7月20日 | 7月19日 | 7月18日 | 7月17日 | 7月16日 | 7月15日 | 7月14日 | 7月13日 | 7月12日 | 7月11日 | 7月10日 | 7月9日 | 7月8日 | 7月7日 | 7月6日 | 7月5日 | 7月4日 | 7月3日 | 7月2日 | 7月1日 | 6月30日 | 6月29日 | 6月28日 | 6月27日 | 6月26日 | 6月25日 | 6月24日 | 6月23日 | 6月22日 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 1 | 6 | 2 | 7 | 6 | 4 | 4 | 6 | 5 | 1 | 5 | 2 | 4 | 4 | 8 | 7 | 3 | 3 | 4 | 2 | 9 | 1 | 1 | 4 | 2 | 4 | 3 | 4 | 10 | 2 | 1 | 4 | 5 | 6 | 11 | 6 | 9 | 2 | 3 | 5 | 3 | 7 | 1 | 5 | 2 | 7 |
Mac | 1 | 1 | 0 | 0 | 0 | 2 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Linux | 3 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 2 | 0 | 0 | 1 | 1 | 2 | 0 | 0 | 0 | 0 | 1 | 4 | 1 | 0 | 0 | 1 | 1 | 2 | 1 | 0 | 0 | 3 | 0 | 1 | 1 | 0 | 1 | 2 | 0 | 0 | 0 |
Readme
Verilog 自动化
此插件可以自动将端口添加到当前编辑的文件中,生成模块实例(需要 ctags)、添加实例连接、添加 Verilog 代码文件的头部。支持 Verilog-1995 和 Verilog-2001 两种风格。我从 VIM 的类似插件 automatic.vim 中借鉴了这一想法,只为 Sublime Text 2 & 3 重写了。
功能
- AutoPort
- AutoInst
- AutoDef
- AddFileHeader
描述
AutoPort:(shift+f6)
在“/autoport/”标记后自动将端口添加到当前编辑的文件中。
注意:不支持该风格
input clk,output single_out, //multiple input/output/inout keywords in the same line input clk,rst, chip_en; //multiple signals separated by comma written in different lines
注意:当同一文件中有多个模块时,请不要使用此功能。
示例
之前
(verilog-1995 style):
module test(/*autoport*/);
input [1:0]a;
input b;
output [2:0]c,d;
inout e;
(verilog-2001 style):
module test(/*autoport*/);
input wire[1:0]a;
input wire b;
output reg [2:0]c,d;
inout wire e;
之后
module test(/*autoport*/
//inout
e,
//output
c,
d,
//input
a,
b);
AutoInst:(shift+f7)
在“/autoinst/”标记后自动生成模块实例(需要 ctags)。
- 注意:需要将光标放在模块名称处,支持多光标以生成多个实例。
示例
之前
test test_instance(/*autoinst*/);
之后
将光标放在模块名称“test”上
test test_instance(/*autoinst*/ .e(e), .c(c), .d(d[2:0]), .a(a[1:0]), .b(b));
AutoDef:(shift+f8)
在“/autodef/”标记后自动添加实例连接。
示例
之前
/*autodef*/
test test_instance(/*autoinst*/
.e(e),
.c(c),
.d(d[2:0]),
.a(a[1:0]),
.b(b));
之后
/*autodef*/
wire e;
wire [2:0]d;
wire c;
wire b;
wire [1:0]a;
//assign e=
//assign d=
//assign c=
//assign b=
//assign a=
test test_instance(/*autoinst*/
.e(e),
.c(c),
.d(d[2:0]),
.a(a[1:0]),
.b(b));
AddFileHeader:(shift+f9)
在设置文件(最好是用户的设置文件)中添加您的个人信息,如下或留空:
{
"Author":"Mike",
"Company":"Microsoft",
"Email":"[email protected]"
}
因此生成的文件头部如下所示
//==================================================================================================
// Filename : test.v
// Created On : 2013-04-01 21:37:31
// Last Modified :
// Revision :
// Author : Mike
// Company : Microsoft
// Email : [email protected]
//
// Description :
//
//
//==================================================================================================
变更日志
05/08/2013
Add verilog-2001 style port declaration support.
Add comments support, single line commneted-out code will be ignored.