win7+vim搭建+verilog HDL IDE


 

參考地址:http://www.huangdc.com/421

參考文章為2016年,部分更新貼於文章內了

  • 安裝下載vim

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

安裝時可以選擇更改目錄(我把安裝目錄設置為E:\gvim)

1.安裝時注意選擇‘Full’ option。

2.在vimfiles 文件夾下,會有許多空文件夾。將它們全刪掉。

3.將vim81文件夾下的“autoload”文件夾 剪切 到 vimfiles 文件夾下。

4.在vimfiles 文件夾下新建文件夾 bundle

  • 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添加

在所需要例化的模塊用指令輸入

自動在粘貼板生成例化模塊

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM