91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Vivado之VIO原理及應(yīng)用

OpenFPGA ? 來源:OpenFPGA ? 作者:碎碎思 ? 2021-09-23 16:11 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

虛擬輸入輸出(Virtual Input Output,VIO)核是一個(gè)可定制的IP核,它可用于實(shí)時(shí)監(jiān)視和驅(qū)動(dòng)內(nèi)部FPGA信號(hào),如圖所示。

48641394-0fe5-11ec-8fb8-12bb97331649.png

可以定制VIO的輸入和輸出端口的數(shù)量與寬度,用于和FPGA設(shè)計(jì)進(jìn)行連接。由于VIO核與被監(jiān)視和驅(qū)動(dòng)的設(shè)計(jì)同步,因此應(yīng)用于設(shè)計(jì)的時(shí)鐘約束也適用于VIO核內(nèi)的元件。當(dāng)使用這個(gè)核進(jìn)行實(shí)時(shí)交互時(shí),需要使用Vivado邏輯分析特性。

接下來將介紹VIO的原理及應(yīng)用,內(nèi)容主要包括設(shè)計(jì)原理、添加VIO核、生成比特流文件和下載并調(diào)試設(shè)計(jì)。

設(shè)計(jì)原理

設(shè)計(jì)以下源碼的工程,并添加VIO核:

`timescale1ns/1ps
//////////////////////////////////////////////////////////////////////////////////
//Company:
//Engineer:
//
//CreateDate:2021/08/222358
//DesignName:
//ModuleName:top
//ProjectName:
//TargetDevices:
//ToolVersions:
//Description:
//
//Dependencies:
//
//Revision:
//Revision0.01-FileCreated
//AdditionalComments:
//
//////////////////////////////////////////////////////////////////////////////////


moduletop(
inputclk,
inputa,
inputb,
outputreg[5:0]z
);
reg[5:0]z_tmp;
wire[5:0]z_vio;
rega_tmp,b_tmp;
wirea_in,b_in;
wiresel;
wirea_vio,b_vio;
assigna_in=sel?a:a_vio;
assignb_in=sel?b:b_vio;
assignz_vio=z;

vio_0Inst_vio(
.clk(clk),//inputwireclk
.probe_in0(z),//inputwire[5:0]probe_in0
.probe_out0(sel),//outputwire[0:0]probe_out0
.probe_out1(a_vio),//outputwire[0:0]probe_out1
.probe_out2(b_vio)//outputwire[0:0]probe_out2
);
always@(posedgeclk)
begin
a_tmp<=a_in;
?b_tmp<=b_in;
end?
always?@(*)
begin
?z_tmp[0]=a_tmp?&?b_tmp;
?z_tmp[1]=~(a_tmp?&?b_tmp);
?z_tmp[2]=a_tmp?|?b_tmp;
?z_tmp[3]=~(a_tmp?|?b_tmp);
?z_tmp[4]=a_tmp?^?b_tmp;
?z_tmp[5]=a_tmp?~^?b_tmp;
end?
always?@(posedge?clk)
begin
z<=z_tmp;
end?

endmodule

添加VIO后的整體設(shè)計(jì)如下:

48770274-0fe5-11ec-8fb8-12bb97331649.png

如上圖所示,在該設(shè)計(jì)中添加一個(gè)vio核,該IP提供3個(gè)輸出端口,其中probe_out0端口用于選擇進(jìn)入寄存器a_tmp_reg和寄存器b_tmp_reg的信號(hào)。當(dāng)probe_out0輸出1時(shí),將外部端口a和b提供的信號(hào)分別連接到寄存器a_tmp_reg和寄存器b_tmp_reg;當(dāng)probe_out0輸出0時(shí),將vio輸出端口probe_outl和probe_out2信號(hào)連接到寄存器a_tmP_reg和b_tmp_reg。這樣就可以通過vio提供的端口來控制整個(gè)FPGA的設(shè)計(jì)。此外,F(xiàn)PGA設(shè)計(jì)的最終輸出z可以連接到vio模塊的probe_in0輸入端口。

添jia VIO核

本節(jié)將添加VIO核,主要步驟如下所示。

第一步:用Vivado集成開發(fā)環(huán)境打開需要添加的工程。

第二步:在Vivado主界面左側(cè)的“Flow Navigator”窗口中找到并展開PROJECT MANAGER選項(xiàng)。在展開項(xiàng)中,找到并選擇“IP Catalog”選項(xiàng)。

第三步:在Vivado主界面的右側(cè)窗口中,彈出“IP Catalog”標(biāo)簽頁。在該標(biāo)簽頁的搜索框中輸入“VIO”,則在下面出現(xiàn)“VIO(Virtual Input/Output)”,如圖所示,雙擊“VIO(Virtual Input/Output)”。

48a63846-0fe5-11ec-8fb8-12bb97331649.png

第四步:彈出“Customize IP-VIO(VirtualInput/Output)”對(duì)話框。

(1)單擊“General Options”標(biāo)簽,如圖所示,在該標(biāo)簽頁中,按如下參數(shù)進(jìn)行設(shè)置。

48d131ae-0fe5-11ec-8fb8-12bb97331649.png

Input ProbeCount:1。

Output ProbeCount:3。

勾選 Enable Input Probe Activity Detectors前面的復(fù)選框。

(2)單擊“PROBE_IN Ports(0..0)”標(biāo)簽,如圖所示,在該標(biāo)簽頁中,按如下參數(shù)進(jìn)行設(shè)置

48e223ec-0fe5-11ec-8fb8-12bb97331649.png

(3)單擊“PROBE_OUTPorts(0..2)”標(biāo)簽,如圖所示,在該標(biāo)簽頁中,按如下參數(shù)進(jìn)行設(shè)置。

48f1c478-0fe5-11ec-8fb8-12bb97331649.png

第五步:?jiǎn)螕簟綩K】按鈕,退出“Customize IP”對(duì)話框。

第六步:彈出“Generate Output Products”對(duì)話框。

第七步:?jiǎn)螕簟綠enerate】按鈕,退出“Generate Output Products”對(duì)話框。

第八步:在“Sources”窗口中,單擊“IP Sources”標(biāo)簽。在該標(biāo)簽頁中,可以看到添加了名字為“vio_0”的IP核實(shí)例,如圖所示。找到并展開“vio_0”選項(xiàng)。在展開項(xiàng)中,找到并展開“Instatiation Template”選項(xiàng)。在展開項(xiàng)中,選擇并用鼠標(biāo)左鍵雙擊vio_0.veo,打開其例化模板,如下述代碼所示。

492d2dce-0fe5-11ec-8fb8-12bb97331649.png

//-----------BeginCuthereforINSTANTIATIONTemplate---//INST_TAG
vio_0your_instance_name(
.clk(clk),//inputwireclk
.probe_in0(probe_in0),//inputwire[5:0]probe_in0
.probe_out0(probe_out0),//outputwire[0:0]probe_out0
.probe_out1(probe_out1),//outputwire[0:0]probe_out1
.probe_out2(probe_out2)//outputwire[0:0]probe_out2
);

第九步:在“Sources”窗口中,單擊“Hierarchy”標(biāo)簽。在該標(biāo)簽頁中,找到并展開“Design Sources”選項(xiàng)。在展開項(xiàng)中,找到并用鼠標(biāo)雙擊top.v文件,按下述代碼修改設(shè)計(jì)代碼,并添加vio的例化代碼。

`timescale1ns/1ps
//////////////////////////////////////////////////////////////////////////////////
//Company:
//Engineer:
//
//CreateDate:2021/08/222358
//DesignName:
//ModuleName:top
//ProjectName:
//TargetDevices:
//ToolVersions:
//Description:
//
//Dependencies:
//
//Revision:
//Revision0.01-FileCreated
//AdditionalComments:
//
//////////////////////////////////////////////////////////////////////////////////


