本發(fā)明涉及集成電路領(lǐng)域,尤其涉及強魯棒性的優(yōu)先級輪換公平仲裁器。
背景技術(shù):
仲裁器是一類在異步數(shù)字信號處理(asynchronousdigitalsignalprocessing,adsp)電路中廣泛運用的結(jié)構(gòu),其主要功能在于將單一的系統(tǒng)共享資源動態(tài)地分配給所有需求該資源的單元。例如,在異步單總線系統(tǒng)中,所有主模塊在產(chǎn)生輸出時均需要占用共享總線進(jìn)行數(shù)據(jù)傳輸;當(dāng)有多個主模塊同時請求占用共享總線時,仲裁器將對這些請求進(jìn)行排序,使得異步通信能夠按照該順序進(jìn)行下去,避免因為請求的沖突而造成系統(tǒng)錯亂。
仲裁器一個重要的特性在于其對請求排序的公平性。如果每次的排序完全一樣,那么會造成系統(tǒng)中一些單元的請求總是會被優(yōu)先響應(yīng),而另一些單元的請求總會被最后響應(yīng),這就使得同等級的系統(tǒng)單元具有不同的優(yōu)先級,造成總線被高優(yōu)先級的數(shù)據(jù)阻塞,甚至直接丟失低優(yōu)先級數(shù)據(jù),不利于保留信號的完整性。
常見的公平仲裁器基本結(jié)構(gòu)如圖1所示,它是由(2n-1)個公平仲裁單元組成的n層二叉樹狀結(jié)構(gòu),最底層(即第n層)有~req0至~req(2n-1)共2n個請求信號輸入與~ack0到~ack(2n-1)共2n個應(yīng)答信號輸出。每一個公平仲裁單元能完成對于本層兩個請求的仲裁工作,產(chǎn)生一個上一層的請求信號,并在接收到上層返回的應(yīng)答信號后按照仲裁的順序?qū)?yīng)答信號返回到下一層仲裁單元中。樹狀公平仲裁器的頂層(即第1層)單元會將產(chǎn)生的請求信號傳輸?shù)酵獠侩娐?,并且接受外部電路返回的?yīng)答信號,向下層進(jìn)行傳遞。
公平仲裁單元主要依靠rs觸發(fā)器實現(xiàn)公平仲裁的功能,圖2給出了基本rs觸發(fā)器的電路結(jié)構(gòu),由兩個與非門nand1和nand2組成,nand1的輸入為r和nand2的輸出q,nand2的輸入為s和nand1的輸出~q。該rs觸發(fā)器正常工作需要滿足約束條件,即
s+r=1(1)
可以看出,在r端和s端輸入同時為0時,觸發(fā)器的輸出將均為1且處于不穩(wěn)定狀態(tài),這將擾亂公平仲裁器的正常工作。為避免出現(xiàn)以上情況,公平仲裁單元通常分為四個部分,分別為預(yù)選部分、仲裁部分、應(yīng)答部分和請求傳輸部分,如圖3(a)所示,其中仲裁部分的具體電路如圖3(b)、(c)所示。仲裁單元的工作時序如圖4所示:預(yù)選部分在接收到低有效的請求信號~req0和~req1后,將其分別進(jìn)行一定延時輸出成~r0和~r1,同時判斷~req0和~req1之間的交疊情況:若為本次交疊為電路開始工作以來的第奇數(shù)次交疊,則優(yōu)先權(quán)選擇信號ps保持為0;若為第偶數(shù)次交疊,則ps產(chǎn)生有效電平為高的脈沖輸入至仲裁部分中,提升nand1的優(yōu)先權(quán),在~r0和~r1到達(dá)仲裁部分之前提前拉低仲裁部分的輸出x1,從而避免不穩(wěn)定狀態(tài)的產(chǎn)生。
以上結(jié)構(gòu)的不足之處在于受到工藝影響過大,主要體現(xiàn)在:第一,在奇數(shù)次交疊的情況下,預(yù)選部分不會產(chǎn)生ps的有效脈沖,為避免在該情形下產(chǎn)生不確定狀態(tài),仲裁部分的nand0必須始終保有較強的下拉能力,但又不能超過ps有效時nand1的下拉能力,否則偶數(shù)次交疊時ps將無法起優(yōu)先權(quán)選擇的作用;第二,ps脈沖的有效區(qū)間必須橫跨~r0和~r1的下降沿到來的前后,即ps上升沿必須在~r0和~r1的下降沿到來之前產(chǎn)生,并且ps的下降沿必須在在~r0和~r1的下降沿到來之后產(chǎn)生,如圖4中虛線框部分所示。以上兩點對電路性能的有極高要求,容易受到工藝偏差的影響,造成電路不能正常工作,電路魯棒性較差。
技術(shù)實現(xiàn)要素:
為克服現(xiàn)有技術(shù)的不足,針對現(xiàn)有公平仲裁單元電路對工藝偏差包容度較低、導(dǎo)致電路魯棒性較差的問題,本發(fā)明目的在于設(shè)計一種雙優(yōu)先級控制型的公平仲裁單元,并且進(jìn)而構(gòu)成樹狀公平仲裁器,增強公平仲裁器對于工藝偏差的容忍度,提高其魯棒性。本發(fā)明采用的技術(shù)方案是,雙優(yōu)先級控制型公平仲裁器,由預(yù)選部分、仲裁部分、應(yīng)答部分和請求傳輸部分組成,預(yù)選部分的輸入為請求信號~req0和~req1,輸出延時請求信號~r0和~r1,以及兩個優(yōu)先權(quán)選擇信號ps_odd和ps_even;仲裁部分輸入為~r0和~r1,根據(jù)ps_odd和ps_even的情況確定輸出的優(yōu)先權(quán),從而輸出仲裁結(jié)果信號~x0和~x1;應(yīng)答部分根據(jù)上級返回的應(yīng)答信號~ack以及仲裁結(jié)果~x0、~x1產(chǎn)生本級的應(yīng)答信號~ack0和~ack1,請求傳輸部分功能為將~req0和~req1做與操作后形成~req繼續(xù)向下一級輸出,仲裁部分為兩個與門and0和and1,以及兩個或非門nr0、nr1組成的兩路完全對稱的結(jié)構(gòu),and0以nr1輸出的仲裁信號~x1以及延時請求信號~r0為輸入,其輸出與ps_odd輸入到nr0,從而產(chǎn)生仲裁信號~x0;and1以nr0輸出的仲裁信號~x0以及延時請求信號~r1為輸入,其輸出與ps_even輸入到nr1,從而產(chǎn)生仲裁信號~x1,在請求信號~req0和~req1奇數(shù)次交疊時,由于ps_odd有效而ps_even無效,nr0被強制拉低,使得~x0優(yōu)先級高于~x1;而在偶數(shù)次交疊時,由于ps_even有效而ps_odd無效,nr1被強制拉低,使得~x1優(yōu)先級高于~x0,這樣就實現(xiàn)了優(yōu)先級輪換的公平仲裁。
預(yù)選部分中,請求信號~req0經(jīng)過一個反相器形成req0,req0經(jīng)過延時模塊dl0后形成d_req0,d_req0再經(jīng)過一個反相器和延時模塊dl1后輸出延時請求信號~r0;~r0與d_req0同時輸入一個與非門,產(chǎn)生一個低電平有效的脈沖信號~c0,請求信號~req1也經(jīng)過一個反相器形成req1,req1經(jīng)過延時模塊dl2后形成d_req1,d_req1再經(jīng)過一個反相器和延時模塊dl3后輸出延時請求信號~r1;~r1與d_req1同時輸入一個與非門,產(chǎn)生一個低電平有效的脈沖信號~c1,dl0~dl3的延遲時間完全相同,均記為td,~c0和~c1經(jīng)過一個或非門形成沖突脈沖cp,即每當(dāng)~req0和~req1同時為低電平時,cp就會產(chǎn)生一個寬度為2td的高電平脈沖,cp輸入到兩個d觸發(fā)器fd1和fd2的clk端,fd1的~q端與d端相連,q端輸出q1;fd2的~q端與d端相連,同時輸出q2,q端不啟用,cp分別和q1、q2做與操作,形成兩個優(yōu)先權(quán)控制信號ps_odd和ps_even,請求信號第奇數(shù)次交疊時ps_odd有效ps_even保持無效狀態(tài),而在請求信號第偶數(shù)次交疊時ps_even有效ps_odd保持無效狀態(tài),另外,由于~r0/~r1的下降沿到ps_odd/ps_even的下降沿需要經(jīng)過dl1/dl3以及至少三個邏輯門的延時作用,~r0/~r1的下降沿一定會在ps_odd/ps_even下降沿之后到來,那么只要保證td大于d_req0/d_req1到ps_odd/ps_even所要經(jīng)過的延遲,即可保證ps_odd/ps_even的有效電平橫跨~r0/~r1下降沿到來的前后。
應(yīng)答部分功能由兩個三輸入的與門構(gòu)成,兩個與門的輸入分別為~req0、~x0、~ack以及~req1、~x1、~ack,應(yīng)答部分在接到上一級返回的應(yīng)答信號~ack后,將根據(jù)本級的請求信號~req0和~req1,以及仲裁結(jié)果~x0和~x1,來決定向下一級傳遞的應(yīng)答信號~ack0或~ack1。
本發(fā)明的特點及有益效果是:
本發(fā)明基于單優(yōu)先級控制的輪權(quán)公平仲裁結(jié)構(gòu),通過增加一路優(yōu)先級控制信號,降低了仲裁部分對于輸出電路下拉能力要求的精準(zhǔn)度,使得電路對工藝偏差的包容性得到提升,從而增強了仲裁器的魯棒性。
附圖說明:
圖1公平仲裁器樹狀結(jié)構(gòu)圖。
圖2基本rs觸發(fā)器結(jié)構(gòu)圖。
圖3單優(yōu)先級控制型公平仲裁單元(a)基本結(jié)構(gòu)示意圖(b)仲裁部分結(jié)構(gòu)(c)nand1的具體電路。
圖4單優(yōu)先級控制型公平仲裁單元工作時序圖。
圖5雙優(yōu)先級控制型公平仲裁單元,其中,(a)基本結(jié)構(gòu)示意圖,(b)預(yù)選部分電路結(jié)構(gòu),(c)仲裁部分電路結(jié)構(gòu),(d)應(yīng)答部分電路結(jié)構(gòu),(e)請求傳輸部分電路結(jié)構(gòu)。
圖6雙優(yōu)先級控制型公平仲裁單元工作時序圖。
具體實施方式
本發(fā)明采用的公平仲裁單元結(jié)構(gòu)如圖5(a)所示,由預(yù)選部分、仲裁部分、應(yīng)答部分和請求傳輸部分組成,各部分的具體電路如圖5(b)~(e)所示,其中預(yù)選部分的輸入為請求信號~req0和~req1,輸出延時請求信號~r0和~r1,以及兩個優(yōu)先權(quán)選擇信號ps_odd和ps_even;仲裁部分輸入為~r0和~r1,根據(jù)ps_odd和ps_even的情況確定輸出的優(yōu)先權(quán),從而輸出仲裁結(jié)果信號~x0和~x1;應(yīng)答部分根據(jù)上級返回的應(yīng)答信號~ack以及仲裁結(jié)果~x0、~x1產(chǎn)生本級的應(yīng)答信號~ack0和~ack1。電路的工作時序如圖6所示。對電路的工作原理敘述如下:
請求信號~req0經(jīng)過一個反相器形成req0,req0經(jīng)過延時模塊dl0后形成d_req0,d_req0再經(jīng)過一個反相器和延時模塊dl1后輸出延時請求信號~r0;~r0與d_req0同時輸入一個與非門,產(chǎn)生一個低電平有效的脈沖信號~c0。請求信號~req1也經(jīng)過一個反相器形成req1,req1經(jīng)過延時模塊dl2后形成d_req1,d_req1再經(jīng)過一個反相器和延時模塊dl3后輸出延時請求信號~r1;~r1與d_req1同時輸入一個與非門,產(chǎn)生一個低電平有效的脈沖信號~c1。dl0~dl3的延遲時間完全相同,均記為td?!玞0和~c1經(jīng)過一個或非門形成沖突脈沖cp,即每當(dāng)~req0和~req1同時為低電平時,cp就會產(chǎn)生一個寬度為2td的高電平脈沖。cp輸入到兩個d觸發(fā)器fd1和fd2的clk端,fd1的~q端與d端相連,q端輸出q1;fd2的~q端與d端相連,同時輸出q2,q端不啟用。cp分別和q1、q2做與操作,形成兩個優(yōu)先權(quán)控制信號ps_odd和ps_even。請求信號第奇數(shù)次交疊時ps_odd有效ps_even保持無效狀態(tài),而在請求信號第偶數(shù)次交疊時ps_even有效ps_odd保持無效狀態(tài)。另外,由于~r0/~r1的下降沿到ps_odd/ps_even的下降沿需要經(jīng)過dl1/dl3以及至少三個邏輯門的延時作用,~r0/~r1的下降沿一定會在ps_odd/ps_even下降沿之后到來,那么只要保證td大于d_req0/d_req1到ps_odd/ps_even所要經(jīng)過的延遲,即可保證ps_odd/ps_even的有效電平橫跨~r0/~r1下降沿到來的前后。
仲裁部分為兩個與門and0和and1,以及兩個或非門nr0、nr1組成的兩路完全對稱的結(jié)構(gòu)。and0以nr1輸出的仲裁信號~x1以及延時請求信號~r0為輸入,其輸出與ps_odd輸入到nr0,從而產(chǎn)生仲裁信號~x0;and1以nr0輸出的仲裁信號~x0以及延時請求信號~r1為輸入,其輸出與ps_even輸入到nr1,從而產(chǎn)生仲裁信號~x1。在請求信號~req0和~req1奇數(shù)次交疊時,由于ps_odd有效而ps_even無效,nr0被強制拉低,使得~x0優(yōu)先級高于~x1;而在偶數(shù)次交疊時,由于ps_even有效而ps_odd無效,nr1被強制拉低,使得~x1優(yōu)先級高于~x0。這樣就實現(xiàn)了優(yōu)先級輪換的公平仲裁。
請求傳輸部分功能為將~req0和~req1做與操作后形成~req繼續(xù)向下一級輸出。
應(yīng)答部分功能由兩個三輸入的與門構(gòu)成。兩個與門的輸入分別為~req0、~x0、~ack以及~req1、~x1、~ack。應(yīng)答部分在接到上一級返回的應(yīng)答信號~ack后,將根據(jù)本級的請求信號(~req0和~req1)以及仲裁結(jié)果(~x0和~x1)來決定向下一級傳遞的應(yīng)答信號(~ack0或~ack1)。
在本發(fā)明的一個實例中,考慮在0.11μm工藝、電源電壓為1.5v的條件下實現(xiàn)該種雙優(yōu)先級控制型公平仲裁器。由于需要保證td大于d_req0/d_req1到ps_odd/ps_even所要經(jīng)過的延遲,而該延遲最長為一個與非門、一個或非門以及一個d觸發(fā)器從clk端到q/~q端的延時之和,典型值為約0.7~1.1ns。另一方面,考慮到仲裁的速度,dl0~dl3的延時不應(yīng)過長,故td可取約2ns。