數字IC設計入門必備——VIM自定義模板調用與VCS基本仿真操做示例

1、前言html

  畢業論文答辯結束,閒下來寫篇文章。芯片研發人員都在Linux系統下藉助各類EDA工具和代碼語言完成工做,所以提升代碼開發效率,熟練運用開發工具是十分必要的。本文講述VIM編輯神器的verilogHDL自定義模板調用以及VCS仿真軟件的基本使用方式。vim

2、VIM編輯器自定義模板調用編輯器

  在以前的博文中談到過GVIM編輯器中能夠經過調用模板來生成重複性代碼,但沒有介紹自定義模板的方式。關於VIM的安裝與配置詳細內容,見參考文獻1。這裏主要用到VIM的用戶配置文件:.vimrc(若沒有新建該文件並編輯),咱們在用戶目錄下使用ls -al命令能夠看到該文件:函數

  使用VIM編輯器打開VIM配置文件,如下部分是在文件底部自行添加的命令:工具

  自定義模板的格式爲    :ab <com> <code>   學習

  其中com是調用指令,code是當前指令生成的代碼。咱們新建一個.v文件測試下就能看出模板調用的妙處了。開發工具

編輯(插入)模式下,輸入Shixu後按下回車生成:測試

輸入Zuhe後按下回車生成:大數據

輸入Counter後按下回車生成:ui

  這三個是最經常使用到的代碼,三者相互組合能夠完成不少功能了。但若狀態或工做模式較多,通常採用狀態機完成。輸入FSM後按下回車生成:

  在設計時,常常要根據數值範圍設定變量的位寬。此時常常用到一個位寬計算到函數。輸入Width_func後按下回車生成:

  在設計文件裏經常使用的重複性代碼基本就這些了,能夠根據本身的coding style靈活調整。接下來講說testbench部分。輸入Test後按下回車生成:

  裏邊包括了testbench中的時鐘和復位相關的參數與信號定義。實際上時鐘和復位信號的產生也是能夠複用的。輸入Clock_rst後按下回車生成:

  自定義模板尚未靈活到能夠生成模塊例化代碼,這一部分功能得藉助其餘腳本語言完成了,筆者尚未嘗試過。

3、VCS軟件仿真

  光說這個軟件沒什麼意思,咱們來舉個栗子~設計一個計數器,輸出位寬固定32位。當使能信號拉高則開始從0計數直到最大值後再次從0開始遞增。設計代碼counter.v:

  測試代碼 counter_tb.v:

  VCS仿真大致分爲三步:編譯、仿真以及調試。編譯命令:vcs *.v -debug_all 命令行界面會顯示些信息:

  以後文件夾內會生成simv文件,執行該文件進行仿真。./simv -gui   這裏使用-gui選項打開DVE圖形界面。

  接下來的操做和經常使用的Modelsim差很少了。把要觀測的信號添加到波形窗口:

  點擊左上角按鈕運行仿真:

  按下紅色箭頭所指位置觀察全局波形:

  按住鼠標左鍵拖動來局部放大數據波形,計數器與輸出從0到19週期性遞增,功能正確。

  複雜的操做後續用到再學。

參考文獻

1 vim 的安裝及配置 - QIYUEXIN - 博客園 https://www.cnblogs.com/qiyuexin/p/6398606.html

VCS使用學習 - IC_SOC_ARM - CSDN博客 https://blog.csdn.net/ic_soc_arm_robin/article/details/44262063

VCS-DVE - 百度文庫 https://wenku.baidu.com/view/f5f7ce8f69eae009591becc1.html

數字芯片實驗室的我的空間 - 嗶哩嗶哩 ( ゜- ゜)つロ 乾杯~ Bilibili https://space.bilibili.com/87907395/channel/detail?cid=64692

相關文章
相關標籤/搜索