超大規(guī)模芯片及其布局方法、訪問寄存器的方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種超大規(guī)模芯片及其布局方法、訪問寄存器的方法及系統(tǒng),其中,布局方法包括:確定各個功能模塊在芯片上的位置,以總的連線長度最短為原則,決定環(huán)上總控制模塊和與各個功能模塊關聯(lián)的各子控制模塊的連接順序;將所述總控制模塊的發(fā)送端口與一個子控制模塊的接收端口連接,該子控制模塊的發(fā)送端口與下一級子控制模塊的接收端口連接,直到最后一個子控制模塊的發(fā)送端口與所述總控制模塊的接收端口連接,構造出一個囊括總控制模塊和所有子控制模塊的環(huán),此外,基于該布局結構還提出了采用環(huán)形的方式實現(xiàn)對芯片的寄存器訪問控制,本發(fā)明通過在環(huán)狀的控制模塊鏈上進行報文轉(zhuǎn)發(fā)取代了直接的寄存器訪問。
【專利說明】超大規(guī)模芯片及其布局方法、訪問寄存器的方法及系統(tǒng)
【技術領域】
[0001]本發(fā)明涉及芯片設計領域,具體涉及一種超大規(guī)模芯片及其布局方法、訪問寄存器的方法及系統(tǒng)。
【背景技術】
[0002]隨著服務器應用領域的不斷發(fā)展,高端服務器的應用需求已經(jīng)進入了一個重要階段。復雜的體系結構實現(xiàn)支持高端服務器系統(tǒng)實現(xiàn)高性能指標、高安全性、高可用性、高可靠性等特點。這就需要網(wǎng)絡控制類芯片控制多路處理器系統(tǒng),使系統(tǒng)內(nèi)部報文傳輸達到高效可靠、安全穩(wěn)定。協(xié)議的復雜性和系統(tǒng)規(guī)模的擴大讓網(wǎng)絡控制芯片的規(guī)模不斷擴大,同時,新的工藝給芯片的設計也帶來更大的挑戰(zhàn)。在超大規(guī)模芯片的工作和設計過程中,芯片中的各個功能模塊必然有大量的寄存器(包括讀寫用于控制各模塊工作模式的控制寄存器以及讀用于標志模塊工作狀態(tài)的狀態(tài)寄存器)需要被系統(tǒng)訪問,這要求芯片有一個集中的寄存器訪問接口和一套完整的寄存器訪問機制。同時,40nm以下的工藝在線延遲上的敏感度非常高,集中式的寄存器訪問控制模塊在超大規(guī)模芯片中很難滿足要求。
[0003]通常情況下的芯片中寄存器訪問方式為設計一個單獨的集中式的寄存器總控制訪問模塊,并將其與芯片所有功能模塊的寄存器組進行連接,采用報文的方式傳輸,即除去控制位和數(shù)據(jù)位之外,加上地址,操作類型等信息,對于每組寄存器用同一套信號接口進行傳輸,從而實現(xiàn)了信號接口的復用。這種做法實際上是在前端設計完全忽略線延遲,而單純依靠后端設計來彌補。后端設計對該問題的解決方式主要是同時采用兩方面的設計:一方面布局上將該模塊盡可能地放置在芯片中央位置;另一方面為時序無法收斂的連線添加多級的中繼寄存器。第一種做法將限制后端設計中對整個芯片布局布線的優(yōu)化空間,第二種則在增加資源耗費的同時,讓前端設計與后端設計的時序差距變大,甚至可能影響前端與后端在設計功能上的一致性。
【發(fā)明內(nèi)容】
[0004]本發(fā)明需要解決的技術問題是提供一種超大規(guī)模芯片及其布局方法、訪問寄存器的方法及系統(tǒng),優(yōu)化對整個芯片布局布線的空間,減少了后端需要添加中繼寄存器的可能,從而盡可能地保證了前端設計者對于后端實際芯片的時序的可控制性。
[0005]為了解決上述技術問題,本發(fā)明提供了一種超大規(guī)模芯片,包括:一個或多個功能模塊,所述功能模塊包括一個或多個寄存器,其特征在于,所述芯片還包括:總控制模塊和與每個功能模塊關聯(lián)的子控制模塊,其中:
[0006]所述總控制模塊包括與系統(tǒng)交互的系統(tǒng)端口、發(fā)送端口和接收端口 ;所述子控制模塊包括接收端口、發(fā)送端口和與所述功能模塊下屬的寄存器連接的端口 ;
[0007]以總的連線長度最短為原則,所述總控制模塊的發(fā)送端口與一個子控制模塊的接收端口連接,該子控制模塊的發(fā)送端口與下一級子控制模塊的接收端口連接,直到最后一個子控制模塊的發(fā)送端口與所述總控制模塊的接收端口連接,從所述總控制模塊的發(fā)送端口開始到所述總控制模塊的接收端口結束,構造出一個囊括總控制模塊和所有子控制模塊的環(huán);其中,所述總的連線長度為所述環(huán)中連線的總長度。
[0008]為了解決上述技術問題,本發(fā)明還提供了一種超大規(guī)模芯片的布局方法,包括:
[0009]根據(jù)芯片后端設計的布局計劃,確定各個功能模塊在芯片上的位置,以總的連線長度最短為原則,決定環(huán)上總控制模塊和與各個功能模塊關聯(lián)的各子控制模塊的連接順序;
[0010]將所述總控制模塊的發(fā)送端口與一個子控制模塊的接收端口連接,該子控制模塊的發(fā)送端口與下一級子控制模塊的接收端口連接,直到最后一個子控制模塊的發(fā)送端口與所述總控制模塊的接收端口連接,從所述總控制模塊的發(fā)送端口開始到所述總控制模塊的接收端口結束,構造出一個囊括總控制模塊和所有子控制模塊的環(huán),其中,所述總的連線長度為所述環(huán)中連線的總長度。
[0011]為了解決上述技術問題,本發(fā)明還提供了一種對如上所述的超大規(guī)模芯片中寄存器訪問的方法,包括:
[0012]將總控制模塊與子控制模塊統(tǒng)一進行地址編碼,將所有功能模塊下屬的寄存器統(tǒng)一進行地址編碼,并將所述功能模塊關聯(lián)的子控制模塊的地址與所述功能模塊下屬的寄存器的地址進行映射關聯(lián);
[0013]所述總控制模塊接收到系統(tǒng)對某一寄存器的訪問請求,所述訪問請求中攜帶有請求訪問的寄存器地址、訪問操作以及相應數(shù)據(jù);
[0014]所述總控制模塊判斷所述訪問請求是否有效,如果有效,則根據(jù)所述訪問請求生成請求報文,并將所述請求報文發(fā)送至與其連接的子控制模塊,所述請求報文中攜帶有所述請求訪問的寄存器地址、與該寄存器地址關聯(lián)的子控制模塊的地址以及訪問操作和相應數(shù)據(jù);
[0015]各所述子控制模塊如果接收到所述請求報文,判斷所述請求報文中攜帶的子控制模塊的地址是否為本身的地址,如果不是則將所述請求報文發(fā)送至下一級子控制模塊;如果是,則根據(jù)所述請求報文對與所述子控制模塊關聯(lián)的功能模塊下屬的寄存器進行訪問,在訪問成功后生成響應報文,發(fā)送給所述下一級子控制模塊,所述響應報文攜帶有總控制模塊的地址、所述請求訪問的寄存器地址以及訪問成功后的相應數(shù)據(jù);如果接收到上一級子控制模塊的響應報文,判斷所述響應報文中攜帶的地址不是本身的地址,則將所述響應報文發(fā)送至發(fā)送端口所連接的下一級子控制模塊或總控制模塊;
[0016]所述總控制模塊接收到與其連接的子控制模塊的所述響應報文后,向所述系統(tǒng)返回訪問響應。
[0017]進一步地,所述總控制模塊根據(jù)所述操作訪問請求生成請求報文,包括:
[0018]所述總控制模塊根據(jù)所述訪問請求中攜帶的寄存器地址映射出與其關聯(lián)的子控制模塊的地址,將所述子控制模塊的地址、所述請求訪問的寄存器地址以及訪問操作和相應數(shù)據(jù)封裝為請求報文。
[0019]進一步地,所述總控制模塊判斷所述訪問請求是否有效,包括:
[0020]判斷所述訪問請求中攜帶的寄存器地址是否存在,如果存在則該訪問請求有效;
[0021]所述方法還包括:所述訪問請求如果無效,則直接向系統(tǒng)返回請求無效的響應。
[0022]進一步地,所述根據(jù)所述請求報文對與所述子控制模塊關聯(lián)的功能模塊下屬的寄存器進行訪問,包括:
[0023]所述子控制模塊根據(jù)所述請求報文中的請求訪問的寄存器地址以及訪問操作和相應數(shù)據(jù),對該寄存器地址指向的寄存器進行相應的訪問操作。
[0024]進一步地,所有寄存器的位寬一致,所述請求報文和所述響應報文的長度相同。
[0025]為了解決上述技術問題,本發(fā)明還提供了一種對如上所述的超大規(guī)模芯片中寄存器訪問的系統(tǒng),包括:地址編碼模塊、總控制模塊和一個或多個子控制模塊;其中:
[0026]所述地址編碼模塊,用于將總控制模塊與子控制模塊統(tǒng)一進行地址編碼,將所有功能模塊下屬的寄存器統(tǒng)一進行地址編碼,并將所述功能模塊關聯(lián)的子控制模塊的地址與所述功能模塊下屬的寄存器的地址進行映射關聯(lián);
[0027]所述總控制模塊,用于接收到系統(tǒng)對某一寄存器的訪問請求,所述訪問請求中攜帶有請求訪問的寄存器地址、訪問操作以及相應數(shù)據(jù);判斷所述訪問請求是否有效,如果有效,則根據(jù)所述訪問請求生成請求報文,并將所述請求報文發(fā)送至與其連接的子控制模塊,所述請求報文中攜帶有所述請求訪問的寄存器地址、與該寄存器地址關聯(lián)的子控制模塊的地址以及訪問操作和相應數(shù)據(jù);并在接收到與其連接的另一子控制模塊的響應報文后,向所述系統(tǒng)返回訪問響應;
[0028]所述子控制模塊,用于如果接收到所述請求報文,判斷所述請求報文中攜帶的子控制模塊的地址是否為本身的地址,如果不是則將所述報文發(fā)送至下一級子控制模塊;如果是,則根據(jù)所述請求報文對與其關聯(lián)的功能模塊下屬的寄存器進行訪問,在訪問成功后生成響應報文,發(fā)送給所述下一級子控制模塊,所述響應報文攜帶有總控制模塊的地址、所述請求訪問的寄存器地址以及訪問成功后的相應數(shù)據(jù);還用于如果接收到上一級子控制模塊的響應報文后,判斷所述響應報文中攜帶的地址不是本身的地址,則將所述響應報文再發(fā)送至發(fā)送端口所連接的下一級子控制模塊或所述總控制模塊。
[0029]進一步地,所述總控制模塊,用于根據(jù)所述操作訪問請求生成請求報文,包括:
[0030]所述總控制模塊根據(jù)所述訪問請求中攜帶的寄存器地址映射出與其關聯(lián)的子控制模塊的地址,將所述子控制模塊的地址、所述請求訪問的寄存器地址以及訪問操作和相應數(shù)據(jù)封裝為請求報文。
[0031]進一步地,所述子控制模塊,用于根據(jù)所述請求報文對與所述子控制模塊關聯(lián)的功能模塊下屬的寄存器進行訪問,包括:
[0032]所述子控制模塊根據(jù)所述請求報文中的請求訪問的寄存器地址以及訪問操作和相應數(shù)據(jù),對該寄存器地址指向的寄存器進行相應的訪問操作。
[0033]與現(xiàn)有技術相比,本發(fā)明提供的超大規(guī)模芯片及其布局方法、訪問寄存器的方法及系統(tǒng),考慮到芯片后端布局上的緊湊性,在采取盡量縮短最長連線的構造規(guī)則的前提下,將總控制模塊和所有子控制模塊構成環(huán)狀連接,環(huán)上的模塊與模塊之間的連線是會遠遠短于集中式控制模塊與最遠寄存器的連線的。采用環(huán)形的方式實現(xiàn)對芯片的寄存器訪問控制,在通過將寄存器訪問封裝成報文傳輸?shù)姆绞綕M足了芯片寄存器訪問功能的同時,通過在環(huán)狀的控制模塊鏈上進行報文轉(zhuǎn)發(fā)取代了直接的寄存器訪問;
[0034]同時,這種方式不會給后端設計帶來額外的布局上的要求一總控制模塊可以在芯片的任意位置。更重要的是,這種方式盡可能地減少了后端需要添加中繼寄存器的可能,從而盡可能地保證了前端設計者對于后端實際芯片的時序的可控制性;
[0035]另一個有益之處在于,本實施例提供的方法可以適用于各種擁有不同數(shù)目功能模塊的芯片,當功能模塊的數(shù)目改變時,僅需要改變關聯(lián)的子控制模塊的個數(shù),修改寄存器和模塊的地址編碼即可,而不需要對已有的邏輯進行修改,因此,具有非常好的可移植性和可擴展性。
【專利附圖】
【附圖說明】
[0036]圖1是現(xiàn)有技術中超大規(guī)模芯片的結構圖;
[0037]圖2是實施例中超大規(guī)模芯片的結構圖;
[0038]圖3是實施例中超大規(guī)模芯片的布局方法流程圖;
[0039]圖4是實施例中利用縮短最長連線原則構建寄存器控制模塊環(huán)示例圖;
[0040]圖5是實施例中對超大規(guī)模芯片中寄存器訪問的方法流程圖;
[0041 ]圖6是實施例中對超大規(guī)模芯片中寄存器訪問的系統(tǒng)結構圖。
【具體實施方式】
[0042]為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚明白,下文中將結合附圖對本發(fā)明的實施例進行詳細說明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互任意組合。
[0043]實施例:
[0044]如圖2所示,本實施例提供了一種超大規(guī)模芯片,包括:一個或多個功能模塊,以7個功能模塊為例,所述功能模塊包括一個或多個寄存器,方便起見稱為寄存器組,所述芯片還包括:總控制模塊和與每個功能模塊關聯(lián)的子控制模塊,其中:
[0045]所述總控制模塊包括與系統(tǒng)交互的系統(tǒng)端口、發(fā)送端口和接收端口 ;所述子控制模塊包括接收端口、發(fā)送端口和與所述功能模塊下屬的寄存器連接的端口 ;
[0046]以總的連線長度最短為原則,所述總控制模塊的發(fā)送端口與一個子控制模塊的接收端口連接,該子控制模塊的發(fā)送端口與下一級子控制模塊的接收端口連接,直到最后一個子控制模塊的發(fā)送端口與所述總控制模塊的接收端口連接,從所述總控制模塊的發(fā)送端口開始到所述總控制模塊的接收端口結束,構造出一個囊括總控制模塊和所有子控制模塊的環(huán);
[0047]其中,所述總的連線長度為所述環(huán)中連線的總長度,S卩,所述總的連線長度為總控制模塊與子控制模塊之間的連線的長度,加上各子控制模塊之間連線的總長度。
[0048]本實施例中,在超大規(guī)模芯片設計中為實現(xiàn)對芯片的寄存器的統(tǒng)一訪問,同時考慮到40nm以下工藝對線延遲的嚴苛要求,用環(huán)形的方式實現(xiàn)了對芯片寄存器的連接和訪問,其中,總控制模塊的與系統(tǒng)交互的端口為芯片提供了統(tǒng)一的寄存器訪問接口。
[0049]如圖3所示,本實施例提供了一種超大規(guī)模芯片的布局方法,包括:
[0050]SlOl:根據(jù)芯片后端設計的布局計劃,確定各個功能模塊在芯片上的位置,以總的連線長度最短為原則,決定環(huán)上總控制模塊和與各個功能模塊關聯(lián)的各子控制模塊的連接順序;
[0051]其中,后端設計根據(jù)資源,散熱,時序等條件的評估,完成對各個功能模塊的布局計劃。
[0052]S102:將所述總控制模塊的發(fā)送端口與一個子控制模塊的接收端口連接,該子控制模塊的發(fā)送端口與下一級子控制模塊的接收端口連接,直到最后一個子控制模塊的發(fā)送端口與所述總控制模塊的接收端口連接,從所述總控制模塊的發(fā)送端口開始到所述總控制模塊的接收端口結束,構造出一個囊括總控制模塊和所有子控制模塊的環(huán)。
[0053]其中,所述總的連線長度為所述環(huán)中連線的總長度,S卩,所述總的連線長度為總控制模塊與子控制模塊之間的連線的長度,加上各子控制模塊之間連線的總長度。
[0054]在一個應用示例中,圖4給出一種利用縮短最長連線原則構建寄存器控制模塊環(huán)示例圖。
[0055]在本實施例提供的超大規(guī)模芯片及其布局方法的基礎上,本實施例還提供了一種對超大規(guī)模芯片中寄存器訪問的方法,如圖5所示,包括:
[0056]S201:將總控制模塊與子控制模塊統(tǒng)一進行地址編碼,將所有功能模塊下屬的寄存器統(tǒng)一進行地址編碼,并將所述功能模塊關聯(lián)的子控制模塊的地址與所述功能模塊下屬的寄存器的地址進行映射關聯(lián);
[0057]本實施例中提供了將寄存器地址與子控制模塊地址映射起來的機制,當總控制模塊從系統(tǒng)接收到對某一寄存器的訪問請求時,可以根據(jù)該寄存器地址得到對應的子控制模塊地址,而子模塊只需要知道自己的模塊地址以及總控制模塊的地址用于發(fā)送響應即可。
[0058]S202:所述總控制模塊接收到系統(tǒng)對某一寄存器的訪問請求,所述訪問請求中攜帶有請求訪問的寄存器地址、訪問操作以及相應數(shù)據(jù);
[0059]S203:所述總控制模塊判斷所述訪問請求是否有效,如果有效,則執(zhí)行步驟S204,否則執(zhí)行步驟S210;
[0060]其中,所述總控制模塊判斷所述訪問請求是否有效,包括:
[0061]判斷所述訪問請求中攜帶的寄存器地址是否存在,如果存在則該訪問請求有效;
[0062]S204:根據(jù)所述訪問請求生成請求報文,并將所述請求報文發(fā)送至與其連接的子控制模塊,所述請求報文中攜帶有所述請求訪問的寄存器地址、與該寄存器地址關聯(lián)的子控制模塊的地址以及訪問操作和相應數(shù)據(jù);
[0063]其中,所述總控制模塊根據(jù)所述操作訪問請求生成請求報文,包括:
[0064]所述總控制模塊根據(jù)所述訪問請求中攜帶的寄存器地址映射出與其關聯(lián)的子控制模塊的地址,將所述子控制模塊的地址、所述請求訪問的寄存器地址以及訪問操作和相應數(shù)據(jù)封裝為請求報文;
[0065]其中,報文格式并沒有特別的規(guī)定,只要包含必需的信息即可,比如可定義格式為報文的第O位為操作類型(讀或?qū)?,第I至第4位為請求ID號(表示可同時處理8個請求),第5至第7位為子模塊地址(包含總控制器在內(nèi)可包含8個模塊),第8至15位為寄存器地址位,第16至第39位為數(shù)據(jù)位。
[0066]S205:所述子控制模塊接收到所述請求報文,判斷所述報文中攜帶的子控制模塊的地址是否為本身的地址,如果是,則執(zhí)行步驟S206 ;如果不是,則執(zhí)行步驟S207 ;
[0067]S206:根據(jù)所述請求報文對與其關聯(lián)的功能模塊下屬的寄存器進行訪問,在訪問成功后生成響應報文,發(fā)送給所述下一級子控制模塊,所述響應報文攜帶有總控制模塊的地址、所述請求訪問的寄存器地址以及訪問成功后的相應數(shù)據(jù);
[0068]所述根據(jù)所述請求報文對與其關聯(lián)的功能模塊下屬的寄存器進行訪問,包括:
[0069]所述子控制模塊根據(jù)所述請求報文中的請求訪問的寄存器地址以及訪問操作和相應數(shù)據(jù),對該寄存器地址指向的寄存器進行相應的訪問操作。其中,對寄存器的訪問操作包括讀數(shù)據(jù)和寫數(shù)據(jù),如果是讀數(shù)據(jù),則響應報文中還封裝有讀出的數(shù)據(jù),如果是寫數(shù)據(jù),則請求報文中封裝有待寫入的數(shù)據(jù)。
[0070]S207:將所述請求報文發(fā)送至下一級子控制模塊;
[0071]S208:所述下一級子控制模塊接收到所述響應報文后,判斷所述響應報文中攜帶的地址不是本身的地址,則將所述報文再發(fā)送至再下一級子控制模塊,直到發(fā)送至所述總控制|吳塊;
[0072]S209:所述總控制模塊接收到與其連接的子控制模塊的所述響應報文后,向所述系統(tǒng)返回訪問響應。
[0073]S210:所述訪問請求如果無效,貝U直接向系統(tǒng)返回請求無效的響應。
[0074]作為一種優(yōu)選的方式,本實施例中芯片所有功能模塊的所有寄存器的位寬一致,整齊的位寬可以保證訪問接口信號統(tǒng)一(某些地址內(nèi)不足的寄存器位可以接空)。所述請求報文和所述響應報文的長度相同,即,報文的封裝要求將讀,寫,讀數(shù)據(jù)響應,寫操作響應等不同的命令和數(shù)據(jù)封裝成相同長度的報文,以便于用相同的信號接口進行傳輸。
[0075]在本實施例中,可以同時處理系統(tǒng)發(fā)送的一個或多個訪問請求;優(yōu)選地,在所述請求報文中攜帶報文ID,一種情況為串行請求,即,所述總控制模塊一次僅處理一個系統(tǒng)的訪問請求,處理完一個系統(tǒng)的訪問請求,接收下一個訪問請求,不需要在報文中添加ID ;另外一種情況為并行請求,即,總控制模塊可以一次處理多個訪問請求,在根據(jù)所述訪問請求生成請求報文時,在請求報文中添加ID,所述所述子控制模塊在生成的響應報文中也添加相同ID,總控制模塊可以根據(jù)該ID以識別同一訪問的請求報文和響應報文。
[0076]本實施例提供的方法可以適用于各種擁有不同數(shù)目功能模塊的芯片,當功能模塊的數(shù)目改變時,僅需要改變關聯(lián)的子控制模塊的個數(shù),修改寄存器和子控制模塊的地址編碼即可,而不需要對已有的邏輯進行修改,因此,具有非常好的可移植性和可擴展性。
[0077]如果預留的地址位寬滿足的話,只需要改變寄存器和模塊的地址編碼即可。不滿足的話,通過改變報文格式和相應的報文生成和譯碼邏輯,也可以比較簡單地實現(xiàn)大部分功能的復用。位寬指的就是前面報文格式中預留的地址位數(shù),如果需要的地址數(shù)(與寄存器數(shù)相關)能用預留的地址位數(shù)表示,那么就滿足位寬。如果不滿足,則需要修改報文格式中的相應的地址位數(shù),使其滿足。
[0078]比如原報文格式中,用第I到第3位表示模塊地址,第4到第7位表示寄存器地址,那么在8個以下模塊,8個以下寄存器地址的系統(tǒng)中,該格式是滿足的。如果系統(tǒng)有10個模塊,另外需要30個寄存器地址,那么就必須修改報文格式,例如用第I到第4位表示模塊地址,第5位到第9位表示寄存器地址,后面依次往后推。而報文格式的修改,必然造成報文生成和譯碼邏輯的修改。
[0079]在本實施例提供的超大規(guī)|旲芯片的基礎上,本實施例還提供了一種對超大規(guī)I旲芯片中寄存器訪問的系統(tǒng),如圖6所示,包括:地址編碼模塊、總控制模塊和一個或多個子控制模塊;其中:
[0080]所述地址編碼模塊,用于將總控制模塊與子控制模塊統(tǒng)一進行地址編碼,將所有功能模塊下屬的寄存器統(tǒng)一進行地址編碼,并將所述功能模塊關聯(lián)的子控制模塊的地址與所述功能模塊下屬的寄存器的地址進行映射關聯(lián);
[0081]所述總控制模塊包括與系統(tǒng)交互的端口、發(fā)送端口和接收端口 ;所述子控制模塊包括接收端口和發(fā)送端口和與所述功能模塊下屬的寄存器連接的端口;
[0082]所述總控制模塊,用于接收到系統(tǒng)對某一寄存器的訪問請求,所述訪問請求中攜帶有請求訪問的寄存器地址、訪問操作以及相應數(shù)據(jù);判斷所述訪問請求是否有效,如果有效,則根據(jù)所述訪問請求生成請求報文,并將所述請求報文發(fā)送至與其連接的子控制模塊,所述請求報文中攜帶有所述請求訪問的寄存器地址、與該寄存器地址關聯(lián)的子控制模塊的地址以及訪問操作和相應數(shù)據(jù);并在接收到與其連接的另一子控制模塊的響應報文后,向所述系統(tǒng)返回訪問響應;
[0083]所述子控制模塊,用于如果接收到所述請求報文,判斷所述請求報文中攜帶的子控制模塊的地址是否為本身的地址,如果不是則將所述報文發(fā)送至下一級子控制模塊;如果是,則根據(jù)所述請求報文對與其關聯(lián)的功能模塊下屬的寄存器進行訪問,在訪問成功后生成響應報文,發(fā)送給所述下一級子控制模塊,所述響應報文攜帶有總控制模塊的地址、所述請求訪問的寄存器地址以及訪問成功后的相應數(shù)據(jù);還用于如果接收到上一級子控制模塊的響應報文后,判斷所述響應報文中攜帶的地址不是本身的地址,則將所述響應報文再發(fā)送至發(fā)送端口所連接的下一級子控制模塊,直到發(fā)送至所述總控制模塊,或所述總控制模塊。
[0084]其中,所述總控制模塊,用于根據(jù)所述操作訪問請求生成請求報文,包括:
[0085]所述總控制模塊根據(jù)所述訪問請求中攜帶的寄存器地址映射出與其關聯(lián)的子控制模塊的地址,將所述子控制模塊的地址、所述請求訪問的寄存器地址以及訪問操作和相應數(shù)據(jù)封裝為請求報文。
[0086]其中,所述總控制模塊,用于判斷所述訪問請求是否有效,包括:
[0087]判斷所述訪問請求中攜帶的寄存器地址是否存在,如果存在則該訪問請求有效;
[0088]所述方法還包括:所述訪問請求如果無效,則直接向系統(tǒng)返回請求無效的響應。
[0089]其中,所述子控制模塊,用于根據(jù)所述請求報文對與所述子控制模塊關聯(lián)的功能模塊下屬的寄存器進行訪問,包括:
[0090]所述子控制模塊根據(jù)所述請求報文中的請求訪問的寄存器地址以及訪問操作和相應數(shù)據(jù),對該寄存器地址指向的寄存器進行相應的訪問操作。
[0091]其中,所有寄存器的位寬一致,所述請求報文和所述響應報文的長度相同。
[0092]從上述實施例可以看出,相對于現(xiàn)有技術,上述實施例中提供的超大規(guī)模芯片及其布局方法、訪問寄存器的方法及系統(tǒng),考慮到芯片后端布局上的緊湊性,在采取盡量縮短最長連線的構造規(guī)則的前提下,將總控制模塊和所有子控制模塊構成環(huán)狀連接,環(huán)上的模塊與模塊之間的連線是會遠遠短于集中式控制模塊與最遠寄存器的連線的。
[0093]同時,這種方式不會給后端設計帶來額外的布局上的要求一總控制模塊可以在芯片的任意位置。更重要的是,這種方式盡可能地減少了后端需要添加中繼寄存器的可能,從而盡可能地保證了前端設計者對于后端實際芯片的時序的可控制性。
[0094]另一個有益之處在于,本實施例提供的方法可以適用于各種擁有不同數(shù)目功能模塊的芯片,當功能模塊的數(shù)目改變時,僅需要改變關聯(lián)的子控制模塊的個數(shù),修改寄存器和模塊的地址編碼即可,而不需要對已有的邏輯進行修改,因此,具有非常好的可移植性和可擴展性。
[0095]本領域普通技術人員可以理解上述方法中的全部或部分步驟可通過程序來指令相關硬件完成,所述程序可以存儲于計算機可讀存儲介質(zhì)中,如只讀存儲器、磁盤或光盤等??蛇x地,上述實施例的全部或部分步驟也可以使用一個或多個集成電路來實現(xiàn)。相應地,上述實施例中的各模塊/單元可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。本發(fā)明不限制于任何特定形式的硬件和軟件的結合。
[0096]以上所述僅為本發(fā)明的優(yōu)選實施例而已,并非用于限定本發(fā)明的保護范圍。根據(jù)本發(fā)明的
【發(fā)明內(nèi)容】
,還可有其他多種實施例,在不背離本發(fā)明精神及其實質(zhì)的情況下,熟悉本領域的技術人員當可根據(jù)本發(fā)明作出各種相應的改變和變形,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
【權利要求】
1.一種超大規(guī)模芯片,包括:一個或多個功能模塊,所述功能模塊包括一個或多個寄存器,其特征在于,所述芯片還包括:總控制模塊和與每個功能模塊關聯(lián)的子控制模塊,其中: 所述總控制模塊包括與系統(tǒng)交互的系統(tǒng)端口、發(fā)送端口和接收端口 ;所述子控制模塊包括接收端口、發(fā)送端口和與所述功能模塊下屬的寄存器連接的端口 ; 以總的連線長度最短為原則,所述總控制模塊的發(fā)送端口與一個子控制模塊的接收端口連接,該子控制模塊的發(fā)送端口與下一級子控制模塊的接收端口連接,直到最后一個子控制模塊的發(fā)送端口與所述總控制模塊的接收端口連接,從所述總控制模塊的發(fā)送端口開始到所述總控制模塊的接收端口結束,構造出一個囊括總控制模塊和所有子控制模塊的環(huán);其中,所述總的連線長度為所述環(huán)中連線的總長度。
2.—種超大規(guī)模芯片的布局方法,包括: 根據(jù)芯片后端設計的布局計劃,確定各個功能模塊在芯片上的位置,以總的連線長度最短為原則,決定環(huán)上總控制模塊和與各個功能模塊關聯(lián)的各子控制模塊的連接順序; 將所述總控制模塊的發(fā)送端口與一個子控制模塊的接收端口連接,該子控制模塊的發(fā)送端口與下一級子控制模塊的接收端口連接,直到最后一個子控制模塊的發(fā)送端口與所述總控制模塊的接收端口連接,從所述總控制模塊的發(fā)送端口開始到所述總控制模塊的接收端口結束,構造出一個囊括總控制模塊和所有子控制模塊的環(huán),其中,所述總的連線長度為所述環(huán)中連線的總長度。
3.一種對如權利要求1所述的超大規(guī)模芯片中寄存器訪問的方法,包括: 將總控制模塊與子控制模塊統(tǒng)一進行地址編碼,將所有功能模塊下屬的寄存器統(tǒng)一進行地址編碼,并將所述功能模塊關聯(lián)的子控制模塊的地址與所述功能模塊下屬的寄存器的地址進行映射關聯(lián); 所述總控制模塊接收到系統(tǒng)對某一寄存器的訪問請求,所述訪問請求中攜帶有請求訪問的寄存器地址、訪問操作以及相應數(shù)據(jù); 所述總控制模塊判斷所述訪問請求是否有效,如果有效,則根據(jù)所述訪問請求生成請求報文,并將所述請求報文發(fā)送至與其連接的子控制模塊,所述請求報文中攜帶有所述請求訪問的寄存器地址、與該寄存器地址關聯(lián)的子控制模塊的地址以及訪問操作和相應數(shù)據(jù); 各所述子控制模塊如果接收到所述請求報文,判斷所述請求報文中攜帶的子控制模塊的地址是否為本身的地址,如果不是則將所述請求報文發(fā)送至下一級子控制模塊;如果是,則根據(jù)所述請求報文對與所述子控制模塊關聯(lián)的功能模塊下屬的寄存器進行訪問,在訪問成功后生成響應報文,發(fā)送給所述下一級子控制模塊,所述響應報文攜帶有總控制模塊的地址、所述請求訪問的寄存器地址以及訪問成功后的相應數(shù)據(jù);如果接收到上一級子控制模塊的響應報文,判斷所述響應報文中攜帶的地址不是本身的地址,則將所述響應報文發(fā)送至發(fā)送端口所連接的下一級子控制模塊或總控制模塊; 所述總控制模塊接收到與其連接的子控制模塊的所述響應報文后,向所述系統(tǒng)返回訪問響應。
4.如權利要求3所述的方法,其特征在于: 所述總控制模塊根據(jù)所述操作訪問請求生成請求報文,包括: 所述總控制模塊根據(jù)所述訪問請求中攜帶的寄存器地址映射出與其關聯(lián)的子控制模塊的地址,將所述子控制模塊的地址、所述請求訪問的寄存器地址以及訪問操作和相應數(shù)據(jù)封裝為請求報文。
5.如權利要求3所述的方法,其特征在于: 所述總控制模塊判斷所述訪問請求是否有效,包括: 判斷所述訪問請求中攜帶的寄存器地址是否存在,如果存在則該訪問請求有效; 所述方法還包括:所述訪問請求如果無效,則直接向系統(tǒng)返回請求無效的響應。
6.如權利要求3所述的方法,其特征在于: 所述根據(jù)所述請求報文對與所述子控制模塊關聯(lián)的功能模塊下屬的寄存器進行訪問,包括: 所述子控制模塊根據(jù)所述請求報文中的請求訪問的寄存器地址以及訪問操作和相應數(shù)據(jù),對該寄存器地址指向的寄存器進行相應的訪問操作。
7.如權利要求3所述的方法,其特征在于: 所有寄存器的位寬一致,所述請求報文和所述響應報文的長度相同。
8.—種對如權利要求1所述的超大規(guī)模芯片中寄存器訪問的系統(tǒng),包括:地址編碼模塊、總控制模塊和一個或多個子控制模塊;其中: 所述地址編碼模塊,用于將總控制模塊與子控制模塊統(tǒng)一進行地址編碼,將所有功能模塊下屬的寄存器統(tǒng)一進行地址編碼,并將所述功能模塊關聯(lián)的子控制模塊的地址與所述功能模塊下屬的寄存器的地址進行映射關聯(lián); 所述總控制模塊,用于接收到系統(tǒng)對某一寄存器的訪問請求,所述訪問請求中攜帶有請求訪問的寄存器地址、訪問操作以及相應數(shù)據(jù);判斷所述訪問請求是否有效,如果有效,則根據(jù)所述訪問請求生成請求報文,并將所述請求報文發(fā)送至與其連接的子控制模塊,所述請求報文中攜帶有所述請求訪問的寄存器地址、與該寄存器地址關聯(lián)的子控制模塊的地址以及訪問操作和相應數(shù)據(jù);并在接收到與其連接的另一子控制模塊的響應報文后,向所述系統(tǒng)返回訪問響應; 所述子控制模塊,用于如果接收到所述請求報文,判斷所述請求報文中攜帶的子控制模塊的地址是否為本身的地址,如果不是則將所述報文發(fā)送至下一級子控制模塊;如果是,則根據(jù)所述請求報文對與其關聯(lián)的功能模塊下屬的寄存器進行訪問,在訪問成功后生成響應報文,發(fā)送給所述下一級子控制模塊,所述響應報文攜帶有總控制模塊的地址、所述請求訪問的寄存器地址以及訪問成功后的相應數(shù)據(jù);還用于如果接收到上一級子控制模塊的響應報文后,判斷所述響應報文中攜帶的地址不是本身的地址,則將所述響應報文再發(fā)送至發(fā)送端口所連接的下一級子控制模塊或所述總控制模塊。
9.如權利要求8所述的系統(tǒng),其特征在于: 所述總控制模塊,用于根據(jù)所述操作訪問請求生成請求報文,包括: 所述總控制模塊根據(jù)所述訪問請求中攜帶的寄存器地址映射出與其關聯(lián)的子控制模塊的地址,將所述子控制模塊的地址、所述請求訪問的寄存器地址以及訪問操作和相應數(shù)據(jù)封裝為請求報文。
10.如權利要求8所述的系統(tǒng),其特征在于: 所述子控制模塊,用于根據(jù)所述請求報文對與所述子控制模塊關聯(lián)的功能模塊下屬的寄存器進行訪問,包括: 所述子控制模塊根據(jù)所述請求報文中的請求訪問的寄存器地址以及訪問操作和相應數(shù)據(jù),對該寄存器地址指向的寄存器進行相應的訪問操作。
【文檔編號】G06F15/76GK104268121SQ201410490702
【公開日】2015年1月7日 申請日期:2014年9月23日 優(yōu)先權日:2014年9月23日
【發(fā)明者】李拓, 童元滿, 李仁剛 申請人:浪潮(北京)電子信息產(chǎn)業(yè)有限公司