使用vim直接同时编译vhdl和verilog

vhdl又用到了verilog,编译时发现,我需要去修改vimrc中的set makprg。每当编译vhdl时,我就要改为vcom,编译verilog,我就要修改为vlog。相当不方便。所以还是研究了一下,做了个函数,使之可以辨别文件的类型了。

今天编代码的时候既用到了

修改后相关部分放到下面:

"建立一个库
 nmap <F6> <Esc>:!vlib work<CR>

 "编译一个vhd/v文件 
 nmap <silent> <F7> :ModSimComp<cr><cr>

 "------------------------------------------------------------------------------
"Function    : Model_Sim_Compile() 
"Description : Compile with ModelSim  
"------------------------------------------------------------------------------
function Model_Sim_Compile()
    let l:file_type_temp = expand("%:e")
    if l:file_type_temp == "vhd"
        set makeprg=vcom\ -work\ work\ %
        execute ':make'
        execute ':cw'
   else
        if l:file_type_temp == "v" 
            set makeprg=vlog\ -work\ work\ %
            execute ':make'
            execute ':cw'
      else
            echohl ErrorMsg
            echo "This filetype can't be compiled by modelsim vcom/vlog!"
            echohl None 
        endif 
    endif
endfunction

"set error format 
set errorformat=\*\*\ %tRROR:\ %f(%l):\ %m,\*\*\ %tRROR:\ %m,\*\*\ %tARNING:\ %m,\*\*\ %tOTE:\ %m,%tRROR:\ %f(%l):\ %m,%tARNING\[%*[0-9]\]:\ %f(%l):\ %m,%tRROR:\ %m,%tARNING\[%*[0-9]\]:\ %m


set errorformat=\*\*\ %tRROR:\ %f(%l):\ %m,\*\*\ %tRROR:\ %m,\*\*\ %tARNING:\ %m,\*\*\ %tOTE:\ %m,%tRROR:\ %f(%l):\ %m,%tARNING\[%*[0-9]\]:\ %f(%l):\ %m,%tRROR:\ %m,%tARNING\[%*[0-9]\]:\ %m

做了一个函数,调用函数Model_Sim_Compile()就可以编译vhdl和verilog了,很方便。

错误识别都是通过modelsim产生的,所以是相同的。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值