modelsim中程式碼涵蓋範圍使用詳解

來源:互聯網
上載者:User

標籤:style   http   使用   io   檔案   div   代碼   html   

Modelsim程式碼涵蓋範圍功能Code coverage,能報告出statement(語句)、branch(分支)、condition(條件)、expression(表達)、toggle(訊號翻轉)、fsm(有限狀態機器)等多種覆蓋率情況。

1、編譯選項(compile option):

在Modelsim的Workspace裡選中需要查看程式碼涵蓋範圍的檔案,然後點擊右鍵選擇compile—>compile properties,如所示。

 

之後選擇“Coverage”選項,出現所示的視窗,根據需要選擇選項,這裡選statement、branch、condition、expression和toggle。選完點ok。

 

2、編譯(compile)

 

點工具列中的,編譯所有的選中的檔案,成功後進行下面的步驟。

 

3、模擬(simulate)

 

點工具列中的,出現下面的視窗:

 

(註:不要選擇“Enable optimization”)

選擇Others,出現如所示的視窗:

 

選擇“Enable code coverage”後點“ok”後出現下面的視窗:

4、觀察結果

完成以上操作後,程式碼涵蓋範圍的視窗就出現了,點擊(run –all)之後程式碼涵蓋範圍的情況就出現在各視窗中。

 

下面介紹各子視窗:(1)Workspace視窗

 

 

在workspace視窗選擇Files標籤頁並拖動捲軸到右側,設計的每個檔案顯示了語句、分支、條件和運算式等語句的執行覆蓋率匯總統計資訊。

 

在workspace視窗選擇Files標籤頁並拖動捲軸到右側,本視窗將以設計中的每一條目來顯示執行覆蓋統計。

(2)Missed Coverage(未覆蓋到對象列表窗)視窗

本視窗用於顯示所選擇檔案未被執行的語句、分支、條件、運算式或未翻轉過的訊號。

在workspace視窗的Files標籤頁中選擇不同的檔案,Missed Coverage視窗的顯示會隨著選擇的檔案而更新。

 

為分支覆蓋率的情況

 

為statement coverage(語句覆蓋率)的情況。此時選擇任何一個實體在原始碼視窗中顯示相應的行,設計如果包含為被執行的語句或分支的行,則被粉紅色高亮顯示,如。圖中包含了Hits 和BC 欄用來顯示語句執行(statement Hits)和分支覆蓋(BC)的情況。

 

如所示,在主視窗功能表列選擇Tool—>Code Coverage—>Show coverage number.

 

Hits和BC 欄中的每一行表徵圖將會被數字代替,這些數字代表了該語句或分支被執行的次數。

 

 

下表描述了個表徵圖的含義:

圖 標

描  述

表示本語句已被執行過

表示本行的某語句從未被執行過

表示條件陳述式的“真”或“假”分支未被執行過

表示本行被指示不做代碼覆蓋統計

 

 

(3)Current Exclusion(當前不做覆蓋率統計列表窗)

 

本視窗用於列出所指定的不進行覆蓋統計的所有檔案和行。

3.1 設定排出檔案

,右擊所選中的項,按圖所示操作,

 

操作完後,在Current Exclusion視窗就會出現被排除的檔案,同時原始碼視窗的Hits欄的一些行會出現,表明這些行不做代碼覆蓋統計。

 

在Current Exclusion視窗中右擊需要取消排除設定的檔案,選擇Cancel Selected Exclusions,恢複成原狀,可以做程式碼涵蓋範圍。

 

 

3.2 設定排出行

,在原始碼視窗右擊Hits欄中需要排除行的表徵圖,圖中為105行,選擇第一個選項。

 

之後,在Current Exclusion視窗會顯示出被排除的行資訊,同時在原始碼視窗,被排除行的Hits欄會出現,表明該行不做代碼覆蓋統計。

 

取消排除行操作同上。

 

(4)Details(詳細資料窗)視窗:

 

本視窗顯示了如真值表或翻轉細節等詳細的未被覆蓋到的情況。

當在Missed Coverage視窗中選擇一行,可以在Details視窗中查看相應的詳細資料,如:

 

(5)Instance Coverage(執行個體覆蓋列表窗)

 

本視窗顯示了每個執行個體的覆蓋統計。

 

(6)Objects Window(訊號視窗)

 

在該視窗中可以查看狀態翻轉統計,翻轉覆蓋統計了訊號從一個狀態變換到另一個狀態的次數。

具體操作入所示:

 

上述操作完之後出現Objects視窗,這樣就可以查看每個訊號翻轉的具體情況。

 

5、建立程式碼涵蓋範圍報告

 

如所示,在主視窗功能表列選擇Tool—>Code Coverage—>Reports

 

出現所示的子視窗(報告設定視窗),根據需求設定各選項和報告存放路徑。

 

點ok後即可查看Code Coverage Report:

轉載地址:http://wenku.baidu.com/view/b5b2f0c39ec3d5bbfd0a74b9.html

:http://download.csdn.net/detail/jackinzhou/4518813

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.