win7+vim搭建+verilog HDL IDE

 

参考地址:http://www.huangdc.com/421php

参考文章为2016年,部分更新贴于文章内了html

  • 安装下载vim

vim在win下叫gvim,下载地址:https://www.vim.org/download.phpgit

安装时能够选择更改目录(我把安装目录设置为E:\gvim)shell

1.安装时注意选择‘Full’ option。vim

2.在vimfiles 文件夹下,会有许多空文件夹。将它们全删掉。缓存

3.将vim81文件夹下的“autoload”文件夹 剪切 到 vimfiles 文件夹下。网络

4.在vimfiles 文件夹下新建文件夹 bundlecurl

  • vim插件管理工具vundle

一开始我按照参考连接来进行,却出现错误:error:1407742E编辑器

解决办法:工具

 1.下载最新版本的git,听说是 GitHub 再也不支持TLSv1/TLSv1.1了,并配置curl

2.先设置vim环境变量

个人电脑->属性->高级系统设置->高级->环境变量->新建,如图(指向gvim的安装目录vim81文件夹)

3.用新的git clone地址

目标路径为bundle文件夹路径

4.出现错误RPC fail;curl 56 openssl......

缘由:http缓存不够或者网络不稳定等

解决办法:

(1)增大buffer:git config --global http.postBuffer 524288000

(2)压缩配置:git config --global core.compression -1(好像能够不加)

(3)查询git配置信息:git config -l

(另外吐槽一句,百度搜索引擎真的是垃圾。。不少问题谷歌一搜索关键词就能解决了)

到这里Vundle算clone完成了(另外记得把墙断开再clone)

  • 插件安装

在vim启动配置文件_vimrc添加配置

PS:其余插件下载到bundle文件夹下相应路径,添加配置,安装后便可在vim里使用

  • 经常使用插件

1.vundle插件管理工具

配置vimrc后,安装插件

 

相关指令:

安装插件:BundleInstall
更新插件:BundleUpdate
清除再也不使用的插件:BundleClean
列出全部插件:BundleList
查找插件:BundleSearch

2.NerdTree文件目录插件

(安装NerdTree之后重启gvim老是会报一个变量缺失的错误,最后没弄出来就把NerTree卸载了,之后有空的时候再倒腾吧)

  •  verilogHDL IDE定制

原参考连接:https://www.cnblogs.com/ninghechuan/p/8505942.html

1.新建.v、.sv文件时自动加载头文件

在_vimrc添加

$VIM为在环境变量设置的gvim全局路径,新建template文件夹并添加v.tlp

v.tlp为新建.v文件加载头文件模板(打码处为我的信息,本身改过来就好了)

修改完后,保存,下次新建.v文件时就会自动加载模板的内容

2.ab定制关键词插入模板

在_vimrc添加

那么在文件插入模式下输入关键字就会显示对应的模板,编辑格式为:ab+空格+关键词+空格+模板,换号为<Enter>,把Tab改成自动空4格,<Tab>就是自动空四格

3.vivado\ISE自动调用gvim编辑器

我的用的是vivado2017.1版本,调用gvim跟连接提供的方法有点不同,设置方法依然是tool->setting->text editor

注意找对gvim的位置

4.简化版的_vimrc

最后贴一下我本身的vimrc配置吧,属于一个初步可使用版本,而后后续会作一些sv插件或者个性化的配置再慢慢扩展一下,简化版本是应急用的

source $VIMRUNTIME/vimrc_example.vim

"插件配置
set nocompatible
filetype off
set rtp+=$VIM/vimfiles/bundle/Vundle.vim
call vundle#begin('D:\gvim\Vim\vimfiles\bundle')
" add your plugin here
Plugin 'VundleVim/Vundle.vim' " required
Plugin 'scrooloose/nerdtree' " file/directory treee
Plugin 'scrooloose/nerdcommenter' " code commenter
Plugin 'kien/ctrlp.vim' " Fuzzy file, buffer, mru, tag, etc finder
Plugin 'altercation/vim-colors-solarized' " solarized theme
call vundle#end() " required
filetype plugin indent on " required

set diffexpr=MyDiff()
function MyDiff()
let opt = '-a --binary '
if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
let arg1 = v:fname_in
if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
let arg1 = substitute(arg1, '!', '\!', 'g')
let arg2 = v:fname_new
if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
let arg2 = substitute(arg2, '!', '\!', 'g')
let arg3 = v:fname_out
if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
let arg3 = substitute(arg3, '!', '\!', 'g')
if $VIMRUNTIME =~ ' '
if &sh =~ '\<cmd'
if empty(&shellxquote)
let l:shxq_sav = ''
set shellxquote&
endif
let cmd = '"' . $VIMRUNTIME . '\diff"'
else
let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
endif
else
let cmd = $VIMRUNTIME . '\diff'
endif
let cmd = substitute(cmd, '!', '\!', 'g')
silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3
if exists('l:shxq_sav')
let &shellxquote=l:shxq_sav
endif
endfunction

"显示方案
set shortmess=atI "不显示乌干达
syntax enable
syntax on "语法高亮
colorscheme darkblue "配色方案
set showmode "显示模式
set showcmd "显示命令
set nu "显示行号
set cursorcolumn "高亮光标所在行列
set cursorline
let &termencoding=&encoding "防止乱码
set fileencodings=utf-8,gbk,ucs-bom,cp936
set lines=70 columns=155 "设定窗口大小
set mouse=a "支持鼠标复制粘贴

"个性化
set tabstop=4 "tab表明4个空格键
set shiftwidth=4
set expandtab
set softtabstop=4
set showmatch "自动匹配括号
set nobackup "不建立备份文件
set noai "取消自动缩进和智能缩进
set noci "取消自动缩进和智能缩进
set nosi "取消自动缩进和智能缩进


"新建.v文件自动加载头文件模板
autocmd BufNewFile *.v 0r $VIM/vimfiles/template/v.tlp

"HDL定制
:ab fenge //==============================
:ab shixu always @(posedge clk or negedge rst_n) begin<Enter>if (rst_n == 1'b0) begin<Enter>end<Enter>else begin<Enter>end<Enter>end
:ab zuhe always @(*) begin<Enter>end

 5.模块端口自动例化脚本

脚本下载连接:http://bbs.eetop.cn/viewthread.php?tid=344036

新发现一个比较好用的模块例化脚本,很是nice

跟参考连接的设置同样,在vimrc添加

在所须要例化的模块用指令输入

自动在粘贴板生成例化模块

相关文章
相关标签/搜索