999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

多核DSP和FPGA之間的高速SRIO通信

2017-04-19 10:17:57汪安民韓道文徐焱
關(guān)鍵詞:程序設(shè)置

汪安民,韓道文,徐焱

(1.同方電子科技有限公司研究所,九江 332009;2.電子工程學(xué)院;3.哈爾濱工業(yè)大學(xué))

多核DSP和FPGA之間的高速SRIO通信

汪安民1,韓道文2,徐焱3

(1.同方電子科技有限公司研究所,九江 332009;2.電子工程學(xué)院;3.哈爾濱工業(yè)大學(xué))

在高速采樣系統(tǒng)中,大量數(shù)據(jù)需要實(shí)時(shí)傳輸?shù)教幚砥鳌S绕涫窍到y(tǒng)中存在多個(gè)處理器協(xié)同工作,就需要高速的總線來交換數(shù)據(jù)。SRIO總線由于存在連線少、傳輸速度高等優(yōu)點(diǎn),使用較為廣泛。本文介紹了多核DSP和FPGA之間使用SRIO進(jìn)行數(shù)據(jù)交換的軟硬件設(shè)計(jì)方法,在不同數(shù)據(jù)需求下,介紹了FPGA將數(shù)據(jù)直接傳輸?shù)紻SP的DDR3、片內(nèi)RAM或者多核的共享RAM中。本文研制了硬件系統(tǒng),給出了各種方式的軟件操作方法和實(shí)際硬件平臺(tái)驗(yàn)證,SRIO傳輸速率達(dá)到4 Gbps。

多核處理器;SRIO;共享RAM

引 言

大規(guī)模集成電路的高速發(fā)展,使得處理器的能力越來越強(qiáng),進(jìn)而處理的事件增多;大數(shù)據(jù)的應(yīng)用,使得高速寬帶采樣成為必然,高速采樣每秒采集到的信息量遠(yuǎn)遠(yuǎn)大于低速采樣。高速采集、高速存儲(chǔ)和高速處理成為發(fā)展的必然。這其中,高速傳輸通道是芯片間的數(shù)據(jù)橋梁,一般要求10 Gbps以上的處理速度,實(shí)時(shí)傳輸至少要達(dá)到幾Gbps。在設(shè)備之間,采用萬兆網(wǎng)、USB3.0、光纖通信等;在板間,采用PCIe、VPX等;而在芯片間,采用SRIO(也稱RapidIO)總線是常用方法。

多核處理器片內(nèi)集成多個(gè)處理器,目前得到大規(guī)模使用;同時(shí)多核處理器的強(qiáng)處理能力,也豐富了產(chǎn)品的功能。為了支撐功能使用,一般多核處理器都會(huì)配置大容量DDR2或DDR3,運(yùn)行程序和存儲(chǔ)數(shù)據(jù),還配置共享RAM空間用于多個(gè)核之間的通信,每個(gè)核還有自己的私有RAM。一旦其他芯片和多核處理器進(jìn)行數(shù)據(jù)交互,可能會(huì)和這3個(gè)RAM空間進(jìn)行高速通信。傳統(tǒng)的單處理器交換一定需要CPU參與,CPU讀取數(shù)據(jù),然后存儲(chǔ)到芯片的DDR、片內(nèi)RAM或者片外Flash空間。但這樣,每個(gè)數(shù)據(jù)交互都需要CPU參與,嚴(yán)重影響了運(yùn)行效益。而多核處理器,數(shù)據(jù)交互遠(yuǎn)比單核處理器頻繁,而且要求交互速率也非常高,這就需要數(shù)據(jù)總線直接進(jìn)行交互,而不用CPU參與[2]。

本文以8核DSP芯片TMS320C6678(以下簡(jiǎn)稱C6678)和xck7325t芯片為例,通過4線SRIO實(shí)現(xiàn)FPGA將數(shù)據(jù)直接傳輸?shù)紻SP的DDR3、共享片內(nèi)RAM的方法。筆者給出了軟硬件設(shè)計(jì)方法,研究了硬件平臺(tái),實(shí)際數(shù)據(jù)傳輸驗(yàn)證,該方法可以實(shí)現(xiàn)4 Gbps的高速傳輸。