moduletop(
inputclk,
inputa,
inputb,
outputreg[5:0]z
);
reg[5:0]z_tmp;
wire[5:0]z_vio;
rega_tmp,b_tmp;
wirea_in,b_in;
wiresel;
wirea_vio,b_vio;
assigna_in=sel?a:a_vio;
assignb_in=sel?b:b_vio;
assignz_vio=z;

vio_0Inst_vio(
.clk(clk),//inputwireclk
.probe_in0(z),//inputwire[5:0]probe_in0
.probe_out0(sel),//outputwire[0:0]probe_out0
.probe_out1(a_vio),//outputwire[0:0]probe_out1
.probe_out2(b_vio)//outputwire[0:0]probe_out2
);
always@(posedgeclk)
begin
a_tmp<=a_in;
?b_tmp<=b_in;
end?
always?@(*)
begin
?z_tmp[0]=a_tmp?&?b_tmp;
?z_tmp[1]=~(a_tmp?&?b_tmp);
?z_tmp[2]=a_tmp?|?b_tmp;
?z_tmp[3]=~(a_tmp?|?b_tmp);
?z_tmp[4]=a_tmp?^?b_tmp;
?z_tmp[5]=a_tmp?~^?b_tmp;
end?
always?@(posedge?clk)
begin
z<=z_tmp;
end?

endmodule

第 十 步 :保 存 該 設(shè) 計(jì) 文 件 。

生成比特流文件

下載并調(diào)試設(shè)計(jì)

將生成的比特流文件下載到開發(fā)板上的FPGA元器件中,并通過VIO對(duì)設(shè)計(jì)進(jìn)行監(jiān)控,主要步驟如下所示。

