《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的AXI4總線時序設計與實現
基于FPGA的AXI4總線時序設計與實現
2015年電子技術應用第6期
馬 飛,劉 琦,包 斌
北京空間機電研究所,北京100094
摘要: 針對AXI4總線設備之間的高速數據傳輸需求,根據AXI4總線協議,設計實現了一種基于FPGA的AXI4總線讀寫時序控制方法。以FPGA為核心,采用VHDL語言,完成了滿足AXI4總線協議的讀猝發方式數據傳輸和寫猝發方式數據傳輸時序控制模塊的設計。利用FPGA內部嵌入式系統提供的高性能數據傳輸接口完成AXI4時序控制模塊的功能驗證。實際應用表明,依據提出的設計方法實現的讀寫時序控制模塊能夠滿足AXI4總線協議規定的時序關系,實現數據的高速正確傳輸,總線數據傳輸速率能夠達到1.09 GB/s。
中圖分類號: TP336
文獻標識碼: A
文章編號: 0258-7998(2015)06-0013-03
中文引用格式:馬飛,劉琦,包斌.基于FPGA的AXI4總線時序設計與實現[J].電子技術應用,2015,41(06):13-15+19.
Design and implementation of AXI 4 bus timing based on FPGA
Ma Fei,Liu Qi,Bao Bin
Beijing Institute of Space Mechanics & Electricity,Beijing 100094,China
Abstract: To fulfill the needs for high speed data transfers between AXI 4 bus devices,a FPGA based timing control method of data writing and reading for AXI 4 bus is provided. Timing control modules of data writing and reading in burst are designed according to the AXI 4 bus protocol. Functions of the design are validated in high performance interfaces of embedded system in FPGA. The application shows that the design provided in this paper provides an accurate timing that meets the AXI 4 bus protocol. Data transports between AXI 4 bus devices correctly in the speed of 1.09 GB/s.
Key words : AXI 4 bus;timing control;FPGA

    

0 引言

    高級微控制器總線結構(Advanced Microcontroller Bus Architecture,AMBA)是一種應用于片上系統的總線結構。AMBA總線協議是ARM公司制定的用于片上系統IP互聯與管理的一種規范,由于它是一個開放標準的協議,所以自從出現之后,其應用領域就超出了微控制器設備,已經廣泛應用于各種ASIC和片上系統器件中。高級可擴展接口4(Advanced eXtensible Interface 4,AXI4)總線規范是ARM公司與Xilinx公司共同制定的新一代用于片上系統內IP互聯的總線規范,是第4版AMBA規范定義的7個總線接口之一,用以滿足普遍情況下的元件接口要求,為互聯結構的實現提供了靈活性[1]

    本文通過對AXI4總線協議的分析研究,在充分了解其工作原理與工作過程的基礎上,采用VHDL硬件描述語言實現了AXI4總線讀猝發方式數據傳輸和寫猝發方式數據傳輸時序控制模塊的設計與編寫,實現了FPGA邏輯與AXI4從設備之間的高速數據傳輸。

1 AXI4總線協議簡介

1.1 AXI4總線協議特性與優勢

    AXI4總線協議規定的數據傳輸方式是猝發式的,使用首字節選通方式,在獨立的讀寫數據通道采用獨立的地址、控制和數據周期進行數據傳輸,支持非對齊方式的數據傳輸,能夠發出多個未解析的地址,從而完成無序的數據傳輸交易。

    AXI4總線協議的上述特性,使得其與其他總線協議相比較,具有比較明顯的優勢。首先,AXI4總線協議簡化了不同領域IP的集成,將不同接口整合到一個接口中,簡化了用戶熟悉與開發的難度,從而提高了生產效率;其次,AXI4總線協議支持嵌入式、DSP以及FPGA各種電子設計領域的用戶使用,具有很大的靈活性;最后,由于第三方EDA廠商與IP開發廠商普遍接受并采用了AXI4總線協議標準,從而使得基于AXI4總線協議的目標平臺具有廣泛的IP可用性[1-4]

