Vivado 仿真器支持混合語(yǔ)言項(xiàng)目文件及混合語(yǔ)言仿真。這有助于您在 VHDL 設(shè)計(jì)中包含 Verilog 模塊,反過(guò)來(lái)也是一樣。
本文主要介紹使用 Vivado 仿真器進(jìn)行混合語(yǔ)言仿真的一些要點(diǎn)。
仿真過(guò)程中混合語(yǔ)言的限制
注意:不支持將整個(gè) VHDL 記錄對(duì)象連接至 Verilog 對(duì)象。但是,支持類型的 VHDL 記錄元件可以連接至兼容的 Verilog 端口。
VHDL 設(shè)計(jì)可以實(shí)例化 Verilog/System Verilog (SV) 模塊,而 Verilog/SV 設(shè)計(jì)則可以實(shí)例化 VHDL 組件。基于組件實(shí)例化的的默認(rèn)綁定可用于將 Verilog/SV 模塊綁定至 VHDL 組件。具體而言,在 VHDL 組件中實(shí)例化的 Verilog/SV 模塊不支持配置規(guī)范和直接實(shí)例化。不支持 VHDL 與 Verilog 的任何其它類型的混用,例如調(diào)用 Verilog 函數(shù)的 VHDL 進(jìn)程。
Verilog/SV 模塊的邊界上允許 VHDL 類型、通用參數(shù)和端口的子集。同樣,VHDL 組件的邊界也允許 Verilog/SV 類型、參數(shù)和端口的子集。支持的數(shù)據(jù)類型可以在 (UG900) Vivado Design Suite 用戶指南:邏輯仿真中找到。
Verilog/SV 層級(jí)參考無(wú)法引用 VHDL 單元,VHDL 擴(kuò)展或選定名稱也無(wú)法引用 Verilog/SV 單元。但 Verilog/SV 單元可以使用 Verilog 層級(jí)參考穿越中間 VHDL 實(shí)例進(jìn)入另一個(gè) Verilog/SV 單元。
綁定和搜索規(guī)則
當(dāng)在 VHDL 架構(gòu)中的 Verilog/SV 模塊或 Verilog/SV 模塊中實(shí)例化 VHDL 組件時(shí),xelab 命令會(huì)執(zhí)行以下任務(wù):
注意:在使用 Vivado IDE 時(shí),會(huì)自動(dòng)指定庫(kù)搜索順序。用戶無(wú)需干預(yù),也無(wú)法干預(yù)。
首先搜索與實(shí)例化設(shè)計(jì)單元相同的語(yǔ)言單元。
如果沒(méi)有找到相同語(yǔ)言的單元,則 xelab 會(huì)在 -L 選項(xiàng)指定的庫(kù)中搜索跨語(yǔ)言設(shè)計(jì)單元。
搜索順序與 xelab 命令行上的庫(kù)出現(xiàn)的順序相同。
混合語(yǔ)言組件的實(shí)例化
在 VHDL 設(shè)計(jì)單元中實(shí)例化 Verilog 模塊:
1. 以相同名稱斷言 VHDL 組件,并使用與要實(shí)例化的 Verilog 模塊相同的實(shí)例。
2. 使用命名或位置關(guān)聯(lián)來(lái)實(shí)例化 Verilog 模塊。
在 Verilog/SV 設(shè)計(jì)單元中實(shí)例化 VHDL 組件:
要在 Verilog/SV 設(shè)計(jì)單元中實(shí)例化 VHDL 組件,請(qǐng)像 Verilog/SV 模塊那樣實(shí)例化 VHDL 組件。
編輯:jq
-
仿真器
+關(guān)注
關(guān)注
14文章
1017瀏覽量
83721 -
IDE
+關(guān)注
關(guān)注
0文章
338瀏覽量
46737 -
vhdl
+關(guān)注
關(guān)注
30文章
817瀏覽量
128119 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4327瀏覽量
62569 -
Vivado
+關(guān)注
關(guān)注
19文章
812瀏覽量
66470
原文標(biāo)題:Vivado仿真器進(jìn)行混合語(yǔ)言仿真的一些要點(diǎn)
文章出處:【微信號(hào):FPGA-EETrend,微信公眾號(hào):FPGA開(kāi)發(fā)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論