1 多核DSP的RAM結(jié)構(gòu)

C6678是TI公司多核處理器中的一款8核浮點(diǎn)型DSP,最高工作頻率達(dá)到1.25 GHz,單個(gè)核具備40 GMAC定點(diǎn)計(jì)算或20 GFLOP浮點(diǎn)計(jì)算能力,單芯片具備320 GMAC或160 GFLOP的計(jì)算能力[3]。C6678的部分片內(nèi)結(jié)構(gòu)如圖1所示。

圖1 C6678內(nèi)部結(jié)構(gòu)圖

圖1主要列出了C6678和RAM相關(guān)的片內(nèi)模塊,其他部分未列出。從圖中可以看出,一個(gè)超高速的TeraNet(兆兆網(wǎng)絡(luò))總線將大部分模塊連接在一起,數(shù)據(jù)通過TeraNet總線進(jìn)行交互。核訪問共享RAM(圖中的MSM SRAM)的速度最快,它們之間不通過TeraNet,而是有專用的數(shù)據(jù)總線,不會(huì)和其他外設(shè)產(chǎn)生沖突,核訪問共享RAM的速率大概在50 Gbps。核訪問DDR3的速度僅次于共享RAM,因?yàn)镈DR3的數(shù)據(jù)需要通過共享RAM過渡,其讀寫訪問速度有所差別,讀速率至少可以達(dá)到10 Gbps,寫速率可以達(dá)到20 Gbps。核訪問其他片內(nèi)和片外設(shè)備都要經(jīng)過TeraNet,可能存在總線仲裁,但這些外設(shè)一般不會(huì)長(zhǎng)時(shí)間占據(jù)TeraNet總線。

本文關(guān)注的SRIO是直接掛在TeraNet總線上的,而C6678的DDR3控制器、共享RAM、512 KB的二級(jí)Cache都是連接在TeraNet總線上,所以,SRIO可以直接和這3個(gè)RAM進(jìn)行通信,但需要一定的時(shí)序控制,否則會(huì)造成RAM的互鎖,增大仲裁開銷,甚至程序死機(jī)。具體表現(xiàn)在:

① 和DDR3進(jìn)行通信。因?yàn)镈DR3一般會(huì)運(yùn)行主核程序,尤其是需要使用網(wǎng)絡(luò)接口,TI提供的NDK程序代碼很大,必須在DDR3中運(yùn)行。這樣程序運(yùn)行的DDR3地址,SRIO不能盲目進(jìn)行讀寫,尤其是寫操作,此外如果SRIO和程序需要同時(shí)讀某一地址,就會(huì)造成總線沖突。

② 和共享RAM進(jìn)行通信。共享RAM是用于多個(gè)核之間的數(shù)據(jù)交互,幾個(gè)核對(duì)共享RAM的某個(gè)地址進(jìn)行操作,一定需要一個(gè)控制權(quán)搶占,誰搶占到控制權(quán)誰就可以操作,其他核只能等待,這樣就避免了多個(gè)核同時(shí)訪問共享RAM的問題。如果SRIO對(duì)共享RAM進(jìn)行操作,一定需要將SRIO加入核之間的控制權(quán)搶占以及釋放。

③ 和每個(gè)核私有RAM進(jìn)行通信。理論上,SRIO可以和每個(gè)核的L1數(shù)據(jù)空間、L1程序空間、L2空間進(jìn)行通信。但一般程序會(huì)將L1的全部數(shù)據(jù)和程序空間、L2的部分空間定義為Cache,用于存儲(chǔ)程序運(yùn)行的中間結(jié)果,例如局部變量。程序在調(diào)試過程中的打印輸出等也需要較大的堆棧來處理,這些堆棧空間都在私有RAM中由SYS/BIOS自動(dòng)開辟。如果SRIO將數(shù)據(jù)寫入到這些空間,將很可能造成地址的同時(shí)讀寫,所以建議SRIO不對(duì)這些空間進(jìn)行操作。

2 SRIO的硬件連接

