GithubHelp home page GithubHelp logo

shima6172307 / automatic-verilog Goto Github PK

View Code? Open in Web Editor NEW

This project forked from honkw93/automatic-verilog

0.0 0.0 0.0 14.01 MB

automatic-verilog-vimscript

Home Page: https://blog.honk.wang/posts/AutoMatic/

License: GNU General Public License v3.0

Vim Script 100.00%

automatic-verilog's Introduction

automatic-verilog


 ______     __  __     ______   ______     __    __     ______     ______   __     ______    
/\  __ \   /\ \/\ \   /\__  _\ /\  __ \   /\ "-./  \   /\  __ \   /\__  _\ /\ \   /\  ___\   
\ \  __ \  \ \ \_\ \  \/_/\ \/ \ \ \/\ \  \ \ \-./\ \  \ \  __ \  \/_/\ \/ \ \ \  \ \ \____  
 \ \_\ \_\  \ \_____\    \ \_\  \ \_____\  \ \_\ \ \_\  \ \_\ \_\    \ \_\  \ \_\  \ \_____\ 
  \/_/\/_/   \/_____/     \/_/   \/_____/   \/_/  \/_/   \/_/\/_/     \/_/   \/_/   \/_____/ 
                                                                                             
 __   __   ______     ______     __     __         ______     ______                         
/\ \ / /  /\  ___\   /\  == \   /\ \   /\ \       /\  __ \   /\  ___\                        
\ \ \'/   \ \  __\   \ \  __<   \ \ \  \ \ \____  \ \ \/\ \  \ \ \__ \                       
 \ \__|    \ \_____\  \ \_\ \_\  \ \_\  \ \_____\  \ \_____\  \ \_____\                      
  \/_/      \/_____/   \/_/ /_/   \/_/   \/_____/   \/_____/   \/_____/                      
                                                                                             

一款基于vimscript的自动化verilog脚本。由automatic for Verilog & RtlTree修改而来,原作者zhangguo。

Release-Version-Vim-Version

1. 安装

1.1 简洁安装

automatic.vim放入vim根目录下的plugin文件夹即可。

1.2 vim-plug

Plug 'HonkW93/automatic-verilog'

1.3 Vundle

Plugin 'HonkW93/automatic-verilog'

提示:此脚本可能会修改文本数据,请在使用前备份数据,防止数据覆盖等情况发生。

2. 特性

2.1 自动化

  • 自动例化(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
  • 自动参数(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
  • 自动reg(AutoReg
    • 支持端口output reg覆盖定义(参考emacs verilog-mode
    • 支持always语句阻塞/非阻塞赋值reg获取(参考vim automatic-verilog
      • 支持左端{}写法,但不支持此写法获取位宽
      • 支持左端[WIDTH1:WIDTH2]写法
      • 支持右端16'd12'b014'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
    • 梳理svinterface的自动例化
    • 梳理中...
  • 其他(Other
  • 梳理emacs verilog-mode中其他auto函数...
  • 梳理中...

2.2 Rtl 树

  • 通过RtlTree浏览Rtl结构
    • 支持跨文件夹
    • 内部集成tag

3. 演示

3.1 AutoInst

autoinst

3.2 AutoPara

autopara

3.3 AutoParaValue

autoparavalue

3.4 AutoReg

autoreg

3.5 AutoWire

autowire

3.6 AutoDef

autodef

3.7 AutoArg

autoarg

4. 文档

Vimcript-AutoMatic | HonkW

5. 更新

Update

6. 开源协议

GPL V3.0

automatic-verilog's People

Contributors

honkw93 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.