vivado聯合modelsim測試覆蓋率

(1)配置環境

? ? ? ? 安裝modelsim和vivado。點擊vivado菜單欄中的tools,在下拉選項中選擇compile simulation libraries。simulator選項選擇:modelsim simulator。compile library location表示編譯庫存放的路徑。simulator executable path:表示modelsim安裝路徑,即modelsim.exe所在的路徑。如下所示:

根據計算機配置,編譯時間大概在10分鐘左右。

(2)配置vivado環境

? ? ? ? 這一步將vivado與modelsim聯合起來。點擊vivado菜單欄中的tools,在下拉菜單中選擇setting,target simulator選擇modelsim simulator ,compile library location選擇剛才編譯路的路徑。再點擊apply,最后點擊ok。

(3)在vivado中開始仿真

? ? ? ? 在vivado中建立工程后,創建源文件以及tb文件,點擊simulation—>run behavior simulation。如下圖所示:這一步驟將打開modelsim。

(4)在modelsim中設置覆蓋率選項?

? ? ? ? 在vivado中點擊simulation 后,將自動打開modelsim界面。此時,在modelsim中的library、project、覆蓋率coverage界面中都沒有內容,這是因為vivado將工程創建在xil_defaultlib默認的庫下,在modelsim命令窗口中會看到這條命令:

vsim -voptargs=""+acc"" -L xil_defaultlib -L unisims_ver -L unimacro_ver -L secureip -lib xil_defaultlib xil_defaultlib.tb xil_defaultlib.glbl 

(4.1)在modelsim中設置覆蓋率的編譯選項

? ? ? ? 在modelsim界面中點擊compile選項,在下拉菜單中選擇compile option,在彈出的界面上點擊coverage,在coverage界面中點擊需要選擇的覆蓋率類型,最后點擊apply,再點擊ok。
????????

? ? ? ? 將編譯選項設置好覆蓋率選項后,需要再重新將設計文件編譯一次,由于設計文件在vivado工程中,所以在編譯的時候需要使用源文件的絕對路徑,命令如下:

vlog   F:/modelsim_workspace/coverage_single/QD.v  +cover=bcesxf

vlog編譯編譯.v或者.sv文件的命令。
F:/modelsim_workspace/coverage_single/QD.v? 表示設計文件所在的路徑。
+cover=bcesxf 表示選擇覆蓋率的類型。

(4.2)設置modelsim 中simulation覆蓋率選項

? ? ? ? 在仿真時,也需要設置仿真覆蓋率選項,點擊modelsim菜單欄中的simulate選項,點擊design optimization選項,點擊coverage選項,選擇覆蓋率類型,點擊start immediately選項,最后返回到design界面,手動填寫output design name ,可以是任何合法的名字;在design unit中寫入vivado編譯后tb的名稱。

????????最后在modelsim命令行窗口中敲入仿真命令:xil_defaultlib.tb表示vivado編譯后tb所在庫的全名。

vsim -gui xil_defaultlib.tb -coverage -novopt

????????在Modelsim菜單欄中點擊view—>coverage—>instance coverage ,即可看到各個模塊實例的覆蓋率情況,點擊view—>coverage—>code coverage analysis即可看到每個實例的語句覆蓋情況。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/162911.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/162911.shtml
英文地址,請注明出處:http://en.pswp.cn/news/162911.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java.sql.SQLException: Connection has already been closed

背景: 通過一個接口觸發后臺數據庫的批量更新操作,原本只是一個觸發動作,不需要返回值,因此沒有關心出現的http超時問題。后面發現批量更新任務中斷了,查日志發現了Connection has already been closed報錯。 具體的…

【網絡奇緣】- 計算機網絡|性能指標|體系結構

🌈個人主頁: Aileen_0v0🔥系列專欄: 一見傾心,再見傾城 --- 計算機網絡~💫個人格言:"沒有羅馬,那就自己創造羅馬~" 目錄 溫故而知新 計算機網絡性能指標 時延 時延帶寬積 往返時延RTT 訪問百度?編輯 訪問b站 訪問谷歌 …

使用 .toISOString() 方法生成當前時間的ISO格式字符串,解決UTC時區差問題

方法分析: 日常開發中,有時我們需要向后端傳遞的時間值可能并非一個時間對象,而是字符串格式。 例 1:[2023-08-16T08:07:25.577Z] 但是我們通過 new Date() 之后直接使用 .toString() 方法得到的卻并非這種格式。 例 2&#xff1…

MAX/MSP SDK學習08:設置入口的冷熱標簽

1. 默認所有的入口會顯示為熱標簽(紅色); 2. 若想讓所有非最左入口都顯示為冷標簽,則需在ext_main函數中添加內置函數stdinletinfo: class_addmethod(c, (method)stdinletinfo, "inletinfo", A_CANT, 0); 3…

【從零開始學習Linux】一文帶你了解Shell外殼及用戶權限(一)

🚩紙上得來終覺淺, 絕知此事要躬行。 🌟主頁:June-Frost 🚀專欄:Linux入門 🔭【從零開始學習Linux】系列均屬于Linux入門,主要包含Linux操作系統下的指令、操作、權限以及開發工具&a…

@DS動態切換數據源

1.DS概述 DS是自定義注解,可以作用于方法或類上,用于切換數據源。當注解添加到類上時,意味著此類里的方法都使用此數據源;當注解添加到方法上時,意味著此方法上使用的數據源優先級高于其他一切配置。 2.DS使用 2.1 導…

基于.net framework4.0框架下winform項目實現寄宿式web api

