日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > > ZYNQ
		


ZYNQ的優(yōu)勢(shì)在于通過(guò)高效的接口總線組成了ARM+FPGA的架構(gòu)。我認(rèn)為兩者是互為底層的,當(dāng)進(jìn)行算法驗(yàn)證時(shí),ARM端現(xiàn)有的硬件控制器和庫(kù)函數(shù)可以很方便地連接外設(shè),而不像FPGA設(shè)計(jì)那樣完全寫(xiě)出接口時(shí)序和控制狀態(tài)機(jī)。這樣ARM會(huì)被PL端抽象成“接口資源”;當(dāng)進(jìn)行多任務(wù)處理時(shí),各個(gè)PL端IP核又作為ARM的底層被調(diào)用,此時(shí)CPU僅作為“決策者”,為各個(gè)IP核分配任務(wù);當(dāng)實(shí)現(xiàn)復(fù)雜算法時(shí),底層算法結(jié)構(gòu)規(guī)整可并行,數(shù)據(jù)量大,實(shí)時(shí)性要求高,而上層算法則完全相反,并且控制流程復(fù)雜,靈活性高。因此PL實(shí)現(xiàn)底層算法后將運(yùn)算結(jié)果交給PS端軟件后續(xù)處理是非常高效的。

因此PS與PL端數(shù)據(jù)交互是至關(guān)重要的,在傳輸數(shù)據(jù)量小的控制 配置初始化等應(yīng)用場(chǎng)合下無(wú)疑會(huì)選擇簡(jiǎn)單的AXI-Lite總線,以下對(duì)總線接口 自定義IP操作及使用注意事項(xiàng)加以說(shuō)明。打開(kāi)Vivado新建工程,選擇主菜單欄Tools選項(xiàng)下的Create and package new IP...

選擇創(chuàng)建新的AXI4外設(shè)可以自動(dòng)生成總線接口邏輯

采用AXI-Lite總線的Slave模式,只有寄存器數(shù)量是可修改的。注意數(shù)據(jù)位寬固定32bit,計(jì)算機(jī)中數(shù)據(jù)以字節(jié)(8bit)為單位存儲(chǔ),因此各個(gè)寄存器地址的偏移量為4.這一點(diǎn)在寫(xiě)軟件時(shí)會(huì)有所體現(xiàn)。

選擇編輯IP,打開(kāi)的工程由頂層Wrapper和AXI-Lite總線接口邏輯組成。關(guān)閉自動(dòng)彈出的IP封裝向?qū)?,?dāng)添加好用戶自定義邏輯后再重新封裝,否則封裝的僅僅是軟件生成的接口邏輯。接口比較多,分為寫(xiě)通道和通道,而每個(gè)通道基本邏輯又由地址通道和數(shù)據(jù)通道組成。除了以上四個(gè)通道外,寫(xiě)通道包含應(yīng)答通道以返回CPU確認(rèn)信息。每個(gè)接口以S_AXI_開(kāi)頭,之后AW代表地址寫(xiě),W代表數(shù)據(jù)寫(xiě),AR代表地址讀,R代表數(shù)據(jù)讀,B代表響應(yīng)。關(guān)于AXI總線的基本特性在之前的博文中已有闡述,無(wú)非就是READY和VLD信號(hào)的“握手”。因此這五個(gè)核心信號(hào)包括VALID DATA和READY。

從上述代碼可以看出,只有在寫(xiě)地址通道和寫(xiě)數(shù)據(jù)通道均握手成功時(shí)才能有效寫(xiě)入寄存器。

根據(jù)參數(shù)聲明和寄存器選擇與寫(xiě)操作邏輯可知,是根據(jù)地址[5:2]這四位來(lái)判斷寫(xiě)入哪一個(gè)寄存器。如:

地址0,即6'b0000_00

地址4,即6'b0001_00

地址8,即6'b0010_00

地址12,即6'b0011_00

因此[5:2]部分依次是0 1 2 3,從而驗(yàn)證了之前地址偏移量是4的觀點(diǎn)。這里的slv_regx信號(hào)就是我們需要送入自定義邏輯的控制信號(hào)了。

上面是讀操作核心邏輯,當(dāng)從機(jī)收到有效的讀操作地址且準(zhǔn)備好后,會(huì)將寄存器數(shù)據(jù)送回到主機(jī)。換句話說(shuō)讀操作讀到的數(shù)據(jù)僅是單純寫(xiě)入的控制數(shù)據(jù),并不是自定義邏輯的處理結(jié)果。所以讀操作要將489行開(kāi)始的右側(cè)數(shù)據(jù)源更換成自定義邏輯處理后有效數(shù)據(jù)。如:reg_data_out <= user_module_dout;

內(nèi)部添加的自定義邏輯可以直接寫(xiě)在該模塊內(nèi),也可以例化自定義模塊或IP核。最后封裝當(dāng)前工程得到支持AXI-Lite總線的自定義IP核。

打開(kāi)需要例化剛才產(chǎn)生IP核的工程,選擇Project Setting -> IP -> Respository Manger添加IP核路徑或,在block design或 IP Catalog中調(diào)用。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
關(guān)閉