SI,PI課程
EMC課程
站長早期CAD課程
不管是工程師或學生,在設計數位電路或學習硬體描述語言HDL (VHDL、Verilog)時,最常使用的編輯 / 模擬軟體應該是ModelSim,但是站長在這兒要介紹的卻是SynaptiCAD VeriLogger Pro,最主要的原因是:
-
VeriLogger Pro的使用介面較為friendly,可輕易上手(ModelSim開一堆小視窗,設定不同選項常要跳來跳去很討厭)
-
VeriLogger Pro安裝檔案小很多, 且比較便宜
-
VeriLogger Pro容易線上取得試用版 (試用限制是可compiler的行數不能超過1000,且模擬波形無法儲存)
-
VeriLogger Pro可以識別comment line的中文,ModelSim則會將中文字以亂碼顯示
-
缺點是,主要用於function simulation for Verilog
準備事項
-
範例程式下載 (史丹佛大學一門課的期末專題Implememtation of Viterbi Decoder)
整個project共含7個Verilog程式:system.v (top-level)
|-- clkgen.v
|-- chip_core.v
|-- controller.v
|-- spu.v
|-- acs4.v
|-- acs1.v
(或是另外一個Verilog的簡單例子,可以從C:\ SynaptiCAD\ Examples\ TutorialFiles\
VeriLoggerBasicVerilogSimulation\ add4.v and add4test.v)
本篇文章內容主要在教導軟體使用,以Verilog程式為範例。假設各位讀者已經熟悉Verilog,廢話不多說,讓我們馬上來見識一下SynaptiCAD VeriLogger Pro的威力 ...
快速上手三部曲:建立Project、引進HDL Files、Compiler與模擬
-
開啟一個新的Project
第一次執行程式時,可以從 [開始] \ [程式集] \ SynaptiCAD \ VeriLogger Pro;當然您也可以直接建立一個捷徑到桌面
Project \ New Project ...
如果要處理的是VHDL project,第三步驟請選擇"VHDL 93"
至此,指定的路徑下已經產生一個叫"Viterbi"的工作目錄,而且其中有一個"Viterbi.hdj"檔案。
-
載入此 Project 的 HDL source codes
Project \ Add User Source Files ...
如果要移除已經載入此project的檔案,從Project window的"User Source Files",以滑鼠右鍵選定要移除的檔案,並在按右鍵所出現的快速選單內選擇"Remove Selected File from the Folder"
如果VeriLogger Pro要處理的是VHDL project,請先安裝ModelSim並在VeriLogger Pro 的Project \ Project Settings...做以下設定
-
Simulation
Simulation \ Run (Hot key "F5" or icon )
執行 Run 之前,如果你還沒執行過 Build (Compiler) ,程式會自動幫你跑,產生<<system>>
Run = Build + Simulation,where "Build"= compile and get the model tree (hierarchical view)。
第一次執行這個範例時,會發現模擬停不下來,您可以按 End Simulation icon 強制終止此次的模擬,然後在Project window內以左鍵雙擊clkgen.v開啟編輯視窗,插入一行" #30000 $finish; "。
如果你用ModelSim跑這修改過後的程式,會發現"$finish"指令不但會終止模擬,還會關掉整個ModelSim,解決方法是:把終止指令改成用"#30000 $stop;"
再執行一次模擬,結果如下
-
觀察模擬結果並調整畫面設定
放大Diagram window,第一次會看到許多訊號線
這是因為程式預設會把top-level module的所有Ports & Signals & Variables都拉出來看,若是不希望這樣,想自己選定感興趣的訊號查看就好,可以從
Project \ Project Settings...取消 "Grab Top Level Signals" 該項的核選,然後以左鍵將所有訊號選定,按 "Del" 刪除。
對於想看的訊號,從Project window內的<<system>>下展開,選定想看的Ports / Signals / Variables按滑鼠右鍵,執行 "Watch Connection";如果想看的訊號是在sub-module內,也可以從Component往下一級的Ports / Signals / Variables找。
如果你不喜歡function simulation的波形結果是有斜度的上升下降時間,可以從 Options \ Drawing Preferences (Style Sheet)... 的 Signal Edge Display 選擇 "Straight"
Double click 訊號名稱會帶出"Signal Properties"設定對話框,可設定訊號值要以二進位或是16進位表示
Option \ Base Time Unit ... set the base time unit
Option \ Display Unit ... set display time unit
-
儲存檔案並關閉程式
File \ Save All Files
Save All = Save Project (Project \ Save Project) + Save HDL (Editor \ Save HDL File) + Save Timing Diagram (File \ Save Timing Diagram)
-
重新開啟 Project
Project \ Open project ... ( 開啟 .hpj)
-
如果只是要編輯或列印
Editor \ Open HDL File
Editor \ Print HDL File
File \ Print Diagram ... 列印圖形
-
進一步訊息,請參考
Help \ Tutorials 線上使用手冊
C:\ SynaptiCAD \ Help \ SynapticadTutorials.pdf (可列印出來看)
http://www.verilogger.com/
-- It's a blog where SynaptiCAD post tips and tricks for using VeriLogger and other simulators to debug Verilog and VHDL designs.