您的位置:技术中心首页 > 逻辑验证 >> Debussy 教程

Debussy 教程

作者:未知   时间:2006-03-26 06:23:02  来自:网上转载  浏览次数:1698  文字大小:【】【】【

準備事項

範例程式下載 (一個Verilog寫的4-bit full-adder,與testbench)

觀念介紹

DebussyNOVAS Software, Inc(思源科技)發展的HDL Debug & Analysis tool,這套軟體主要不是用來跑模擬或看波形,它最強大的功能是:能夠在HDL source code、schematic diagram、waveform、state bubble diagram之間,即時做trace,協助工程師debug。

可能您會覺的:只要有simulator如ModelSim就可以做debug了,我何必再學這套軟體呢? 其實Debussy v5.0以後的新版本,還提供了nLint -- check coding style & synthesizable,這蠻有用的,可以協助工程師了解如何寫好coding style,並養成習慣。

下圖所示為整個Debussy的原理架構,可歸納幾個結論:

  • Debussy有四個主要單元(component),nTrace、nWave、nSchema、nState

    • nTrace -- Hypertext source code analysis and browse tool (為%Debussy &所開啟的主畫面)

    • nWave -- Waveform analysis tool (可由nTrace內開啟,或直接%nWave &開啟)

    • nSchema -- Hierarchy schematic generator

    • nState -- Finite State Machine Extraction and analysis tool

  • Debussy本身不含模擬器(simulator),必須呼叫外部模擬器(如Verilog-XL or ModelSim)產生FSDB file,其顯示波形的單元"nWave"透過讀取FSDB file,才能顯示波形或訊號值的變化

快速上手五部曲: (Debussy v.5.2)

  1. Import Files and generate FSDB file

  2. Trace between hierarchy browser and source code

  3. Trace between hierarchy browsersource code and schematic

  4. Trace between hierarchy browsersource codeschematic and waveform

  5. nLint  
    (nState本文沒介紹,有興趣的讀者,請依文後的連結,自行下載CIC所提供的NOVAS原廠編寫教材參考)

  1. Import Files and generate FSDB file

    1-1 啟動Debussy:% Debussy &      (此處的D大小寫都可以,但其它指令的大小寫可能就有差別)

          開啟nTrace window如下,此時工作目錄下會新建一個"DebussyLog"目錄

1-2 Import Files:File \ Import Design...

      結果如下圖所示:nTrace視窗中,含有三個區域,Hierarchical Brower、Source code window、Message window。
      (如果不想看波形,只想查看source code與schematic的關係,您可以直接跳到step 2-1)

      此時DebussyLog目錄內會有Debussy.cmd、turbo.log、compiler.log三個檔案。Debussy.cmd紀錄所有import
       的檔案與之後所有的執行程序。我們可以直接引用這個檔案來執行上一次我們做過的一連串程序(refer to 1-5)。

1-3 設定外部模擬器,藉其產生FSDB file: Tools \ Options \ Preferences...

1-4 切換到Interactive Mode:Tools \ Interactive Mode  (此時ToolBar上會出現Simulation選單)
      開始執行模擬:Simulation \ Run/Continue (模擬結束工作目錄下就會產生dump_i.fsdb )

Source code目錄下,要有先前ModelSim所建立的此project的work library,不然會有錯誤訊息:Failed to access library 'work' at "work"。另外,你不能只是開一個work資料夾,而是要真的用ModelSim產生work library,並且把design compile to the work library後,step 1-4才會正確動作。

1-5 結束程式:File \ Exit

1-6 快速啟動執行序

      把DebussyLog目錄下的指令記錄檔Debussy.cmd複製到目前工作目錄下,重新編輯此檔 (刪掉最後一行的"debExit"
      然後儲存),引用它來開啟Debussy可重複之前同樣的動作程序

% Debussy -play Debussy.cmd &       (結果相當於從步驟1-1做到1-4)

1-7 其他啟動Debussy的方法

