日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

在VCS仿真器中使用FSDB

發布時間:2023/12/20 c/c++ 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在VCS仿真器中使用FSDB 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

FSDB(Fast Signal Database)是Verdi支持的文件格式,用于保存仿真產生的信號波形。據Verdi文檔說明,FSDB比標準的VCD格式節省磁盤空間,處理速度更快。要用VCS仿真器生成FSDB文件,就要調用Verdi提供的FSDB dumping命令,較常用的方法是在Testbench中調用。

首先要把FSDB dumper庫的路徑添加到LD_LIBRARY_PATH環境變量,32位Linux環境使用的C Shell命令格式如下:

if ($?LD_LIBRARY_PATH) thensetenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${NOVAS_HOME}/share/PLI/VCS/LINUX elsesetenv LD_LIBRARY_PATH ${NOVAS_HOME}/share/PLI/VCS/LINUX endif

注意:如果使用的是64位Linux,需要把LINUX替換成LINUX64,其他操作系統參考Verdi文檔。后面步驟使用的路徑也要做同樣的替換。

使用不同語言寫Testbench和設計文件,VCS和Verdi的命令格式不同,下面分情況說明:

1) Testbench和設計文件都用Verilog

Verilog中常用的FSDB dumping命令包括$fsdbDumpfile和$fsdbDumpvars等,調用格式如下:

$fsdbDumpfile("test.fsdb"); $fsdbDumpvars(1, Testbench.inst);

用VCS仿真時,需要使用-P選項調用FSDB dumper,命令格式如下:

vcs +v2k -R -nc -debug_pp -LDFLAGS -rdynamic -P ${NOVAS_HOME}/share/PLI/VCS/LINUX/novas.tab ${NOVAS_HOME}/share/PLI/VCS/LINUX/pli.a Testbench.v Counter.v

其中+v2k表示使用Verilog-2001標準,-R表示自動運行仿真,-nc表示不顯示版權信息,-debug_pp和-LDFLAGS -rdynamic是Verdi要求的選項。

用如下命令啟動Verdi查看波形:

verdi -2001 Testbench.v Counter.v -ssf test.fsdb -sswr test.rc

其中-2001表示使用Verilog-2001標準,-ssf用于指定FSDB文件,-sswr用于指定一個配置文件,包含要顯示那些信號以及顯示格式等,該配置文件可以在Verdi中配置完波形后生成。

示例文件:verilog

2) Testbench和設計文件都用VHDL

VHDL中常用的FSDB dumping命令包括fsdbDumpfile和fsdbDumpvars等,調用前需要引用Novas程序包,調用格式如下:

USE Work.Novas.ALL;fsdbDumpfile("test.fsdb"); fsdbDumpvars(1, "Testbench:Inst");

在VCS中仿真VHDL需要在當前目錄有一個synopsys_sim.setup文件,格式如下:

-- Mapping default work directory WORK > DEFAULT DEFAULT : ./work -- Library Mapping IEEE : $VCS_HOME/linux/packages/IEEE/lib SYNOPSYS : $VCS_HOME/linux/packages/synopsys/lib --Simulation variables ASSERT_STOP = ERROR TIMEBASE = ns TIME_RESOLUTION = 1 ps

其中./work是WORK庫對應的路徑,默認情況下編譯到WORK庫中。也可以使用不同的路徑,需要將./work修改為你使用的路徑。

用VCS仿真時,需要先編譯novas.vhd,該文件中的Novas程序包聲明了FSDB dumping命令及其使用的庫,因此不需要在命令行使用特別的選項,然后編譯VHDL文件,最后執行仿真,命令格式如下:

if (! -d work) mkdir work # Create work directory if not exist vhdlan -nc ${NOVAS_HOME}/share/PLI/VCS/LINUX/novas.vhd vhdlan -nc Testbench.vhd Counter.vhd vcs -R -nc -debug_pp Testbench__Arch

分步仿真VHDL需要在最后一步調用vcs時指定頂層配置/實體/架構,一種格式為“實體名__架構名”,用兩個下劃線分隔,如果只有一個架構,則可以省略架構名。包含VHDL文件時必須指定頂層配置/實體/架構。

用如下命令啟動Verdi查看波形:

verdi -vhdl -93 ${NOVAS_HOME}/share/PLI/VCS/LINUX/novas.vhd Testbench.vhd Counter.vhd \
-top "Testbench(Arch)" -ssf test.fsdb -sswr test.rc

其中-vhdl選項表示使用VHDL文件,-93表示使用VHDL-1993標準,-top用于指定頂層實體/架構,格式為“實體名(架構名)”,如果只有一個架構,則可以省略架構名。

示例文件:vhdl

3) Testbench和設計文件都用SystemVerilog

SystemVerilog的FSDB dumping命令與Verilog相同。

用VCS仿真的命令格式與Verilog類似,只是把+v2k替換成-sverilog,格式如下:

vcs -sverilog -R -nc -debug_pp -LDFLAGS -rdynamic \ -P ${NOVAS_HOME}/share/PLI/VCS/LINUX/novas.tab \ ${NOVAS_HOME}/share/PLI/VCS/LINUX/pli.a \ Testbench.sv Counter.sv CounterItf.sv

其中-sverilog表示仿真SystemVerilog文件。

用如下命令啟動Verdi查看波形:

verdi -sv Testbench.sv Counter.sv CounterItf.sv -ssf test.fsdb -sswr test.rc

其中-sv表示使用SystemVerilog文件。

示例文件:systemverilog

VCS混合語言仿真需要先分別編譯HDL文件,然后執行仿真,如果包含VHDL文件,則需要synopsys_sim.setup文件,并且需要先編譯novas.vhd。

Verdi調試混合語言設計也要先分別編譯HDL文件到同一個庫,然后打開該庫進行調試。

4) Testbench用Verilog,設計文件用VHDL

VCS仿真命令格式如下:

if (! -d work) mkdir work # Create work directory if not exist vlogan -nc +v2k Testbench.v vhdlan -nc Counter.vhd vcs -R -nc -debug_pp -LDFLAGS -rdynamic -P ${NOVAS_HOME}/share/PLI/VCS/LINUX/novas.tab ${NOVAS_HOME}/share/PLI/VCS/LINUX/pli.a Testbench

包含VHDL文件時必須指定頂層配置/實體/架構,這里使用了只指定實體名不指定架構名的格式。

用如下命令啟動Verdi查看波形:

vhdlcom -93 Counter.vhd vericom -2001 Testbench.v verdi -lib work -top Testbench -ssf test.fsdb -sswr test.rc

其中-lib用于指定要調試的庫,vhdlcom和vericom默認編譯到work庫中。

示例文件:verilog_tb

5) Testbench用VHDL,設計文件用Verilog

VCS仿真命令格式如下:

if (! -d work) mkdir work # Create work directory if not exist vhdlan -nc ${NOVAS_HOME}/share/PLI/VCS/LINUX/novas.vhd vhdlan -nc Testbench.vhd vlogan -nc +v2k Counter.v vcs -R -nc -debug_pp Testbench__Arch

用如下命令啟動Verdi查看波形:

vhdlcom -93 ${NOVAS_HOME}/share/PLI/VCS/LINUX/novas.vhd Testbench.vhd vericom -2001 Counter.v verdi -lib work -top "Testbench(Arch)" -ssf test.fsdb -sswr test.rc

?示例文件:vhdl_tb

轉載于:https://www.cnblogs.com/catannie/p/8099331.html

總結

以上是生活随笔為你收集整理的在VCS仿真器中使用FSDB的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。