前年,發(fā)表了一篇文章《VCS獨立仿真Vivado IP核的一些方法總結(jié)》(鏈接在參考資料1),里面簡單講述了使用VCS仿真Vivado IP核時遇到的一些問題及解決方案,發(fā)表之后經(jīng)過一年多操作上也有些許改進,所以寫這篇文章補充下。
在仿真Vivado IP核時分兩種情況,分為未使用SECURE IP核和使用了SECURE IP核。
對于沒有使用SECURE IP核的IP核仿真,只需要在VCS的命令行加上‘-y’選項,并給出庫文件路徑。這些庫文件在$VIVADO_INSTALLER_PATHdataverilogsrc,其中$VIVADO_INSTALLER_PATH是VIVADO的安裝路徑,進入對應(yīng)的版本號,比如2019.2,進入后找到data文件夾依次往下尋找。找到后可以把這些庫文件復(fù)制到虛擬機,每個文件夾的庫文件包含的內(nèi)容不同,然后如下圖:
即可加入對應(yīng)的庫文件夾。IP核仿真結(jié)束。
對于使用了SECURE IP核仿真的情況,除了要包含上面的這些庫文件外,還要把SECURE IP加入到VCS;
首先,找到SECURE IP文件夾,在$VIVADO_INSTALLER_PATHdatasecureip,將里面的文件復(fù)制到虛擬機。每個文件夾包含的功能不同。
之前的文章講接下來的操作如下:
操作上還是太復(fù)雜,這里簡化操作如下。首先,VCS在仿真SECURE IP里面的VP文件時,需要加上一句“+verilog2001ext+.vp”,這句話的意思是將VP文件以verilog2001標(biāo)準(zhǔn)執(zhí)行。出處在:
這是一份日語版本的UG900(參考資料2),但是在最新的UG900 英文版里(參考資料3),并沒有這相關(guān)的內(nèi)容;我的猜測是Xilinx不推薦獨立仿真的方式,更加主推Vivado和VCS聯(lián)合仿真,或者使用“export_simulation”等TCL語句將仿真庫編譯好直接使用的方式。
此外,也不需要我們修改SECURE IP文件夾的vcs_secureip_cell.list.f里面的路徑,在makefile文件里使用如下方法:
使用export命令定義XILINX_VIVADO的路徑,這樣vcs_secureip_cell.list.f會根據(jù)這個路徑去查找對應(yīng)的文件。
注意,SECURE IP是加密之后的IP,而VIVADO在2016版本后更換了加密密鑰,所以VCS2017之前的版本只能使用VIVADO2017之前的SECURE IP。
此外,還有網(wǎng)友提出問題,VIVADO項目(source)IP核文件夾里,哪些東西是對仿真有用的?
首先,IP核文件夾里的$IP_NAME_stub.v,$IP_NAME是生成IP的名字,這個文件是沒有用的,它只有對IP的端口定義;其次,進行功能仿真時,可以選擇$IP_NAME_sim_netlist.v,這個文件注釋專門寫著是為功能仿真準(zhǔn)備的,推薦使用這類文件;最后,也可以使用$IP_NAME.v,這個文件大多數(shù)情況也可以用來仿真。
注意,如果存在$IP_NAME_sim_netlist.v和$IP_NAME.v時,只能選擇一個文件加入仿真,否則會出現(xiàn)redefine的報錯。因為IP核文件夾里面可能存在多個verilog文件,推薦刪去$IP_NAME_stub.v,保留$IP_NAME_sim_netlist.v和$IP_NAME.v中的一個,然后在VCS命令里將文件夾的verilog都包含進來。
可能有人就會問,既然項目里的IP文件夾包含了verilog文件,為什么還要加入那些庫;這些庫大部分是作為基礎(chǔ)庫存在,供各類IP核調(diào)用,是它們的相同部分,而項目里的IP文件夾是它們之間不同的部分。
對于IP核文件只有VHDL的情況請看參考資料4。
原文標(biāo)題:VCS獨立仿真Vivado IP核的問題補充
文章出處:【微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
責(zé)任編輯:haq
-
IP
+關(guān)注
關(guān)注
5文章
1708瀏覽量
149554 -
VCS
+關(guān)注
關(guān)注
0文章
79瀏覽量
9611
原文標(biāo)題:VCS獨立仿真Vivado IP核的問題補充
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論