李貞妮,李晶皎,王 驕,金碩巍
(東北大學(xué) 信息科學(xué)與工程學(xué)院,沈陽(yáng) 110819)E-mail:lizhenni@ise.neu.edu.cn
在實(shí)際的工程中,尤其是基于異步片上網(wǎng)絡(luò)的智能信息處理嵌入式系統(tǒng)中,例如視頻采集和處理系統(tǒng),系統(tǒng)內(nèi)部的各個(gè)功能模塊往往需要工作在不同頻率的時(shí)鐘域中.因此,不同時(shí)鐘頻率的IP核之間如何通信,即異步片上網(wǎng)絡(luò)的通信機(jī)制及其設(shè)計(jì)方法近年來(lái)成為了片上網(wǎng)絡(luò)的研究熱點(diǎn).將多時(shí)鐘的全局異步局部同步(Globally Asynchronous and Locally Synchronous,GALS)片上網(wǎng)絡(luò)應(yīng)用于視頻處理領(lǐng)域,對(duì)異步片上網(wǎng)絡(luò)的信息交互能力提出了更高的要求.目前已有通信機(jī)制的數(shù)據(jù)傳輸性能有限,無(wú)法充分滿足基于異步片上網(wǎng)絡(luò)的視頻處理系統(tǒng)對(duì)大數(shù)據(jù)量實(shí)時(shí)傳輸?shù)囊?因此,如何在減小通信延遲的基礎(chǔ)上實(shí)現(xiàn)異步片上網(wǎng)絡(luò)大數(shù)據(jù)量的信息傳輸是目前的技術(shù)難點(diǎn).
基于GALS設(shè)計(jì)思想的片上網(wǎng)絡(luò),不同的路由節(jié)點(diǎn)可以掛載具有不同工作頻率的處理器或IP核,即在片上網(wǎng)絡(luò)中數(shù)據(jù)包的通信是跨時(shí)鐘域的.數(shù)據(jù)包從源節(jié)點(diǎn)傳輸?shù)侥繕?biāo)節(jié)點(diǎn),可能要經(jīng)歷多個(gè)時(shí)鐘域,而不同時(shí)鐘域的時(shí)鐘源之間在頻率和相位上均存在著一定的差異.如果兩個(gè)時(shí)鐘信號(hào)的敏感沿非常接近且超過(guò)允許額度,電路中的觸發(fā)器就會(huì)進(jìn)入某個(gè)不確定的狀態(tài),即亞穩(wěn)態(tài)[1,2].當(dāng)觸發(fā)器進(jìn)入亞穩(wěn)態(tài)后,無(wú)法預(yù)測(cè)輸出電平,也無(wú)法預(yù)測(cè)何時(shí)輸出能夠穩(wěn)定在正確的電平上.在亞穩(wěn)態(tài)期間,觸發(fā)器輸出中間電平或者振蕩狀態(tài),輸出電平沿信號(hào)通道上的各個(gè)觸發(fā)器級(jí)聯(lián)式地傳播下去[3-5],導(dǎo)致連鎖反應(yīng),引起整個(gè)片上網(wǎng)絡(luò)系統(tǒng)的功能混亂.因此,異步片上網(wǎng)絡(luò)通信機(jī)制研究的主要問(wèn)題就是如何避免亞穩(wěn)態(tài)傳輸,其中最普遍的方法是同步化處理,即采用同步器.同步器的主要作用是同步所有的非同源時(shí)鐘.
異步片上網(wǎng)絡(luò)通信機(jī)制根據(jù)同步方式的不同,主要分為以下幾種類型:
1)基于觸發(fā)器級(jí)聯(lián)的同步通信機(jī)制
在片上網(wǎng)絡(luò)的跨時(shí)鐘域IP核之間,為了避免亞穩(wěn)態(tài)的出現(xiàn),通常采用一系列的觸發(fā)器級(jí)聯(lián)構(gòu)成觸發(fā)器鏈來(lái)實(shí)現(xiàn)同步.比較常用的是雙跳技術(shù)[6,7],采用兩個(gè)觸發(fā)器級(jí)聯(lián)同步,數(shù)據(jù)信號(hào)在進(jìn)入下一個(gè)時(shí)鐘域之前,會(huì)進(jìn)行兩次寄存.基于觸發(fā)器級(jí)聯(lián)的同步通信機(jī)制是目前比較常用的通信策略,但是只適合于對(duì)性能要求不太高的場(chǎng)合,通常用于對(duì)控制信號(hào)的同步.當(dāng)傳輸多位總線信號(hào)時(shí),因?yàn)楦鱾€(gè)數(shù)據(jù)信號(hào)到達(dá)下一級(jí)觸發(fā)器的時(shí)間無(wú)法同步,因此通過(guò)兩級(jí)觸發(fā)器后可能會(huì)出現(xiàn)個(gè)別信號(hào)的時(shí)鐘偏離,導(dǎo)致數(shù)據(jù)傳輸錯(cuò)誤.此外,該通信機(jī)制只適合于從慢時(shí)鐘域向快時(shí)鐘域傳遞數(shù)據(jù),從快時(shí)鐘域向慢時(shí)鐘域傳輸數(shù)據(jù)會(huì)造成數(shù)據(jù)丟失.因此,當(dāng)應(yīng)用于片上網(wǎng)絡(luò)跨時(shí)鐘域信號(hào)傳輸時(shí)有較大的限制.
2)基于異步握手協(xié)議的通信機(jī)制
異步握手是一種通用且簡(jiǎn)單的通信機(jī)制,能夠有效實(shí)現(xiàn)片上網(wǎng)絡(luò)跨時(shí)鐘域間的信號(hào)傳輸,在很多通信系統(tǒng)中也有廣泛的應(yīng)用[8,9].這種通信機(jī)制利用異步握手協(xié)議完成不同時(shí)鐘域之間的數(shù)據(jù)傳遞.異步握手協(xié)議能夠彌補(bǔ)基于觸發(fā)器級(jí)聯(lián)的同步通信機(jī)制的不足,可以實(shí)現(xiàn)多位總線數(shù)據(jù)的傳輸,也可從快時(shí)鐘域向慢時(shí)鐘域傳遞數(shù)據(jù),數(shù)據(jù)可靠性較高,系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,但是最容易產(chǎn)生亞穩(wěn)態(tài)現(xiàn)象.需要對(duì)請(qǐng)求、應(yīng)答信號(hào)預(yù)先進(jìn)行同步來(lái)避免亞穩(wěn)態(tài),所以會(huì)引入一定的傳輸延遲.因此這種通信機(jī)制很難滿足大量數(shù)據(jù)高速、實(shí)時(shí)傳輸?shù)囊?比較適合于少量數(shù)據(jù)且對(duì)傳輸可靠性要求較高的情況.
3)基于異步FIFO的通信機(jī)制
基于異步FIFO的通信機(jī)制,是實(shí)現(xiàn)不同時(shí)鐘域間數(shù)據(jù)通信的主要方式[10-12].異步FIFO是一種先進(jìn)先出電路,用于電路之間速度匹配和數(shù)據(jù)寬度匹配,較適合于對(duì)數(shù)據(jù)傳輸速度要求比較高的電路系統(tǒng),在圖像處理,網(wǎng)絡(luò)接口等方面都得到了廣泛的應(yīng)用.常用的設(shè)計(jì)方法有采用仲裁機(jī)制,可停時(shí)鐘和環(huán)形FIFO等.
文獻(xiàn)[13]提出的FIFO基于數(shù)據(jù)仲裁機(jī)制,并利用格雷碼轉(zhuǎn)換器實(shí)現(xiàn).異步FIFO存儲(chǔ)器由雙端口SRAM構(gòu)成,并將其所在系統(tǒng)分為讀時(shí)鐘域和寫時(shí)鐘域,兩個(gè)時(shí)鐘域互相獨(dú)立.但是這種通信機(jī)制通常采用多個(gè)功能塊集成的方法實(shí)現(xiàn),因此設(shè)計(jì)復(fù)雜度較高.此外由于FIFO深度較小,因此不適合于包含多個(gè)IP核且需要進(jìn)行密集數(shù)據(jù)處理任務(wù)的片上網(wǎng)絡(luò)系統(tǒng).文獻(xiàn)[14]在文獻(xiàn)[13]異步FIFO的基礎(chǔ)上,增加了可停時(shí)鐘設(shè)計(jì),但是停止時(shí)鐘容易使依賴時(shí)鐘進(jìn)行數(shù)據(jù)刷新的RAM丟失數(shù)據(jù),且如果采用多核系統(tǒng),在時(shí)鐘恢復(fù)時(shí)需要重新對(duì)數(shù)據(jù)進(jìn)行采樣,因此容易造成數(shù)據(jù)傳輸錯(cuò)誤.文獻(xiàn)[15]提出了一種可用于多核片上系統(tǒng)的環(huán)形FIFO,采用串并結(jié)合的數(shù)據(jù)傳輸模式和雙軌編碼方法,可以支持不同寬度數(shù)據(jù)的發(fā)送和接收,并能保證數(shù)據(jù)的完整性和傳輸?shù)乃俣?文獻(xiàn)[6]提出了用于多電壓頻率島片上網(wǎng)絡(luò)的可配置FIFO設(shè)計(jì),在已提出的異步FIFO基礎(chǔ)上,通過(guò)讀寫指針及可配置設(shè)計(jì),使其既可以用于同步電路,也可以用于異步電路,具有較大的靈活性.文獻(xiàn)[11]提出了新的異步FIFO結(jié)構(gòu),采用異步插入同步取出的設(shè)計(jì)方法對(duì)FIFO的空滿狀態(tài)進(jìn)行判斷,實(shí)現(xiàn)跨時(shí)鐘域的通信.但上述方法均使用單一的數(shù)據(jù)傳輸通道,因此在片上網(wǎng)絡(luò)中傳遞數(shù)據(jù)時(shí),容易造成數(shù)據(jù)阻塞,導(dǎo)致無(wú)法實(shí)時(shí)的傳遞數(shù)據(jù).文獻(xiàn)[16]提出了可用于跨時(shí)鐘域處理的自適應(yīng)多級(jí)FIFO結(jié)構(gòu),存儲(chǔ)器采用雙端口SRAM結(jié)構(gòu),采用虛擬通道機(jī)制,可以通過(guò)數(shù)據(jù)量的多少自適應(yīng)的調(diào)整虛擬通道的數(shù)目,從而改善片上網(wǎng)絡(luò)的吞吐率和延遲性能.但是該結(jié)構(gòu)只適合于跨時(shí)鐘域處理,當(dāng)片上網(wǎng)絡(luò)掛載的IP核與片上網(wǎng)絡(luò)的時(shí)鐘域一致時(shí),采用該結(jié)構(gòu)會(huì)造成比較大的面積和功耗的浪費(fèi).
從目前的研究成果來(lái)看,基于異步FIFO的通信機(jī)制是目前片上網(wǎng)絡(luò)中最常用的數(shù)據(jù)跨時(shí)鐘域通信處理方法,可以較好的滿足數(shù)據(jù)跨時(shí)鐘域傳輸處理的需求,避免亞穩(wěn)態(tài)的發(fā)生.然而,隨著片上網(wǎng)絡(luò)的發(fā)展,除了在片上網(wǎng)絡(luò)掛載不同頻率或相同頻率IP核的需求,片上網(wǎng)絡(luò)系統(tǒng)需要處理的數(shù)據(jù)量越來(lái)越大,對(duì)數(shù)據(jù)處理速度的要求也越來(lái)越高,現(xiàn)有的異步FIFO結(jié)構(gòu)很難在降低功耗的同時(shí),滿足片上網(wǎng)絡(luò)對(duì)大容量、多比特和高速度視頻數(shù)據(jù)碼流進(jìn)行實(shí)時(shí)傳輸?shù)男枨?
4)基于編碼傳輸?shù)耐ㄐ艡C(jī)制
基于編碼傳輸?shù)耐ㄐ艡C(jī)制,對(duì)傳輸?shù)臄?shù)據(jù)采用編碼的方式,在任意兩個(gè)相鄰數(shù)之間轉(zhuǎn)換時(shí),只有一個(gè)數(shù)位發(fā)生變化,屬于可靠性編碼.通常情況下,基于編碼傳輸?shù)耐ㄐ艡C(jī)制可以和基于異步FIFO的通信機(jī)制融合使用.
隨著片上網(wǎng)絡(luò)集成的IP核數(shù)量的增加以及其應(yīng)用背景的復(fù)雜化,傳統(tǒng)的通信機(jī)制已經(jīng)表現(xiàn)出明顯的不足.基于觸發(fā)器級(jí)聯(lián)的通信機(jī)制,結(jié)構(gòu)簡(jiǎn)單容易實(shí)現(xiàn),但是不能傳輸多位總線數(shù)據(jù)信號(hào),也不能從快時(shí)鐘域向慢時(shí)鐘域傳遞數(shù)據(jù),性能較低.基于異步握手協(xié)議的設(shè)計(jì)方案,簡(jiǎn)單通用,可靠性高,適合于少量數(shù)據(jù)的傳輸.對(duì)于大批量數(shù)據(jù)的傳輸,該方案會(huì)引入較大的傳輸延遲,很難滿足數(shù)據(jù)高速、實(shí)時(shí)傳輸?shù)囊?基于異步FIFO的設(shè)計(jì)方案,能夠解決電路之間速度、數(shù)據(jù)寬度匹配的問(wèn)題,較適合于對(duì)數(shù)據(jù)傳輸速度要求比較高的電路系統(tǒng).然而,現(xiàn)有的基于異步FIFO的設(shè)計(jì)方案,存在著FIFO深度小、數(shù)據(jù)傳輸通道單一等問(wèn)題,因此在片上網(wǎng)絡(luò)掛載的處理器或者IP核之間傳遞大批量數(shù)據(jù)時(shí),頻繁的信息交互勢(shì)必會(huì)影響任務(wù)的執(zhí)行效率,有可能會(huì)導(dǎo)致整個(gè)片上網(wǎng)絡(luò)系統(tǒng)性能的降低.基于編碼傳輸?shù)脑O(shè)計(jì)方案,可以有效降低亞穩(wěn)態(tài)發(fā)生的概率,通常采用格雷碼編碼,并和基于異步FIFO的設(shè)計(jì)方案聯(lián)合使用,但會(huì)造成片上網(wǎng)絡(luò)系統(tǒng)電路面積的浪費(fèi)和性能的降低.這些存在的問(wèn)題也限制了多時(shí)鐘GALS片上網(wǎng)絡(luò)[17]技術(shù)的進(jìn)一步發(fā)展和應(yīng)用.因此,為了解決以上問(wèn)題,保證片上網(wǎng)絡(luò)中信息傳遞的有效性、穩(wěn)定性,提高片上網(wǎng)絡(luò)的信息交互能力,文中提出了一種雙模式融合的通信機(jī)制.該機(jī)制根據(jù)片上網(wǎng)絡(luò)交互數(shù)據(jù)的特點(diǎn),將片上網(wǎng)絡(luò)中傳遞的數(shù)據(jù)分為兩大類,即控制類信息和數(shù)據(jù)類信息.
控制類信息:主要針對(duì)當(dāng)片上網(wǎng)絡(luò)掛載多個(gè)處理器或者IP核,且多處理器及IP核中的任務(wù)并行執(zhí)行時(shí),處理器及IP核之間需要進(jìn)行的一些基本通信操作.例如,處理器與IP核之間的任務(wù)調(diào)度,復(fù)雜任務(wù)的分解以及并行任務(wù)的控制等.這些操作由指令信息和實(shí)現(xiàn)數(shù)據(jù)通信的地址,數(shù)據(jù)長(zhǎng)度等信息構(gòu)成.通常,這類數(shù)據(jù)從片上網(wǎng)絡(luò)掛載的處理器直接發(fā)出,數(shù)據(jù)量較小,因此在文中定義為控制類信息.控制類信息,在本文研究的GALS片上網(wǎng)絡(luò)系統(tǒng)中,均在單一的電壓頻率島內(nèi)傳遞.
數(shù)據(jù)類信息:主要針對(duì)片上網(wǎng)絡(luò)系統(tǒng)執(zhí)行的數(shù)據(jù)密集型處理任務(wù).當(dāng)片上網(wǎng)絡(luò)掛載的處理器之間或處理器與IP核之間需要大數(shù)據(jù)量的數(shù)據(jù)交互時(shí),例如視頻數(shù)據(jù)采集IP核與視頻數(shù)據(jù)處理IP核之間的數(shù)據(jù)交互,數(shù)據(jù)通常會(huì)從一個(gè)IP核所在的存儲(chǔ)空間傳輸?shù)搅硪粋€(gè)IP核所在的存儲(chǔ)空間,每個(gè)IP核分別執(zhí)行各自的運(yùn)算及操作.這類數(shù)據(jù),在文中定義為數(shù)據(jù)類信息,主要具有數(shù)據(jù)量大,存儲(chǔ)位置連續(xù)等特點(diǎn).且這類數(shù)據(jù)可以在同一個(gè)電壓頻率島內(nèi)傳遞,也可以在不同的電壓頻率島之間傳遞.
針對(duì)這兩類數(shù)據(jù)的特點(diǎn),采用不同的通信機(jī)制來(lái)提高片上網(wǎng)絡(luò)系統(tǒng)的通信性能.以處理器和IP核之間的信息傳遞為例,圖1為具體的傳輸模型.
圖1 片上網(wǎng)絡(luò)跨時(shí)鐘域通信接口電路設(shè)計(jì)Fig.1 Design of NoC cross clock domain processing circuit
其中,數(shù)據(jù)緩沖存儲(chǔ)模塊,包括4個(gè)基于令牌環(huán)的環(huán)形異步FIFO.每個(gè)環(huán)形異步FIFO包括令牌環(huán)結(jié)構(gòu),每個(gè)令牌環(huán)結(jié)構(gòu)包括八個(gè)鎖存器,八個(gè)鎖存器的連接方式為上一級(jí)鎖存器的輸出端連接到下一級(jí)鎖存器的輸入端,最后一級(jí)鎖存器的輸出端連接到第一級(jí)鎖存器的輸入端.
片上網(wǎng)絡(luò)處理器與IP核之間交互的控制類信息通常是處理器對(duì)IP核的任務(wù)控制操作,由少量數(shù)據(jù)組成.一次完整的通信需要經(jīng)過(guò)兩個(gè)過(guò)程,即消息的寫入和讀出.已有的異步片上網(wǎng)絡(luò)通信機(jī)制,不對(duì)片上網(wǎng)絡(luò)中傳遞的數(shù)據(jù)類型進(jìn)行區(qū)分,采用統(tǒng)一的異步傳輸接口,在數(shù)據(jù)跨時(shí)鐘域傳輸時(shí)有可能會(huì)由于亞穩(wěn)態(tài)問(wèn)題而造成信息傳輸錯(cuò)誤,導(dǎo)致整個(gè)片上網(wǎng)絡(luò)系統(tǒng)的功能故障.在本文研究的基于電壓頻率島的GALS片上網(wǎng)絡(luò)中,通過(guò)電壓頻率島的預(yù)分配,將處理器以及與其通信密切的IP核劃分到同一電壓頻率島,因此控制類信息均在同一個(gè)電壓頻率島中傳輸,不涉及頻率變換問(wèn)題,即可以采用同步通信機(jī)制傳輸,有效的避免了跨時(shí)鐘域傳輸時(shí)可能遇到的亞穩(wěn)態(tài)問(wèn)題,保證了控制類信息傳輸?shù)臏?zhǔn)確性和高速性.
GALS片上網(wǎng)絡(luò)中的數(shù)據(jù)類信息主要是在片上網(wǎng)絡(luò)掛載的IP核與IP核,或IP核與處理器之間的大數(shù)據(jù)量的數(shù)據(jù)交互.通過(guò)前面分析可知,數(shù)據(jù)類信息在傳輸過(guò)程中,根據(jù)IP核所處的電壓頻率島及其對(duì)應(yīng)路由節(jié)點(diǎn)的具體位置,需要首先判斷源路由節(jié)點(diǎn)和目標(biāo)路由節(jié)點(diǎn)是否處于同一電壓頻率島.如果是,則可以通過(guò)同步通信方式將數(shù)據(jù)從源路由節(jié)點(diǎn)掛載的IP核傳輸?shù)侥繕?biāo)路由節(jié)點(diǎn)掛載的IP核.而如果源路由節(jié)點(diǎn)和目標(biāo)路由節(jié)點(diǎn)處于不同的電壓頻率島,這時(shí)數(shù)據(jù)類信息就需要通過(guò)跨島傳輸過(guò)程,即選擇異步通信機(jī)制傳輸?shù)侥繕?biāo)節(jié)點(diǎn)掛載的IP核.根據(jù)片上網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)和路由算法,路由信息表會(huì)提示跨島傳輸過(guò)程中要經(jīng)過(guò)的路由節(jié)點(diǎn).當(dāng)數(shù)據(jù)類信息通過(guò)該路由節(jié)點(diǎn)時(shí),需要進(jìn)行數(shù)據(jù)的跨時(shí)鐘域傳輸,即異步通信過(guò)程,而當(dāng)數(shù)據(jù)在其他路由節(jié)點(diǎn)之間傳遞時(shí),采用的是同步的通信機(jī)制.
雙模式融合數(shù)據(jù)通信接口電路由模式控制器和可配置數(shù)據(jù)通信接口電路組成,具體結(jié)構(gòu)如圖2所示.通過(guò)模式控制器,來(lái)選擇數(shù)據(jù)通信機(jī)制.模式控制器判斷發(fā)送數(shù)據(jù)的類型是控制類信息還是數(shù)據(jù)類信息,如果是數(shù)據(jù)類信息需要進(jìn)一步判斷是否需要跨電壓頻率島通信,從而配置數(shù)據(jù)通信接口電路的工作方式采用同步通信機(jī)制還是異步通信機(jī)制.
可配置數(shù)據(jù)通信接口電路由一個(gè)輸入多路選擇器模塊、數(shù)據(jù)緩沖存儲(chǔ)模塊和一個(gè)輸出多路選擇器模塊組成.其中,數(shù)據(jù)緩沖存儲(chǔ)模塊,包括4個(gè)基于令牌環(huán)的環(huán)形異步FIFO.每個(gè)環(huán)形異步FIFO包括令牌環(huán)結(jié)構(gòu),每個(gè)令牌環(huán)結(jié)構(gòu)包括八個(gè)鎖存器,八個(gè)鎖存器的連接方式為上一級(jí)鎖存器的輸出端連接到下一級(jí)鎖存器的輸入端,最后一級(jí)鎖存器的輸出端連接到第一級(jí)鎖存器的輸入端.該結(jié)構(gòu)通過(guò)多路選擇器的設(shè)計(jì),可以選擇不同的傳輸通道,有效的解決了傳統(tǒng)異步FIFO通信機(jī)制數(shù)據(jù)傳輸通道單一的問(wèn)題,并滿足片上網(wǎng)絡(luò)對(duì)大規(guī)模數(shù)據(jù)的處理需求.
圖2 雙模式融合數(shù)據(jù)通信接口電路結(jié)構(gòu)圖Fig.2 Structure diagram of data communication interface circuit using dual mode fusion
可配置的數(shù)據(jù)通信接口電路,通過(guò)模式控制器的輸出,改變環(huán)形異步FIFO的空/滿狀態(tài)判斷電路.當(dāng)寫指針和讀指針相等,即兩者均指向內(nèi)存中的同一位置時(shí),異步FIFO可能處于空或滿兩種狀態(tài);通過(guò)判斷寫指針從后方趕上了讀指針,還是讀指針從后方趕上了寫指針,來(lái)確定異步FIFO是處于滿狀態(tài)還是空狀態(tài).如果模式控制器將可配置數(shù)據(jù)通信接口電路配置為同步工作方式,則可以直接通過(guò)比較讀寫指針來(lái)產(chǎn)生空/滿標(biāo)志信號(hào),若模式控制器將可配置數(shù)據(jù)通信接口電路配置為異步工作模式,則需要將滿標(biāo)志信號(hào)與寫時(shí)鐘進(jìn)行同步,將寫指針與讀時(shí)鐘進(jìn)行同步.由于空狀態(tài)判斷電路的輸出直接影響了異步FIFO的吞吐量,即影響了整個(gè)異步片上網(wǎng)絡(luò)的吞吐量,所以在設(shè)計(jì)過(guò)程中要避免使用預(yù)測(cè)判斷的方法.因此,為了在不增加判斷電路復(fù)雜度的基礎(chǔ)上,更好的區(qū)別異步FIFO的空、滿狀態(tài),當(dāng)深度為N的異步FIFO中包含N-1個(gè)內(nèi)容單元時(shí),即認(rèn)為異步FIFO處于滿狀態(tài),生成滿標(biāo)志信號(hào).
為了驗(yàn)證基于雙模式融合通信機(jī)制的GALS片上網(wǎng)絡(luò)的性能,將視頻處理算法應(yīng)用于基于雙模式融合通信機(jī)制的片上網(wǎng)絡(luò),在Intel Altera公司的EP4CE115F29C7的DE2-115 FPGA開(kāi)發(fā)平臺(tái)下構(gòu)建了基于GALS片上網(wǎng)絡(luò)的視頻處理系統(tǒng)并對(duì)其性能進(jìn)行測(cè)試分析.該系統(tǒng)包括一個(gè)最簡(jiǎn)處理器和三個(gè)視頻處理IP核.DE2-115 FPGA開(kāi)發(fā)平臺(tái)自帶D8M圖像傳感器,兩片最高訪問(wèn)頻率為166MHz的64M SDRAM用作視頻圖像緩存,和一個(gè)VGA顯示屏.其中處理器的工作頻率為20MHz,視頻采集IP核的工作頻率為20MHz;視頻顯示IP核與H.264視頻編碼IP核的工作頻率為33.33MHz.即電壓頻率島VFI 1的工作頻率為20MHz,電壓頻率島VFI 2的工作頻率為33.33MHz.為了測(cè)試基于雙模式融合通信機(jī)制GALS片上網(wǎng)絡(luò)的視頻處理系統(tǒng)(后面簡(jiǎn)稱視頻處理系統(tǒng)1)的性能,本章利用文獻(xiàn)[13]提出的異步FIFO作為異步片上網(wǎng)絡(luò)的通信機(jī)制構(gòu)建了片上網(wǎng)絡(luò),并將處理器與IP核掛載在相同位置的路由節(jié)點(diǎn)上,構(gòu)成視頻處理系統(tǒng)2,并與視頻處理系統(tǒng)1的處理結(jié)果進(jìn)行對(duì)比.在視頻處理系統(tǒng)2中,處理器與IP核的工作頻率與視頻處理系統(tǒng)1的相同,視頻處理系統(tǒng)2的片上網(wǎng)絡(luò)其工作頻率為50MHz.
面向視頻處理的基于雙模式融合通信機(jī)制的GALS片上網(wǎng)絡(luò)系統(tǒng),其主體結(jié)構(gòu)由三個(gè)部分組成:第一部分是GALS片上網(wǎng)絡(luò),片上網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)為H-annular Mesh[18],路由算法為HAA-XY算法;第二部分是可配置的雙模式融合數(shù)據(jù)通信接口電路,將該接口電路用于片上網(wǎng)絡(luò)路由節(jié)點(diǎn)內(nèi)部;第三部分是視頻處理IP核,在該系統(tǒng)中,分別設(shè)計(jì)了視頻采集IP核,視頻顯示IP核和H.264視頻編碼IP核.并且為了控制任務(wù)的執(zhí)行,設(shè)計(jì)了最小的處理器系統(tǒng),掛載于片上網(wǎng)絡(luò)的處理器節(jié)點(diǎn)處,具體結(jié)構(gòu)如圖3所示.
圖3 基于GALS片上網(wǎng)絡(luò)的視頻處理系統(tǒng)Fig.3 Video processing system based on GALS NoC
經(jīng)測(cè)試,對(duì)于處理器與視頻采集IP核之間發(fā)送的控制類信息,視頻處理系統(tǒng)1采用同步通信機(jī)制進(jìn)行傳輸,可有效的保證數(shù)據(jù)傳輸?shù)臏?zhǔn)確性和實(shí)時(shí)性;而對(duì)于視頻處理系統(tǒng)2來(lái)說(shuō),需要采用異步通信機(jī)制,其延遲時(shí)間大于視頻處理系統(tǒng)1對(duì)控制類信息的傳輸延遲時(shí)間,具體結(jié)果如表1所示.根據(jù)分析可知,視頻處理系統(tǒng)2的發(fā)送時(shí)間和接收時(shí)間基本為視頻處理系統(tǒng)1的1.5倍左右,主要原因就是視頻處理系統(tǒng)1采用雙模式融合的通信機(jī)制,對(duì)于控制類消息,使其在同一個(gè)電壓頻率島內(nèi)傳輸,而視頻處理系統(tǒng)2的控制類信息需要進(jìn)行跨時(shí)鐘域通信,會(huì)經(jīng)過(guò)更多的同步器進(jìn)行同步,因此延遲時(shí)間高于視頻處理系統(tǒng)1的延遲時(shí)間.
表1 控制類信息傳輸延遲Table 1 Control message transmission delay
對(duì)于視頻處理IP核之間發(fā)送的數(shù)據(jù)類信息,在視頻處理系統(tǒng)1中,視頻采集IP核將采集到的視頻數(shù)據(jù)發(fā)送至視頻顯示IP核以及視頻編碼IP核,由于視頻顯示IP核與視頻編碼IP核工作于電壓頻率島VFI 2中,因此數(shù)據(jù)類信息在傳輸過(guò)程中需要經(jīng)過(guò)跨島傳輸,即經(jīng)過(guò)一個(gè)同步過(guò)程.在視頻處理系統(tǒng)2中,由于視頻采集IP核的工作頻率,與異步片上網(wǎng)絡(luò)、視頻顯示IP核以及視頻編碼IP核的工作頻率均不同,因此在視頻數(shù)據(jù)傳輸過(guò)程中需要經(jīng)過(guò)多個(gè)同步過(guò)程.
分析可知,在異步片上網(wǎng)絡(luò)中傳遞數(shù)據(jù)類信息時(shí),基于雙模式融合通信機(jī)制的GALS片上網(wǎng)絡(luò)(這里指視頻處理系統(tǒng)1)需要的同步過(guò)程少于基于異步FIFO通信機(jī)制的片上網(wǎng)絡(luò)(這里指視頻處理系統(tǒng)2),尤其當(dāng)片上網(wǎng)絡(luò)掛載的IP核數(shù)目較多時(shí),基于雙模式融合通信機(jī)制的GALS片上網(wǎng)絡(luò)的優(yōu)勢(shì)更加明顯.
以視頻采集IP核與H.264視頻編碼IP核之間的視頻數(shù)據(jù)傳輸為例,分析數(shù)據(jù)類信息的傳輸延遲,分別對(duì)總幀數(shù)為100、200、300、400、500、600的視頻數(shù)據(jù)進(jìn)行編碼,并分別在兩個(gè)視頻處理系統(tǒng)中對(duì)其傳輸延遲進(jìn)行測(cè)試,具體結(jié)果如表2所示.
進(jìn)一步在視頻處理系統(tǒng)1和視頻處理系統(tǒng)2中,對(duì)視頻編碼IP核的編碼性能進(jìn)行測(cè)試.使用基于異步片上網(wǎng)絡(luò)的編碼系統(tǒng)對(duì)不同場(chǎng)景進(jìn)行多次編碼,并通過(guò)測(cè)試編碼時(shí)間來(lái)計(jì)算編碼速度.這里的編碼時(shí)間考慮了視頻采集IP核向H.264視頻編碼IP核發(fā)送數(shù)據(jù)的時(shí)間.具體結(jié)果如表3所示.分析可知,視頻處理系統(tǒng)1的編碼速度略優(yōu)于視頻處理系統(tǒng)2的編碼速度,并且隨著測(cè)試視頻總幀數(shù)的增加,優(yōu)勢(shì)更加明顯.進(jìn)一步測(cè)試H.264視頻編碼IP核的峰值信噪比PSNR(Peak Signal to Noise Ratio),分析測(cè)試結(jié)果可知,應(yīng)用于雙模式融合通信機(jī)制異步片上網(wǎng)絡(luò)的視頻編碼系統(tǒng),Y分量的平均PSNR可以達(dá)到36.92dB,Cr和Cb分量的平均PSNR分別達(dá)到39.60dB和38.06dB,編碼后的視頻質(zhì)量良好.
表2 數(shù)據(jù)類信息傳輸延遲Table 2 Data message transmission delay
表3 編碼速度測(cè)試Table 3 Encoding speed test
針對(duì)已有異步片上網(wǎng)絡(luò)通信機(jī)制的問(wèn)題和不足,本文結(jié)合電壓頻率島設(shè)計(jì)思想,并結(jié)合異步FIFO通信機(jī)制的優(yōu)勢(shì),提出了一種雙模式融合的通信機(jī)制.該機(jī)制根據(jù)片上網(wǎng)絡(luò)中傳遞信息的特點(diǎn),將片上網(wǎng)絡(luò)中傳遞的數(shù)據(jù)分為兩大類,即控制類信息和數(shù)據(jù)類信息,分別采用不同的通信技術(shù)完成數(shù)據(jù)傳輸過(guò)程.將處理器對(duì)IP核的任務(wù)控制操作封裝為控制類信息,采用同步通信機(jī)制傳輸,有效的避免了跨時(shí)鐘域傳輸時(shí)可能遇到的亞穩(wěn)態(tài)問(wèn)題,保證了控制類信息傳輸?shù)臏?zhǔn)確性和高速性.基于雙模式融合通信機(jī)制的GALS片上網(wǎng)絡(luò)具有更小的傳輸延遲,更大的吞吐量,H.264視頻編碼IP核的編碼速率更高,編碼后視頻質(zhì)量良好,即基于雙模式融合通信機(jī)制的GALS片上網(wǎng)絡(luò)具有更好的視頻處理性能.因此,本文提出的雙模式融合的通信機(jī)制具有廣泛的應(yīng)用前景.