【原創】Sublime+Verilator建立強大的verilog編寫環境
4 人贊了文章
前言(沒必要看)
——子曰:工欲善其事,必先利其器。
寫個水文不容易,轉載請註明,謝謝了。。。
在寫這篇水文之前,我一直在用UE(UtralEdite)編寫Verilog代碼,使用習慣了之後,感覺很方便,但隨著我技(喜)藝(新)精(厭)湛(舊)了,它滿足不了我了,所以想感受下更強大的編輯器。花了兩天時間走馬觀花的看了下各個編輯器,出於各種原因最後還是選擇了Sublime+Verilator的方式來寫Verilog。經過這兩天,體會到了雖然都是在編程,但Verilog編程者總是被孤立的感覺,心酸。所以總結了下方法,水上一篇文章。
各個編輯器的膚淺體驗(for Verilog)
時間2018/1/30
個人體驗,有一說一。。。就不列123了,都是自己的感受。
這兩天我試用了notepad++,Vim,Atom,VScode,Sigasi 以及 sublime。
至於Emacs,還是@神吧(不是sb)。
UE:不說了,之前一直在用,界面風格我喜歡,帶列操作,語法高亮,自動補全,自動縮進功能都有,但是需要uew文件,沒有版本控制功能,並且需要正版支持。如果你很容易滿足,並且喜歡的界面風格跟我一樣,那就是他了。
notepad++:功能全面,上面說的功能都有,重要的是不需要下載別的文件,官方支持Verilog語法,但是沒有版本控制功能,編程界面看不順眼,畢竟動不動要一直對著他25個小時,還是順眼點好,各位可以下載下來根據自己喜好安裝。
Vim:編輯器之神,功能強大,因為我之前一直在用UE,沒有體驗到他的強大,反正別人是這麼說的,如果你覺得vim比我這個方法好點,歡迎分享=。=我之所以沒用,當然是因為編程界面啊。。。
Atom:git的東西,免費,但以後收費不收費不知道。沒有官方Verilog支持,需要下載verilog的社區Package,對Verilog語法支持可以說弱爆了,語法高亮顏色單一,哪有什麼五彩繽紛的代碼,視覺瞬間回到文本編輯器,軟體我卸載了,自動補全不記得有沒有,但是就算有相比sublime也是弱爆了。值得關注的是Atom編程界面好看,支持外部插件,拓展性好,可以實現語法報錯,自帶git版本控制,這點我喜歡。我對他持有觀望態度,什麼時候插件資源庫成熟了,記得@我。ps:使用插件可以支持列操作
VScode:微軟親兒子,但免費,各種優勢請各位百度,我只說與Verilog相關的。可以搜索到Verilog語法包,插件幾乎沒有。語法高亮就一到兩個顏色,自動補全功能不全,有些關鍵詞不能補全,補全功能也比較弱,自帶git版本控制。到此為止我體驗了作為一個Verilog編程者的心酸,建議各位改行學python吧=。= 別和我競爭了。
Sigasi:針對Veilog編程者定製的工具,暖心。功能強大,語法高亮這種最低要求不是考量他的標準,功能方面去官網看下,你會明白的。但是要免費的話,你得要連上他們的伺服器,反正我是沒連上。。。有別的方法也可以@我一下,悄悄地告訴我。
Sublime:好處大大的,界面順眼。上面說的,沒說的功能都有,按照文章安裝下、體驗下你就知道了。缺點是需要安裝cygwin等軟體,過程相對多點,但是一勞永逸。但是沒有git版本控制功能是遺憾。如果你很容易滿足的話,那我建議你安裝上面的UE或者notepad++,就OK了,此文轉發下就行了。ps:列操作滑鼠中間點擊
正文(5步走,其實不麻煩)
話不多說,上乾貨。
1、下載cygwin。
該軟體在windows上模擬linux環境,為了編譯verilator。如果你有別的方法編譯verilator,自己就可以搞了,方法不限。
安裝cygwin也可以感受linux命令行的強大,何樂不為。
2、cygwin安裝
安裝時我填寫阿里的鏡像伺服器地址http://mirrors.aliyun.com/cygwin/,直接用軟體里的鏡像伺服器地址,速度可以,如果下載速度不好的話,百度一個cygwin的鏡像伺服器地址。ps:安裝Atom後,因為牆太高,你可以使用國內的鏡像伺服器下載Atom的package。
安裝cygwin時需要安裝下列插件
binutils (搜索到binutils:GNU assembler)
gcc (搜索到gcc-core、gcc-g++)
gcc-mingw (64bit電腦搜索到mingw64-i686-gcc-core和mingw64-i686-gcc-g++的,32bit電腦帶X86的同上兩個core和g++)
cc(C compiler)
gdb(搜索到gdb:The GNU Debugger)
perl(我全下了。。。有懂的可以說下)
Flex(搜索到flex:A fast lexical)
bison(在devel目錄下)
make(GNU)
或者(簡單粗暴)直接把devel中的全選了
安裝包先別刪除編,編譯verilator時缺什麼模塊可以後面通過再打開cygwin安裝包安裝。
3、下載verilator或者修改版的verilator,並在cygwin上編譯verilator
註:verilator需要module里關聯的module都在一個文件夾下,修改版則去除了這個限制。(我個人喜歡把源文件放在一個目錄下,所以用了原版verilator)
在cygwin里輸入下面代碼,編譯verilator。
unset VERILATOR_ROOT # For bashcd verilator #打開verilator安裝目錄,自己修改目錄./configure #開始編譯,缺什麼用cygwin補什麼。makemake install
4、sublime里安裝SublimeLinter模塊和SublimeLinter-contrib-verilator模塊等
sublime安裝方法自行百度,安裝好後使用快捷建ctrl+shift+p打開命令窗口,輸入package control,點擊搜索結果,安裝包管理插件。安裝好後使用快捷建ctrl+shift+p打開命令窗口,輸入install package,等一會出現命令窗口,在命里窗口裡搜索SublimeLinter模塊、SystemVerilog模塊、VerilogGadget模塊,點擊安裝。ps:卸載的話,使用remove,跟安裝同理。
SublimeLinter模塊用於連接verilator。
SystemVerilog模塊用於語法高亮,高端自動補全等。
VerilogGadget模塊用於自動生成模塊實例化,自動生成testbench,自動生成case序列等。
5、修改paths路徑
將cygwin的bin夾下這三個的文件拷貝到verilator的bin目錄下
cygwin1.dllcygstdc++-6.dllcyggcc_s-seh-1.dll
進入sublime,打開菜單欄 tool->SublimeLinter->Open Settings
在右邊用戶設置里找下面的函數,windows的路徑改成你自己安裝verilator的路徑。
"paths": { "linux": [], "osx": [], "windows": "E:/app/verilator-3.918/bin" },
這樣,SublimeLinter就能找到verilator了。
使用F1可顯示語法錯誤地點和原因。報錯是實時的。
如果你有更好的美化方法,請告知。。。人多力量大。。。
6、gutter主題(根據喜好自己選)
切換語法報錯提示圖標樣式
進入sublime,打開菜單欄 tool->SublimeLinter->Choose Gutter Theme 自己選吧。
7、卸載原有編輯器 =。=
另外,我還在期待Atom,VScode。。。。
洗洗睡。。。
推薦閱讀: