亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        支持多從機全雙工通信的IP核互聯(lián)模型*

        2018-09-01 02:21:08莫錦輝易清明
        航天控制 2018年4期
        關鍵詞:指令效率模型

        石 敏 莫錦輝 易清明

        暨南大學信息科學與技術(shù)學院, 廣州 510632

        隨著芯片集成度越來越高,基于知識產(chǎn)權(quán)(Intellectual Property,IP)進行片上系統(tǒng)(System on Chip,SoC)芯片設計的能力和技術(shù)得到了迅速提高。有關IP核復用的SoC設計方法學已成為解決設計成本高、開發(fā)周期長以及功能復雜等問題的有效手段[1]。在IP核復用過程中,SoC系統(tǒng)需要片上總線實現(xiàn)各個IP核之間的互聯(lián)。不同的總線技術(shù)會對系統(tǒng)的傳輸效率造成差異,從而影響系統(tǒng)的整體性能。目前市面上仍然有許多串行外設接口(Serial Peripheral Interface,SPI)和通用異步收發(fā)傳輸器(Universal Asynchronous Receiver /Transmitter,UART)用于串行通信總線,因其低速傳輸?shù)木窒拊斐蒘oC系統(tǒng)傳輸效率低和CPU指令執(zhí)行效率低的問題[2]。AXI4(Advanced eXtensible Interface)總線作為ARM公司于2010年推出的一種最新總線規(guī)范,因其高效的傳輸效率和可靠性能,廣泛應用在工程上。本文在研究AXI4最新協(xié)議的基礎上,通過擴展ARMv4自定義指令和提出支持全雙工通信的AXI4協(xié)議轉(zhuǎn)換接口,實現(xiàn)一個由主機CPU、AXI4總線和從機SPI、UART組成的互聯(lián)模型。

        1 支持AXI4總線的IP核互聯(lián)模型

        目前絕大多數(shù)的AXI4總線互聯(lián)模型[3-5]采用APB轉(zhuǎn)換橋?qū)崿F(xiàn)總線與外設的互聯(lián),但由于APB 協(xié)議的局限,兩者之間不能同時進行讀和寫操作;它也沒有指出主機與總線之間具體的互聯(lián)方式。本文設計的互聯(lián)模型采用支持AXI4協(xié)議的從機接口,實現(xiàn)了總線與從機之間的全雙工通信,具有較高的傳輸效率。另外,提供了主機與總線互聯(lián)的具體方案,具有較強的實用性。

        如圖1互聯(lián)模型所示,CPU分別通過AXI4總線與UART和SPI互聯(lián)。AXI4總線模塊內(nèi)部分為主機接口、AXI4接口、中繼模塊和從機接口。下面分別介紹CPU與AXI4總線互聯(lián)和AXI4總線與SPI、UART互聯(lián)。

        圖1 支持AXI4總線協(xié)議的IP核互聯(lián)模型

        1.1 CPU與AXI4總線互聯(lián)

        1.1.1 AXI4總線概述

        ARM公司推出的AXI4總線標準可以滿足目前SoC系統(tǒng)對總線帶寬和通訊復雜度等要求,它已成為業(yè)界片上總線的首選及學術(shù)界的研究熱點[6-11]。AXI4總線包含讀地址、讀數(shù)據(jù)、寫地址、寫數(shù)據(jù)和寫響應5個獨立通道。采用獨立傳輸通道可以避免信號阻塞和錯誤冗余,且允許讀和寫傳輸同時進行,提高了讀寫效率。AXI4總線增強了猝發(fā)模式的支持和多個設備互聯(lián)的利用率,為保證數(shù)據(jù)傳輸?shù)男侍岢鰜y序操作,對于不同的訪問可以亂序進行(如圖2所示),使用 ID標記訪問的歸屬。

        圖2 AXI4總線亂序操作示意圖

        1.1.2 AXI4主機接口

        SoC系統(tǒng)內(nèi)部的各個IP核之間必須都要具備時序要求一致的接口才能實現(xiàn)互聯(lián)。如果時序要求不一致,需要在原來的IP上擴展轉(zhuǎn)換接口。CPU與AXI4總線需要通過主機接口(圖3所示)才能實現(xiàn)互聯(lián)。主機接口的作用是將CPU產(chǎn)生的地址、數(shù)據(jù)和控制信號進行協(xié)議轉(zhuǎn)換,并按照一定的時序邏輯提供給AXI4總線。

        圖3 主機接口

        如圖4和5主機操作時序圖所示,主機先提供一次地址/控制信息(addr/length,type,rd_req,wr_req)給AXI4總線發(fā)起讀寫操作請求。在從機回應rd_addack /wr_addrack,主機發(fā)起的讀/寫操作分別通過獨立的通道進行數(shù)據(jù)傳輸,主機最后根據(jù)rd_cmplt/wr_cmplt信號確認傳輸完成。當主機在發(fā)送讀地址ADDR1后立即發(fā)送下一個讀地址ADDR2,AXI4總線就存在兩個待被讀傳輸,即交疊傳輸。交疊傳輸能支持該流水傳輸,可以減少傳輸延遲,提高數(shù)據(jù)傳輸效率。

        圖4 AXI4主機接口讀操作時序圖

        圖5 AXI4主機接口寫操作時序圖

        1.1.3 支持AXI4主機接口的CPU設計

        互聯(lián)模型的嵌入式CPU支持ARMv4指令集,具有體積小、功耗低及執(zhí)行效率高等優(yōu)點。如圖6所示,CPU按照功能劃分為3個主要模塊:控制模塊、數(shù)據(jù)通路模塊和運算器模塊[12]。

        圖6 CPU內(nèi)核結(jié)構(gòu)

        控制模塊負責對指令進行譯碼操作,分析出當前指令所要實現(xiàn)的功能,并將指令執(zhí)行操作涉及的相關寄存器和存儲器選擇信號發(fā)送給數(shù)據(jù)通路模塊。數(shù)據(jù)通路模塊產(chǎn)生數(shù)據(jù)通路信號對指定的寄存器或存儲器進行讀寫操作,同時配合運算模塊的數(shù)據(jù)運算操作,對寄存器進行回寫操作,從而完成指令的執(zhí)行功能。

        CPU內(nèi)核能夠?qū)崿F(xiàn)5大類指令功能:分別是數(shù)據(jù)處理指令、乘法指令、跳轉(zhuǎn)指令、加載/存儲指令和傳輸指令。一條典型的32位ARM指令編碼格式如圖7所示。

        如表1所示,本文擴展3條ARMv4自定義指令用于實現(xiàn)CPU與AXI4之間的數(shù)據(jù)傳輸。MRB指令用于CPU讀取AXI4總線的數(shù)據(jù),實現(xiàn)將主機接口的數(shù)據(jù)讀取到CPU寄存器堆的功能;MBR指令用于CPU對AXI4總線寫數(shù)據(jù),實現(xiàn)將CPU寄存器堆的內(nèi)容寫到主機接口的功能。MBI指令用于設置AXI4總線猝發(fā)的地址、長度和類型,實現(xiàn)將立即數(shù)直接寫到主機接口的功能。

        表1擴展的ARMv4自定義指令

        AXI4總線的中繼模塊將AXI4接口通過路由的方式拓展為2個AXI4接口,它通過尋址的方式選擇與SPI、UART中的1個進行通信。

        1.2 AXI4總線與SPI、UART互聯(lián)

        1.2.1 AXI4從機轉(zhuǎn)接口

        如圖8所示,從機接口的作用是實現(xiàn)AXI4總線與SPI、UART之間的地址、數(shù)據(jù)和控制信號的轉(zhuǎn)換。

        圖8 從機接口

        從機接口AXI4總線對外圍設備的讀和寫操作時序圖與主機接口CPU對AXI4的讀和寫操作時序相似。

        1.2.2 AXI4從機接口的SPI設計

        SPI是一種同步串行接口,可以同時驅(qū)動串行數(shù)據(jù)的發(fā)送和接收[12]。它有SCK同步串行時鐘線,SDI串行數(shù)據(jù)輸入線,SDO 串行數(shù)據(jù)輸出線,和SS從器件選擇線??梢酝ㄟ^對時鐘極性和時鐘相位的配置來選擇SPI四種傳輸模式的一種。

        SPI具有接口少、時序簡單及功能強大等優(yōu)點。但它缺點也比較明顯:沒有傳輸需求和應答機制,不能夠很好地確定數(shù)據(jù)收發(fā)是否正確。本文設計的支持AXI4從機接口的SPI(如圖9所示)可以解決這些問題,并且實現(xiàn)了高速總線與低速設備的兼容。

        圖9 支持AXI4從機接口的SPI結(jié)構(gòu)圖

        它主要包含以下幾個模塊:收發(fā)控制模塊、時鐘模塊、接收FIFO、發(fā)送FIFO和總線接口控制模塊。收發(fā)控制模塊的功能是時刻檢測發(fā)送FIFO和接收FIFO中數(shù)據(jù)的存儲狀態(tài),控制數(shù)據(jù)的發(fā)送和接收。接收FIFO用于存儲SPI接口收到的數(shù)據(jù),而發(fā)送FIFO用于存儲SPI接口要發(fā)送出去的數(shù)據(jù),兩者都會同時向收發(fā)控制模塊和總線接口控制模塊發(fā)送FIFO存儲信息??偩€接口控制模塊的功能是實現(xiàn)AXI4總線與SPI的讀寫操作:當AXI4總線要對外發(fā)送數(shù)據(jù)時,總線接口控制模塊會向發(fā)送FIFO發(fā)送寫信號,并將數(shù)據(jù)寫入到發(fā)送FIFO中,然后等待SPI將FIFO中的數(shù)據(jù)發(fā)送出去;當AXI4總線要接收數(shù)據(jù)時,總線接口控制模塊會向接收FIFO發(fā)送讀信號,并讀出FIFO中的數(shù)據(jù)。

        1.2.3 支持AXI4從機接口的UART設計

        UART 是一種異步通信接口,支持串行鏈路上的全雙工通信[13]。 通信的發(fā)送方和接收方各自有獨立的時鐘,傳輸?shù)乃俾视呻p方約定。它的作用是將接收到的串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)或者將并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)發(fā)送。

        UART有2根信號線:發(fā)送信號txd和接收信號rxd。通常情況下,一幀數(shù)據(jù)包括起始位、數(shù)據(jù)位、奇偶校驗位和停止位。UART的數(shù)據(jù)傳輸格式以低電平作為起始位,可傳輸從低位到高位順序排列的8 比特數(shù)據(jù),1 比特奇偶校驗位,最后以高電平作為停止位。

        由于UART采用串行通信,一幀只能傳輸8比特有效數(shù)據(jù),傳送效率非常低。本文設計支持AXI4從機接口的UART能夠利用AXI4總線的優(yōu)勢減少傳輸延遲,實現(xiàn)CPU與UART之間快速的數(shù)據(jù)傳輸。

        如圖10所示,UART可分為發(fā)送單元、接收單元、波特率產(chǎn)生器和總線接口控制模塊。

        圖10 支持AXI4從機接口的UART的結(jié)構(gòu)圖

        UART的發(fā)送單元由發(fā)送模塊、發(fā)送控制模塊及發(fā)送FIFO組成。發(fā)送模塊的主要功能是接收來自FIFO的有效數(shù)據(jù)信號,將并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù),并添加起始位、奇偶校驗位和停止位后通過發(fā)送端口按位發(fā)送出去。發(fā)送控制模塊的作用是檢測FIFO中數(shù)據(jù)的存儲狀態(tài),控制發(fā)送模塊對FIFO的讀操作。同樣,UART的接收單元由接收模塊、接收控制模塊以及接收FIFO組成。接收模塊的主要功能是檢測接收信號線上的數(shù)據(jù)是否有效,并將接收到的串行有效數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)寫入到FIFO。接收控制模塊的作用是根據(jù)FIFO的存儲情況來控制接收模塊對FIFO的寫操作。UART總線接口控制模塊的功能是實現(xiàn)AXI4總線與SPI的讀寫操作。

        2 實現(xiàn)驗證及性能分析

        編寫CPU測試指令(表2所示),并用Modelsim -Altera 10.1a對整個互聯(lián)模型進行仿真驗證,通過判斷主機CPU、AXI4總線和從機SPI、UART之間的數(shù)據(jù)傳輸與指令測試內(nèi)容的預期值是否一致,驗證模型的正確性。Modelsim需要提供激勵源,其中包括對SPI的MISO輸入端提供數(shù)據(jù)35h、69h、92h和UART的rxt輸入端提供數(shù)據(jù)8fh、89h和b3h。

        表2ROM存儲的測試指令

        指令測試主要內(nèi)容是:CPU申請地址為00000400h,長度為3的寫猝發(fā),并依次將R0、R5和R3上的數(shù)據(jù)發(fā)給AXI4總線;CPU申請對地址為00000400h,長度為3的讀猝發(fā)操作,并將讀數(shù)據(jù)存放在R3;CPU申請地址為00000000h,長度為3的寫猝發(fā),并依次將R2、R6、和R7上的數(shù)據(jù)發(fā)給AXI4總線;將R0~R5上數(shù)據(jù)批量加載到以地址0x40000020為開始的RAM;CPU申請地址為00000000h,長度為3的讀猝發(fā)操作,并將讀數(shù)據(jù)存放在R2上。

        圖11和12分別是CPU發(fā)起讀寫操作時主機接口和從機接口的時序圖,從中可以觀察到兩者均有與測試指令相對應的傳輸數(shù)據(jù)。

        從圖13模型的系統(tǒng)仿真圖可以看到:CPU執(zhí)行數(shù)據(jù)處理和存儲加載指令后,R0~R7的數(shù)據(jù)分別為00000037、00000045、000000ef、0000007c、0000406b、00000ed3、40000020和00000406,均與預算值相符;CPU執(zhí)行完所有指令后,R2上的數(shù)據(jù)依次出現(xiàn)00000035、00000069和00000092,R3上的數(shù)據(jù)依次出現(xiàn)0000008f、00000089和000000b3,并且以上6個數(shù)據(jù)以交叉的形式出現(xiàn),表明CPU能充分利用AXI4總線亂序傳輸、交疊傳輸?shù)臋C制,同時讀取了SPI和UART數(shù)據(jù),并且所讀數(shù)據(jù)與Modelsim提供的數(shù)據(jù)一致;UART的txd信號輸出00000037、00000ed3和0000007c,SPI的MOSI信號輸出000000ef、40000020和0000406b,表明UART、SPI能正確接收CPU發(fā)出的數(shù)據(jù)。

        圖11 主機接口仿真圖

        從MOSI、MISO、txd和rxd的波形可以看出,CPU可同時與SPI、UART進行全雙工通信。另外,當CPU與SPI、UART傳輸數(shù)據(jù)時,CPU已經(jīng)提前執(zhí)行耗時較多的批量加載指令E8A6003F,這說明CPU高速的指令執(zhí)行與系統(tǒng)低速的數(shù)據(jù)傳輸是相互獨立的。由仿真圖測得:CPU執(zhí)行所有的測試指令需要36個時鐘周期,SPI數(shù)據(jù)傳輸需要60個時鐘周期,UART數(shù)據(jù)傳輸需要192個時鐘周期。CPU可以充分利用系統(tǒng)數(shù)據(jù)傳輸延遲的156個時鐘周期去處理系統(tǒng)的其它事務,具有很高的指令執(zhí)行效率。

        圖12 從機接口的仿真圖

        圖13 模型系統(tǒng)功能仿真圖

        圖14 自定義SPI讀寫時序圖

        文獻[2]模型采用的是幀長固定為32個比特的自定義SPI串行總線讀寫時序(圖14所示),需要主機先提供控制和地址字段,才能傳輸一個16比特的數(shù)據(jù),即總線數(shù)據(jù)傳輸利用率僅僅為50%。文獻[3]模型采用APB轉(zhuǎn)換橋?qū)崿F(xiàn)AXI4總線與SPI的互聯(lián),但兩者之間不能同時進行讀和寫操。將本文模型與文獻[2]和[3]涉及的模型在傳輸性能上做比較。在CPU時鐘頻率為100MHz,AXI4總線和SPI的時鐘頻率都為25MHz的條件下 ,CPU對SPI先后發(fā)起100個字節(jié)數(shù)據(jù)的讀和寫操作,其結(jié)果如表3所示。

        表3 不同模型的傳輸性能比較

        從表3中可以看出,本文設計的互聯(lián)模型相較于文獻[2]的帶寬提高127倍,傳輸時間減少97.2%;比文獻[2]的帶寬提高33.3%,傳輸時間減少56.1%,說明本文互聯(lián)模型的帶寬和傳輸速率都得到了很好的優(yōu)化和提升。

        3 結(jié)束語

        在研究ARM公司最新的AXI4協(xié)議基礎上,通過擴展ARMv4自定義指令和提出一種基于AXI4總線協(xié)議的轉(zhuǎn)換接口,設計并實現(xiàn)了一種支持多個從機同時全雙工通信的IP核互聯(lián)模型。該模型能夠克服市面上大多數(shù)SoC主機與多個從機進行通信、需要長時間排隊等待和讀寫操作不能同時進行的問題,具有廣泛的應用前景和市場需求。仿真及實驗結(jié)果表明,該模型能夠大幅度地提高數(shù)據(jù)傳輸效率并且CPU具備較高的指令執(zhí)行效率。

        猜你喜歡
        指令效率模型
        一半模型
        聽我指令:大催眠術(shù)
        重要模型『一線三等角』
        提升朗讀教學效率的幾點思考
        甘肅教育(2020年14期)2020-09-11 07:57:42
        重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
        ARINC661顯控指令快速驗證方法
        LED照明產(chǎn)品歐盟ErP指令要求解讀
        電子測試(2018年18期)2018-11-14 02:30:34
        3D打印中的模型分割與打包
        跟蹤導練(一)2
        “錢”、“事”脫節(jié)效率低
        成年站免费网站看v片在线| 日韩精品一区二区三区四区视频| 中文字幕亚洲中文第一| 影音先锋久久久久av综合网成人| 特黄特色的大片观看免费视频| 国产欧美日韩综合在线一区二区| 亚洲av人片在线观看调教| 国产亚洲av成人噜噜噜他| 成年女人色毛片| 黑人性受xxxx黑人xyx性爽| 精品蜜桃av一区二区三区| 中文字幕人妻少妇伦伦| 少妇太爽了在线观看免费视频| 中文字幕一区二区三区乱码不卡 | 国产免费破外女真实出血视频| 熟女白浆精品一区二区| 中文字幕人成人乱码亚洲| 日本高清成人一区二区三区| 九九影院理论片私人影院| 中文字幕一区二区三区精彩视频| 亚洲色www无码| 新久久国产色av免费看| 久久精品国产亚洲7777| 精品88久久久久88久久久| 亚洲精品二区三区在线观看| 91超精品碰国产在线观看| 九九精品国产亚洲av日韩| 在线观看日本一区二区 | 毛片大全真人在线| 欧美亚洲韩国国产综合五月天| 激情五月开心五月av| 国产丝袜美女一区二区三区| 国产日韩成人内射视频| 国产精品毛片大尺度激情| 米奇欧美777四色影视在线| 国产乱人伦在线播放| 69国产成人综合久久精| 亚洲精品在线免费视频| 日本三级欧美三级人妇视频黑白配 | 亚洲白白色无码在线观看| 国产亚洲激情av一区二区|