第一步:將JTAG和FPGA板卡鏈接并和PC連接。

第二步:給開發(fā)板上電。

第三步:在“HARDWARE MANAGER”對(duì)話框中,單擊【Open target】按鈕,出現(xiàn)浮動(dòng)菜單。在浮動(dòng)菜單內(nèi),執(zhí)行菜單命令【AutoConnect】。

第四步:在“Hardware”窗口中,選擇FPGA,單擊鼠標(biāo)右鍵,出現(xiàn)浮動(dòng)菜單。在浮動(dòng)菜單內(nèi),執(zhí)行菜單命令【Program Device】。

第五步:彈出“Program Device”對(duì)話框,如圖所示。在該對(duì)話框中,選擇合適的“Bit stream file”和“Debug probes files”。

49538564-0fe5-11ec-8fb8-12bb97331649.png

第六步:?jiǎn)螕簟綪rogram】按鈕。

第七步:在Vivado主界面右側(cè)的窗口中,彈出“hw_vio_l”對(duì)話框,如圖所示。在該對(duì)話框中,單擊+按鈕。出現(xiàn)浮動(dòng)菜單。在浮動(dòng)菜單內(nèi),分別雙擊a_vio、b_vio、sel和z_OBUF[5:0],將其添加到“hw_vio_l”對(duì)話框中,如圖所示。

497dded6-0fe5-11ec-8fb8-12bb97331649.png

49b9002e-0fe5-11ec-8fb8-12bb97331649.png

第八步:在圖所示的對(duì)話框中,先將sel的“Value”設(shè)置為1,此時(shí)a_vio和b_vio的值將送給FPGA設(shè)計(jì)。

第九步:在圖所示的對(duì)話框中,將“sel”的“Value”設(shè)置為0,此時(shí)由開發(fā)板上開關(guān)的設(shè)置狀態(tài)確定a和b的值,并將其送給FPGA設(shè)計(jì)。

第十步:關(guān)閉并退出設(shè)計(jì)。

編輯:jq
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1660

    文章

    22421

    瀏覽量

    636627
  • JTAG
    +關(guān)注

    關(guān)注

    6

    文章

    415

    瀏覽量

    75007
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4969

    瀏覽量

    74014
  • VIO
    VIO
    +關(guān)注

    關(guān)注

    0

    文章

    11

    瀏覽量

    10653

原文標(biāo)題:【Vivado那些事兒】-VIO原理及應(yīng)用