1.2 AXI4總線協議信號集與時序關系

    AXI4總線協議規定5個不同的通道,分別是讀地址通道(Read Address Channel,AR)、寫地址通道(Write Address Channel,AW)、讀數據通道(Read Data Channel,R)、寫數據通道(Write Data Channel,W)和寫響應通道(Write Response Channel,B)[5-6]。其中,讀、寫地址通道傳輸數據交互過程中需要的地址和控制信號;讀數據通道傳輸從從設備到主設備的讀數據以及相應讀信息;寫數據通道傳輸從主設備到從設備的寫數據;寫響應通道用于標識從設備響應主設備的寫操作。主設備與從設備之間的數據傳輸分別用到從主設備到從設備的寫數據通道和從從設備到主設備的讀數據通道,從主設備到從設備的寫數據交易過程中,從設備會通過響應通道向主設備反饋寫操作是否完成。讀地址通道與寫地址通道都是從主設備到從設備。其讀通道結構如圖1所示,寫通道結構如圖2所示。

qrs1-t1.gif

qrs1-t2.gif

    AXI4協議的5個通道分別有各自的信號集合,各個通道在主設備與從設備之間進行數據交互的過程中,使用VALID信號與READY信號的握手機制,即信息源通過VALID信號表示該通道存在可用的有效數據或者控制信息;信息接收方使用READY信號表示該設備具備數據接收的條件[6-8]。每個通道的信號名稱都以該通道的標識字母開頭,例如,讀地址通道的VALID信號與READY信號分別為ARVALID與ARREADY,其他通道同理。

    讀猝發方式數據傳輸過程中的時序關系如圖3所示。其中,ACLK是全局時鐘信號,所有信號在時鐘上升沿采樣;ARADDR是讀地址信號,該信號給出讀猝發方式數據傳輸一次猝發操作的第一個傳輸地址;ARVALID為讀地址有效信號,高電平表示讀地址可用;ARREADY為讀地址準備信號,該信號為高時表示從設備準備好接收地址和相關的控制信號;RDATA為讀數據;RVALID為讀有效信號,該信號為高表示讀數據信號可用;RLAST為一次猝發操作中最后數據的指示信號,高電平表示一次猝發傳輸中最后一個傳輸數據;RREADY為讀準備信號,該信號為高時表示主設備能夠接收讀取的數據。

qrs1-t3.gif

    寫猝發方式數據傳輸過程中的時序關系如圖4所示。其中,BVALID信號為高時表示一次寫猝發操作完成;BREADY為高表示主設備可以接收響應信息;其余信號功能與讀猝發方式類似,不再贅述。

qrs1-t4.gif

    需要注意的是,各通道內部的信號要嚴格滿足相應的時序關系,但是各個通道之間的信號之間是異步關系,沒有嚴格的時序要求。以圖4為例,WVALID信號與WDATA信號可以出現在AWVALID信號和AWADDR信號之前,但是WVALID信號與WDATA信號之間、AWVALID信號與AWADDR信號之間必須滿足圖4中的時序關系。通道之間的信號對應是通過ID信號實現的,具有相同ID的讀通道、寫通道和響應通道傳輸的是一次猝發的數據,從而能夠確保各個通道之間信號的異步性。

2 邏輯設計實現

    在充分分析AXI4總線協議的信號集合與時序關系的基礎上,使用VHDL語言完成讀猝發模塊和寫猝發模塊的邏輯設計。

    讀猝發模塊邏輯設計流程如圖5所示。模塊接收到讀操作開始信號后,通過對ARREADY信號與讀地址個數的檢測,判斷是否可以進行讀操作,從而生成讀地址信號ARADDR及其有效信號ARVALID;通過對RREADY信號以及RVALID信號的判斷實現讀地址與讀數據個數的計數操作,從而判斷已經讀出的地址及數據個數;數據讀出后,通過寫RAM信號將數據寫入RAM中,從而完成對AXI4總線的讀猝發操作。

