______ __ __ ______ ______ __ __ ______ ______ __ ______
/\ __ \ /\ \/\ \ /\__ _\ /\ __ \ /\ "-./ \ /\ __ \ /\__ _\ /\ \ /\ ___\
\ \ __ \ \ \ \_\ \ \/_/\ \/ \ \ \/\ \ \ \ \-./\ \ \ \ __ \ \/_/\ \/ \ \ \ \ \ \____
\ \_\ \_\ \ \_____\ \ \_\ \ \_____\ \ \_\ \ \_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\
\/_/\/_/ \/_____/ \/_/ \/_____/ \/_/ \/_/ \/_/\/_/ \/_/ \/_/ \/_____/
__ __ ______ ______ __ __ ______ ______
/\ \ / / /\ ___\ /\ == \ /\ \ /\ \ /\ __ \ /\ ___\
\ \ \'/ \ \ __\ \ \ __< \ \ \ \ \ \____ \ \ \/\ \ \ \ \__ \
\ \__| \ \_____\ \ \_\ \_\ \ \_\ \ \_____\ \ \_____\ \ \_____\
\/_/ \/_____/ \/_/ /_/ \/_/ \/_____/ \/_____/ \/_____/
一款基于vimscript的自动化verilog脚本。由automatic for Verilog & RtlTree修改而来,原作者zhangguo。
将automatic.vim
放入vim
根目录下的plugin
文件夹即可。
Plug 'HonkW93/automatic-verilog'
Plugin 'HonkW93/automatic-verilog'
提示:此脚本可能会修改文本数据,请在使用前备份数据,防止数据覆盖等情况发生。
- 自动例化(
AutoInst
)- 支持跨文件夹搜索.v文件进行例化,支持文件夹递归(参考
emacs verilog-mode
) - 支持端口重刷(参考
emacs verilog-mode
) - 支持行尾自动添加端口类型
input/output/inout
(参考vim automatic-verilog
) - 支持新增端口自动添加
//INST_NEW
(参考vim automatic-verilog
) - 支持删除端口自动添加
//INST_DEL
(参考vim automatic-verilog
) - 支持例化文件名与模块名不同的模块
- 支持配置为修改端口自动不重刷
- 支持
`ifdef
及`endif
- 支持跨文件夹搜索.v文件进行例化,支持文件夹递归(参考
- 自动参数(
AutoPara
)- 支持跨文件夹搜索.v文件进行例化,支持文件夹递归(参考
emacs verilog-mode
) - 支持参数重刷(参考
emacs verilog-mode
) - 支持新增端口自动添加
//PARA_NEW
(参考vim automatic-verilog
) - 支持删除端口自动添加
//PARA_DEL
(参考vim automatic-verilog
) - 支持
parameter
连续多个的写法,例如parameter A = 1, B = 5, C = 6
- 支持配置为
.A(A)
或者.A(5)
的写法 - 支持配置为修改过的参数自动不重刷
- 支持
`ifdef
及`endif
- 支持跨文件夹搜索.v文件进行例化,支持文件夹递归(参考
- 自动reg(
AutoReg
)- 支持端口
output reg
覆盖定义(参考emacs verilog-mode
) - 支持
always
语句阻塞/非阻塞赋值reg
获取(参考vim automatic-verilog
)- 支持左端
{}
写法,但不支持此写法获取位宽 - 支持左端
[WIDTH1:WIDTH2]
写法 - 支持右端
16'd1
或2'b01
或4'hf
或`WIDTH'hf
写法 - 支持右端
[WIDTH-1:0]
或[2*3-1:0]
或[WIDTH1:WIDTH2]
写法 - 支持右端
signal_a
或~signal_a
或!signal_a
写法 - 支持右端
signal_a & signal_b | signal_c[2:0]
写法 - 支持右端
en ? signal_b : signal_c[2:0]
写法 - 支持右端
{}
写法 - 进行中...
- 支持左端
- 支持端口
- 自动wire(
AutoWire
)- 支持例化
inst_wire
自动获取 - 支持
assign
语句wire
自动获取 - 进行中...
- 支持例化
- 自动定义(
AutoDef
)- 支持
AutoWire
- 支持
AutoReg
- 支持多信号
merge
- 进行中...
- 支持
- 自动接口(
AutoInterface
)- 梳理
sv
中interface
的自动例化 - 梳理中...
- 梳理
- 其他(
Other
) - 梳理
emacs verilog-mode
中其他auto
函数... - 梳理中...
- 通过
RtlTree
浏览Rtl
结构- 支持跨文件夹
- 内部集成
tag