% Debussy -f xxx.f    (類似開啟一個事先編寫的批次檔,可以同時一次載入多個.v)
% Debussy -vhdl -f xxx.f    (類似開啟一個事先編寫的批次檔,可以同時一次載入多個.vhd)

      以上都是屬於Import design from file的方法,另外還有一種方法是Import design from library。兩者的差異在於:
      Import design from file是將design compile to RAM,而Import design from library則是將design compile to library 
      (default lib. is "work")。

      對於比較大的project,為了避免每次使用Debussy都要花時間compile,建議採用Import design from library的方
      法,而且mixed-language design一定要用Import design from library的方法。

Ex. for Verilog files:%vericom -inc -f run.f
                                 %Debussy -lib work -top xxx &

Ex. for VHDL files:%vhdlcom -93 -f run.f
                                 %Debussy -lib work -top xxx &

  1. Trace between hierarchy browser and source code 

2-1 在Hierarchy browser點擊A1(FourBitAdder)左側的符號"+"可以展開四個full adder (fa0, fa1, fa2, fa3)

     -->    

2-2 試著雙擊Hierarchy browser內的testbed or A1 or fa0 ... 
      右邊的source code window會立即切換到相對的module

     也可以利用滑鼠"中鍵",將左邊的module name直接拖曳丟進右邊source code window,效果相同。
           (利用滑鼠中鍵在不同視窗間拖曳,是Debussy中最常用的方法)
 

2-3 雙擊上圖source code window內的"fulladder"(in line 8),軟體會自動幫你追蹤出引用fa0的地方
      結果示於下圖 -- A1(FourBitAdder)的fa0 (in line 32);若再雙擊fa0(in line 32),則又回到上圖。
      --> 你可以藉由這個方法,輕易的追蹤出project內的所有design彼此之間的關連性

      :恢復上一動作

2-4 除了追蹤designs之間的關連性,也可以用同樣的方法追蹤出signal's drivers and loads。
      若雙擊上圖的訊號c_in (in line 24),將顯示該訊號的所有的drive loads
      結果如下圖 -- message window顯示,有4處drive c_in,分別在add4test line 69, 71, 73, 75

      用Show Next 來查看所有的drive loads (at line 69, 71, 73, 75)

選定line 69, Trace \ Load 則可用來追蹤該訊號的所有"loads"

  1. Trace between hierarchy browsersource code and schematic 

3-1 開啟nSchema有三種方法

  • (nTrace) Tools \ New Schematic \ ...

  • 雙擊工具列上的New Schematic icon 

  • 把想看schematic的部分,直接以滑鼠中鍵,從hierarchy browser拖曳丟進 icon (常用)

      下圖是把A1(FourBitAdder)丟進New Schematic icon的結果:

      如果想直接看symbol "fulladder"的source code,先以左鍵選定(highlight)該元件,然後按右鍵,從快速選單選
      擇"Display Source Code"

      選擇(highlight)第一個full adder的第二條輸出訊號,然後按Tools \ New Schematic \Fan-In Cone試試

      分別用來縮小/放大畫面,則是讓圖形大小自動調整至填滿整個視窗(如上圖)

      回前一畫面; 回最上層畫面

3-2 雙擊上圖內的元件符號(如第一個fulladder)可進一步看到其內容/ 細部電路組成(fa0)

3-3 請自行嘗試,在hierarchy browser、source code與schematic window之間,用滑鼠中鍵互相拖曳designs/signals的效果

  1. Trace between hierarchy browsersource codeschematic and waveform 

4-1 接下來的操作,需要利用模擬器所產生的資料(.fsdb),以"nWave"顯示訊號波形,有兩種可能作法

  • 從1-6(對Import files已作compile,也有其.fsdb file),接著開啟"nWave"

  • 從1-1~1-2,然後開啟"nWave",載入1-4所產生的dump_i.fsdb。

      開啟"nWave"的方法有三種

  • 按(nTrace)工具列的 (New Waveform icon)

  • (nTrace) Tools \ New Waveform

  • % nWave &

      4-1-1 如果是從1-2接著打開nWave window,一開始nWave內容是空的,要執行(nWave) File \ Open...
               以載入dump_i.fsdb。

      4-1-2 接著按 Get Signals icon,此時就會看到有訊號可以讓你選擇了
               -- 如果你看不到訊號,把
