VCS和Verdi是IC設計中經常使用的兩款開發工具。VCS是Synopsys公司的產品,和你們所熟知的ModeSim同樣的都是EDA仿真工具。Verdi是Nocas公司(已經被Synopsys公司收購)的產品,早前的版本叫Debussy,是一款十分優秀的Debug工具。雖然VCS中的DVE也能查看波形和Debug,可是Verdi則顯得更專業一些。惟一讓不少初學者感到不舒服的就是他們都須要在Linux環境中才能使用,這對於習慣了Windows環境下操做的人來講很是不友好,但在公司開發項目時經常都是Linux環境,方便大型項目開發時的管理和團隊協做,即使是FPGA的開發也是如此,學會了這兩款工具後咱們也一樣能夠用於FPGA開發。vim
值得慶幸的是網上已經有不少朋友作好了一套IC學習的開源鏡像,如圖1所示爲我使用的其中一個開源鏡像介紹,咱們下載鏡像包後只須要用虛擬機(我所安裝的虛擬機版本爲VMware14)打開「.vmxf」文件便可使用已經安裝好的全套IC開發工具(如需資料請加羣:450843130)。即使是這樣免去了衆多軟件安裝繁瑣易出錯的過程,而在使用中依然還會遇到不少麻煩,下面我就要給你們講一下我最近遇到的關於VCS2014和Verdi2015聯合仿真遇到的困難,也在此感謝幫助我解決該問題的全部朋友。
bash
由於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」文件代碼。
函數
而後運行如圖3所示的Makefile文件中的「com」編譯命令。
工具
在「Terminal」中輸入「make com」後出現如圖4所示的錯誤,閱讀錯誤信息能夠知道大概的意思,大概意思是系統沒有找到在Testbench文件中新添加的系統函數。學習
如圖5所示,經查閱資料在Makefile中添加了「-fsdb」。
開發工具
而後繼續在Terminal中輸入「make com」命令,如圖6所示又報出來新的錯誤,意思大概是沒有在環境變量中「NOVAS_HOME」。
spa
咱們用GVIM打開環境變量設置文件進行設置,如圖7所示在Terminal中輸入「gvim ~/.bashrc」命令打開環境變量設置文件指定「NOVAS_HOME」的路徑。
設計
如圖8所示,咱們找到Verdi2015的安裝路徑,而後在圖9中相應的位置進行更改。
3d
繼續在Terminal中輸入「make com」命令,發現仍是報出和圖6同樣的錯誤,說明咱們設置的環境變量沒有起做用,一直懷疑了好久本身是否是在環境變量的設置上出了問題,終於在朋友的幫助下通過屢次嘗試發現每次設置完環境變量後須要從新啓動虛擬機,不然環境變量的設置將無效,必定要記住。
重啓虛擬機後,如圖10所示再次輸入「make com」命令發現果真有變化了,但又是一個新的錯誤,大概意思是說版本不支持相關的問題,還提到了庫路徑,真讓人頭大。
blog
而後趕忙查閱網上的資料,其中有說到,只須要添加如圖11所示的兩個文件就能夠了。
可是使人失望的是報出瞭如圖12所示的錯誤,意思大概是我裝的VCS是32位的,和64位的Verdi不兼容,天呢,這錯誤太離譜了,我又處處開始找答案,最終證明我使用的VCS是64位的,沒問題。
通過朋友的指點,刪除了網上查找的內容(可能也是對的可是不能解決我遇到的這種狀況),而後改爲如圖13所示的內容,即在原來「-fsdb」命令的基礎上再添加一個「-full64」,表示在64-bit模式下編譯,生成64-bit模式仿真的可執行文件,而後繼續輸入「make com」命令。
此次真的是出現了奇蹟,沒有任何報錯,我趕忙輸入「ls」命令如圖14所示有編譯後的文件生成,OK,編譯正確,而後繼續輸入「make sim」命令生成「.fsdb」文件,這纔是最關鍵的一步。
依然沒有報錯,如圖15所示還出現了我在Testbench中寫的打印信息,而後我滿懷期待的輸入「ls」,果真此次沒有讓我失望,生成了「.fsdb」文件,很是激動,我趕忙輸入「make run_verdi」啓動Verdi軟件。
圖16爲在Makefile中用Verdi軟件打開「.fsdb」文件的命令。
如圖17所示,驚喜的一幕出現了,Verid軟件打開了,折騰了幾天終於實現了VCS和Verdi的聯合。(有朋友說Verdi2016開始能夠直接使用kdb,就像在VCS中直接使用DVE同樣方便,你們能夠嘗試一下)。
這雖然是一個很小的問題,可是若是對於沒有經驗的新手來講可能會困擾好久,而對於經歷過的人來講可能就是一分鐘的事兒。遇到問題必定不能輕易放棄,要耐心、虛心請教,感謝幫我解決這個問題的不少熱心朋友,我也會用一樣的熱情幫助更多的人!
歡迎加入FPGA技術學習交流羣,本羣致力於爲廣大FPGAer提供良好的學習交流環境,不按期提供各類本行業相關資料!QQ交流羣號:450843130