專利名稱:用于實現(xiàn)總線連接的方法及系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及用于實現(xiàn)總線連接的方法及系統(tǒng)。
背景技術:
隨著集成技術的發(fā)展和應用領域的不斷擴大,不同類型的集成電路相互鑲嵌,形 成了各種嵌入式系統(tǒng)(Embedded System, ES)和片上系統(tǒng)(System On Chip, SOC)。其中, SOC指的是在單個芯片上集成一個完整的系統(tǒng),對所有或部分必要的電子電路進行包分組 的技術。所謂完整的系統(tǒng)一般包括中央處理器(CPU)、存儲器、以及外圍電路等。SOC之間的互聯(lián)對于總線要求也相應的較高,由于先進可擴展接口(Advanced extensible Interface, AXI)總線是一種讀寫分開,地址和數(shù)據(jù)分開的效率非常高的高級 總線互聯(lián)技術,因此,一般SOC之間的互聯(lián)會采用AXI總線。然而,有時需要在芯片之間或者 芯片與現(xiàn)場可編程門陣列(Field-Programmable Gate Array, FPGA)之間采用AXI總線進 行連接,由于芯片的可編程模擬器件(Programmable Analog Device,PAD)和FPGA的PAD本 身的延遲就比較大,在這種情況下,采用AXI總線連接的時候,其運行的頻率不可能很高, 時序不能滿足高頻率運行的要求。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供用于實現(xiàn)總線連接的方法及系統(tǒng),克服總線連接時的時序 問題,正確實現(xiàn)數(shù)據(jù)交互。本發(fā)明提供用于實現(xiàn)總線連接的方法,該方法包括主模塊緩沖器接收主模塊發(fā)起的先進可擴展接口總線的傳輸請求;所述主模塊緩沖器根據(jù)所述傳輸請求寫入信息;當所述主模塊緩沖器中有信息時,所述主模塊緩沖器向從模塊緩沖器發(fā)送所述信 息;之后,所述信息被所述從模塊緩沖器發(fā)送給從模塊。進一步的,所述主模塊緩沖器向從模塊緩沖器發(fā)送所述信息包括當所述從模塊緩沖器的空位大于預定值時,所述主模塊緩沖器向所述從模塊緩沖 器寫入所述信息。進一步的,所述主模塊緩沖器向從模塊緩沖器發(fā)送所述信息包括所述主模塊緩沖器向所述從模塊緩沖器發(fā)送有效的握手信號;同時,所述主模塊緩沖器將所述信息發(fā)送出去。進一步的,所述主模塊緩沖器向從模塊緩沖器發(fā)送所述信息還包括所述從模塊緩沖器向所述主模塊緩沖器反饋握手信號。進一步的,所述主模塊緩沖器向從模塊緩沖器發(fā)送所述信息還包括所述主模塊緩沖器將發(fā)送的有效的握手信號和所述從模塊緩沖器反饋的握手信 號進行邏輯與,得到新的握手信號;
所述主模塊緩沖器將所述新的握手信號發(fā)送給所述從模塊緩沖器。本發(fā)明還提供用于實現(xiàn)總線連接的系統(tǒng),該系統(tǒng)的各模塊之間采用先進可擴展接 口總線連接,該系統(tǒng)包括主模塊,用于發(fā)起先進可擴展接口總線的傳輸請求;主模塊緩沖器,用于所述接收主模塊發(fā)起的先進可擴展接口總線的傳輸請求,寫 入信息;從模塊緩沖器,用于接收所述主模塊緩沖器發(fā)送的所述信息;從模塊,用于接收所述從模塊緩沖器發(fā)送的所述信息。進一步的,所述主模塊緩沖器包括寫入單元,用于根據(jù)所述傳輸請求寫入信息;發(fā)送單元,用于向所述從模塊緩沖器發(fā)送所述信息。進一步的,所述主模塊緩沖器還包括判斷單元,用于判斷所述從模塊緩沖器的空位是否大于預定值;所述發(fā)送單元,還用于當所述從模塊緩沖器的空位大于預定值時,向所述從模塊 緩沖器寫入所述信息。進一步的,所述主模塊緩沖器還包括握手單元,用于向所述從模塊緩沖器發(fā)送有效的握手信號。進一步的,所述主模塊緩沖器還包括反饋單元,用于接收所述從模塊緩沖器的反饋握手信號。進一步的,所述主模塊緩沖器還包括計算單元,用于將所述握手單元的握手信號和所述反饋單元接收的反饋握手信號 進行邏輯與運算,作為新的握手信號,發(fā)送給所述從模塊緩沖器。采用本發(fā)明提供的用于實現(xiàn)總線連接的方法及系統(tǒng),在主模塊和從模塊之間采用 了主模塊緩沖器和從模塊緩沖器,使得主模塊和從模塊之間的信號輸入/輸出都是寄存器 相連,從而最大程度的保證總線連接的時序優(yōu)化。進一步的,采用了預發(fā)機制,當從模塊緩沖器的空位大于預定值時,才可以接收數(shù) 據(jù),即,在從模塊緩沖器還有部分空位的時候就停止接收數(shù)據(jù),從而避免由于延時造成的時 序問題,實現(xiàn)數(shù)據(jù)的正確交互。更進一步的,采用了攜帶反饋機制,主模塊緩沖器發(fā)出的握手信號不僅僅是由主 模塊緩沖器發(fā)出,還與從模塊緩沖器反饋的握手信號進行了邏輯與運算,從而根據(jù)反饋的 信號對于主模塊緩沖器發(fā)出的握手信號進行修正,保證數(shù)據(jù)的正確傳輸。
圖1示出普通AXI總線連接方式;圖2示出普通AXI總線在時序路徑過長時候的錯誤交互;圖3示出本發(fā)明實施例中實現(xiàn)總線連接方法的流程示意圖;圖4示出本發(fā)明實施例中帶先入先出隊列(First Input First Output, FIFO)緩 沖的AXI總線連接;圖5示出本發(fā)明實施例中帶FIFO緩沖的AXI總線連接的出錯情況;
圖6示出本發(fā)明實施例中帶FIFO緩沖和預發(fā)模式的非標準AXI總線連接;圖7示出本發(fā)明實施例中非標準AXI總線的時序;圖8示出本發(fā)明實施例中FIFO的預發(fā)模式;圖9示出本發(fā)明實施例中實現(xiàn)總線連接系統(tǒng)的結構示意圖。
具體實施例方式下面結合附圖對本發(fā)明的具體實施方式
做詳細闡述。圖1所示是現(xiàn)有的AXI總線 的連接方式。其主模塊(AXI MASTER)和從模塊(AXI SLAVE)直接相連接,在這種連接情況 下。如果兩個芯片或者兩個FPGA以及芯片與FPGA之間需要用AXI總線來進行連接,那么 PAD以及走線的延遲(delay)加起來可能會造成超過一個周期的delay。如果主模塊和從 模塊之間的時序路徑超過一個周期,就會出現(xiàn)圖2中出現(xiàn)的錯誤情況。由于連接上出現(xiàn)超 過一個周期的delay,在主模塊端有效的valid信號在第一個周期發(fā)出,到從模塊端,要到 第二個周期才會被采集到。從模塊端接收到valid有效信號,將ready信號置為高,然后反 饋到主模塊端,需要到第三個周期才能被主模塊接收到。在主模塊端,valid信號就會一直 維持到第三個周期才會結束,而在從模塊端,valid信號會維持到第四個周期才會結束。這 樣,從模塊端會多接收到兩個周期的valid信號,這兩個信號可能造成錯誤的交互操作。為 了克服以上在高頻情況下,芯片之間或者芯片與FPGA之間以及FPGA之間采用AXI總線連 接時候的時序問題,本發(fā)明提出用于實現(xiàn)總線連接的方法,是一種基于AXI協(xié)議但不同于 AXI協(xié)議的總線連接方法,適用于高頻接口上使用。實現(xiàn)本發(fā)明的總線連接的方法,采用以 下四個模塊分別是AXI的主模塊(MASTER)、從模塊(SLAVE)、主模塊FIFO緩沖器和從模塊 FIFO緩沖器。其中主模塊主要用于發(fā)起AXI的傳輸請求,包括讀請求和寫請求。從模塊為 接受方,受理讀請求和寫請求。具體的,請參見圖3,該方法提出FIFO緩沖機制,包括301、主模塊緩沖器接收主模塊發(fā)起的AXI的傳輸請求;302、主模塊緩沖器根據(jù)傳輸請求寫入信息;303、當主模塊緩沖器中有信息時,主模塊緩沖器向從模塊緩沖器發(fā)送信息;304、信息被從模塊緩沖器發(fā)送給從模塊。其中,采用的主模塊FIFO緩沖器和從模塊FIFO緩沖器都是總線緩沖單元,這兩個 緩沖單元主要目的是為了保證片間的信號的輸入和輸出都是寄存器相連,從而保證最大程 度的時序優(yōu)化。進一步的,本方法還提出預發(fā)機制,當從模塊緩沖器的空位大于預定值時,主模塊 緩沖器向從模塊緩沖器寫入信息。預定值可以根據(jù)具體的總線連接情況而定,可以設置 為兩個。具體實現(xiàn)可以包括在正常情況下,AXI總線的每個通道的握手是通過兩個信號 VALID和READY來進行。VALID是由主動方發(fā)出,READY是由從動方反饋,當兩者都為高的 時候,表示一次傳輸完成。對于從模塊FIFO而言,只要其內(nèi)部有空位,就意味著它可以接受 數(shù)據(jù),它就會一直把READY信號拉高,告訴主動方其可以接受數(shù)據(jù)。直到從模塊FIFO里面 填滿,它就把反饋的READY信號拉低,這就相當于告訴主動方,現(xiàn)在不能接受數(shù)據(jù),需要主 動方等待。直到從模塊FIFO的數(shù)據(jù)被取走,留下了 FIFO空位,READY才會再次拉高。而預 發(fā)模式下,READY信號的拉低機制是不同的,當FIFO的空位大于兩個的時候,READY信號一直拉高,從模塊FIFO可以接受數(shù)據(jù),但是FIFO空位只剩下兩個的時候,READY信號立即拉 低。在從模塊緩沖器還有部分空位的時候就停止接收數(shù)據(jù),從而避免由于延時造成的時序 問題,實現(xiàn)數(shù)據(jù)的正確交互。進一步的,本方法還提出攜帶反饋機制,主模塊緩沖器向從模塊緩沖器發(fā)送有效 的握手信號,從模塊緩沖器向主模塊緩沖器反饋握手信號,主模塊緩沖器將發(fā)送的有效的 握手信號和從模塊緩沖器反饋的握手信號進行邏輯與,得到新的握手信號;主模塊緩沖器 將新的握手信號發(fā)送給從模塊緩沖器。在正常情況下,主動方FIFO握手信號VALID是完全 由主動方發(fā)出的。在本發(fā)明中,需要把主動方FIFO發(fā)出的VALID信號與從動方FIFO反饋 的READY信號做邏輯與運算,再送給從動方FIFO。根據(jù)反饋的信號對于主模塊緩沖器發(fā)出 的握手信號進行修正,保證數(shù)據(jù)的正確傳輸。圖4示出緩沖機制的具體應用。在本應用中,約定把主動發(fā)出VALID端的FIFO稱 為主FIFO,另外一邊的FIFO則是從FIFO。這樣主模塊端的AR,Aff, W三個通道的FIFO,還 有從模塊端的B,R兩個通道的FIFO都是主FIFO,其他5個FIFO則是從FIFO。對于主FIFO,當主動模塊的VALID有效,而且主FIFO有空位置的時候,就會向主 FIFO寫入信息。當主FIFO有信息,就會向從FIFO發(fā)出有效的VALID,同時將信息發(fā)送出去, 一旦從FIFO端的READY信號有效,就完成一次傳輸。對于從FIFO,當VALID有效,從FIFO有空位置的時候,就向從FIFO寫入信息。當 從FIFO有數(shù)據(jù),就從其中取出信息發(fā)送往從模塊,同時拉高與從模塊連接的VALID信號,直 到從模塊端READY信號有效,發(fā)送成功。通過在AXI總線上插入兩級FIFO機制,可以有效的提高AXI的時序。但是僅僅用 FIFO緩沖的機制,可能還是會有時序的違例存在,尤其是在芯片(FPGA)與芯片(FPGA)之間 連接的時候,如果PAD和走線的延遲比較大,這種辦法依然解決不了功能正確性的問題。如圖5所示,如果PAD和走線的延遲超過一個周期,使用FIFO緩沖機制就會出現(xiàn) 圖5中所示的時序違例,主模塊端會多發(fā)數(shù)次VALID有效的傳輸信號,也就是會多傳輸幾次 信號。圖6示出緩沖機制與預發(fā)機制的應用。在正常情況下,當VALID信號和READY信 號都為高的時候,數(shù)據(jù)傳輸成功,完成一次正常握手,圖1,圖4兩種情況都是如此,這是標 準的AXI接口方式。在預發(fā)模式下,從FIFO端的接口 VALID和READY信號不再遵循這個關 系。當從模塊的FIFO還有空位的時候,而且VALID信號為高電平的時候,就會向從模塊的 FIFO寫入數(shù)據(jù),而這個時候從模塊發(fā)出的VALID信號不一定為高電平。如圖8所示,在正常 模式下,從模塊端的READY信號是在FIFO有空位的時候一直拉高從而保證可以接受數(shù)據(jù), 而FIFO —旦滿就立即拉低,使得數(shù)據(jù)不能寫入。但是在預發(fā)模式下,從模塊端的READY信 號在FIFO還有空位的時候就預先拉低,這樣數(shù)據(jù)還在寫入,但是READY已經(jīng)不是高電平,這 是一種非標準的AXI交互模式。預發(fā)模式除了預先拉低從FIFO,如圖6所示,還需要在主動FIFO的端口將READY 信號與發(fā)出的VALID信號與一下再發(fā)送出去,才能保證功能的正確性,僅僅是在預發(fā)模式 拉低READY信號會導致數(shù)據(jù)傳輸出錯。因為在主FIFO端,預先拉低的READY到達之后,主 FIFO端認為從FIFO沒有再接收數(shù)據(jù),因此會一直把VALID拉高,這個一直拉高的VALID到 達從FIFO端之后會被從FIFO認為是有效的寫入,從而將信息寫入FIFO之中,造成錯誤傳輸。而在主動FIFO的端口將發(fā)出的VALID與取過來的READY信號與一下之后,從FIFO 接受到的VALID信號就會拉低,如圖7所示,這種情況下的傳輸就是正確的。通過本發(fā)明所提供的實現(xiàn)總線連接的方法,當主FIFO與從FIFO之間的時序路徑 超過一個周期的時候,信息依然能夠有效的在主FIFO和從FIFO之間傳輸。而且這種方式 是一種流水線的方式,不會降低多少系統(tǒng)的效率。這樣可以保證總線運行在較高的頻率下, 尤其適用于在片見的AXI總線連接的情況。相應的,本發(fā)明還提供用于實現(xiàn)總線連接的系統(tǒng),該系統(tǒng)的各模塊之間采用先進 可擴展接口總線連接,請參閱圖9,該系統(tǒng)包括主模塊901,用于發(fā)起先進可擴展接口總線的傳輸請求;主模塊緩沖器902,用于接收主模塊發(fā)起的先進可擴展接口總線的傳輸請求,寫入 fn息;從模塊緩沖器903,用于接收主模塊緩沖器發(fā)送的信息;從模塊904,用于接收從模塊緩沖器發(fā)送的信息。進一步的,主模塊緩沖器902可以包括寫入單元902-1,用于根據(jù)傳輸請求寫入信息;發(fā)送單元902-2,用于向從模塊緩沖器發(fā)送信息。進一步的,主模塊緩沖器還可以包括判斷單元902-3,用于判斷從模塊緩沖器的空位是否大于預定值;發(fā)送單元,還用于當從模塊緩沖器的空位大于預定值時,向從模塊緩沖器寫入信 肩、ο進一步的,主模塊緩沖器還可以包括握手單元902-4,用于向從模塊緩沖器發(fā)送有效的握手信號。進一步的,主模塊緩沖器還可以包括反饋單元902-5,用于接收從模塊緩沖器的反饋握手信號。進一步的,主模塊緩沖器還可以包括計算單元902-6,用于將握手單元的握手信號和反饋單元接收的反饋握手信號進 行邏輯與運算,作為新的握手信號,發(fā)送給從模塊緩沖器。以上所述僅是本發(fā)明的具體實施方式
,應當指出,對于本技術領域的普通技術人 員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應 視為本發(fā)明的保護范圍。
權利要求
1.用于實現(xiàn)總線連接的方法,其特征在于,該方法包括主模塊緩沖器接收主模塊發(fā)起的先進可擴展接口總線的傳輸請求; 所述主模塊緩沖器根據(jù)所述傳輸請求寫入信息;當所述主模塊緩沖器中有信息時,所述主模塊緩沖器向從模塊緩沖器發(fā)送所述信息; 之后,所述信息被所述從模塊緩沖器發(fā)送給從模塊。
2.根據(jù)權利要求1所述的方法,其特征在于,所述主模塊緩沖器向從模塊緩沖器發(fā)送 所述信息包括當所述從模塊緩沖器的空位大于預定值時,所述主模塊緩沖器向所述從模塊緩沖器寫 入所述信息。
3.根據(jù)權利要求1或2所述的方法,其特征在于,所述主模塊緩沖器向從模塊緩沖器發(fā) 送所述信息包括所述主模塊緩沖器向所述從模塊緩沖器發(fā)送有效的握手信號; 同時,所述主模塊緩沖器將所述信息發(fā)送出去。
4.根據(jù)權利要求3所述的方法,其特征在于,所述主模塊緩沖器向從模塊緩沖器發(fā)送 所述信息還包括所述從模塊緩沖器向所述主模塊緩沖器反饋握手信號。
5.根據(jù)權利要求4所述的方法,其特征在于,所述主模塊緩沖器向從模塊緩沖器發(fā)送 所述信息還包括所述主模塊緩沖器將發(fā)送的有效的握手信號和所述從模塊緩沖器反饋的握手信號進 行邏輯與,得到新的握手信號;所述主模塊緩沖器將所述新的握手信號發(fā)送給所述從模塊緩沖器。
6.用于實現(xiàn)總線連接的系統(tǒng),其特征在于,該系統(tǒng)的各模塊之間采用先進可擴展接口 總線連接,該系統(tǒng)包括主模塊,用于發(fā)起先進可擴展接口總線的傳輸請求;主模塊緩沖器,用于所述接收主模塊發(fā)起的先進可擴展接口總線的傳輸請求,寫入信息;從模塊緩沖器,用于接收所述主模塊緩沖器發(fā)送的所述信息; 從模塊,用于接收所述從模塊緩沖器發(fā)送的所述信息。
7.根據(jù)權利要求6所述的系統(tǒng),其特征在于,所述主模塊緩沖器包括 寫入單元,用于根據(jù)所述傳輸請求寫入信息;發(fā)送單元,用于向所述從模塊緩沖器發(fā)送所述信息。
8.根據(jù)權利要求7所述的系統(tǒng),其特征在于,所述主模塊緩沖器還包括 判斷單元,用于判斷所述從模塊緩沖器的空位是否大于預定值;所述發(fā)送單元,還用于當所述從模塊緩沖器的空位大于預定值時,向所述從模塊緩沖 器寫入所述信息。
9.根據(jù)權利要求7或8所述的系統(tǒng),其特征在于,所述主模塊緩沖器還包括 握手單元,用于向所述從模塊緩沖器發(fā)送有效的握手信號。
10.根據(jù)權利要求9所述的系統(tǒng),其特征在于,所述主模塊緩沖器還包括 反饋單元,用于接收所述從模塊緩沖器的反饋握手信號。
11.根據(jù)權利要求10所述的系統(tǒng),其特征在于,所述主模塊緩沖器還包括 計算單元,用于將所述握手單元的握手信號和所述反饋單元接收的反饋握手信號進行 邏輯與運算,作為新的握手信號,發(fā)送給所述從模塊緩沖器。
全文摘要
本發(fā)明公開用于實現(xiàn)總線連接的方法及系統(tǒng),該方法包括主模塊緩沖器接收主模塊發(fā)起的先進可擴展接口總線的傳輸請求;所述主模塊緩沖器根據(jù)所述傳輸請求寫入信息;當所述主模塊緩沖器中有信息時,所述主模塊緩沖器向從模塊緩沖器發(fā)送所述信息;之后,所述信息被所述從模塊緩沖器發(fā)送給從模塊。采用本發(fā)明提供的用于實現(xiàn)總線連接的方法及系統(tǒng),在主模塊和從模塊之間采用了主模塊緩沖器和從模塊緩沖器,使得主模塊和從模塊之間的信號輸入/輸出都是寄存器相連,從而最大程度的保證總線連接的時序優(yōu)化。
文檔編號G06F13/40GK102103564SQ200910189200
公開日2011年6月22日 申請日期2009年12月22日 優(yōu)先權日2009年12月22日
發(fā)明者方應龍, 曾代兵, 林曉濤 申請人:中興通訊股份有限公司