ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

Verilog 自动化

作者: Tian-Changsong 全部

自动生成 verilog 模块端口、实例及其连接,适用于 Sublime Text 2 & 3

详细信息

  • 2013.08.06.08.11.47
  • github.com
  • github.com
  • 11年前
  • 2小时前
  • 11年前

安装次数

  • 总数 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

源代码
raw.githubusercontent.com

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.