亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

vim插件:vhdl插件

系統 1860 0

今年開始使用vhdl語言,發現vhdl的插件非常少,自己平時用起來很不方便。
自己在使用vim的同時,不斷在vimrc中增加自己想要的功能,慢慢的發現寫了快1000行了,不如做成一個插件拿出來和大家分享。
我覺得做一個vhdl的插件還是有必要的,平時需要進行的機械的操作還是很多,最常見的是component或者生成一個testbench文件。要是每次一點點輸入,那是非常麻煩的。
我找很多verilog的插件,有的功能非常強大,但是vhdl可以說是基本沒有,由此可見verilog還是比vhdl應用的廣泛的多。

安裝插件:

??? 解壓到vim的plugin文件夾中即可。

下面是該插件的功能描述:

1?? 建立一個編譯庫?? create a library??? <F6>
??? modesim在編譯前需在當前目錄下建立一個庫

2?? 編譯文件???? compile file??? <F7>
??? 快速編譯文件,檢查是否有語法錯誤。這在寫程序的時候將十分方便,不用再打開modesim了。
??? 如果出錯會調用quickfix窗口顯示錯誤,無錯誤則不顯示。

3?? 在文件的開頭加入文件信息。 Add File Header
??? 大概信息如下:

      
1 ---------------------------------------------------------------------------------
2 -- Created by : Vorx Ltd.com
3 -- Filename        :
4 -- Author : ChenYong
5 -- Created On : 2010 - 12 - 24 14 : 50
6 -- Last Modified :
7 -- Version : v1. 0
8 -- Description :
9 --
10 --
11 ---------------------------------------------------------------------------------

??? 每次保存(:w)將自動更新最后修改時間(Last Modified)。
??? 另外:
??? 在vhdl文件中:加入了庫聲明,不用再每次建立文件都辛辛苦苦去敲那4行了(直到現在,我都沒記住那4行具體內容)。
??? 在verilog文件中:加入了`timescale 的定義,默認為`timescale 1ns / 1ps,如果要修改,可以在vimrc中設置:
??????? let g:Verilog_Timescale = "1ns / 1ps"
??? 可以在vimrc中修改作者名字和公司名字
??????? let g:HDL_Author = "Gigi"?? "默認值是我的名字
??????? let g:HDL_Company = "ABC"?? "默認值為空
???
3?? 插入功能說明 Add Content
??? 在光標位置插入三行注釋,用來添加模塊的說明

4  生成進程模塊 Process Build
??? 這個function是修改自某verilog插件。
??? 需要在信號后面加入標注,例如:?

      
verilog:
input clk; // clock
input rst; // reset
or :
reg clk;
// clock
reg rst; // reset
vhdl:
port (
clk :
std_logic ; -- clock
rst :
std_logic -- reset
)
or :
signal clk : std_logic ; -- clock
signal rst : std_logic ; -- reset

??? 這個功能并不好用,最近也一直都沒進行更新。建議使用snipMate。

5  vhdl/Verilog的模塊聲明 VHDL Entity Build
??? vhdl模塊聲明時寫的字比較多,所以使用此命令還比較方便的。
??? 該命令執行時會彈出一個窗口用來輸入entity的名字。architecture名字默認為arc。

6  創建本模塊的component信息? VHDL component Build
??? 運行命令后,建立一個新的分割窗口來顯示component信息。
??? 同時component信息加入剪貼板。
??? 窗口的分割方式有3種:
??? 當g:RightB_Commponent未定義時,即默認為水平分割
??? 當g:RightB_Commponent = 1 右側垂直分割
??? 當g:RightB_Commponent = 0 左側垂直分割
??? 水平分割時,可以設置component窗口高度,默認為25:
??????? let g:Height_of_Component = "25"
??? 垂直分割時,可以設置component窗口的寬度,默認為70
??????? let g:Width_of_Component = "70"

7?? 為vhdl模塊創建一個可在verilog里例化的instant? Verilog Instant for Vhdl
??? 為了配合verilog和vhdl混用,實現了這個模塊。實現方式和6相似。
???
8  為vhdl/verilog生成一個testbench Vhdl Testbench /Verilog Testbench  
??? 模塊完成后,需要用一個簡單的testbench進行測試,但每次測試都去建立testbench文檔實在太麻煩了,尤其是例化部分。
??? 如果能一個命令或一個按鍵就生成testbench那就方便多了,Xilinx ISE中便有這個功能。于是仿照ISE,完成了這個功能。
??? 命令執行后,會在當前文件夾下建立testbench文檔,名字為:tb_xxxx.vhd或tb_xxxx.v,其中xxxx為測試模塊名字。
??? 并將testbench文檔用水平分割顯示,便于和原文檔進行對比和修改。
??? 鑒于用verilog做測試的異常強大,增加了verilog testbench。
??? 關于testbench的時鐘:
??? 時鐘名字默認為clk,自動檢測文件中時鐘的功能還沒有做,以后可能會更新。
??? 時鐘默認為64ns / 15.625MHz,如果需要修改,在vimrc中設置:
??????? let g:HDL_Clock_Period = 64

  2.1版本加入了對verilog的支持。

9??? 加入對Debussy的快速添加。

10 新加入了快速設置signal的功能。默認快捷鍵<leader>,

