哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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 ? 來(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)容及配圖由入駐作者撰寫或者入駐合作網(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)注

    1663

    文章

    22491

    瀏覽量

    638907
  • JTAG
    +關(guān)注

    關(guān)注

    6

    文章

    415

    瀏覽量

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

    關(guān)注

    30

    文章

    4975

    瀏覽量

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

    關(guān)注

    0

    文章

    11

    瀏覽量

    10668

原文標(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的AD9680 FPGA芯片測(cè)試

    在FPGA開(kāi)發(fā)領(lǐng)域,與高速ADC芯片如AD9680協(xié)同工作是一項(xiàng)充滿挑戰(zhàn)但又極具樂(lè)趣的任務(wù)。今天咱們就聊聊基于Vivado平臺(tái),針對(duì)AD9680芯片,實(shí)現(xiàn)1G采樣率且4通道(lane4)的FPGA測(cè)試程序,并且是用Verilog語(yǔ)言來(lái)完成哦。
    的頭像 發(fā)表于 03-18 11:26 ?2163次閱讀

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

    當(dāng)使用不同版本的Vivado打開(kāi)工程時(shí),IP核被鎖定的情況較為常見(jiàn)。不同版本的Vivado對(duì)IP核的支持程度和處理方式有所不同。
    的頭像 發(fā)表于 02-25 14:00 ?480次閱讀
    <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 ?399次閱讀
    <b class='flag-5'>Vivado</b>時(shí)序約束中invert參數(shù)的作用和應(yīng)用場(chǎng)景

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

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

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

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

    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 ?1273次閱讀

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

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

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

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

    AMD Vivado ChipScope助力硬件調(diào)試

    許多硬件問(wèn)題只有在整個(gè)集成系統(tǒng)實(shí)時(shí)運(yùn)行的過(guò)程中才會(huì)顯現(xiàn)出來(lái)。AMD Vivado ChipScope 提供了一套完整的調(diào)試流程,可在系統(tǒng)運(yùn)行期間最大限度提升對(duì)可編程邏輯的觀測(cè)能力,助力設(shè)計(jì)調(diào)試。
    的頭像 發(fā)表于 09-05 17:08 ?1267次閱讀

    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 ?1542次閱讀
    <b class='flag-5'>vivado</b>仿真時(shí)GSR信號(hào)的影響

    Vivado無(wú)法選中開(kāi)發(fā)板的常見(jiàn)原因及解決方法

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

    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 ?1640次閱讀

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

    Vivado中,VIO(Virtual Input/Output)是一種用于調(diào)試和測(cè)試FPGA設(shè)計(jì)的IP核,它允許設(shè)計(jì)者通過(guò)JTAG接口實(shí)時(shí)讀取和寫入FPGA內(nèi)部的寄存器,從而檢查設(shè)計(jì)的運(yùn)行狀態(tài)并修改其行為。VIO IP核提供
    的頭像 發(fā)表于 06-09 09:32 ?4317次閱讀
    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 ?1464次閱讀
    如何使用One Spin檢查AMD <b class='flag-5'>Vivado</b> Design Suite Synth的結(jié)果

    Vivado 2018.3軟件的使用教程

    大家好,歡迎來(lái)到至芯科技FPGA煉獄營(yíng)地,準(zhǔn)備開(kāi)啟我們的偉大征程!正所謂“兵馬未動(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 ?3628次閱讀
    <b class='flag-5'>Vivado</b> 2018.3軟件的使用教程
    盘山县| 思南县| 彩票| 贡觉县| 商都县| 高邑县| 海伦市| 固原市| 盐源县| 奉化市| 呼伦贝尔市| 胶南市| 昌平区| 民勤县| 年辖:市辖区| 东乡| 曲松县| 中牟县| 壶关县| 瓮安县| 洪泽县| 当雄县| 双鸭山市| 辽宁省| 东乡族自治县| 西华县| 台北县| 安阳市| 湘西| 清河县| 驻马店市| 凌源市| 寿宁县| 南岸区| 曲麻莱县| 江西省| 公安县| 泾阳县| 乾安县| 龙口市| 加查县|