FPGA和DSP的SRIO硬件連接如圖2所示。SRIO總線由收發(fā)各4對(duì)差分線(一共16根線)組成。DSP的RIORXp0~3為4根收數(shù)據(jù)的正端,RIORXn0~3為一一對(duì)應(yīng)的4根收數(shù)據(jù)的負(fù)端,它們和FPGA相應(yīng)的8根發(fā)數(shù)據(jù)連接,形成一個(gè)FPGA發(fā)、DSP收的回路。另外8根線形成一個(gè)DSP發(fā)、FPGA收的回路。所以,在物理層,SRIO的收發(fā)是完全獨(dú)立的,可以做到收發(fā)全雙工。為了提高SRIO傳輸可靠性,在靠近收方的總線上,需要采用隔離電容,將信號(hào)直流隔掉,使得差分信號(hào)更加可靠。SRIO的時(shí)鐘由各自的處理器單獨(dú)設(shè)置,不要求DSP和FPGA共用SRIO時(shí)鐘。SRIO的傳輸時(shí)鐘是疊加在傳輸數(shù)據(jù)上的,由SRIO處理器從數(shù)據(jù)總線提取出時(shí)鐘信號(hào),用于數(shù)據(jù)位的對(duì)齊。這些處理工作,均由各自芯片的SRIO模塊完成,不需要用戶設(shè)置[4]。

圖2 硬件連接圖

圖2中,DSP外掛了5片DDR3,每片DDR3為16位數(shù)據(jù)寬度,4片組成64位數(shù)據(jù)寬度,直接連接到DSP。第5片連接到DSP的數(shù)據(jù)校驗(yàn)位,每個(gè)64位的數(shù)據(jù)通過BCH編碼生成一個(gè)8位的校驗(yàn)碼同時(shí)存放到第5片DDR3中,DSP讀取DDR3數(shù)據(jù)時(shí),也同時(shí)把這個(gè)校驗(yàn)碼讀出,進(jìn)行BCH譯碼。如果譯碼正確,則表示數(shù)據(jù)可靠,否則會(huì)嘗試重讀或多次失敗后丟棄數(shù)據(jù)。此外BCH碼具有一定的數(shù)據(jù)糾錯(cuò)能力,也可以提高DDR3數(shù)據(jù)的讀寫可靠性。經(jīng)過實(shí)際驗(yàn)證,由DSP直接讀速度達(dá)到10 Gbps,寫速度達(dá)到20 Gbps。

由于DSP有多個(gè)外設(shè),這些外設(shè)需要一個(gè)基準(zhǔn)時(shí)鐘,這樣就方便時(shí)序和同步控制,圖中采用CDCM62005對(duì)輸入的125 MHz時(shí)鐘進(jìn)行分頻,輸出多路CLK信號(hào),分別提供到SRIO、DDD3模塊,以及DSP的運(yùn)行主時(shí)鐘。實(shí)際上還可以提供給DSP的網(wǎng)絡(luò)模塊、PCIe等模塊。

3 軟件設(shè)計(jì)

軟件設(shè)計(jì)主要包括各個(gè)模塊的初始化、數(shù)據(jù)讀寫、中斷響應(yīng)和任務(wù)控制等。

3.1 DDR3的軟件設(shè)計(jì)

DDR3的軟件設(shè)計(jì)包括初始化、讀/寫數(shù)據(jù)和刷新控制等。由于DDR3是依靠電容的充放電狀態(tài)來存儲(chǔ)信息,就需要定時(shí)刷新來維持電容的狀態(tài)。定時(shí)刷新由處理器的片內(nèi)模塊自動(dòng)完成,用戶不需要參與。DDR3的初始化順序?yàn)椋?/p>

① 配置DDR3的PLL,通過設(shè)置PLL寄存器中的clkr、clkf、clkmod以及bwadj位來確定DDR3的工作時(shí)鐘。

② 延遲一段時(shí)間,等待PLL設(shè)置有效。

③ 清除RESET,使得PLL進(jìn)入工作狀態(tài),查詢PLL鎖定標(biāo)志。鎖定標(biāo)志有效,表示初始化過程結(jié)束。如果DDR3芯片及其周邊電路存在問題,PLL就會(huì)無法鎖定。這些問題可能包括:電源不穩(wěn)定、時(shí)鐘抖動(dòng)大以及硬件錯(cuò)誤等。

