All notable changes to this project will be documented in this file. The format is based on Keep a Changelog.
-
autoinst
changed config and fixed several bugs修改部分配置并修复部分遗留问题
-
Add
RtlTree
newer version优化版
RtlTree()
-
Bug fixed
修复大量遗留问题
-
automatic.vim
changed into several different files拆分原文件为多个独立分拣,功能解耦合
-
Bug fixed
修复部分遗留问题
-
A few bugs fixed
一些小
bug
修复,具体参考commit
的内容
-
Add
filelist
&tags
for cross directory新增跨文件夹支持
filelist
及tags
载入,包括多种可配置模式
-
Backward compatibility
优化
sort()
获取方式,兼容部分vim74
版本依据来源:
:h sort()
:h v:version()
sorting - Sort numbers in vimscript - Stack Overflow
regex - Vim - Sort each line of numbers in a file? - Stack Overflow
Edit: This relies on the 'n' flag of the
sort()
function, which was added in 7.4.341 to allow sorting numbers rather than always treating them as strings.
-
Add
AutoArg
新增
AutoArg()
,包括4种可配置模式
-
Optimize
GetDirList
优化
GetDirList()
地址获取方式,使用绝对地址full path
,不再使用相对地址 -
Bug fixed for
GetFileDirDic
修复
GetFileDirDic()
获取除.v
以及.sv
之外以v
结尾的目标文件的的异常匹配依据来源:
:h string
Single quoted strings are useful for patterns, so that backslashes do not need to be doubled. These two commands are equivalent:
if a =~ "\\s*"
if a =~ '\s*'
-
Optimize
key maping
允许自定义
Auto
函数的快捷键依据来源:
:h hasmapto()
-
Optimize
remove_io
forAutoReg
,AutoWire
andAutoDef
添加
remove_io
配置项 -
Optimize
atd_move
forAutoDef
添加
atd_move
配置项
-
Add
AutoDef
新增初版
AutoDef()
,待测试
-
Add
AutoWire
新增初版
AutoWire()
,待测试
-
Optimize
Draw
优化所有
Draw
函数,包括DrawIO
,DrawPara
,DrawParaValue
,DrawReg
,DrawWire
,使其对齐逻辑统一 -
Optimize
GetReg
&GetWire
优化
GetReg()
及GetWire()
函数,均统一使用GetAllSig()
函数作为获取接口,为以后Merge()
函数作铺垫 -
Optimize
GetDeclReg
&GetDeclWire
优化已自动例化的寄存器或线网的获取方式。只识别
//Start of ...
以及//End of ...
-
Bug fixed for
GetInstModuleName
修复搜索特殊情况下匹配模块名异常的问题,例子如下:
module test #(.PARA_A(PARA_A)) u_test( ...... );
-
Optimize
GetiWire
GetiWire
函数巨幅优化,包括:- 将删除
parameter
的模块外移,简化代码 - 由外部获取多个参数值,避免重复计算
- 简化内部获取信号流程(使用
has_key
替代原循环的方式)
- 将删除
-
Add
Progressbar
由于
GetiWire
获取速度较慢及为后续函数考虑,新增progressbar
进度条相关函数用于显示当前获取进度。进度条相关函数基于插件progressbar
,作者Andreas Politz
,progressbar
-
Bug fixed for
GetReg,GetaWire
GetReg(),GetaWire(),
自动跳过defparam
,避免异常 -
Bug fixed for
GetIO
GetIO()
修复注释类型// ...... /*autoinst*/
产生的异常 -
Bug fixed for
GetiWire
-
GetiWire()
修复无法获取IP
的输入输出端口导致iwire
获取失败的异常 -
GetiWire()
修复括号嵌套导致的获取失败异常,(例如.ADDR_CFG_LAST ( 32*(ROOT_CHN_NUM) )
的异常匹配)
-
-
Bug fixed for
AutoPara
AutoPara()
修复#
和(
不在同一行的特殊写法导致的异常问题
-
Optimize
Auto
优化各个
Auto()
函数写法,只使用单个的try
及endtry
-
Add
GetAllSig
新增
GetAllSig()
函数,获取单文件内所有信号并去冗余(未完成),为AutoDef
编写做准备。
-
Bug fixed for
GetaWire
修复完善部分
GetaWire()
函数的正则匹配机制 -
Bug fixed for
GetReg
- 修复完善部分
GetReg()
部分子函数的正则匹配机制,避免错误匹配 - 子函数在匹配前自动跳过注释
//
,避免错误匹配
- 修复完善部分
-
Bug fixed for
GetIO
修复
GetIO()
在部分括号(
匹配时因带注释(//
)导致的获取模块名或例化名异常的问题
-
Force new buffer for
RtlTree
意外关闭原
buffer
后允许RtlTree
强制重新打开,避免窗口异常bug
。
-
Bug fixed for
GetiWire
修复完善部分
GetiWire()
函数的正则匹配机制,避免错误匹配多重括号,同时保证单行多例化的情况,例子如下:module test u_test ( .a(wire_a) .b(wire_b[(3+2*4):0]))
-
Bug fixed for
GetIO
修复
GetIO()
无法获取IO
带none
字眼的bug
-
Force jump for
RtlTree
原
buffer
修改后未保存时允许RtlTree
进行强制跳转,避免窗口异常bug
。
-
Bug fixed for
GetiWire
,GetaWire
&GetReg
修复完善部分
Get()
函数的正则匹配机制,避免错误匹配(例如for(i=0;i<10;i=1+1)
,wire a=1
等异常匹配) -
Bug fixed for
GetiWire
修复
GetiWire()
异常匹配.a()
的问题 -
Bug fixed for
GetiWire
修复
GetiWire()
在无法获取例化文件的情况下无法正常完成的问题 -
Bug fixed for
GetaWire
修复
GetaWire()
多行无法获取的问题,例子如下assign a = b | c | d | e | f | g;
-
Bug fixed for
GetiSig
注释未完成的
GetSig()
,避免其异常问题 -
Bug fixed for
GetIO
修复
GetIO()
在模块名或例化名后带注释(//
)导致的获取模块名或例化名异常的问题 -
Bug fixed for
GetReg
修复获取连续
reg
的异常问题(例如reg a=1,b=3'd7;
)
-
Change keyboard click method for
RtlTree
更改
RtlTree
的键盘操作方式,点击+
,-
,~
为展开至例化模块,普通点击为跳转至例化位置。
-
Add
GetaWire
,GetiWire
新增
GetaWire()
以及GetiWire()
函数,为autowire
以及autodef
做准备
-
Bug fixed for
GetRightWidth
修复
GetRightWidth()
函数的部分遗留bug
,完善其正则匹配机制
-
Add
RtlTree
新增
RtlTree()
,在原脚本(zhangguo)基础上进行如下改动- 新增
tags
内部集成,不再需要外部ctag_gen
脚本即自动生成 - 修复原脚本
:q
退出时无法再次进入的异常Bug
- 实现跨文件夹
RtlTree
功能
- 新增
-
Change configuration method for
AutoInst
,AutoPara
,AutoReg
&AddHeader
更改现有函数的配置方式,可通过
.vimrc
外部配置
-
Add comment for
AutoInst
AutoInst()
可配置添加注释例化模块所在位置//Instance...<DIR>...
-
Bug fixed for whole vim-scripts
修复无法
source
配置的Bug
-
Bug fixed for
AutoReg
修复
AutoReg()
对重复多次相同写法(例如'a[3:0]+b[4:0]')解析错误而产生的异常Bug
-
Add
AutoReg
新增
AutoReg
初版 -
Add
AUTOINST_TAIL_NOT_ALITN
,AUTOPARA_TAIL_NOT_ALITN
,AUTOREG_TAIL_NOT_ALITN
新增
TAIL_NOT_ALIGN
特性,各种声明尾部可不进行统一对齐
-
Bug fixed for
AutoInst
添加
AutoInst()
对verilog-1995
的支持,修复AutoInst()
最后的因)
而异常停止的Bug
-
Optimize
GetIO
,GetPara
,DrawIO
,DrawPara
,DrawVaraValue
优化写法,
GetIO()
,GetPara()
,DrawIO()
,DrawPara()
,DrawParaValue()
等函数添加注释及折叠,方便后续定位故障
-
Bug fixed for
AutoPara
修复
AutoPara()
最后的port parameter
异常覆盖的Bug
-
Optimize
AutoInst
&AutoPara
优化
AutoInst
以及AutoPara
部分内容AutoInst
- 修复
AutoInst()
最后port
被移入不变列表后无法获取最后一个port
的Bug
- 修复
AutoInst()
获取端口列表外的//
注释或ifdef
的问题
AutoPara
AutoPara()
的最后一个参数的判断统一移动至GetPara()
函数内AutoPara()
传参格式变动,修改部分注释- 对照
AutoPara
已知的问题,修改AutoParaValue
Other
- 针对末尾行尾注释
//
行时报错的问题,添加更明显的报错提醒
-
Add
ifdef
forAutoInst
, add config forifdef
and single comment line//
新增
AutoInst()
对ifdef
以及//
注释的支持,添加对//
注释以及ifedf
的可配置项
-
Bug fixed for
AutoInst
修复
AutoInst()
最后port
判断异常Bug
-
Add keep changed inst io name for
AutoInst
AutoInst()
新增修改后的端口不重刷功能
-
Add new
AutoPara
& modified originalAutoPara
toAutoParaValue
, use/*autoinstparam*/
&/*autoinstparam_value*/
as flagAutoPara()
函数拆分为AutoPara()
以及AutoParaValue
, 分别使用/*autoinstparam*/
以及/*autoinstparam_value*/
作为检测条件
-
Bug fixed for
AutoPara
修复
AutoPara()
最后的parameter
判断异常Bug
-
Compatible with
vim 7.4
兼容旧版
vim v7.4
-
不再使用
readdir()
函数,改为使用glob()
、filter()
以及fnamemodify()
; -
filter()
写法由lambda
改为普通string
的写法; -
GetIO
函数的signal_name
不再使用空符号''
,统一使用NULL
。避免dictionary
出现key
为空; -
call deletebufline('%',idx)
改为execute ':'.idx.'d'
,由于execute
会移动光标位置,添加光标位置跳回 -
sort(...,'N')
改为sort(...,'n')
sort(...,'N')
改为sort(Str2Num(...),'n')
,添加单独的转换函数 -
修复
AutoPara
在ONLY_PORT=0
时无法获取(没有端口参数,只有声明参数的情况)参数列表的Bug
依据来源:
vimscript - How to find a executable file inside a folder? - Vi and Vim Stack Exchange
vimrc - Get directory name from CWD (dirname without preceding path)? - Vi and Vim Stack Exchange
-
-
Add
,
feature forAutoPara
AutoPara()
添加支持,
特性
-
Bug fixed for
AutoPara
修复
AutoPara()
末尾丢失,
的bug
-
Add read
.sv
file简单添加对
.sv
文件的支持,但仍然只支持verilog
的写法
-
Add
GetReg
新增
GetReg()
-
Add
AutoInst
&Autopara
新增
AutoInst()
以及AutoPara()
初版
-
First copy from zhangguo's vimscript. See automatic for Verilog & RtlTree - Automatic generator for Verilog HDL (upgraded) & RtlTree : vim online
复制原脚本,参考原结构开始进行重构