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

本文介绍了一种在Vim编辑器中实现VHDL与Verilog文件智能编译的方法。通过定义函数Model_Sim_Compile(),能够自动识别文件类型并调用相应的编译命令(vcom或vlog),简化了开发流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 

 

 

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

 

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

  

1 "建立一个库
2  nmap <F6> <Esc>:!vlib work<CR>
3
4  "编译一个vhd/v文件
5  nmap <silent> <F7> :ModSimComp<cr><cr>
6
7  "------------------------------------------------------------------------------
8 "Function : Model_Sim_Compile()
9 "Description : Compile with ModelSim
10 "------------------------------------------------------------------------------
11 function Model_Sim_Compile()
12 let l:file_type_temp = expand("%:e")
13 if l:file_type_temp == "vhd"
14 set makeprg=vcom\ -work\ work\ %
15 execute ':make'
16 execute ':cw'
17 else
18 if l:file_type_temp == "v"
19 set makeprg=vlog\ -work\ work\ %
20 execute ':make'
21 execute ':cw'
22 else
23 echohl ErrorMsg
24 echo "This filetype can't be compiled by modelsim vcom/vlog!"
25 echohl None
26 endif
27 endif
28 endfunction
29
30 "set error format
31 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()就可以编译vhdlverilog了,很方便。

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

 

转载于:https://www.cnblogs.com/ifys/archive/2010/10/13/vim.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值