首先Nuget中下載包:Microsoft.AspNet.WebApi.SelfHost,如下: 注意版本哦,最高版本只能4.0.30506能用。 1.配置路由 public static class WebApiConfig{public static void Register(this HttpSelfHostConfiguration config){// …

Axure插件瀏覽器一鍵安裝:輕松享受高效工作!

Axure插件對原型設計師很熟悉,但由于Axure插件是在國外開發的,所以在安裝Axure插件時不僅需要下載中文包,激活步驟也比較繁瑣,有時Axure插件與計算機系統不匹配,Axure插件格式不兼容。本文將詳細介紹如何安裝Axure插件…

uniapp開發小程序-pc端小程序下載文件

fileName包含文件名后綴名,比如test.png這種格式 api.DownloadTmtFile后端接口返回的是文件的二進制流 值得注意的是,微信開發者工具中是測試不了wx.saveFileToDisk的,需要真機或者體驗版測試 handleDownload(fileName) {if (!fileName) retu…

CCFCSP試題編號:201912-2試題名稱:回收站選址

這題只要比較坐標的四周&#xff0c;然后計數就可以了。 #include <iostream> using namespace std;int main() {int n;cin >> n;int arr[1005][2] { 0 };int res[5] { 0 };int up 0;int down 0;int left 0;int right 0;int score 0;for (int i 0; i <…

QT 在Windows下實現ping功能(ICMP)

前言 很多時候&#xff0c;我們可能會圖省事直接調用系統中的ping命令&#xff0c;但這是很不科學的~ 廢話不多說&#xff0c;直接上代碼.. .pro文件 在.pro文件末尾添加一行&#xff1a; LIBS -liphlpapi -lws2_32 .h文件 在.h文件中加入&#xff1a; #include <Q…

23款奔馳GLC260L升級原廠360全景影像 高清環繞

本次星駿匯小許介紹的是23款奔馳GLC260L升級原廠360全景影像&#xff0c;上帝視角看清車輛周圍環境&#xff0c;更輕松駕駛 升級360全景影像系統共有前后左右4個攝像頭&#xff0c;分別在車頭&#xff0c;車尾&#xff0c;以及兩邊反光鏡下各一個&#xff0c;分別用來采集車頭&…

C# 宏--釋義及實例

1.宏-釋義 在C#中&#xff0c;宏&#xff08;Macro&#xff09;通常指的是預處理指令&#xff08;Preprocessor Directive&#xff09;&#xff0c;用于在編譯時對源代碼進行一些宏替換或條件編譯的操作。C#中的宏使用預處理器指令#define和#undef來定義和取消定義宏&#xff…

C++string_view簡介

1. 簡介 C17之后才有string_view&#xff0c;主要為了解決C語言常量字符串在std::string中的拷貝問題。 即readonly的string。 2. 引入 2.1 隱式拷貝問題 將C常量字符串拷貝了一次 #include <iostream> #include <string>int main() {std::string s{ "He…

Modbus RTU、Modbus 庫函數

Modbus RTU 與 Modbus TCP 的區別 一般在工業場景中&#xff0c;使用 Modbus RTU 的場景更多一些&#xff0c;Modbus RTU 基于串行協議進行收發數據&#xff0c;包括 RS232/485 等工業總線協議。采用主從問答式&#xff08;master / slave&#xff09;通信。 與 Modbus TCP 不…

基于springboot實現實習管理系統的設計與實現項目【項目源碼+論文說明】計算機畢業設計

基于sprinmgboot實現實習管理系統的設計與實現演示 摘要 隨著信息化時代的到來&#xff0c;管理系統都趨向于智能化、系統化&#xff0c;實習管理也不例外&#xff0c;但目前國內仍都使用人工管理&#xff0c;市場規模越來越大&#xff0c;同時信息量也越來越龐大&#xff0c;…

普通平衡樹

題意&#xff1a;略&#xff0c;題中較清晰。 用二叉查找樹來存儲數據&#xff0c;為了增加效率&#xff0c;盡量使左子樹和右子樹的深度差不超過一&#xff0c;這樣可以時間控制在logn&#xff0c;效率比較高。 右旋和左旋&#xff0c;目的是為了維護二叉樹的操作&#xff0…

Dubbo引入Zookeeper等注冊中心簡介以及DubboAdmin簡要介紹,為后續詳解Dubbo各種注冊中心做鋪墊!

文章目錄 一&#xff1a;Dubbo注冊中心引言 1&#xff1a;什么是Dubbo的注冊中心&#xff1f; 2&#xff1a;注冊中心關系圖解 3&#xff1a;引入注冊中心服務執行流程 4&#xff1a;Dubbo注冊中心好處 5&#xff1a;注冊中心核心作用 二&#xff1a;注冊中心實現方案 …

Springboot+vue的新冠病毒密接者跟蹤系統(有報告)。Javaee項目,springboot vue前后端分離項目

演示視頻&#xff1a; Springbootvue的新冠病毒密接者跟蹤系統(有報告)。Javaee項目&#xff0c;springboot vue前后端分離項目 項目介紹&#xff1a; 本文設計了一個基于Springbootvue的新冠病毒密接者跟蹤系統&#xff0c;采用M&#xff08;model&#xff09;V&#xff08;v…

HttpClient實現 get、post、put、delete請求【轉】

來自&#xff1a;HttpClient實現 get、post、put、delete請求_httpclient put請求-CSDN博客 目錄 HttpClient HttpClient的主要功能 httpclient使用示例主要步驟 Spring Boot 工程結構 HttpClient實現主要代碼&#xff1a; GET POST PUT Delete HttpClient HttpCli…