在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

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

OpenFPGA ? 來(lái)源: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邏輯分析特性。

接下來(lái)將介紹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。這樣就可以通過(guò)vio提供的端口來(lái)控制整個(gè)FPGA的設(shè)計(jì)。此外,F(xiàn)PGA設(shè)計(jì)的最終輸出z可以連接到vio模塊的probe_in0輸入端口。

添jia VIO核

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

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

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

第三步:在Vivado主界面的右側(cè)窗口中,彈出“IP Catalog”標(biāo)簽頁(yè)。在該標(biāo)簽頁(yè)的搜索框中輸入“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)簽頁(yè)中,按如下參數(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)簽頁(yè)中,按如下參數(shù)進(jìn)行設(shè)置

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

(3)單擊“PROBE_OUTPorts(0..2)”標(biāo)簽,如圖所示,在該標(biāo)簽頁(yè)中,按如下參數(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)簽頁(yè)中,可以看到添加了名字為“vio_0”的IP核實(shí)例,如圖所示。找到并展開(kāi)“vio_0”選項(xiàng)。在展開(kāi)項(xiàng)中,找到并展開(kāi)“Instatiation Template”選項(xiàng)。在展開(kāi)項(xiàng)中,選擇并用鼠標(biāo)左鍵雙擊vio_0.veo,打開(kāi)其例化模板,如下述代碼所示。

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)簽頁(yè)中,找到并展開(kāi)“Design Sources”選項(xiàng)。在展開(kāi)項(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ì)

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

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

第二步:給開(kāi)發(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í)由開(kāi)發(fā)板上開(kāi)關(guān)的設(shè)置狀態(tài)確定a和b的值,并將其送給FPGA設(shè)計(jì)。

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

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

    關(guān)注

    1643

    文章

    21967

    瀏覽量

    614263
  • JTAG
    +關(guān)注

    關(guān)注

    6

    文章

    403

    瀏覽量

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

    關(guān)注

    30

    文章

    4887

    瀏覽量

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

    關(guān)注

    0

    文章

    11

    瀏覽量

    10326

