sponsor Vim development Vim logo go to HTTPS page Vim Book Ad

vtags : verdi like, verilog code signal trace and show topo script  

 script karma  Rating 26/8, Downloaded by 345    Comments, bugs, improvements  Vim wiki

created by
Jun Cao
 
script type
utility
 
description
vtags is a gvim plugin, it's function similar like verdi's trace verilog signal function, this plugin writed by python, currently support: trace signal,macro define trace,show module's topology,quick access,save and opend a snapshort, add checkpiont etc.

vtags 2.x version is my current most satisfied version, hoping to share with you.

support inline(inline means need open vim window) functions and shortcut keys:
    shortcut key            function
    gi                            : go into submodule
    gu                           : go upper module
    <Space><Left>      : trace source
    <Space><Right>    : trace destination
    <Space><Down>   : roll back
    <Space><Up>        : go forward
    <Space> + v          : view sidebar
    <Space> + c          : add checkpoint
    <Space> + b          : add basemodule
    <Space> + d          : delete
    <Space> +h           : hold cur window
    <Space>                : quick access
    <Space> + s          : save snapshort
    gvim/vim                : reload snapshort

support offline(offline means no need open vim window) function :
    -h                           : show help information
    -func                      : show the valid offline(without open vim) functions

supported offline(offline means no need open vim window) functions:
    print_module_io( module_name )                                                  # this function print module io inf!
    open_module_file( module_name )                                               # this function used to open module and go to some lines
    print_module_trace( to_module, from_module )                            # this function get input module's instance trace
    print_module_topo( module_name, depth, mask, space )             # this function print module topology!
    print_module_filelist( module_name )                                            # this function print module and all submodule's filelist
offline(offline means no need open vim window) call exp:
    "vtags -func find topo "                                                                    # used to find all function which name has string "topo"
    "vtags -func 'print_module_io( my_cpu )'"                                       # used to print module my_cpu's io !
    "vtags -func -db ~/design/vtags_db 'print_module_io( my_cpu )'"   # used specified vtags.db to get io

detial see doc at insall file

Vtags-2.x almost completely refactored vtags-1.x all the features and implementation, both in function, speed and user experience have a qualitative leap, the main changes are reflected in:
1. The new version greatly expanded support for verilog multiple syntaxes.
2. The new version of the implementation of a complete and fast database dynamic update mechanism, vtags will change with the design of dynamic with the new.
3. The new version uses a new recognition algorithm, which greatly improves the accuracy and speed of recognition.
4. The new version uses a decentralized and lazy loading technology, which greatly saves the resources that vtags runs.
5. The new version provides a set of functions and APIs to facilitate the use of vtags and the database when the user does not open vim.
6. The new version optimized vtags's import, so that the vim open non-vtags support file is almost no delay.

attention:
(1)  when you update your vtags from 1.2x to 2.x please delate old vtags.db in your folder, and use command  "vtags"  generate new vtags.db  again !
(2)  if your design file not all use  "v"  as the postfix, you need add you own postfix at  vtags-1.xx/vim_glb_config.py line:46 support_verilog_postfix , If not, vtags will not treat other postfix other than 'v' as your design files.
        exp:   I use  xxx.v,  xxx.sv,   xxx.V,   xxx.d in my design i need set as :  support_verilog_postfix     = ['v', 'sv', 'V', 'd' ]
 
install details
(1)  tar -zxvf vtags-2.0.tar.gz    // unpack the file to the path you want to install. we assuming to "~/"
(2)  in  "~/.cshrc"   add line:  alias vtags 'python  ~/vtags-2.0/vtags.py'
      or  "~/.bashrc"  add line:  alias=vtags 'python  ~/vtags-2.0/vtags.py'
      "source ~/.cshrc"  or  "source ~/.bashrc"
(3)  in "~/.vimrc"  add line: source  ~/vtags-2.0/vtags_vim_api.vim
(4)  config vtags-2.0/vim_glb_config.py as it decribe in vim_glb_config.py. (can do it in local_config.py see below)
 

rate this script Life Changing Helpful Unfulfilling 
script versions (upload new version)

Click on the package to download.

package script version date Vim version user release notes
vtags-2.12.tar.gz 2.12 2017-05-07 7.3 Jun Cao fix bug for offerline function "print_module_list(module_name)", pre version if multi module in one hdl file maybe can not list second match module list, current fix it.
vtags-2.11.tar.gz 2.11 2017-04-24 7.3 Jun Cao fix a bug at CodeLib.py line:443-443, which will made can not trace following subcall s_c, s_d signal:
A  #(p_a,p_b,p_c) A_inst (s_a, {s_b, s_c, s_d }, ...  )
vtags-2.10.tar.gz 2.10 2017-03-19 7.3 Jun Cao fix 3 bugs and not active vtags when vim not open a valid  rtl or not find vtags.db.
vtags-2.0.tar.gz 2.0 2017-03-07 7.3 Jun Cao vtags 2.x version is my current most satisfied version, hoping to share with you.
vtags-2.x almost completely refactored vtags-1.x all the features and implementation, both in function, speed and user experience have a qualitative leap, the main changes are reflected in:
1. The new version greatly expanded support for verilog multiple syntaxes.
2. The new version of the implementation of a complete and fast database dynamic update mechanism, vtags will change with the design of dynamic with the new.
3. The new version uses a new recognition algorithm, which greatly improves the accuracy and speed of recognition.
4. The new version uses a decentralized and lazy loading technology, which greatly saves the resources that vtags runs.
5. The new version provides a set of functions and APIs to facilitate the use of vtags and the database when the user does not open vim.
6. The new version optimized vtags's import, so that the vim open non-vtags support file is almost no delay.
vtags-1.23.tar.gz 1.23 2017-01-22 7.3 Jun Cao fix a bug in Code.py line 465, need 'Source' but use source, if you open Debug mode may find this error.
fix a bug in Base.py line 986, add i += 1 in while loop, if your code wrong and has endmodule without module define it will loop forever.
vtags-1.22.tar.gz 1.22 2017-01-07 7.3 Jun Cao fix the bug when use <Space>B add last topo line module to base module, and refresh the topo will not work .
vtags-1.21.tar.gz 1.21 2016-12-08 7.0 Jun Cao add some optimize for trace speed and accuracy, some case pre version can not deside if source or dest current can sure is' source or dest.
vtags-1.20.tar.gz 1.20 2016-12-06 7.2 Jun Cao Initial upload
ip used for rating: 107.22.102.16

If you have questions or remarks about this site, visit the vimonline development pages. Please use this site responsibly.
Questions about Vim should go to the maillist. Help Bram help Uganda.
   
SourceForge.net Logo