3.2 SRIO的軟件設(shè)計(jì)

SRIO的軟件設(shè)計(jì)包括初始化、數(shù)據(jù)讀寫和中斷響應(yīng)等。SRIO的軟件設(shè)計(jì)包括了FPGA和DSP兩個(gè)芯片,所以兩個(gè)芯片的大部分參數(shù)設(shè)置需要保持一致。此外,一旦SRIO的數(shù)據(jù)鏈路建立好后,一方不能自行單獨(dú)復(fù)位SRIO模塊,否則將出現(xiàn)雙方不能同步現(xiàn)象,SRIO數(shù)據(jù)不能正常通信。所以,一旦一方要求復(fù)位,必須通知對(duì)方。在程序中,建議在SRIO鏈路建立后,不進(jìn)行復(fù)位操作。SRIO的初始化順序?yàn)椋?/p>

① 配置SRIO的工作時(shí)鐘,SRIO需要從低速時(shí)鐘倍頻到高速時(shí)鐘,最低到1.25 Gbps,最高支持5 Gbps。一般電路板設(shè)計(jì)和制造后可以達(dá)到2.5 Gbps或者3.125 Gbps的時(shí)鐘速率。如果再采用4線制傳輸,傳輸數(shù)據(jù)速率可以輕松達(dá)到10 Gbps或者12.5 Gbps。

② 等到SRIO時(shí)鐘設(shè)置好后,按照先使能接收器,再使能發(fā)送器的順序復(fù)位自身的模塊,如果另外一方也設(shè)置好后,會(huì)看到連接寄存器的狀態(tài)位變化,表示雙方鏈路已經(jīng)建立;如果狀態(tài)位沒有變化,則說明存在硬件或者設(shè)置上的問題。

③ 設(shè)置數(shù)據(jù)收發(fā)中斷,可以以SRIO自身中斷,也可以以GPIO觸發(fā)另外中斷的方式。

3.3 SRIO傳輸數(shù)據(jù)到DDR3

多核DSP的程序代碼一般在DDR3中運(yùn)行,一旦SRIO也對(duì)DDR3進(jìn)行操作,就存在多個(gè)主模塊共享DDR3的問題。DDR3控制器只有一組總線與DDR3連接,一旦出現(xiàn)多個(gè)主模塊同時(shí)訪問DDR3時(shí),必須要根據(jù)優(yōu)先級(jí)進(jìn)行總線仲裁。DDR3的訪問以頁(yè)為基礎(chǔ),一個(gè)主模塊訪問某個(gè)頁(yè)之前,必須要打開該頁(yè)。DDR3最高具有8個(gè)bank,每個(gè)bank可以打開一頁(yè),最多同時(shí)打開8頁(yè)。但如果想同時(shí)訪問一個(gè)bank中的2頁(yè)是不可能的,只有關(guān)閉掉其中一頁(yè),才能訪問另外一頁(yè),這就存在頁(yè)切換的問題。

圖3是多個(gè)主模塊訪問同一bank下的不同頁(yè),這是切換最頻繁的情況,每次訪問都要進(jìn)行頁(yè)切換,導(dǎo)致傳輸效率大大降低。如果SRIO將數(shù)據(jù)傳輸?shù)竭@些頁(yè),存在很大的風(fēng)險(xiǎn)。雖然DDR3控制器可以進(jìn)行總線仲裁,但對(duì)于SRIO的傳輸端FPGA,不清楚總線是否被占用,仍然傳輸數(shù)據(jù),將會(huì)導(dǎo)致數(shù)據(jù)丟失,所以不建議SRIO用這種情況訪問DDR3。

圖3 多個(gè)模塊訪問同一bank的頁(yè)

圖4是多個(gè)主模塊訪問不同bank不同頁(yè)的情況,這是最簡(jiǎn)單的情況,因?yàn)槊總€(gè)主模塊訪問的bank和頁(yè)均不同,所以不存在任何頁(yè)切換情況,總線傳輸很快。但圖中的空白頁(yè)將無法訪問,一旦訪問,將回到圖3所示的情況,導(dǎo)致大量DDR3空間不能使用,所以不建議SRIO用這種情況訪問DDR3。

