EMC課程

站長早期CAD課程

不管是工程師或學生,在設計數位電路或學習硬體描述語言HDL (VHDL、Verilog)時,最常使用的編輯 / 模擬軟體應該是ModelSim,但是站長在這兒要介紹的卻是SynaptiCAD VeriLogger Pro,最主要的原因是:

準備事項

  1. 試用版下載

  2. 範例程式下載 (史丹佛大學一門課的期末專題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與模擬

  1. 開啟一個新的Project

第一次執行程式時,可以從 [開始] \ [程式集] \ SynaptiCAD \ VeriLogger Pro;當然您也可以直接建立一個捷徑到桌面

Project \ New Project ...

如果要處理的是VHDL project,第三步驟請選擇"VHDL 93"

至此,指定的路徑下已經產生一個叫"Viterbi"的工作目錄,而且其中有一個"Viterbi.hdj"檔案。

  1. 載入此 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...做以下設定

  1. 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;" 

再執行一次模擬,結果如下

  1. 觀察模擬結果並調整畫面設定

放大Diagram window,第一次會看到許多訊號線

這是因為程式預設會把top-level module的所有Ports & Signals & Variables都拉出來看,若是不希望這樣,想自己選定感興趣的訊號查看就好,可以從

  1. Project \ Project Settings...取消 "Grab Top Level Signals" 該項的核選,然後以左鍵將所有訊號選定,按 "Del" 刪除。

  2. 對於想看的訊號,從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

  1. 儲存檔案並關閉程式

File \ Save All Files                     

Save All = Save Project (Project \ Save Project) + Save HDL (Editor \ Save HDL File) + Save Timing Diagram (File \ Save Timing Diagram)

  1. 重新開啟 Project

Project \ Open project ...   ( 開啟 .hpj)

  1. 如果只是要編輯或列印

Editor \ Open HDL File

Editor \ Print HDL File

File \ Print Diagram ...   列印圖形

  1. 進一步訊息,請參考