ModelSim建立VCD檔案手冊

2021-08-09 17:48:33 字數 1476 閱讀 3818

教你modelsim建立vcd檔案

2023年07月02日 星期三 14:39

verilog提供一系列系統任務用於記錄訊號值變化儲存到標準的vcd(value change dump)格式資料庫中。大多數波形顯示工具支援vcd格式。 系統任務 功能

$dumpfile("file. dump"); 開啟乙個vcd資料庫用於記錄 $dumpvars(); 選擇要記錄的訊號

$dumpflush; 將vcd資料儲存到磁碟  $dumpoff; 停止記錄 $dumpon; 重新開始記錄

$dumplimit(); 限制vcd檔案的大小(以位元組為單位) $dumpall; 記錄所有指定的訊號值

vcd資料庫是**過程中資料訊號變化的記錄。它只記錄使用者指定的訊號。 使用者可以用$dump*系統任務開啟乙個資料庫,儲存訊號並控制訊號的儲存。除$dumpvars外,其它任務的作用都比較直觀。 $dumpvars將在後面詳細描述。 必須首先使用$dumpfile系統任務,並且在一次**中只能開啟乙個vcd資料庫。 在**前(時間0前)必須先指定要觀測的波形,這樣才能看到訊號完整的變化過程。

**時定期的將資料儲存到磁碟是乙個好的習慣,萬一系統出現問題資料也不會全部丟失。

vcd資料庫不記錄**結束時的資料。因此如果希望看到最後一次資料變化後的波形,必須在結束**前使用$dumpall。

$dumpvars語法:

$dumpvars[(< levels>, *)];

scope可以是層次中的訊號,例項或模組。

**時所有訊號必須在同一時間下使用$dumpvars。

就是說可以使用多條$dumpvars語句,但必須從同一時間開始。如:

initial begin

$dumpfile (「verilog. dump」);

$dumpvars (0, testfixture.a);

#1 $dumpvars (0, testfixture.b);

end

要給$dumpvars提供層次(levels)及範圍(scope)引數,例如

$dumpvars; // dump所有層次的訊號

$dumpvars (1, top); // dump top模組中的所有訊號

$dumpvars (2, top. u1); // dump例項top. u1及其下一層的訊號

$dumpvars (0, top. u2, top. u1. u13. q); // dump top.u2及其以下所有訊號,以及訊號top. u1. u13. q。

$dumpvars (3, top. u2, top. u1); // dump top. u1和top. u2及其下兩層中的所有訊號。

用下面的**可以代替前面test fixture的$monitor命令:

initial

begin

$dumpfile (「verilog. dump」); $dumpvars (0, testfixture);

matlab與modelsim中的檔案操作函式

matlab中 fscanf和fpintf是一對,用fprintf寫的必須用fscanf來讀。fread和fwrite是一對,用fwrite寫的必須用fread來讀。同樣的資料,使用fprintf和fwrite寫下去的是不一樣的,但是使用其相應的讀命令讀上來的資料會是一樣的。文字檔案使用fscanf...

mysql表檔案建立 php檔案建立mysql的表

乙個php檔案,裡面內容是建表語句,如下,怎麼操作這個php檔案才能在mysql中建表啊?createtableifnotexists category id.乙個php檔案,裡面內容是建表語句,如下,怎麼操作這個php檔案才能在mysql中建表啊?create table if not exist...

建立jsp檔案

建立乙個可執行的jsp,簡單概括5句話 建web service專案 建jsp檔案 開啟服務 部署到tomcat 瀏覽器檢視結果。1.開啟myeclipse,new web service project,專案名為testjsp1 沒1的名字用過了 完成。2.在packageexplore中,tes...