qrs1-t5.gif

    寫猝發模塊邏輯設計流程如圖6所示。模塊接收到寫操作開始信號后,通過對AWREADY信號與寫地址個數的檢測,判斷是否可以進行寫操作,從而生成寫地址信號AWADDR及其有效信號AWVALID;同時通過對WREADY信號以及寫數據個數的判斷,生成寫數據有效信號WVALID;待寫入AXI4總線的數據事先存儲在雙口RAM中,通過生成讀RAM的控制信號,從RAM中讀出數據,與WVALID信號配合以后送給AXI4總線從設備,從而完成對AXI4總線的寫猝發操作。

qrs1-t6.gif

3 測試分析

    對AXI4總線時序猝發讀寫操作邏輯模塊的功能驗證主要通過功能仿真和實際電路測試實現。

    首先進行功能仿真測試,功能仿真測試在ModelSim 6.4仿真環境下進行,利用VHDL語言編寫測試用例,主要用來驗證讀寫模塊能否向從設備正確發出相關的信號。由于從設備反饋的信號不容易在測試用例中描述,所以從設備反饋的信號通過實際電路測試的方式完成。在實際電路中,利用ChipScope工具抓取從設備的反饋信號,同時與主設備發出的信號進行時序關系的對應,進而驗證信號的時序關系是否符合協議規定。

    讀猝發操作主要信號的波形如圖7所示,從波形中可見,讀地址通道與讀數據通道之間是異步關系,兩個通道通過ARID與RID兩組信號確定同一次猝發操作。讀地址通道主要信號波形放大后如圖8所示,設置的初始讀地址為0x10000000,每個猝發包含0x80個地址字節,從圖中可見,讀猝發模塊能夠正確將地址信息發送給從設備。從從設備中讀出的數據寫入主設備的RAM中,寫RAM相關信號如圖9所示,測試過程中,首先將從設備從0x10000000地址開始以4 B為單位寫入初始數據,初始數據從0開始,每4 B數據加1。從圖9中可見,讀出的8 B數據正好是相鄰4 B數據的拼接,即第一個數是0x0000000100000000,第二個數是0x0000000300000002,依此類推,從而能夠驗證數據能夠正確從從設備讀出到主設備。

qrs1-t7.gif

qrs1-t8.gif

qrs1-t9.gif

    寫猝發模塊的功能驗證通過如下方式實現:利用寫猝發模塊向從設備的目的地址寫入8 B固定數0xaaaa55555555aaaa,從設備將寫操作之前的數據和寫操作之后的數據反饋給上位機,通過反饋的數據判斷是否正確從主設備寫入從設備。

    上位機反饋的測試結果如圖10所示,從設備的目的操作地址為0x10000000~0x10007fff,以4 B為一個操作單元。上電后首先讀取目的地址的數據,其結果是隨機的無規律數據;之后從設備將目的地址的數據進行初始化,寫入從0開始的遞增數據,寫完后再讀取目的地址數據,從而確認初始化數據已經正確寫入;之后完成寫猝發操作,將數據0xaaaa55555555aaaa寫入目的地址,寫操作完成后再讀取目的地址的數據,已經從初始化的遞增數據變成了寫入的數據0x5555aaaa和0xaaaa5555,從而能夠驗證寫猝發模塊已經正確將數據寫入從設備。

qrs1-t10.gif

    寫猝發操作的信號波形如圖11所示,從圖中可見,寫地址通道、寫數據通道與寫響應通道之間的信號之間是異步關系,各通道內部信號有嚴格的同步時序關系,與AXI4協議規定的時序關系一致。

qrs1-t11.gif

    在開始數據傳輸時,主設備將一個測試信號置為高,數據傳輸結束后將該信號電平拉低,利用示波器測量該信號的高電平寬度,即可確定數據傳輸的速率。通過測試可知,32 KB數據傳輸完畢需要約30 μs,傳輸速率為1.09 GB/s。

    通過上述測試分析可知,本文設計實現的數據傳輸模塊滿足AXI4總線協議的時序要求,能夠正確實現AXI4總線主從設備之間的高速數據傳輸。