圖4 多個(gè)模塊訪問不同bank的不同頁(yè)

圖5是圖4的簡(jiǎn)化訪問方式,這種方式只存在

High-speed Communication Between Multicore DSP and FGPA Based on SRIO

Wang Anmin1,Han Daowen2,Xu Yan3

(1.Research of Tongfang Science and Technology Ltd.,Jiujiang 332009,China;2.Electronic Engineering Institute 3.Harbin Institute of Techonlogy)

High speed data communication between the different processors is needed in the high sampling system.The SRIO bus is used widely because it’s high efficiency and low latency.In this paper,the design method of SRIO bus between FPGA and DSP is studied.The data translation is realized from FPGA to DDR3,shared RAM or private RAM of DSP.In this paper,the hardware system is developed,and the operation method of the software and the verification of the actual hardware platform are given.The result of data throughput is up to 4 Gbps by the SRIO bus in the real system.

multicore processor;SRIO;shared RAM

TP336

A

猜你喜歡
程序設(shè)置
中隊(duì)崗位該如何設(shè)置
試論我國(guó)未決羈押程序的立法完善
7招教你手動(dòng)設(shè)置參數(shù)
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國(guó)與歐盟正式啟動(dòng)“離婚”程序程序
本刊欄目設(shè)置說明
中俄臨床醫(yī)學(xué)專業(yè)課程設(shè)置的比較與思考
創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
艦船人員編制的設(shè)置與控制
主站蜘蛛池模板: 最新午夜男女福利片视频| 国产一区二区三区精品欧美日韩| 激情成人综合网| 亚洲国产理论片在线播放| 91成人在线免费观看| 尤物视频一区| 国产欧美日韩另类精彩视频| 日韩少妇激情一区二区| 国产亚洲欧美日韩在线一区二区三区| 久久精品嫩草研究院| 欧美中文一区| 精品无码日韩国产不卡av| 国产SUV精品一区二区6| 免费日韩在线视频| 国产一区二区三区在线观看免费| 国产日韩精品一区在线不卡| www成人国产在线观看网站| 找国产毛片看| 激情综合网激情综合| 九色在线视频导航91| 午夜影院a级片| 国产女人爽到高潮的免费视频 | 日韩天堂视频| 天天色综合4| 欧美午夜一区| 麻豆精选在线| 天堂成人在线视频| 亚洲欧洲自拍拍偷午夜色| 欧美国产日产一区二区| 91九色国产porny| 91免费观看视频| 日韩欧美中文字幕在线精品| 亚洲人成网站在线播放2019| 欧美国产综合视频| 人人妻人人澡人人爽欧美一区| 久久黄色小视频| 中文字幕永久在线观看| 日日噜噜夜夜狠狠视频| 88av在线播放| 国产嫩草在线观看| 久久精品免费国产大片| 亚洲精品无码高潮喷水A| 日韩av资源在线| 毛片最新网址| 国产福利影院在线观看| 欧美一级爱操视频| 欧美一级黄色影院| 亚洲国产精品一区二区第一页免| 日本黄色a视频| 一级一毛片a级毛片| 亚洲国产系列| 制服无码网站| 日本国产精品一区久久久| 国产精品私拍99pans大尺度| 国产传媒一区二区三区四区五区| 国产高清无码麻豆精品| 国产精品成人久久| 欧美精品影院| 国产男女免费完整版视频| 国产精品亚洲а∨天堂免下载| 亚洲精品动漫| 手机精品视频在线观看免费| 在线观看无码a∨| 国产成人无码AV在线播放动漫 | 91久久精品日日躁夜夜躁欧美| 日韩精品一区二区三区大桥未久| 女人一级毛片| 国产麻豆另类AV| 六月婷婷精品视频在线观看| 国产xx在线观看| 综合五月天网| 欧美国产日韩在线| 国产一区二区精品福利| 国内嫩模私拍精品视频| 国产精品亚洲欧美日韩久久| 久久一本日韩精品中文字幕屁孩| 永久在线精品免费视频观看| 日韩av无码精品专区| 91无码人妻精品一区二区蜜桃| 91色爱欧美精品www| 色综合久久综合网| 国产成人做受免费视频|