原文標(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)推薦

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

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

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

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

    AMD Vivado Design Suite IDE中的設(shè)計(jì)分析簡(jiǎn)介

    本文檔涵蓋了如何驅(qū)動(dòng) AMD Vivado Design Suite 來(lái)分析和改善您的設(shè)計(jì)。
    的頭像 發(fā)表于 02-19 11:22 ?490次閱讀
    AMD <b class='flag-5'>Vivado</b> Design Suite IDE中的設(shè)計(jì)分析簡(jiǎn)介

    請(qǐng)問(wèn)LDC1000的VIO接口可以接5V電源嗎?

    LDC1000的VIO接口可以接5V電源嗎?
    發(fā)表于 01-17 08:40

    Vivado Design Suite用戶指南:邏輯仿真

    電子發(fā)燒友網(wǎng)站提供《Vivado Design Suite用戶指南:邏輯仿真.pdf》資料免費(fèi)下載
    發(fā)表于 01-15 15:25 ?0次下載
    <b class='flag-5'>Vivado</b> Design Suite用戶指南:邏輯仿真

    TCAN1051HGV VIO管腳作用是什么?

    我們項(xiàng)目中準(zhǔn)備選用TCAN1051HGV,在閱讀其規(guī)格書(shū),請(qǐng)問(wèn)VIO管腳作用是什么?我們的CPU電壓供電電壓是3.3V,而TCAN1051HGV電壓VCC為5V,請(qǐng)問(wèn)VIO管腳是不是與MCU的供電電壓連接在一起,如果連接在一起,請(qǐng)問(wèn)CANH/CANL高電平是5V還是3.
    發(fā)表于 12-17 07:46

    一種降低VIO/VSLAM系統(tǒng)漂移的新方法

    本文提出了一種新方法,通過(guò)使用點(diǎn)到平面匹配將VIO/VSLAM系統(tǒng)生成的稀疏3D點(diǎn)云與數(shù)字孿生體進(jìn)行對(duì)齊,從而實(shí)現(xiàn)精確且全球一致的定位,無(wú)需視覺(jué)數(shù)據(jù)關(guān)聯(lián)。所提方法為VIO/VSLAM系統(tǒng)提供了緊密
    的頭像 發(fā)表于 12-13 11:18 ?610次閱讀
    一種降低<b class='flag-5'>VIO</b>/VSLAM系統(tǒng)漂移的新方法

    Xilinx_Vivado_SDK的安裝教程

    I Agree,然后點(diǎn)擊 Next: 選擇 Vivado HL System Edition(一般選擇這個(gè)設(shè)計(jì)套件比較完整,它比 Vivado HL Design Edition 多了一個(gè) System Generator for DSP with Mat
    的頭像 發(fā)表于 11-16 09:53 ?4559次閱讀
    Xilinx_<b class='flag-5'>Vivado</b>_SDK的安裝教程

    每次Vivado編譯的結(jié)果都一樣嗎

    很多FPGA工程師都有這種困惑,Vivado每次編譯的結(jié)果都一樣嗎? 在AMD官網(wǎng)上,有這樣一個(gè)帖子: Are Vivado results repeatable for identical
    的頭像 發(fā)表于 11-11 11:23 ?1090次閱讀
    每次<b class='flag-5'>Vivado</b>編譯的結(jié)果都一樣嗎

    Vivado使用小技巧

    有時(shí)我們對(duì)時(shí)序約束進(jìn)行了一些調(diào)整,希望能夠快速看到對(duì)應(yīng)的時(shí)序報(bào)告,而又不希望重新布局布線。這時(shí),我們可以打開(kāi)布線后的dcp,直接在Vivado Tcl Console里輸入更新后的時(shí)序約束。如果調(diào)整
    的頭像 發(fā)表于 10-24 15:08 ?905次閱讀
    <b class='flag-5'>Vivado</b>使用小技巧

    Vivado編輯器亂碼問(wèn)題

    ,但是在Vivado里面打開(kāi)用sublime寫(xiě)的代碼之后,經(jīng)常出現(xiàn)中文亂碼,讓人很不舒服。究其原因就是一般來(lái)說(shuō)第三方的編輯器是采用utf8的編碼方式,而vivado的text editor不是這種方式。
    的頭像 發(fā)表于 10-15 17:24 ?2210次閱讀
    <b class='flag-5'>Vivado</b>編輯器亂碼問(wèn)題

    Vivado 2024.1版本的新特性(2)

    從綜合角度看,Vivado 2024.1對(duì)SystemVerilog和VHDL-2019的一些特性開(kāi)始支持。先看SystemVerilog。
    的頭像 發(fā)表于 09-18 10:34 ?1693次閱讀
    <b class='flag-5'>Vivado</b> 2024.1版本的新特性(2)

    Vivado 2024.1版本的新特性(1)

    Vivado 2024.1已正式發(fā)布,今天我們就來(lái)看看新版本帶來(lái)了哪些新特性。
    的頭像 發(fā)表于 09-18 10:30 ?2321次閱讀
    <b class='flag-5'>Vivado</b> 2024.1版本的新特性(1)

    基于CANoe的VIO系統(tǒng)應(yīng)用測(cè)試方案介紹#CANoe #VTHiL

    VIO
    北匯信息POLELINK
    發(fā)布于 :2024年09月11日 09:23:20

    深入了解基于CANoe的VIO系統(tǒng)應(yīng)用

    VIO System是Vector推出的一款適用于前期單板級(jí)測(cè)試使用的硬件系統(tǒng),不僅可以進(jìn)行總線通訊測(cè)試,也可以同時(shí)進(jìn)行I/O信號(hào)測(cè)試,可以讓工程師在ECU或者傳感器開(kāi)發(fā)前期就發(fā)現(xiàn)問(wèn)題,能夠盡早排查解決,極大降低了人力物力開(kāi)發(fā)成本。
    的頭像 發(fā)表于 09-01 16:21 ?3472次閱讀
    深入了解基于CANoe的<b class='flag-5'>VIO</b>系統(tǒng)應(yīng)用
    主站蜘蛛池模板: 亚洲欧洲无码一区二区三区 | 欧美一区亚洲 | 人人草97| 奇米狠狠干| 欧美日韩亚洲国产一区二区综合 | 亚洲天堂二区 | 欧美性色生活片天天看99 | 91桃色国产线观看免费 | 美女牲交视频一级毛片 | 91福利视频免费 | 日韩大尺度视频 | 亚洲欧美卡通 动漫 丝袜 | 中文字幕亚洲一区 | 欧美伦理一区 | 日韩中文字幕第一页 | 天天曰夜夜操 | 五月情婷婷| 深夜偷偷看视频在线观看 | www.毛片com| 午夜小福利| 日本高清视频网站www | 四虎影院新网址 | 精品视频一区在线观看 | 一区三区三区不卡 | 性免费视频 | 综合免费视频 | 久草资源网 | 老色皮永久免费网站 | 播放个毛片看看 | 视频一区二区免费 | 狠狠狠狠狠狠狠狠 | 国产免费成人在线视频 | 国产美女视频一区二区二三区 | 成人欧美一区二区三区视频 | 色综合天 | 男男宿舍高h炒肉bl 男男污肉高h坐便器调教 | 依人成人 | 国产美女亚洲精品久久久久久 | 丁香激情六月天 | 午夜片 飘香香影院 | 国产午夜精品不卡片 |