4 結論

    AXI4總線協議作為嵌入式系統內部的常用總線協議,得到第三方EDA廠商與IP開發廠商普遍接受與采用。為滿足AXI4總線主設備與從設備之間的數據傳輸要求,本文通過對AXI4總線信號集合以及總線時序的分析研究,設計并實現了滿足AXI4總線時序要求的讀寫控制模塊,采用VHDL語言完成模塊的編寫。通過ModelSim仿真軟件仿真驗證和電路板實際測試分析表明,本文設計實現的AXI4總線時序模塊符合總線規范,能夠滿足高速數據傳輸的實際需求,測試結果表明,數據能夠在主從設備之間正確傳輸,傳輸速率能夠達到1.09 GB/s,具有較高的工程應用價值。

參考文獻

[1] 何賓.Xilinx All Programmable Zynq-7000 SoC設計指南[M].北京:清華大學出版社,2013.

[2] 蒲杰,李貴勇.基于AXI總線的DMA控制器的設計與實現[J].重慶郵電大學學報(自然科學版),2012,24(2):174-177.

[3] 張慶利,王進祥,葉以正,等.AMBA片內總線結構的設計[J].微處理機,2002(2):7-10.

[4] 周彩寶,劉應學.ARM體系以及AMBA總線分析[J].計算機工程,2003,29(5):147-149.

[5] 胡強.FPGA與通用處理器同步數據傳輸接口的設計[J].電子技術應用,2014,40(8):14-16.

[6] 張軍,馬琪.基于AMBA總線的DMA控制器設計[J].科技通報,2011,27(2):268-271.

[7] 唐平,鄭建宏.基于AHB總線的DMA控制器的實現與應用[J].電子測試,2009(11):64-67.