文章出處:【微信號(hào):Open_FPGA,微信公眾號(hào):OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Vivado中IP核被鎖定的解決辦法

    當(dāng)使用不同版本的Vivado打開工程時(shí),IP核被鎖定的情況較為常見。不同版本的Vivado對(duì)IP核的支持程度和處理方式有所不同。
    的頭像 發(fā)表于 02-25 14:00 ?220次閱讀
    <b class='flag-5'>Vivado</b>中IP核被鎖定的解決辦法

    Vivado時(shí)序約束中invert參數(shù)的作用和應(yīng)用場(chǎng)景

    Vivado的時(shí)序約束中,-invert是用于控制信號(hào)極性的特殊參數(shù),應(yīng)用于時(shí)鐘約束(Clock Constraints)和延遲約束(Delay Constraints)中,用于指定信號(hào)的有效邊沿或邏輯極性。
    的頭像 發(fā)表于 02-09 13:49 ?225次閱讀
    <b class='flag-5'>Vivado</b>時(shí)序約束中invert參數(shù)的作用和應(yīng)用場(chǎng)景

    通過vivado HLS設(shè)計(jì)一個(gè)FIR低通濾波器

    Vivado HLS是一款強(qiáng)大的高層次綜合工具,可將C/C++代碼轉(zhuǎn)換為硬件描述語言(HDL),顯著提升FPGA開發(fā)效率。
    的頭像 發(fā)表于 01-20 16:19 ?329次閱讀
    通過<b class='flag-5'>vivado</b> HLS設(shè)計(jì)一個(gè)FIR低通濾波器

    vivado中常用時(shí)序約束指令介紹

    vivado中,我們常用的時(shí)序約束指令主要包括如下幾個(gè)方面。
    的頭像 發(fā)表于 01-20 16:15 ?335次閱讀

    AMD Vivado Design Suite 2025.2版本現(xiàn)已發(fā)布

    AMD Vivado Design Suite 2025.2 版本現(xiàn)已發(fā)布,新增對(duì) AMD Versal 自適應(yīng) SoC 的設(shè)計(jì)支持,包含新器件支持、QoR 功能及易用性增強(qiáng)。
    的頭像 發(fā)表于 12-09 15:11 ?979次閱讀

    vcs和vivado聯(lián)合仿真

    我們?cè)谧鰠①愓n題的過程中發(fā)現(xiàn),上FPGA開發(fā)板跑系統(tǒng)時(shí),有時(shí)需要添加vivado的ip核。但是vivado仿真比較慢,vcs也不能直接對(duì)添加了vivado ip核的soc系統(tǒng)進(jìn)行仿真。在這種情況下
    發(fā)表于 10-24 07:28

    FPGA開發(fā)板vivado綜合、下載程序問題匯總

    在做vivado綜合時(shí)和FPGA下載程序時(shí),我們碰到以下問題,并找出了對(duì)應(yīng)的解決方案。 1.could not open include file”e203_defines.v”問題 在做
    發(fā)表于 10-24 07:12

    vivado仿真時(shí)GSR信號(hào)的影響

    利用vivado進(jìn)行設(shè)計(jì)xilinx FPGA時(shí),寫完設(shè)計(jì)代碼和仿真代碼后,點(diǎn)擊run simulation(啟動(dòng)modelsim進(jìn)行仿真)。
    的頭像 發(fā)表于 08-30 14:22 ?1389次閱讀
    <b class='flag-5'>vivado</b>仿真時(shí)GSR信號(hào)的影響

    Vivado無法選中開發(fā)板的常見原因及解決方法

    在使用 AMD Vivado Design Suite 對(duì)開發(fā)板(Evaluation Board)進(jìn)行 FPGA 開發(fā)時(shí),我們通常希望在創(chuàng)建工程時(shí)直接選擇開發(fā)板,這樣 Vivado 能夠自動(dòng)配置
    的頭像 發(fā)表于 07-15 10:19 ?1716次閱讀
    <b class='flag-5'>Vivado</b>無法選中開發(fā)板的常見原因及解決方法

    AMD Vivado Design Suite 2025.1現(xiàn)已推出

    AMD Vivado Design Suite 2025.1 現(xiàn)已推出,支持 AMD Spartan UltraScale+ 和新一代 Versal 器件。這一最新版本還新增了多項(xiàng)功能,可顯著提升 Versal SSIT 器件的 FMAX 值,并對(duì)所有系列產(chǎn)品在 IP 集成和功能驗(yàn)證方面的易用性進(jìn)行了改進(jìn)。
    的頭像 發(fā)表于 06-16 15:16 ?1513次閱讀

    FPGA調(diào)試方式VIO/ILA的使用

    Vivado中,VIO(Virtual Input/Output)是一種用于調(diào)試和測(cè)試FPGA設(shè)計(jì)的IP核,它允許設(shè)計(jì)者通過JTAG接口實(shí)時(shí)讀取和寫入FPGA內(nèi)部的寄存器,從而檢查設(shè)計(jì)的運(yùn)行狀態(tài)并修改其行為。VIO IP核提供
    的頭像 發(fā)表于 06-09 09:32 ?4031次閱讀
    FPGA調(diào)試方式<b class='flag-5'>之</b><b class='flag-5'>VIO</b>/ILA的使用

    如何使用One Spin檢查AMD Vivado Design Suite Synth的結(jié)果

    本文講述了如何使用 One Spin 檢查 AMD Vivado Design Suite Synth 的結(jié)果(以 Vivado 2024.2 為例)。
    的頭像 發(fā)表于 05-19 14:22 ?1315次閱讀
    如何使用One Spin檢查AMD <b class='flag-5'>Vivado</b> Design Suite Synth的結(jié)果

    Vivado 2018.3軟件的使用教程

    大家好,歡迎來到至芯科技FPGA煉獄營(yíng)地,準(zhǔn)備開啟我們的偉大征程!正所謂“兵馬未動(dòng),糧草先行”,戰(zhàn)前的準(zhǔn)備自是必不可少,在FPGA的漫漫沙場(chǎng),我們何以入場(chǎng),何以取勝呢?在這里我們?yōu)楦魑粦?zhàn)友準(zhǔn)備了vivado 2018.3的使用教程。
    的頭像 發(fā)表于 04-30 14:14 ?3384次閱讀
    <b class='flag-5'>Vivado</b> 2018.3軟件的使用教程

    Vivado HLS設(shè)計(jì)流程

    為了盡快把新產(chǎn)品推向市場(chǎng),數(shù)字系統(tǒng)的設(shè)計(jì)者需要考慮如何加速設(shè)計(jì)開發(fā)的周期。設(shè)計(jì)加速主要可以從“設(shè)計(jì)的重用”和“抽象層級(jí)的提升”這兩個(gè)方面來考慮。Xilinx 推出的 Vivado HLS 工具可以
    的頭像 發(fā)表于 04-16 10:43 ?1642次閱讀
    <b class='flag-5'>Vivado</b> HLS設(shè)計(jì)流程

    CANape 23.0新特性:支持VIO系統(tǒng)#CANape #VIO

    vector_canape
    北匯信息POLELINK
    發(fā)布于 :2025年03月14日 10:17:41