VCS-bilibili教程篇1-Simulation Basics
文章目錄
- 引言
- Verilog仿真事件隊列
- VCS的option
- VCS的編譯
- VCS的仿真
- 實際操作
引言
在第一次接觸IC的時候,本人對VCS這些EDA的軟件認識還不夠深刻,也許,進入IC這個行業已經5個月,現在又重新來看VCS,雖然這個軟件,我可能暫時還不需要,但是這個可以成為加分項,也是IC設計人員必備的軟件,此外,我想后期會再開啟ncverilog的專題進行學習。如果這些東西不去反復的try,可能永遠就還是停留在原地。我的博客不僅僅是對視頻筆記的記錄,也有自己的想法和一些技巧在里面,如果有理解不正確的,歡迎指正。
作者:ciscomonkey
資料來源:VCS視頻教程。
Verilog仿真事件隊列
這里先提一個問題,Verilog是并行的,計算機是并行的,那么計算機是如何仿真的呢?
Verilog語言的仿真基于分層的事件隊列
Verilog語言規范沒有規定當多個時間被安排在同一個時刻來調度時,應該執行哪一個。
只要在同一層的事件,什么執行順序都是可以的。
因此不同的軟件,可能仿真出來的結果卻不一樣!
如下圖所示:
VCS的option
VCS嚴格來分有兩個大的步驟:
1、編譯compile
2、simulaton仿真
注意下圖VCS在編譯過程中的中間文件轉換過程
VCS的編譯
VCS的編譯格式非常簡單
VCS+filename+【option】
這里需要注意的就是有哪些option
你輸入vcs -help 出來太多,肯定不方便查看。
下面我準備了兩種方法:
方法一:通過gvim打開后,然后搜索。
方法二; grep -A代表顯示10行信息,-R 的前面記得加轉意符號
-Mupdate
這個option代表增量編譯,假設我有100個.v文件,如果編譯完成后,我突然發現我有個.v文件需要小小的改動,全部重新編譯是相當浪費時間的,這個時候我只需要做增量編譯即可,然后與原來編譯完成的文件做link
如下圖所示,僅僅是更改了mem.v文件,那么就將mem.v文件轉換為mem.o文件,然后和原來的CPU.o文件做link,即可,特別是對于大型的design設計,這種方式顯得尤為重要。
VCS的仿真
前面是介紹的compile時候的開關選項,下面介紹的是VCS的仿真時候的開關選項。
使用designWare的庫
實際操作
如上圖所示,啟動失敗,為什么?
因為我沒開啟-debug_all
重來
如下圖所示,加了debug_all之后,增加了幾個文件,測試,刪除這幾個文件也可以啟動。
如下圖所示,正常開啟:
選定信號后,右鍵add to wave
好,下面我們來關注一下這些產生的中間過程文件。
csrc文件:代表c語言的src文件,里面的文件夾包含了.o\.h\.c文件
總結
以上是生活随笔為你收集整理的VCS-bilibili教程篇1-Simulation Basics的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: axr_Lab1_scan_top_do
- 下一篇: Scan Chain的原理与实现(实践)