[8] 肖龍,萬旻,李濤.高速數字圖像數據傳輸的研究及實現[J].航天返回與遙感,2009(30):50-55.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美专区18| 国产精品美女诱惑| 欧美在线播放一区二区| 国产精品99久久久久久人| 日韩视频在线你懂得| 亚洲人被黑人高潮完整版| 国内精品亚洲| 国产精品成人v| 欧美三级第一页| 欧美日韩一区高清| 欧美日韩在线不卡| 欧美系列电影免费观看| 国产精品福利网站| 国产精品久久久久免费a∨ | 亚洲综合色视频| 亚洲一区二区三区在线看| 亚洲美女av在线播放| 99精品热视频只有精品10| 亚洲精品一级| 99在线视频精品| 亚洲少妇诱惑| 亚洲欧美精品| 久久国内精品自在自线400部| 亚洲免费av电影| 亚洲乱码精品一二三四区日韩在线 | 亚洲三级电影全部在线观看高清| 国产午夜精品麻豆| 欧美色欧美亚洲另类七区| 免费黄网站欧美| 欧美激情一区二区三区| 欧美日韩国产精品专区| 国产精品久久波多野结衣| 国产酒店精品激情| 黄色国产精品一区二区三区| 亚洲国产一区二区三区高清| 好看的日韩视频| 在线免费不卡视频| 亚洲裸体在线观看| 亚洲在线第一页| 亚洲国产高清视频| 亚洲无毛电影| 久久精品国产精品亚洲精品| 欧美福利视频| 国产精品免费aⅴ片在线观看| 国产精品白丝jk黑袜喷水| 国产精品一区毛片| 国产精品久久久久久久久久久久| 欧美日本亚洲视频| 欧美性开放视频| 国产精品爱久久久久久久| 国产色综合天天综合网| 亚洲国产一区在线| 亚洲大胆女人| 国产精品99久久99久久久二8| 一本久道久久综合狠狠爱| 亚洲狼人综合| 亚洲欧美日本日韩| 亚洲欧美日韩一区二区在线| 久久激情五月激情| 一区二区三区高清视频在线观看| 日韩一区二区精品在线观看| 亚洲欧美日韩一区二区三区在线| 亚洲欧美国产制服动漫| 久久久噜噜噜久久狠狠50岁| 久久精品国产免费观看| 欧美激情一区二区三区全黄| 欧美激情第五页| 国产日韩欧美在线播放不卡| 国产一区二区三区久久悠悠色av| 韩国av一区| 99一区二区| 91久久线看在观草草青青| 亚洲精品偷拍| 这里只有精品丝袜| 久久亚洲综合色一区二区三区| 美女免费视频一区| 国产精品视频xxx| 国产一区二区三区日韩欧美| 国模精品一区二区三区| 99re在线精品| 亚洲国产小视频| 日韩视频一区二区在线观看| 久久成人18免费网站| 欧美视频免费| 亚洲电影免费观看高清完整版在线观看| 亚洲国产精品成人综合色在线婷婷| 最新成人av在线| 欧美一区二区三区视频| 亚洲欧美99| 欧美日韩亚洲国产一区| ●精品国产综合乱码久久久久| 99国内精品| 91久久极品少妇xxxxⅹ软件| 久久国产精品久久久久久| 美日韩精品视频| 欧美日韩美女在线观看| 在线日韩欧美| 亚洲视频免费看| 亚洲美女中文字幕| 欧美一区不卡| 国产精品国产一区二区| 一区二区三区在线高清| 午夜精品久久久久久久| 亚洲欧美一区二区原创| 久久综合电影| 欧美日韩在线免费观看| 亚洲国产一区在线观看| 亚洲人成人一区二区在线观看 | 欧美精品日韩综合在线| 欧美午夜在线| 日韩午夜在线| 国产精品99久久不卡二区| 久久久久国产免费免费| 国产精品在线看| 亚洲免费中文字幕| 欧美亚洲综合久久| 国产精品亚发布| 午夜精品久久久久久久99水蜜桃 | 欧美在线视频免费观看| 国产精品久久久久一区二区| 一区二区日本视频| 亚洲视频在线观看三级| 久久这里只有| 国产精品每日更新| 亚洲国产精品毛片| 亚洲国产日韩欧美在线图片| 免费毛片一区二区三区久久久| 国产精品理论片在线观看| 在线午夜精品自拍| 午夜视频一区| 国产一区二区精品丝袜| 欧美在线一区二区| 久久夜色精品国产| 亚洲成人资源| 一区二区欧美国产| 国产精品久久毛片a| 午夜精品久久久久久久白皮肤| 一区二区欧美日韩| 欧美三级不卡| 亚洲欧美日韩国产综合| 中文日韩电影网站| 国产精品国产三级国产a| 亚洲欧美精品一区| 久久久久高清| 亚洲二区免费| 在线视频精品一| 国产精品男女猛烈高潮激情 | 午夜影视日本亚洲欧洲精品| 久久久www免费人成黑人精品| 国产精品初高中精品久久| 亚洲视频图片小说| 欧美中文在线视频| 影音先锋亚洲一区| 9久re热视频在线精品| 免费视频一区| 一本到高清视频免费精品| 欧美在线高清视频| 在线观看成人网| 亚洲天堂网在线观看| 国产女主播一区二区| 亚洲高清成人| 欧美色一级片| 亚洲欧美日韩国产一区二区| 老司机精品视频一区二区三区| 国模大胆一区二区三区| 亚洲免费观看高清在线观看| 国产精品卡一卡二| 亚洲国产裸拍裸体视频在线观看乱了中文 | 蜜臀久久久99精品久久久久久| 国内不卡一区二区三区| 亚洲日本免费电影| 国产精品久久福利| 亚洲国产美女精品久久久久∴| 久久美女性网| 亚洲激情二区| 久久精品国产免费观看| 亚洲精品一区二区三区在线观看| 99在线观看免费视频精品观看| 欧美精选一区| 欧美一区二区三区四区在线观看地址 | 免费日韩av片| 亚洲一区二区三区免费在线观看 | 国产一区日韩欧美| 99riav久久精品riav| 国产乱码精品1区2区3区| 日韩一二在线观看| 国产在线拍偷自揄拍精品| 亚洲天堂成人在线视频| 玉米视频成人免费看| 午夜精品99久久免费| 亚洲黄一区二区三区| 久久黄金**| 一本色道久久综合亚洲精品高清| 亚洲免费影院| 亚洲国产欧美一区二区三区同亚洲| 99国产精品久久久久久久| 国产亚洲aⅴaaaaaa毛片| 亚洲在线播放电影| 亚洲日本一区二区| 美女网站在线免费欧美精品|