想觀察的design(A1),直接從(nTrace) Hierarchy browser拖進nWave就可以 

      4-1-3 (nWave) View \ Zoom \ Zoom All
            --
如果你看不到波形,請
再執行一次 (nTrace) Simulation \ Run/Continue就會看到

      已在signal window選擇的訊號,如果想要刪除:選定要刪除的訊號highlight,按滑鼠右鍵選擇"Cut"
      如果是從1-6接著打開nWave window的,直接進行step 4-1-2即可

4-2 啟動Active Annotation功能:(nTrace) Source \ Active Annotation
      能夠在nWave選擇訊號觸發緣,同時在nTrace的source code的所有訊號符號下方,直接看到數值的變換

4-3 在nWave雙擊想觀察其觸發狀況的訊號 (如c_out)

4-4 從(nTrace)Hierarchy browser雙擊A1(FourBitAdder),按 Search Forward icon,看看在nTrace與nWave的變化

  1. nLint 

5-1 開啟圖形介面的nLint

% nLint -gui &   (大小寫不能改,n一定要小寫,L一定要大寫)

      開啟nLint window如下,此時工作目錄下會新建一個"nLintLog"目錄

5-2 Import Files:File \ Import Design... (與step 1-2一模一樣的操作後,結果如下所示)

5-3 執行Run \ Compile

5-4 執行Tools \ Rule Organizer,或按 選擇check哪些rules
      -- 不想檢查的項目,就把E/D那一欄的核選框框取消

5-5 執行Run \ Lint   --  會自動跳出ReportViwer顯示檢查結果

5-6 展開report,選擇第一個黃色警示標示,其出錯的原因與原始碼部份,會即時顯示在下方的欄框中。
      如果要修改source code,在該錯誤選項上,按滑鼠右鍵,選擇Show violation \ to default editor

      對於不想檢查的檔案,可以選定該檔後,按再做compile。以此例而言,testbench是不可合成的,
            故若先對add4test.v做suppress再執行step 5-5,結果就會變成"0 violation"。

相關資源

投影片講義 & Lab files -- CIC所提供的NOVAS原廠編寫教材

Lab for nLint (.pdf, core) -- 交大電子黃俊達老師的IP Core課程其中一個lab,強力推薦

责任编辑:5life

更多相关 debussy 教程 verilog 的文章

仿真工作流程(Verilog/Modelsim+Debussy) [2007-05-14]
全定制电路简易教程 -- LVS检查 [2006-10-19]
全定制电路简易教程 -- DRC检查 [2006-10-19]
全定制电路简易教程 -- 使用Vituoso画版图 [2006-10-19]
全定制电路简易教程 -- 电路仿真 [2006-10-19]
全定制电路简易教程 -- 产生电路符号 [2006-10-19]
全定制电路简易教程 -- 使用Composer画逻辑电路图 [2006-10-19]
Verilog 的些许经验 [2006-09-05]
Modelsim 教程 [2006-03-26]
PrimePower 教程 [2006-03-26]
本文共有0条评论,现在显示最新的5条。

栏目导航

电路基础
硬件语言
逻辑验证
电路综合
后端设计
可测设计
基本逻辑
制造工艺
书籍精选
说文解字
工具学习
数字滤波
趣闻逸事
数字锁相
设计杂项
低耗设计

站点最新

更多相关链接

  仿真工作流程(Verilog/M...
  Modelsim 教程
  Debussy 教程
  Verilog PLI教程 --- 第...
  Verilog PLI教程 --- 第...
  Verilog PLI教程 --- 第...
  Verilog PLI教程 --- 第...
  Verilog PLI教程 --- 第...
  PLI步步为营 -- 二、PLI...
  PLI步步为营 -- 一、PLI概述

栏目最新

更多相关链接

  仿真工作流程(Verilog/M...
  Modelsim 教程
  Debussy 教程
  Verilog PLI教程 --- 第...
  Verilog PLI教程 --- 第...
  Verilog PLI教程 --- 第...
  Verilog PLI教程 --- 第...
  Verilog PLI教程 --- 第...
  PLI步步为营 -- 二、PLI...
  PLI步步为营 -- 一、PLI概述

热点文章

更多相关链接