Linux下VCS2014和Verdi2015的聯合使用

       VCS和Verdi是IC設計中常用的兩款開發工具。VCS是Synopsys公司的產品,和大家所熟知的ModeSim一樣的都是EDA仿真工具。Verdi是Nocas公司(已經被Synopsys公司收購)的產品,早前的版本叫Debussy,是一款十分優秀的Debug工具。雖然VCS中的DVE也能查看波形和Debug,但是Verdi則顯得更專業一些。唯一讓很多初學者感到不舒服的就是他們都需要在Linux環境中才能使用,這對於習慣了Windows環境下操作的人來說非常不友好,但在公司開發項目時常常都是Linux環境,方便大型項目開發時的管理和團隊協作,即便是FPGA的開發也是如此,學會了這兩款工具後我們也同樣可以用於FPGA開發。
       值得慶幸的是網上已經有很多朋友做好了一套IC學習的開源鏡像,如圖1所示爲我使用的其中一個開源鏡像介紹,我們下載鏡像包後只需要用虛擬機(我所安裝的虛擬機版本爲VMware14)打開“.vmxf”文件即可使用已經安裝好的全套IC開發工具(如需資料請加羣:450843130)。即便是這樣免去了衆多軟件安裝繁瑣易出錯的過程,而在使用中依然還會遇到很多麻煩,下面我就要給大家講一下我最近遇到的關於VCS2014和Verdi2015聯合仿真遇到的困難,也在此感謝幫助我解決該問題的所有朋友。
在這裏插入圖片描述

圖1

       因爲VCS和Verdi這兩個工具的開發者最初並不是一家公司,所以他們之間的聯合使用並不友好,VCS所產生的“.vpd”文件Verdi並不能直接使用,而是需要轉化爲Verdi可識別的“.fsdb”文件才行,所以我們要先生成“.fsdb”文件,就是這個過程折騰了我很久。
我是用一個簡單狀態機的例子來進行的驗證,先寫好四個所需的文件,名爲“simple_fsm.v”的RTL代碼,名爲“tb_simple_fsm.v”的Testbench,一個包含各種命令的“Makefile”文件和一個“file_list.f”設計列表文件。在此之前已經在VCS上的DVE進行了Debug,也可以單獨打開Verdi,現在需要將他們通過“.fsdb”文件聯合起來Debug。經查閱資料知道,要生成“.fsdb”文件需要在Testbench中加入圖2所示的幾行用於產生“.fsdb”文件代碼。
在這裏插入圖片描述

圖2

       然後運行如圖3所示的Makefile文件中的“com”編譯命令。
在這裏插入圖片描述

圖3

       在“Terminal”中輸入“make com”後出現如圖4所示的錯誤,閱讀錯誤信息可以知道大概的意思,大概意思是系統沒有找到在Testbench文件中新添加的系統函數。在這裏插入圖片描述

圖4

       如圖5所示,經查閱資料在Makefile中添加了“-fsdb”。
在這裏插入圖片描述

圖5

       然後繼續在Terminal中輸入“make com”命令,如圖6所示又報出來新的錯誤,意思大概是沒有在環境變量中“NOVAS_HOME”。
在這裏插入圖片描述

圖6

       我們用GVIM打開環境變量設置文件進行設置,如圖7所示在Terminal中輸入“gvim ~/.bashrc”命令打開環境變量設置文件指定“NOVAS_HOME”的路徑。
在這裏插入圖片描述

圖7

       如圖8所示,我們找到Verdi2015的安裝路徑,然後在圖9中相應的位置進行更改。
在這裏插入圖片描述

圖8

在這裏插入圖片描述

圖9

       繼續在Terminal中輸入“make com”命令,發現還是報出和圖6一樣的錯誤,說明我們設置的環境變量沒有起作用,一直懷疑了很久自己是不是在環境變量的設置上出了問題,終於在朋友的幫助下經過多次嘗試發現每次設置完環境變量後需要重新啓動虛擬機,否則環境變量的設置將無效,一定要記住
       重啓虛擬機後,如圖10所示再次輸入“make com”命令發現果然有變化了,但又是一個新的錯誤,大概意思是說版本不支持相關的問題,還提到了庫路徑,真讓人頭大。
在這裏插入圖片描述

圖10

       然後趕緊查閱網上的資料,其中有說到,只需要添加如圖11所示的兩個文件就可以了。
在這裏插入圖片描述

圖11

       但是令人失望的是報出瞭如圖12所示的錯誤,意思大概是我裝的VCS是32位的,和64位的Verdi不兼容,天呢,這錯誤太離譜了,我又到處開始找答案,最終證實我使用的VCS是64位的,沒問題。
在這裏插入圖片描述

圖12

       經過朋友的指點,刪除了網上查找的內容(可能也是對的但是不能解決我遇到的這種情況),然後改成如圖13所示的內容,即在原來“-fsdb”命令的基礎上再添加一個“-full64”,表示在64-bit模式下編譯,生成64-bit模式仿真的可執行文件,然後繼續輸入“make com”命令。
在這裏插入圖片描述

圖13

       這次真的是出現了奇蹟,沒有任何報錯,我趕緊輸入“ls”命令如圖14所示有編譯後的文件生成,OK,編譯正確,然後繼續輸入“make sim”命令生成“.fsdb”文件,這纔是最關鍵的一步。
在這裏插入圖片描述

圖14

       依然沒有報錯,如圖15所示還出現了我在Testbench中寫的打印信息,然後我滿懷期待的輸入“ls”,果然這次沒有讓我失望,生成了“.fsdb”文件,非常激動,我趕緊輸入“make run_verdi”啓動Verdi軟件。
在這裏插入圖片描述

圖15

       圖16爲在Makefile中用Verdi軟件打開“.fsdb”文件的命令。
在這裏插入圖片描述

圖16

       如圖17所示,驚喜的一幕出現了,Verid軟件打開了,折騰了幾天終於實現了VCS和Verdi的聯合。(有朋友說Verdi2016開始可以直接使用kdb,就像在VCS中直接使用DVE一樣方便,大家可以嘗試一下)。
在這裏插入圖片描述

圖17

       這雖然是一個很小的問題,但是如果對於沒有經驗的新手來說可能會困擾很久,而對於經歷過的人來說可能就是一分鐘的事兒。遇到問題一定不能輕易放棄,要耐心、虛心請教,感謝幫我解決這個問題的很多熱心朋友,我也會用同樣的熱情幫助更多的人!
       歡迎加入FPGA技術學習交流羣,本羣致力於爲廣大FPGAer提供良好的學習交流環境,不定期提供各種本行業相關資料!QQ交流羣號:450843130
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章