更新記錄:
???v1.0??? 創建插件,實現編譯,加入注釋,文件頭等功能
v1.1??? 加入函數HDL_Component_Build() 可以實現垂直分割窗口
??????? 生成component信息
v1.2??? 加入函數Tb_Build() 可以為vhdl模塊生成testbench文檔
v1.3??? 1 生成進程的命令改為:ProBuild
??????? 2 加入函數HDL_Tb_Build(type) 函數
??????????? 代替函數Tb_Build()
??????????? 修改了testbench文檔的生成方式
??????????? 功能:可以生成vhdl模塊的vhdl testbench或者 verilog testbench
??????? 3 修改了HDL_Component_Build()函數
??????????? 修改了component的生成方式
??????? 4 代碼風格做了一些修改
??????? 5 修改了光標位置
v1.4??? 修改了HDL_Tb_Build(type)函數 使生成的component按原信號順序排列
v1.5??? 加入菜單
v1.6??? 優化程序
v1.7??? HDL_Component_Build可以用變量定義選擇instant窗口的方式
??????? 不定義 g:HDL_RightB_Commponent? 則水平分割打開
??????? g:HDL_RightB_Commponent = 1 原文件右側垂直打開
??????? g:HDL_RightB_Commponent = 0 原文件左側垂直打開
v1.8??? 修改了一些錯誤
v1.9??? 1 修改了HDL_Add_File_Information()和HDL_Add_Content()函數
??????? 2 加入變量g:HDL_Author g:HDL_Company g:HDL_Verilog_Timescale
????????? 可以在vimrc中添加設置,例如:
??????????? let g:HDL_Company = "Vorx"
??????????? let g:HDL_Author = "ChenYong"
??????????? let g:HDL_Verilog_Timescale = " 1ns / 1ns"
??????? 3 加入generic部分 使可識別generic
??????? 4 加入g:HDL_Clock_Period 時鐘周期可設置,默認為64
??????????? let g:HDL_Clock_Period = 64
??????? 5 暫時不支持一行多個port
??????? 6 菜單中加入compile file 默認快捷鍵為<F7>
??????? 7 菜單中加入vlib work 默認快捷鍵為<F6>
??????????? 需要安裝modelsim。windows下需設置環境變量PATH=$ModelSim\win32
v2.0??? 現在可以支持同一行多個port了
v2.1??? 支持inout端口
??????? 支持verilog模塊,可為verilog模塊生成testbench和instant
v2.2??? 加入格式整理的功能。
???????????????????????????????????????????????????????????????????????????
??????? 支持component,entity,signal,instant模塊。
??????? 盡量使“:,=>”符號對齊。例如:
??????????? component bufg
???????????????? port( i?? : in?std_logic;?
???????????????????????? o : out?std_logic
???????????????????? );
???????????? end component;
??????? 整理后為:
??????????? component bufg
??????????????? port(
??????????????????????? i????: in?std_logic;?
??????????????????????? o????: out?std_logic
???????????????????? );
??????????? end component;
???????????????????????????????????????????????????????????????????????????
??????? 整理前會先進行編譯。
???????????????????????????????????????????????????????????????????????????
??????? 對于較大的文件可能時間會有3-4秒延遲(indent操作比較費時間)。
???????????????????????????????????????????????????????????????????????????
??????? 變量名字超過16個字符將不留空格。如:
??????????? cak_ram_char_ch14: out?std_logic_vector(1 downto 0)
v2.3??? 加入了一個添加signal的函數,感謝作者sunil shukla。
??????? 我僅修改了一下正則匹配方式和標志"begin"的查找方式。
??????? 設定快捷鍵"<leader>,"。
??????? 光標要停留在未定義的signal上。
??????? 會詢問signal長度。
??????? 很好用。
??????? Fixed Some Bugs.
??????? Redifined The function name.
v2.4??? Fixed Some Bugs.
v2.5??? 修復函數HDL_Signal_Dec_Vhdl()的bug:如果有component的端口名和signal
??????? 相同,就會提示"signal already define".
????????
???

  ? 下載地址

http://www.vim.org/scripts/script.php?script_id=3420

vim插件:vhdl插件


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日韩在线a视频免费播放 | 亚洲欧美日韩一区成人 | 农村寡妇一级毛片免费播放 | 国产成人一区二区三区视频免费蜜 | 成人看免费一级毛片 | 综合色在线观看 | 色片免费观看 | 日韩视频不卡 | 国产图片综合 | 国产视频一区二区三区四区 | 亚洲无吗在线视频 | 亚洲精品成人在线 | 婷婷亚洲国产成人精品性色 | 国产一级淫片a视频免费观看 | 亚洲欧美日韩久久精品第一区 | 久久久久嫩草影院精品 | 色综合天天综合网国产成人 | 奇米影视久久 | 日本香蕉网| 91人碰| 久久精品99毛片免费 | 亚洲成在人色婷婷 | 日韩欧美二区在线观看 | 免费视频一区二区性色 | 国内精品自在欧美一区 | 欧美大屁股精品毛片视频 | 免费在线观看黄色毛片 | 2020久久精品永久免费 | 九九九久久久久久久爱 | 不卡无毒免费毛片视频观看 | 激情综合网五月激情 | 色综合视频一区二区观看 | 国产精品美女久久久久 | 国产一区高清视频 | 国产免费青青青免费视频观看 | 亚洲精品亚洲人成在线播放 | 老司机久久精品视频 | 久久香蕉综合色一综合色88 | 99久久精品全部 | 99久久99热久久精品免 | 中文字幕婷婷 |