使用可編程互聯(lián)源建立總線互聯(lián)網(wǎng)絡的方法和裝置制造方法
【專利摘要】本發(fā)明涉及使用可編程互聯(lián)源建立總線互聯(lián)網(wǎng)絡的方法和裝置。集成電路可以包括可被配置為執(zhí)行定制功能的邏輯區(qū)域?;ヂ?lián)連接可以用于在整個集成電路上路由信號。邏輯區(qū)域可以耦合到輸入選擇電路用于選擇和提供輸入信號從互聯(lián)聯(lián)接到邏輯區(qū)域并且耦合到輸出選擇和路由電路用于選擇和通過互聯(lián)聯(lián)接向其它邏輯區(qū)域傳送輸出信號。旁路電路通過旁路輸入選擇電路和邏輯區(qū)域中的其它處理電路,可以提供對邏輯區(qū)域內的寄存器和對輸出選擇和路由電路的直接訪問。通過適當?shù)嘏渲门月冯娐泛洼敵鲞x擇和路由電路,可以生成總線互聯(lián),其具有執(zhí)行寄存器傳遞、導線拼接并且用作數(shù)據(jù)源/匯站以開啟和關閉總線互聯(lián)的邏輯區(qū)域。
【專利說明】使用可編程互聯(lián)源建立總線互聯(lián)網(wǎng)絡的方法和裝置
[0001]本申請要求2012年10月19日提交的美國專利申請N0.13/656,262的優(yōu)先權,其全部內容通過引用合并于此。
【技術領域】
[0002]本發(fā)明涉及集成電路,諸如具有互聯(lián)電路的可編程集成電路。
【背景技術】
[0003]可編程集成電路可被用戶編程以實現(xiàn)期望的定制邏輯功能。在通常情形下,邏輯設計者使用計算機輔助設計(CAD)工具來設計定制邏輯電路。當設計完成時,工具生成配置數(shù)據(jù)。該配置數(shù)據(jù)被加載到可編程集成電路存儲器元件中以配置裝置執(zhí)行定制邏輯電路的功能。具體地,配置數(shù)據(jù)配置可編程集成電路中的可編程互聯(lián)聯(lián)接,可編程路由電路和可編程邏輯電路。
[0004]可編程集成電路可以包括可編程邏輯電路,其被配置為接收輸入信號并且執(zhí)行定制功能以產生輸出信號。各邏輯電路的輸入和輸出信號被互聯(lián)聯(lián)接路由,互聯(lián)聯(lián)接可被配置為在整個可編程集成電路上路由所選擇的信號。
[0005]現(xiàn)有的可編程電路中的互聯(lián)聯(lián)接通常作為點對點連接來設置。點對點連接對于處理諸如總線互聯(lián)聯(lián)接這樣的長寬連接不是非常有效,導致路由擁塞和時序收斂問題,因而增加開發(fā)時間。
【發(fā)明內容】
[0006]根據(jù)本發(fā)明的一些實施方式,集成電路可以包括邏輯區(qū)域和用于在整個集成電路上路由信號的全局互聯(lián)聯(lián)接。每個邏輯區(qū)域可以耦合到輸入選擇電路和輸出選擇和路由電路。輸入選擇電路耦合到互聯(lián)聯(lián)接的對應集合。輸入選擇電路可以被配置為將來自互聯(lián)聯(lián)接的集合的所選擇的信號提供到對應邏輯區(qū)域的輸入端。邏輯區(qū)域可以被配置為執(zhí)行定制功能以從所選擇的信號產生輸出信號。例如,邏輯區(qū)域可以包括接收所選擇的信號并且被配置為產生輸出信號的處理電路。
[0007]邏輯區(qū)域可以包括一個或者更多寄存器。寄存器可以存儲信息,諸如由該邏輯區(qū)域的處理電路產生的輸出信號。寄存器的輸出信號和處理電路的輸出信號可以被發(fā)送到輸出選擇和路由電路。
[0008]輸出選擇和路由電路可以被配置為從寄存器和從處理電路選擇輸出信號并且將所選擇的輸出信號提供到輸出驅動器,輸出驅動器可以驅動互聯(lián)聯(lián)接(例如,全局互聯(lián)聯(lián)接)。例如,輸出電路可以包括一個或者更多復用器和耦合到每個互聯(lián)聯(lián)接的驅動器。
[0009]邏輯區(qū)域可以包括用于直接訪問寄存器的旁路路徑和輸出選擇和路由電路(例如,用于旁路輸入選擇電路和處理電路)。
[0010]應理解的是可以按照多種方式來實現(xiàn)本發(fā)明,諸如過程、設備、系統(tǒng)、裝置、或者計算機可讀介質上的方法。下面描述本發(fā)明的幾個實施方式。[0011]在特定實施方式中,以上描述的芳路路徑可以包括具有芳路電路的芳路路徑,該旁路路徑耦合到互聯(lián)聯(lián)接的子集合并且從該子集合選擇信號以旁路輸入選擇電路。所選擇的信號接著被直接路由到邏輯區(qū)域中的寄存器和輸出選擇和路由電路。
[0012]從所附的附圖和以下優(yōu)選實施方式的詳細描述中,本發(fā)明的其它特征、實質和各種優(yōu)點將變得更明顯。
【專利附圖】
【附圖說明】
[0013]圖1A是根據(jù)本發(fā)明實施方式的具有可編程邏輯的可編程集成電路的示示例圖。
[0014]圖1B是根據(jù)本發(fā)明實施方式的具有被配置為驅動互聯(lián)聯(lián)接的輸入-輸出電路的可編程邏輯區(qū)域的示示例圖。
[0015]圖2是根據(jù)本發(fā)明實施方式的具有不同長度的在水平和豎直方向上形成的可編程集成電路上的互聯(lián)聯(lián)接的示示例圖。
[0016]圖3是根據(jù)本發(fā)明的實施方式的具有使得總線互聯(lián)的可配置比特的可編程邏輯區(qū)域的示示例圖。
[0017]圖4A是根據(jù)本發(fā)明的實施方式的被配置為禁止總線互聯(lián)的可編程邏輯區(qū)域的示示例圖。
[0018]圖4B是根據(jù)本發(fā)明的實施方式的被配置為總線互聯(lián)中的數(shù)據(jù)源/匯站的可編程邏輯區(qū)域的示例圖。
[0019]圖4C是根據(jù)本發(fā)明的實施方式的被配置為總線互聯(lián)中的互聯(lián)拼接級的可編程邏輯區(qū)域的示例圖。
[0020]圖4D是根據(jù)本發(fā)明的實施方式的被配置為總線互聯(lián)中的寄存器傳遞級的可編程邏輯區(qū)域的示例圖。
[0021]圖5是根據(jù)本發(fā)明的實施方式的具有輸入選擇電路、邏輯區(qū)域輸入選擇電路和輸出選擇和路由電路的可編程邏輯區(qū)域的示例圖。
[0022]圖6是根據(jù)本發(fā)明的實施方式的具有被配置為實現(xiàn)環(huán)形總線互聯(lián)的可編程邏輯區(qū)域的集成電路的示例圖。
[0023]圖7是根據(jù)本發(fā)明實施方式的使用可配置互聯(lián)聯(lián)接在集成電路中實現(xiàn)總線互聯(lián)的示例性步驟的流程圖。
【具體實施方式】
[0024]本發(fā)明涉及集成電路,更具體地涉及可編程集成電路??删幊碳呻娐房梢园删幊踢壿嫛⒖删幊袒ヂ?lián)聯(lián)接、和可編程路由電路。
[0025]圖1A示出可編程集成電路器件的示例圖。如圖1A所示,器件10可以具有用于經由輸入-輸出針腳14將信號驅動離開器件10和用于從其它器件接收信號的輸入-輸出(I/O)電路12。諸如全局或者局部豎直、水平和對角導線和總線這樣的互聯(lián)資源16可以用在器件10上路由信號?;ヂ?lián)資源16包括固定互聯(lián)聯(lián)接(導電線)和可編程互聯(lián)聯(lián)接(即,各個互聯(lián)聯(lián)接之間的可編程連接)。有時互聯(lián)資源16在本文中可以稱為互聯(lián)聯(lián)接(例如,由固定互聯(lián)聯(lián)接和可編程互聯(lián)聯(lián)接的組合形成的互聯(lián)聯(lián)接)。
[0026]互聯(lián)聯(lián)接16可以用于互連諸如可編程邏輯區(qū)域18這樣的可編程邏輯的區(qū)域。有時可編程邏輯區(qū)域18在本文中可以稱為邏輯陣列塊或者可編程電路區(qū)域。如果期望,可編程邏輯區(qū)域18可以包含更小的邏輯區(qū)域組。這些更小的邏輯區(qū)域(有時可以稱為邏輯元件、適應性邏輯模塊或者可配置邏輯塊)可以使用局部互聯(lián)資源來相互連接。
[0027]可編程邏輯區(qū)域18可以包括組合和時序邏輯電路。例如,可編程邏輯區(qū)域18可以包括查找表、寄存器、累加器和復用器。可編程邏輯區(qū)域18可以被配置為執(zhí)行定制邏輯功能。
[0028]可編程邏輯區(qū)域18包含可編程元件20。可編程元件20可以基于任何合適的可編程技術,諸如熔絲、反熔絲、電可編程只讀存儲器技術、隨機存取存儲器單元、掩模編程元件等。作為示例,可編程元件20可以由存儲器單元形成。在編程期間,使用引腳14和輸入-輸出電路12可以將配置數(shù)據(jù)加載到存儲器單元中。存儲器單元通常是隨機存取存儲器(RAM)單元。因為RAM單元加載了配置數(shù)據(jù),它們有時被稱為配置RAM單元(CRAM)。
[0029]可編程元件20可以提供用于控制可編程邏輯18中的邏輯部件的狀態(tài)的靜態(tài)控制輸出信號。元件20生成的輸出信號通常施加到金屬氧化物半導體(MOS)晶體管(有時稱為旁路柵極晶體管)的柵極。在一些情形下,可編程元件20可以提供用于可編程電路的靜態(tài)數(shù)據(jù)輸出信號。例如,查找表可以包括產生靜態(tài)數(shù)據(jù)輸出信號的可編程元件20。在此情形下,控制信號可以配置查找表以在查找表輸出端提供靜態(tài)數(shù)據(jù)輸出信號。
[0030]可以使用任何合適的架構來組織器件10的電路。作為示例,可以在可編程邏輯區(qū)域的一系列行和列中組織可編程器件10的邏輯18,其中每個可編程邏輯區(qū)域包含多個更小的可編程邏輯區(qū)域。器件10的邏輯資源可以通過互聯(lián)資源16(諸如關聯(lián)的豎直、水平和對角導體)相互連接。這些導體可以包括在基本上整個器件10上展開的全局導線、在器件10的一部分展開的諸如二分之一線或者四分之一線的部分全局線、特定長度的交錯線(例如,足以將多個邏輯區(qū)域相互連接)、更小的局部線、或者任何其它合適的互聯(lián)源排列。如果期望,則器件10的邏輯可以以更多的級或者層排列,其中多個邏輯區(qū)域相互連接以形成更大部分邏輯。其它器件排列可以使用不按行和列排列的邏輯器件。
[0031]圖1B是可以具有輸入-輸出電路21的器件10中的可編程邏輯區(qū)域18的示例圖,其中,輸入-輸出電路21可以被配置為驅動水平互聯(lián)聯(lián)接16H (例如,沿著器件10的水平軸形成的互聯(lián)聯(lián)接)和豎直互聯(lián)聯(lián)接16V (例如,沿著器件10的豎直軸形成的互聯(lián)聯(lián)接)。可編程邏輯區(qū)域18可以包括更小的邏輯區(qū)域34(例如,邏輯元件、可配置邏輯塊、或者適應性邏輯模塊),經由輸入-輸出電路21從互聯(lián)聯(lián)接16V和16H接收輸入信號并且對輸入信號進行定制功能以產生輸出信號。邏輯區(qū)域34產生的輸出信號可以被提供到輸入-輸出電路21的輸出電路。輸出電路可以在選擇的互聯(lián)聯(lián)接上驅動輸出信號。
[0032]輸入-輸出電路21可以包括以下電路,諸如用于從互聯(lián)聯(lián)接16選擇針對可編程邏輯區(qū)域18的輸入信號的輸入選擇電路、和用于從可編程邏輯區(qū)域18選擇向哪個互聯(lián)聯(lián)接16提供輸出信號的輸出選擇和路由電路。輸入-輸出電路21中的輸出選擇和路由電路可以包括用于利用輸出信號來驅動互聯(lián)聯(lián)接的驅動器。
[0033]圖2示出通過圖1的互聯(lián)聯(lián)接16(例如,在集成電路10上提供路由路徑的全局互聯(lián)聯(lián)接)連接到一起的可編程邏輯區(qū)域18的示例性排列。互聯(lián)聯(lián)接16可以沿著水平軸線形成并因此稱為水平互聯(lián)聯(lián)接(例如,“H2”)?;ヂ?lián)聯(lián)接16可以沿著豎直軸線形成并因此稱為豎直互聯(lián)聯(lián)接(例如,“V2”)。互聯(lián)聯(lián)接16可以沿著集成電路的對角軸線(未示出)形成,并因此稱為對角線互聯(lián)聯(lián)接。
[0034]如圖2所示,水平互聯(lián)聯(lián)接和豎直互聯(lián)聯(lián)接被以不同長度形成。水平互聯(lián)聯(lián)接16和16A可以具有相應的長度Hl和H2,并且豎直互聯(lián)聯(lián)接16和16B可以具有相應的長度Vl和V2。水平互聯(lián)聯(lián)接和豎直互聯(lián)聯(lián)接可以向可編程邏輯區(qū)域18提供整個器件10上的路由路徑(例如,到其它可編程邏輯區(qū)域18)。長度H1、H2、V1和V2可以依賴于可編程邏輯區(qū)域18之間的距離而變化(例如,長度Hl可以對應于可編程邏輯區(qū)域18A和18B之間的距離,長度H2可以對應于可編程邏輯區(qū)域18A和18C之間的距離)。每個可編程邏輯區(qū)域18可以被獨立配置以在互聯(lián)聯(lián)接上驅動輸出信號(例如,使用該可編程邏輯區(qū)域18內的驅動器電路)。
[0035]可編程集成電路10可以包括提供時鐘信號的時鐘電路26。時鐘信號可以提供到可編程邏輯區(qū)域18。例如,時鐘電路26可以提供時鐘信號CLK到可編程邏輯區(qū)域18A、18B和18C。時鐘信號CLK的頻率可以控制可編程邏輯區(qū)域18A、18B和18C工作的處理速度(例如,可編程邏輯區(qū)域中的寄存器可以在時鐘信號CLK的每個時鐘周期上更新)。
[0036]在一些情形下,可以期望路由來自第一可編程邏輯區(qū)域的全部輸出信號作為到第二可編程邏輯區(qū)域的輸入端的總線??紤]可編程邏輯區(qū)域18A產生要被作為總線一起路由到可編程邏輯區(qū)域18D的輸出信號的情形。在此情形下,可以期望配置可編程邏輯區(qū)域18A的輸出選擇和路由電路使得路由其全部輸出信號經過諸如水平互聯(lián)聯(lián)接16A這樣的長度H2的水平互聯(lián)聯(lián)接到可編程邏輯區(qū)域18C,從而旁路可編程邏輯區(qū)域18B??梢赃M一步期望可編程邏輯區(qū)域18C接收的信號旁路全部處理步驟并且直接連接到可編程邏輯區(qū)域18C的輸出選擇和路由電路。另選地可以期望可編程邏輯區(qū)域18C實現(xiàn)接收到的信號的寄存器傳遞級。如果與將全部輸出信號從第一可編程邏輯區(qū)域18A經由水平互聯(lián)聯(lián)接16A、可編程邏輯區(qū)域18C和豎直互聯(lián)聯(lián)接16B路由到第二可編程邏輯區(qū)域18D相關聯(lián)的信號延遲超過時鐘信號CLK的時鐘頻率的最大可接受延遲(例如,信號從可編程邏輯區(qū)域18A到達可編程邏輯區(qū)域18D所需的時間會超過時鐘頻率的時鐘周期),則可以期望寄存器傳遞級。在此情形下,可以期望可編程邏輯區(qū)域18C接收的信號旁路全部處理步驟并且直接連接到邏輯區(qū)域18C的寄存器??梢栽龠M一步期望可編程邏輯區(qū)域18C的輸出選擇和路由電路經由旁路路徑從可編程邏輯區(qū)域的輸入端或者從寄存器接收信號。輸出選擇和路由電路可以進一步被配置為經由諸如豎直互聯(lián)聯(lián)接16B這樣的長度V2的豎直互聯(lián)聯(lián)接將全部信號一起路由到可編程邏輯區(qū)域18D。
[0037]可編程邏輯區(qū)域可以經過可編程元件20配置以實現(xiàn)總線互聯(lián)。圖3是被配置為實現(xiàn)總線互聯(lián)的圖1A的可編程邏輯區(qū)域18的示例圖??删幊淘?0可以包括配置可編程邏輯區(qū)域以實現(xiàn)總線(在圖3中示出為110)、數(shù)據(jù)源/匯站(在圖3中示出為111)或者寄存器管道級(在圖3中示出為112)的可編程元件、。如果期望,則可以使用可編程元件20來向可編程邏輯區(qū)域18指派地址。全部可編程邏輯區(qū)域18可以包括使能總線互聯(lián)的配置的可編程元件20,或者僅僅一些可編程邏輯區(qū)域可以包括為此目的可編程元件。
[0038]包括使能總線互聯(lián)的配置的可編程元件20的可編程邏輯區(qū)域18可以被配置為通過向可編程元件110加載給定值來實現(xiàn)總線互聯(lián)。例如,被配置為形成總線互聯(lián)的全部可編程邏輯區(qū)域18可以將可編程元件110設置為“開”狀態(tài),而被配置為不形成總線互聯(lián)的全部可編程邏輯區(qū)域18可以將可編程元件110設置為“關”狀態(tài)。數(shù)據(jù)可以被路由當前充當數(shù)據(jù)源/匯站的邏輯區(qū)域18處的總線互聯(lián)上或者離開該總線互聯(lián)??删幊踢壿媴^(qū)域18可以使用可編程元件111配置為源/匯站。總線互聯(lián)上的每個源/匯站可以具有地址。可以使用可編程元件111存儲源/匯站的地址??删幊踢壿媴^(qū)域18可以使用可編程元件112配置為寄存器管道級。
[0039]可編程元件110、111和112可以被指派不同值組合以實現(xiàn)給定配置。例如,通過向可編程元件111加載邏輯“I”并且向可編程元件Iio和112加載邏輯“0”,可編程邏輯區(qū)域18可以被配置為數(shù)據(jù)源/匯站。通過向可編程元件110和111加載邏輯“I”并且向可編程元件112加載邏輯“0”,或者通過向可編程元件110、111和112加載邏輯“1”,可編程邏輯區(qū)域18可以被配置為源/匯站。類似地,通過向可編程元件110和112加載邏輯“I”并且向可編程元件111加載邏輯“0”,或者通過僅向可編程元件112加載邏輯“I”并且向可編程元件110和111加載邏輯“0”,可編程邏輯區(qū)域18可以被配置為寄存器傳遞級。可編程元件113可以被指派不同值組合以實現(xiàn)與被配置為源/匯站的可編程邏輯區(qū)域18相關聯(lián)的地址。同一總線互聯(lián)中的源/匯站被要求具有唯一地址。不同總線互聯(lián)中的源/匯站可以具有相同地址。本領域技術人員將認識到所描述的值組合的示例僅僅是示例性的,并且可以利用其它特定值組合。
[0040]使用互聯(lián)資源16 (參見例如圖1A)可以在總線互聯(lián)上發(fā)送信號??偩€互聯(lián)可以要求特定信息與用戶數(shù)據(jù)一起發(fā)送。例如,目的地地址可以與用戶數(shù)據(jù)一起發(fā)送以標識用戶數(shù)據(jù)被指定的源/匯站。在此情形下,不同的互聯(lián)資源16可以被指派以路由具有給定目的信號,如圖3所示。例如,互聯(lián)資源16的給定數(shù)量的比特可以被保留用于進入的用戶數(shù)據(jù)161A和用于離開的用戶數(shù)據(jù)160A。給定數(shù)量的比特可以被保留用于進入的目的地地址161C和離開的目的地地址160C。其它信息也可以在總線互聯(lián)上傳送。例如,一些比特可以被保留以指定發(fā)送了數(shù)據(jù)的源/匯站(例如,進入源地址161B和離開的源地址160B)。其它比特可以被保留用于指示所傳送的用戶數(shù)據(jù)的有效性的信號(例如,進入有效信號161D和離開的有效信號160D)。其它信息也可以是在總線互聯(lián)上發(fā)送的信號的一部分,舉例而言,諸如指示總線的可用性、循環(huán)冗余校驗生成的校驗和值或者奇偶校驗位的信號。
[0041]可編程邏輯區(qū)域18可以被配置為形成總線互聯(lián)。圖4A、圖4B、圖4C和圖4D是示出根據(jù)本發(fā)明的實施方式的可編程邏輯區(qū)域18A、18B、18C和18D的不同配置的示例圖??删幊踢壿媴^(qū)域18A、18B、18C和18D可以包括旁路電路38。旁路電路38有時可以被稱為選擇旁路電路。可編程邏輯區(qū)域18A、18B、18C和18D可以均包括一個或者更多個更小的可編程邏輯區(qū)域34,更小的邏輯區(qū)域34可以被配置為執(zhí)行定制用戶功能(例如,可編程邏輯元件、可配置的邏輯塊、或者適應性的邏輯模塊)。作為示例,可編程邏輯區(qū)域18A可以包括單個邏輯元件34,兩個邏輯元件34、四個邏輯元件34或者更多。
[0042]可編程邏輯區(qū)域18A、18B、18C和18D可以均包括輸入選擇電路54。如果期望,則輸入選擇電路54可以選擇哪些互聯(lián)聯(lián)接耦合到可編程邏輯區(qū)域34 (例如,圖2的互聯(lián)聯(lián)接16的哪個)。例如,電路54可以包括用于選擇哪個互聯(lián)聯(lián)接用于向可編程邏輯區(qū)域34提供輸入信號的輸入選擇電路。可編程邏輯區(qū)域34可以接收輸入信號并執(zhí)行定制用戶功能以產生輸出信號。輸出選擇和路由電路56可以包括用于選擇使用哪個互聯(lián)聯(lián)接來路由來自可編程邏輯區(qū)域34的輸出信號到集成電路10的其它可編程邏輯區(qū)域的電路。輸入選擇電路54和輸出選擇和路由電路56可以包括可經由對應的可編程元件(未示出)來配置的諸如復用器這樣的電路。輸入選擇電路54和輸出選擇和路由電路56可以被形成為諸如圖1B的輸入輸出電路21這樣的輸入-輸出電路的一部分。
[0043]可編程邏輯34可以均包括兩個或者更多個寄存器,諸如寄存器40A和40B。如果期望,寄存器40A和40B可以存儲可編程邏輯區(qū)域生成的輸出數(shù)據(jù)。在此情形下,使用諸如互聯(lián)資源16這樣的互聯(lián)聯(lián)接,可以在整個可編程集成電路10上路由存儲在寄存器40A和40B中的輸出數(shù)據(jù)。
[0044]圖4A中的可編程邏輯區(qū)域18B可以被配置為使得可編程邏輯區(qū)域不形成總線互聯(lián)。在此配置中,輸入選擇電路54可以選擇哪個互聯(lián)資源16被路由到可編程邏輯區(qū)域34。通過處理在所選擇的互聯(lián)資源上接收的信號,可編程邏輯區(qū)域34可以產生輸出信號。輸出信號可以存儲在寄存器40A和40B中,并被發(fā)送到輸出選擇和路由電路56。輸出選擇和路由電路56可以接收可編程邏輯區(qū)域34的輸出信號,并且所選擇的信號可以驅動所選擇的互聯(lián)資源16。
[0045]圖4B的可編程邏輯區(qū)域18A、圖4C的可編程邏輯區(qū)域18C和圖4D的可編程邏輯區(qū)域18D可以被配置為形成總線互聯(lián)。在總線互聯(lián)中,來自第一可編程邏輯區(qū)域的全部輸出信號可以被一起路由作為到第二可編程邏輯區(qū)域的輸入端的總線。為此目的,來自第一可編程邏輯區(qū)域的全部輸出信號可以使用相同互聯(lián)資源并且旁路相同中間可編程邏輯區(qū)域直至到達第二可編程邏輯區(qū)域。為了實現(xiàn)總線互聯(lián),輸出選擇和路由電路56可以被配置為從上面?zhèn)魉托盘柕幕ヂ?lián)資源16選擇總線互聯(lián)。總線互聯(lián)可以在集成電路上采取任何形式或者形狀。總線互聯(lián)可以是單向總線互聯(lián),或者可以是雙向總線互聯(lián)??偩€互聯(lián)可以具有任意數(shù)量的可編程邏輯區(qū)域18,被配置為源/匯站、寄存器傳遞級、或者用于導線拼接,其僅僅受到被配置為形成給定總線互聯(lián)的可編程邏輯區(qū)域的數(shù)量限制。
[0046]旁路電路38可以包圍輸入選擇電路54。例如,圖4B中的可編程邏輯區(qū)域18A可以被配置為實現(xiàn)源/匯站。在此情形下,旁路電路38可以將在互聯(lián)資源16上接收到的信號直接路由到可編程邏輯區(qū)域34中的寄存器40A。如果當前源/匯站的地址匹配所傳送的數(shù)據(jù)中包括的目的地地址,在總線互聯(lián)上傳送的數(shù)據(jù)可以存儲在寄存器40A中以便進一步處理。在此情況下,基于可編程邏輯區(qū)域在所選擇的互聯(lián)資源16上從輸入選擇電路54接收的信號,新的輸出數(shù)據(jù)可以被可編程邏輯區(qū)域34產生。輸出數(shù)據(jù)可以被作為新數(shù)據(jù)在選擇的總線互聯(lián)上從互聯(lián)資源16被輸出選擇和路由電路56傳送。
[0047]圖4C中的被配置為互聯(lián)拼接級的可編程邏輯區(qū)域18C可以使用旁路電路38以通過在互聯(lián)資源16上將接收的信號直接路由到輸出選擇和路由電路來旁路輸入選擇電路54和可編程邏輯區(qū)域34。輸出選擇和路由電路56可以被配置為可以從上面?zhèn)魉托盘柕幕ヂ?lián)資源16選擇總線互聯(lián)。
[0048]圖4D示出被配置為寄存器傳遞級的可編程邏輯區(qū)域18D。為了滿足與時鐘信號CLK的時鐘頻率相關聯(lián)的時序約束,在互聯(lián)資源16上接收的信號可以被通過旁路電路38直接路由到可編程邏輯區(qū)域18D的寄存器40A。這種配置旁路了可編程邏輯區(qū)域34中的輸入選擇電路和可以被配置為執(zhí)行定制用戶功能的電路(例如,可編程邏輯元件、可配置的邏輯塊或者適應性的邏輯模塊)。寄存器40A的輸出信號被發(fā)送到輸出選擇和路由電路56,輸出選擇和路由電路56被配置為可以從在上面?zhèn)魉托盘柕幕ヂ?lián)資源16選擇總線互聯(lián)。為了滿足與時鐘信號CLK的時鐘頻率相關聯(lián)的關鍵路徑延遲限制,可編程邏輯區(qū)域可以被配置為實現(xiàn)寄存器傳遞級18D,其可以被設置在總線互聯(lián)上的適當距離處。例如,可編程邏輯區(qū)域18A向另一個可編程邏輯區(qū)域18A發(fā)送的總線信號在通過被配置為拼接導線18C的可編程邏輯區(qū)域之后,可以通過被配置以實現(xiàn)寄存器傳遞級18D的可編程邏輯區(qū)域。
[0049]圖5中示出了可編程邏輯區(qū)域18,可編程邏輯區(qū)域18具有旁路電路38以使用旁路路徑38B選擇哪個互聯(lián)資源16C可以被路由??删幊踢壿媴^(qū)域18可以包括可編程邏輯區(qū)域34、輸入選擇電路54、邏輯區(qū)域輸入選擇電路55和輸出選擇和路由電路56??删幊踢壿媴^(qū)域18可以包括被配置為使能如圖3所示的總線互聯(lián)的可編程元件110、111、112和113。例如,可編程邏輯區(qū)域18可以包括配置可編程邏輯區(qū)域以形成總線(在圖3中示出為110)、為實現(xiàn)數(shù)據(jù)源/匯站(在圖3中示出為111)、或者為實現(xiàn)寄存器管道級(在圖3中示出為112)的可編程元件。當形成總線互聯(lián)時,可編程邏輯區(qū)域18可以被配置為互聯(lián)拼接級,以實現(xiàn)總線互聯(lián)中的寄存器管道級,或者通過適當?shù)丶虞d可編程元件110、111、112實現(xiàn)用于在總線互聯(lián)上接收和傳送數(shù)據(jù)的源/匯站。
[0050]可編程邏輯區(qū)域18可以包括耦合到互聯(lián)資源16C的輸入端和耦合到互聯(lián)資源16D和16E的輸出端。互聯(lián)資源16C、16D和16E可以用作全局和局部互聯(lián)聯(lián)接(例如,用于在整個器件10上全局地路由信號的互聯(lián)聯(lián)接或者用于將信號路由到相鄰可編程邏輯區(qū)域的互聯(lián)聯(lián)接)?;ヂ?lián)資源16、16C、16D和16E包括不同長度的豎直、水平和/或對角線導體線?;ヂ?lián)資源16可以包括固定互聯(lián)聯(lián)接(導電線)和可編程互聯(lián)聯(lián)接(即,各個互聯(lián)聯(lián)接之間的可編程連接)。被耦合到復用器210A和210B的附加互聯(lián)資源16可以包括任何期望的互聯(lián)資源?;ヂ?lián)資源16可以包括互聯(lián)資源16C、16D或者16E中的一些或者全部,或者可以包括附加互聯(lián)資源(例如,不同類型的附加互聯(lián)資源或者到集成電路10上的不同的位置)。
[0051]示出耦合到互聯(lián)聯(lián)接16、16C、16D和16E的可編程邏輯區(qū)域18的圖5的示例僅僅是示例性的。如果期望,則可編程邏輯區(qū)域18可以耦合到任何數(shù)量的互聯(lián)聯(lián)接,這些互聯(lián)聯(lián)接被配置為將輸入信號路由到可編程邏輯區(qū)域18并且將輸出信號路由以遠離可編程邏輯區(qū)域18。例如,可編程邏輯區(qū)域18可以耦合到沿著不同軸線形成并且具有不同長度的互聯(lián)聯(lián)接??删幊踢壿媴^(qū)域18可以耦合到數(shù)十或者數(shù)百個互聯(lián)聯(lián)接(作為示例)。
[0052]可以用輸出選擇和路由電路56選擇的輸出信號來驅動可編程邏輯區(qū)域18的輸出。例如,輸出選擇和路由電路56可以利用來自可編程邏輯區(qū)域34的輸出信號驅動互聯(lián)資源16D。
[0053]輸出選擇和路由電路56可以包括復用器210A、210B、220A、220B、230A、230B和驅動器250A和250B。各驅動器(例如,驅動器250A和250B)可以利用復用器選擇的信號來驅動互聯(lián)資源,諸如16D或者16E。如果期望,驅動器250A和250B可以經由可編程元件20來配置為電斷開互聯(lián)聯(lián)接中的一些或者全部。
[0054]可編程邏輯區(qū)域18可以被配置在總線互聯(lián)外部,類似于圖4A中的可編程邏輯區(qū)域18B。在此情形下,輸入選擇電路54可以選擇在互聯(lián)資源16C上接收的輸入信號用于在輸入路徑38A上傳送。邏輯區(qū)域輸入選擇電路55還可以在從輸入路徑38A上接收的信號中選擇信號并將那些信號發(fā)送到可編程邏輯區(qū)域34的輸入端??删幊踢壿媴^(qū)域34可以在處理電路64中處理接收到的信號。處理電路64可以包括查找表電路、累加器電路、乘法器電路或者處理接收到的信號并產生輸出信號的任何其它電路。復用器66可以接收那些輸出信號以及直接來自旁路了處理電路64的邏輯區(qū)域輸入選擇電路55的信號。每個復用器66可以從其輸入信號中選擇并傳播信號??梢允褂眉拇嫫?0A和40B來鎖存那些信號,或者可以被直接路由到輸出選擇和路由電路56。復用器220A和220B與輸出選擇和路由電路56中的復用器230A和230B —起可以選擇可編程邏輯區(qū)域34的哪個輸出可以被使用互聯(lián)資源16D傳送并且可以使用互聯(lián)資源16E傳送。另選地,輸出選擇和路由電路56可以被配置為將在互聯(lián)資源16上接收的信號路由到互聯(lián)資源16D或者16E。在此情況下,復用器210A和230A或者210B和230B可以因此被控制。
[0055]圖5的可編程邏輯區(qū)域18可以被配置為互聯(lián)拼接級,其可以用于將互聯(lián)資源拼接到一起以形成總線互聯(lián)。例如,用邏輯“I”加載可編程元件110可以指示可編程邏輯區(qū)域18在形成總線互聯(lián)。在圖3中,用邏輯“O”加載可編程元件111和112可以指示可編程邏輯區(qū)域18既不形成寄存器傳遞級也不形成源/匯站。在此構造中,在總線互聯(lián)上到達可編程邏輯區(qū)域18的數(shù)據(jù)可以被旁路電路38選擇用于在旁路路徑38B上直接路由到輸出選擇和路由電路56中的復用器220A并從那里路由到復用器230A和驅動器250A并且在互聯(lián)資源16D上經由總線互聯(lián)到達下一個可編程邏輯區(qū)域。
[0056]圖5的可編程邏輯區(qū)域18可以被配置為形成總線互聯(lián)中的寄存器傳遞級,例如通過在圖3中用邏輯“I”加載可編程邏輯元件110和112,用邏輯“O”加載可編程元件111。在此情形下,在總線互聯(lián)上接收的數(shù)據(jù)可以被路由通過旁路電路38,在旁路路徑38B上,通過復用器66到寄存器40A。從那里,數(shù)據(jù)可以被直接路由到輸出選擇和路由電路56中的復用器220A,從復用器220A其可以被路由到復用器230A和驅動器250A并且在互聯(lián)資源16D上經由總線互聯(lián)傳送到下一個可編程邏輯區(qū)域。
[0057]圖5的可編程邏輯區(qū)域18可以還被配置為源/匯站,其沿著接收在總線互連上傳送的數(shù)據(jù)并且在總線互聯(lián)上傳送新數(shù)據(jù)的總線互聯(lián)(例如,源/匯站是用于接收到的信息的端點和用于所產生的信息的起點)。例如,在圖3中,通過用邏輯“I”加載可編程元件110和111并且通過加載可編程元件113來進一步向可編程邏輯區(qū)域18指派地址,可編程邏輯區(qū)域18可以被配置為源/匯站。在此情形下,比較器可以比較存儲在圖3的可編程元件113中的可編程邏輯區(qū)域的地址和在總線互聯(lián)上與數(shù)據(jù)一起被接收到的目的地地址。如果地址不匹配,則可編程邏輯區(qū)域可以被配置為充當如上所述的寄存器傳遞級。當?shù)刂菲ヅ鋾r,可編程邏輯區(qū)域可以被配置為使得在總線互聯(lián)上接收到的數(shù)據(jù)被通過旁路電路38路由,在旁路路徑38B上,通過復用器66,并到達寄存器40A,在寄存器40A處數(shù)據(jù)被存儲。為了進一步處理,數(shù)據(jù)可以在復用器220B、230B、驅動器250B和互聯(lián)資源16E上被路由到另一個可編程邏輯區(qū)域。
[0058]可編程邏輯區(qū)域18可以在互聯(lián)資源16C上接收不作為在總線互聯(lián)上傳送的信號的一部分的信號。那些信號中的一些可以被輸入選擇電路54選擇用于在輸入路徑38A上傳送。邏輯區(qū)域輸入選擇電路55還可以在輸入路徑38A上接收的信號中選擇信號并將那些信號發(fā)送到可編程邏輯區(qū)域34的輸入端??删幊踢壿媴^(qū)域34可以在處理電路64中處理接收到的信號。處理電路64可以包括查找表電路、累加器電路、乘法器或者處理接收到的信號并且產生輸出信號的任何其它電路。復用器66可以接收那些輸出信號以及直接來自旁路了處理電路64的邏輯區(qū)域輸入選擇電路55的信號。各復用器66可以從其輸入信號中的一個選擇信號并傳播信號。上部復用器66選擇來自旁路路徑38B的信號以便在寄存器40A中存儲,如以上所提到的。下部復用器66接收和選擇的信號可以或者使用寄存器40B被鎖存或者它們可以被直接路由到輸出選擇和路由電路56。復用器220A與輸出選擇和路由電路56中的復用器230A可以一起選擇可編程邏輯區(qū)域34的哪個輸出可以被使用互聯(lián)資源16D傳送。
[0059]圖6示出具有被配置為實現(xiàn)環(huán)形總線互聯(lián)600的可編程邏輯區(qū)域的集成電路的示例圖。例如,連接成環(huán)的總線互聯(lián)600可以具有6個被配置為源/匯站的可編程邏輯區(qū)域(例如,18A)、4個被配置為寄存器傳遞級的可編程邏輯區(qū)域(例如,18D)和8個被配置用于導線拼接的可編程邏輯區(qū)域。全部其它可編程邏輯區(qū)域(例如,18C)可以被配置為不參與形成總線互聯(lián)。被配置為源/匯站18A的每個可編程邏輯區(qū)域可以具有存儲在圖3的可編程元件113中的地址。作為示例,環(huán)形總線互聯(lián)600中被配置為源/匯站的6個可編程邏輯區(qū)域18A可以具有用三個比特的數(shù)據(jù)在“000”到“101”的范圍內編碼的地址。
[0060]形成環(huán)形總線互聯(lián)600的各可編程邏輯區(qū)域18可以從各個可編程邏輯區(qū)域處的可用互聯(lián)資源16選擇圖5的互聯(lián)資源16D的不同子集合用于形成環(huán)形總線互聯(lián)。例如,除了左上角被配置為寄存器傳遞級之外,600的左側列中的全部可編程邏輯區(qū)域可以選擇長度為四的上游豎直互聯(lián)聯(lián)接,如圖6所示。除了右下角可編程邏輯區(qū)域被配置為寄存器傳遞級之外,600的右側列中的全部可編程邏輯區(qū)域可以選擇長度為四的下游豎直互聯(lián)聯(lián)接,如圖6所示。被配置為寄存器傳遞級的左上角的可編程邏輯區(qū)域可以選擇長度為四的水平互聯(lián)聯(lián)接到右側,并且被配置為寄存器傳遞級的右下角的可編程邏輯區(qū)域可以選擇長度為四的水平互聯(lián)聯(lián)接到左側,因而形成環(huán)形總線互聯(lián)。
[0061]在圖6的配置中,只要使用了不同的互聯(lián)資源,則被配置為源/匯站的若干可編程邏輯區(qū)域可以在環(huán)形總線互聯(lián)上同時發(fā)送數(shù)據(jù)。例如,源/匯站A可以將數(shù)據(jù)發(fā)送到源/匯站C,同時源/匯站D可以將數(shù)據(jù)發(fā)送到源/匯站E,并且同時源/匯站E可以將數(shù)據(jù)發(fā)送到源/匯站F。然而,在源/匯站A在將數(shù)據(jù)發(fā)送到源/匯站C的同時,源/匯站B可以不發(fā)送數(shù)據(jù)到源/匯站D,因為源/匯站B和源/匯站C之間的互聯(lián)資源將被同時用于兩種數(shù)據(jù)傳送。
[0062]這種情形有時稱為總線上的沖突,其可以按照多種方式來防止。例如,在環(huán)形總線互聯(lián)600上傳送的數(shù)據(jù)可以具有與發(fā)送該數(shù)據(jù)的源/匯站相關聯(lián)的源地址和與作為數(shù)據(jù)接收方的源/匯站相關聯(lián)的目的地地址,如圖3所示。如果源/匯站的位置在源和目的地源/匯站之間,則源/匯站可以檢查其位置并且不在環(huán)形總線互聯(lián)上傳送新數(shù)據(jù)。另選地,在環(huán)形總線互聯(lián)600上傳送的數(shù)據(jù)可以包括指示環(huán)形總線互聯(lián)是否在使用中的狀態(tài)信號。例如,該數(shù)據(jù)可以包括如圖3所示的有效信,。如果有效信號具有指示環(huán)形總線互聯(lián)當前不在使用的給定值(例如,有效信號可以被設置為邏輯“0”),則源/匯站只可以在環(huán)形總線互聯(lián)上發(fā)送新數(shù)據(jù)。當在環(huán)形總線互聯(lián)上發(fā)送新數(shù)據(jù)時,有效信號可以被設置為指示環(huán)形總線互聯(lián)現(xiàn)在被使用的值(例如,有效信號可以被設置為邏輯“ I ”)并且僅僅作為該數(shù)據(jù)的目的地的源/匯站可以將有效信號重置為指示環(huán)形總線互聯(lián)不再被使用的值。
[0063]圖7示出用于使用可配置互聯(lián)聯(lián)接在集成電路中實現(xiàn)總線互聯(lián)的示例性步驟的流程圖200。在步驟210,被配置為源/匯站的可編程邏輯區(qū)域,諸如例如圖6中的可編程邏輯區(qū)域18A,可以生成用于在總線互聯(lián)上傳送的總線信號。那些總線信號可以包括用戶數(shù)據(jù)和與被配置為作為在總線互聯(lián)上傳送的用戶數(shù)據(jù)的接收方的源/匯站的可編程邏輯區(qū)域相關聯(lián)的目的地地址??偩€信號也可以包括其它信息。例如,總線信號可以包括傳送總線信號的源/匯站的地址??偩€信號也可以包括其他信息,舉例而言,諸如例如指示總線互聯(lián)當前是否使用的狀態(tài)信息、奇偶位、或者用于錯誤校驗所傳送的數(shù)據(jù)的校驗和值。
[0064]在步驟220,源/匯站可以接著選擇要在上面向下一個可編程邏輯區(qū)域傳送總線信號的互聯(lián)資源。總線信號可以使用集成電路中的任何可用互聯(lián)資源。例如,總線信號可以使用豎直互聯(lián)聯(lián)接??偩€信號也可以使用其它方向上的互聯(lián)資源。例如,總線信號可以使用水平方向或者對角線方向??偩€信號可以使用任何方向的互聯(lián),諸如上、下、向左或者向右??偩€信號可以使用不同長度V1、V2、H1、H2、D1、D2等的互聯(lián)聯(lián)接,或者集成電路中的任何其它長度的互聯(lián)聯(lián)接。
[0065]在步驟230,總線信號可以使用旁路路徑來進入下一個可編程邏輯區(qū)域。從這里,在步驟240,總線信號可以被路由到寄存器并且到達可編程邏輯區(qū)域的輸出選擇和路由電路。下一個步驟250可以比較可編程邏輯區(qū)域的地址和總線信號中的目的地地址。另選地,如果可編程邏輯區(qū)域被配置為源/匯站,才可以比較地址。如果在步驟205,可編程邏輯區(qū)域的地址與總線信號中的目的地地址匹配,則在步驟260,總線信號可以存儲在寄存器中并且從那里讀取以便進一步處理。如果在步驟205,可編程邏輯區(qū)域的地址與總線信號中的目的地地址不匹配,則下一步驟215可以檢查可編程邏輯區(qū)域是否被配置為寄存器傳遞級。如果是,則在步驟280總線信號被存儲在寄存器中,并且在步驟220,輸出選擇和路由電路可以被配置為選擇那些信號用于作為總線信號在所選擇的互聯(lián)資源上傳送到下一個可編程邏輯區(qū)域。如果在步驟215,可編程邏輯區(qū)域沒有被配置為寄存器傳遞級,則在步驟270,總線信號在旁路路徑上被直接路由到輸出選擇和路由電路,該輸出選擇和路由電路可以被配置為選擇那些信號用于在步驟220作為總線信號在所選擇的互聯(lián)資源上傳送到下一個可編程邏輯區(qū)域。
[0066]在此描述的該方法和設備可以并入任何適當電子器件或者電子器件的系統(tǒng)中。例如,該方法和設備可以被并入多種類型的器件中,諸如微處理器或者其它1C。舉例而言,示例性IC包括可編程陣列邏輯(PAL)、可編程邏輯陣列(PLAs)、現(xiàn)場可編程邏輯陣列(FPLAs)、電可編程邏輯器件器件(EPLDs)、電可擦寫可編程邏輯器件器件(EEPLDs)、邏輯單元陣列(LCAs)、現(xiàn)場可編程門陣列(FPGAs)、專用標準產品(ASSPs)、專用集成電路(ASICs)0
[0067]在此描述的可編程邏輯器件器件可以是數(shù)據(jù)處理系統(tǒng)的一部分,其中,數(shù)據(jù)處理系統(tǒng)包括以下部件中的一個或者更多:處理器、存儲器、I/o電路、和外圍裝置。數(shù)據(jù)處理系統(tǒng)可以在多種應用中廣泛使用,例如計算機組網(wǎng)、數(shù)據(jù)組網(wǎng)、儀器化、視頻處理、數(shù)字信號處理或者任何適當?shù)钠渌鼞?,其中期望使用可編程或者可重編程邏輯的?yōu)勢。可編程邏輯器件器件可以應用進行多種不同邏輯功能。例如,可編程邏輯器件器件可以被配置為處理器或者控制器,其與系統(tǒng)處理器協(xié)同使用??删幊踢壿嬈骷梢杂米髦俨闷鳎渲俨脤?shù)據(jù)處理系統(tǒng)中的共享資源的訪問。在另一個示例中,可編程邏輯器件可以被配置為處理器和系統(tǒng)中的其它部件中的一個的接口。在一個實施方式中,可編程邏輯器件可以是受讓人擁有的裝置族中的一種。
[0068]盡管按照具體順序描述了該方法的操作,應理解的是可以在所描述的操作之間進行其它操作,所描述的操作可以被調整使得按照略微不同的次序發(fā)生,或者所描述的操作可以在系統(tǒng)中分布,允許處理操作在與處理相關聯(lián)的不同間隔發(fā)生,只要交疊操作的處理按照期望方式進行就行。
[0069]附加實施方式
[0070]附加實施方式1、一種集成電路,所述集成電路包括:具有多個輸入端和寄存器的邏輯區(qū)域;可操作用于在整個集成電路上路由信號的多個互聯(lián)聯(lián)接;輸入選擇電路,可操作用于將來自多個互聯(lián)聯(lián)接中的所選擇的子集合的信號提供到所述邏輯區(qū)域的輸入端;以及旁路電路,耦合在所述多個互聯(lián)聯(lián)接和所述邏輯區(qū)域的輸入端之間,其中,所述旁路電路可操作用于通過選擇性地將來自多個互聯(lián)聯(lián)接中的互聯(lián)聯(lián)接路由到所述邏輯區(qū)域的輸入端來旁路所述輸入選擇電路。
[0071]附加實施方式2、根據(jù)附加實施方式I所述的集成電路,其中,所述旁路電路耦合到所述多個互聯(lián)聯(lián)接中的第二子集合并且其中所述旁路電路可操作用于將來自所述第二子集合中的所選擇的互聯(lián)聯(lián)接的信號路由到所述寄存器。
[0072]附加實施方式3、根據(jù)附加實施方式2所述的集成電路,所述集成電路還包括:處理電路,可操作用于從所述多個互聯(lián)聯(lián)接中的所選擇的子集合接收信號并且其中所述處理電路還可操作用于處理接收到的信號并產生輸出信號;以及復用器,可操作用于接收來自所述處理電路的輸出信號和來自所述第二子集合中的所選擇的互聯(lián)聯(lián)接的信號中的至少一個并且將接收到的信號的一部分提供到所述寄存器。
[0073]附加實施方式4、根據(jù)附加實施方式3所述的集成電路,其中,所述旁路電路還包括:附加復用器,耦合到所述多個互聯(lián)聯(lián)接的第二子集合,其中所述附加復用器可操作用于將來自所述第二子集合中的所選擇的互聯(lián)聯(lián)接的信號通過所述復用器路由到所述寄存器。
[0074]附加實施方式5、根據(jù)附加實施方式I所述的集成電路,其中,所述邏輯區(qū)域可操作用于處理所述輸入選擇電路提供的所選擇的信號以產生邏輯區(qū)域輸出信號。
[0075]附加實施方式6、根據(jù)附加實施方式5所述的集成電路,其中,所述旁路電路耦合到所述多個互聯(lián)聯(lián)接的第二子集合并且其中所述旁路電路可操作用于通過旁路所述邏輯區(qū)域,將來自所述第二子集合中的所選擇的互聯(lián)聯(lián)接的旁路信號路由到所述邏輯區(qū)域輸出信號。
[0076]附加實施方式7、根據(jù)附加實施方式6所述的集成電路,其中,所述邏輯區(qū)域中的寄存器可操作用于產生寄存器輸出信號并且其中所述集成電路還包括:輸出選擇和路由電路,可操作用于接收邏輯區(qū)域輸出信號、所述寄存器輸出信號和所述旁路信號,其中所述輸出和路由電路還可操作用于將所述邏輯區(qū)域輸出信號的所選擇的信號、所述寄存器輸出信號和所述旁路信號路由到所述多個互聯(lián)聯(lián)接中的一個。
[0077]附加實施方式8、根據(jù)附加實施方式I所述的集成電路,其中,所述集成電路包括可編程集成電路并且其中所述邏輯區(qū)域包括可編程邏輯區(qū)域。
[0078]附加實施方式9、一種集成電路,所述集成電路包括:邏輯區(qū)域,具有可操作用于提供邏輯區(qū)域輸出信號的多個寄存器;第一互聯(lián)聯(lián)接;第二互聯(lián)聯(lián)接;耦合到所述第一互聯(lián)聯(lián)接的旁路路徑,其中所述旁路路徑傳播旁路信號;以及輸出選擇和路由電路,耦合到所述第二互聯(lián)聯(lián)接,其中所述輸出選擇和路由電路接收所述邏輯區(qū)域輸出信號和所述旁路信號中的每個,并且其中所述輸出選擇和路由電路還將所述旁路信號和所述邏輯區(qū)域輸出信號中所選擇的一個路由到所述第二互聯(lián)聯(lián)接。
[0079]附加實施方式10、根據(jù)附加實施方式9所述的集成電路,其中,所述多個寄存器中的給定寄存器在所述旁路路徑上接收所述旁路信號。
[0080]附加實施方式11、根據(jù)附加實施方式9所述的集成電路,其中,所述輸出選擇和路由電路還包括:第一復用器,接收所述邏輯區(qū)域輸出信號和所述旁路信號,其中所述第一復用器還包括提供從所述邏輯區(qū)域輸出信號和所述旁路信號選擇的第一復用器輸出信號。
[0081]附加實施方式12、根據(jù)附加實施方式11所述的集成電路,所述集成電路還包括:多個附加互聯(lián)聯(lián)接;以及耦合到所述多個附加互聯(lián)聯(lián)接的第二復用器,其中所述第二復用器從所述多個附加互聯(lián)聯(lián)接接收信號并且提供從所述多個附加互聯(lián)聯(lián)接的信號選擇的第二復用器輸出信號。
[0082]附加實施方式13、根據(jù)附加實施方式12所述的集成電路,其中,所述輸出選擇和路由電路還包括:附加復用器,接收所述第一復用器輸出信號和所述第二復用器輸出信號,其中所述附加復用器還提供從所述第一復用器輸出信號和所述第二復用器輸出信號選擇的附加復用器輸出信號。
[0083]附加實施方式14、根據(jù)附加實施方式13所述的集成電路,所述集成電路還包括:驅動器電路,接收所述附加復用器輸出信號并且驅動所述第二互聯(lián)聯(lián)接。
[0084]附加實施方式15、根據(jù)附加實施方式9所述的集成電路,所述集成電路還包括:多個附加互聯(lián)聯(lián)接;耦合到所述多個附加互聯(lián)聯(lián)接的輸入選擇電路,其中所述輸入選擇電路從所述多個附加互聯(lián)聯(lián)接接收信號并且向所述邏輯區(qū)域提供從接收到的輸入信號選擇的邏輯區(qū)域輸入信號;以及旁路電路,接收來自所述多個附加互聯(lián)聯(lián)接的信號的子集合并且將從接收到的信號的子集合選擇的旁路電路輸出信號提供給所述多個寄存器中的所述給定寄存器和所述輸出選擇和路由電路。
[0085]附加實施方式16、根據(jù)附加實施方式15所述的集成電路,其中,所述旁路電路包括:復用器,接收所述信號的子集合并且將所述旁路電路輸出信號提供到所述多個寄存器中的所述給定寄存器和所述輸出選擇和路由電路。
[0086]附加實施方式17、一種用于操作集成電路的方法,所述方法包括:在多個邏輯區(qū)域中的第一邏輯區(qū)域中產生多個數(shù)據(jù)信號;在所述多個邏輯區(qū)域中的所述第一邏輯區(qū)域中生成目的地地址,其中所述目的地地址與所述多個邏輯區(qū)域中的目的地邏輯區(qū)域相關聯(lián);以及經由所述多個互聯(lián)聯(lián)接的所選擇的子集合傳送所述多個數(shù)據(jù)信號和所述目的地地址,其中所述多個互聯(lián)聯(lián)接的所選擇的子集合置于所述多個邏輯區(qū)域中的所述第一邏輯區(qū)域和所述多個邏輯區(qū)域中的所述第二邏輯區(qū)域之間。
[0087]附加實施方式18、根據(jù)附加實施方式17所述的集成電路,所述集成電路還包括:從所述多個邏輯區(qū)域中的所述第一邏輯區(qū)域和所述多個邏輯區(qū)域中的所述第二邏輯區(qū)域接收所述多個數(shù)據(jù)信號和所述目的地地址;將接收到的多個數(shù)據(jù)信號和目的地地址經由旁路路徑路由到寄存器和輸出選擇和路由電路;并且將接收到的目的地地址和在所述多個邏輯區(qū)域中的第二邏輯區(qū)域的地址進行比較。
[0088]附加實施方式19、根據(jù)附加實施方式18所述的集成電路,所述集成電路還包括:響應于確定接收到的目的地地址與所述第二邏輯區(qū)域的地址匹配,將接收到的多個數(shù)據(jù)信號存儲在所述多個邏輯區(qū)域的所述第二邏輯區(qū)域中的寄存器中。
[0089]附加實施方式20、根據(jù)附加實施方式18所述的集成電路,其中,所述第二邏輯區(qū)域包括存儲元件,該存儲元件存儲寄存器傳遞比特,所述方法還包括:基于所述寄存器傳遞比特確定接收到的多個數(shù)據(jù)信號和所述目的地地址是否應在第二邏輯區(qū)域中傳遞。
[0090]附加實施方式21、根據(jù)附加實施方式20所述的集成電路,所述集成電路還包括:響應于確定在旁路路徑上接收到的多個數(shù)據(jù)信號和所述目的地地址將不被傳遞,選擇所述多個互聯(lián)聯(lián)接的子集合,其中,所述多個互聯(lián)聯(lián)接的子集合將所述多個邏輯區(qū)域中的所述第二邏輯區(qū)域耦合到所述多個邏輯區(qū)域中的第三邏輯區(qū)域;并且使用所述多個互聯(lián)聯(lián)接中的所選擇的子集合在所述輸出選擇和路由電路處的旁路路徑上傳送接收到的多個數(shù)據(jù)信號和目的地地址。
[0091]附加實施方式22、根據(jù)附加實施方式20所述的集成電路,所述集成電路還包括:響應于確定在旁路路徑上接收到的多個數(shù)據(jù)信號和所述目的地地址要被傳遞,將接收到的多個數(shù)據(jù)信號和所述目的地地址存儲在所述第二邏輯的寄存器中;并且使用所述多個互聯(lián)聯(lián)接中的所選擇的子集合在寄存器處在旁路路徑上傳送接收到的多個數(shù)據(jù)信號和所述目的地地址,其中,所述多個互聯(lián)聯(lián)接中的子集合將所述多個邏輯區(qū)域中的所述第二邏輯區(qū)域耦合到所述多個邏輯區(qū)域中的第三邏輯區(qū)域。
[0092]以上僅僅是本發(fā)明的原理的示例,并且在不背離本發(fā)明的范圍和實質下,本領域技術人員可以進行各種修改。上述實施方式可以單獨實施或者任意組合實施。
【權利要求】
1.一種集成電路,所述集成電路包括: 具有多個輸入端和寄存器的邏輯區(qū)域; 可操作用于在整個所述集成電路上路由信號的多個互聯(lián)聯(lián)接; 輸入選擇電路,可操作用于將來自所述多個互聯(lián)聯(lián)接中的所選擇的子集合的信號提供到所述邏輯區(qū)域的輸入端;和 旁路電路,耦合在所述多個互聯(lián)聯(lián)接和所述邏輯區(qū)域的輸入端之間,其中,所述旁路電路可操作用于通過選擇性地將來自所述多個互聯(lián)聯(lián)接中的互聯(lián)聯(lián)接路由到所述邏輯區(qū)域的輸入端來旁路所述輸入選擇電路。
2.根據(jù)權利要求1所述的集成電路,其中,所述旁路電路耦合到所述多個互聯(lián)聯(lián)接中的第二子集合并且其中所述旁路電路可操作用于將來自所述第二子集合中的所選擇的互聯(lián)聯(lián)接的信號路由到所述寄存器;
3.根據(jù)權利要求2所述的集成電路,所述集成電路還包括: 處理電路,可操作用于從所述多個互聯(lián)聯(lián)接中的所選擇的子集合接收所述信號并且其中所述處理電路還可操作用于處理所述接收到的信號并產生輸出信號;以及 復用器,可操作用于接收來自所述處理電路的所述輸出信號和來自所述第二子集合中的所選擇的互聯(lián)聯(lián)接的所述信號中的至少一個并且將所述接收到的信號的一部分提供到所述寄存器。
4.根據(jù)權利要求3所述的集成電路,其中,所述旁路電路還包括:` 附加復用器,其耦合到所述多個互聯(lián)聯(lián)接的第二子集合,其中所述附加復用器可操作用于將來自所述第二子集合中的所選擇的互聯(lián)聯(lián)接的信號通過所述復用器路由到所述寄存器。
5.根據(jù)權利要求1所述的集成電路,其中所述邏輯區(qū)域可操作用于處理所述輸入選擇電路提供的所選擇的信號以產生邏輯區(qū)域輸出信號。
6.根據(jù)權利要求5所述的集成電路,其中,所述旁路電路耦合到所述多個互聯(lián)聯(lián)接的第二子集合并且其中所述旁路電路可操作用于通過旁路所述邏輯區(qū)域,將來自所述第二子集合中的所選擇的互聯(lián)聯(lián)接的旁路信號路由到所述邏輯區(qū)域輸出信號。
7.根據(jù)權利要求6所述的集成電路,其中,所述邏輯區(qū)域中的寄存器可操作用于產生寄存器輸出信號并且其中所述集成電路還包括: 輸出選擇和路由電路,其可操作用于接收所述邏輯區(qū)域輸出信號、所述寄存器輸出信號和所述旁路信號,其中所述輸出和路由電路還可操作用于將所述邏輯區(qū)域輸出信號、所述寄存器輸出信號和所述旁路信號的所選擇的信號路由到所述多個互聯(lián)聯(lián)接中的一個。
8.一種集成電路,所述集成電路包括: 邏輯區(qū)域,具有可操作用于提供邏輯區(qū)域輸出信號的多個寄存器; 第一互聯(lián)聯(lián)接; 第二互聯(lián)聯(lián)接; 耦合到所述第一互聯(lián)聯(lián)接的旁路路徑,其中所述旁路路徑傳播旁路信號;和輸出選擇和路由電路,其耦合到所述第二互聯(lián)聯(lián)接,其中所述輸出選擇和路由電路接收所述邏輯區(qū)域輸出信號和所述旁路信號中的每個,并且其中所述輸出選擇和路由電路還將所述旁路信號和所述邏輯區(qū)域輸出信號中的所選擇的一個路由到所述第二互聯(lián)聯(lián)接。
9.根據(jù)權利要求8所述的集成電路,其中所述多個寄存器中的給定寄存器在所述旁路路徑上接收所述旁路信號。
10.根據(jù)權利要求8所述的集成電路,其中所述輸出選擇和路由電路還包括: 第一復用器,其接收所述邏輯區(qū)域輸出信號和所述旁路信號,其中所述第一復用器還提供從所述邏輯區(qū)域輸出信號和所述旁路信號選擇的第一復用器輸出信號。
11.根據(jù)權利要求10所述的集成電路,所述集成電路還包括: 多個附加互聯(lián)聯(lián)接;和 耦合到所述多個附加互聯(lián)聯(lián)接的第二復用器,其中所述第二復用器從所述多個附加互聯(lián)聯(lián)接接收信號并且提供從所述多個附加互聯(lián)聯(lián)接的信號選擇的第二復用器輸出信號。
12.根據(jù)權利要求11所述的集成電路,其中所述輸出選擇和路由電路還包括: 附加復用器,其接收所述第一復用器輸出信號和所述第二復用器輸出信號,其中所述附加復用器還提供從所述第一復用器輸出信號和所述第二復用器輸出信號選擇的附加復用器輸出信號。
13.根據(jù)權利要求12所述的集成電路,所述集成電路還包括: 驅動器電路,其接收所述附加復用器輸出信號并且驅動所述第二互聯(lián)聯(lián)接。
14.根據(jù)權利要求8所述的集成電路,所述集成電路還包括: 多個附加互聯(lián)聯(lián)接; 耦合到所述多個附加互聯(lián)聯(lián)接的輸入選擇電路,其中所述輸入選擇電路從所述多個附加互聯(lián)聯(lián)接接收信號并且向所述邏輯區(qū)域提供從接收到的輸入信號選擇的邏輯區(qū)域輸入信號;和 旁路電路,其接收來自所述多個附加互聯(lián)聯(lián)接的信號的子集合并且將從接收到的所述信號的子集合選擇的旁路電路輸出信號提供給所述多個寄存器中的所述給定寄存器和所述輸出選擇和路由電路。
15.根據(jù)權利要求14所述的集成電路,其中所述旁路電路包括: 復用器,其接收所述信號的子集合并且將所述旁路電路輸出信號提供給所述多個寄存器中的所述給定寄存器和所述輸出選擇和路由電路。
16.一種用于操作集成電路的方法,所述方法包括: 在多個邏輯區(qū)域中的第一邏輯區(qū)域中產生多個數(shù)據(jù)信號; 在所述多個邏輯區(qū)域中的所述第一邏輯區(qū)域中生成目的地地址,其中所述目的地地址與所述多個邏輯區(qū)域中的目的地邏輯區(qū)域相關聯(lián);以及 經由多個互聯(lián)聯(lián)接的所選擇的子集合傳送所述多個數(shù)據(jù)信號和所述目的地地址,其中所述多個互聯(lián)聯(lián)接的所選擇的子集合置于所述多個邏輯區(qū)域中的所述第一邏輯區(qū)域和所述多個邏輯區(qū)域中的第二邏輯區(qū)域之間。
17.根據(jù)權利要求16所述的方法,所述方法還包括: 從所述多個邏輯區(qū)域中的所述第一邏輯區(qū)域和所述多個邏輯區(qū)域中的所述第二邏輯區(qū)域接收所述多個數(shù)據(jù)信號和所述目的地地址; 將所述接收到的多個數(shù)據(jù)信號和目的地地址經由旁路路徑路由到寄存器和輸出選擇和路由電路;以及 將所述接收到的目的地地址和所述多個邏輯區(qū)域中的所述第二邏輯區(qū)域的地址進行比較。
18.根據(jù)權利要求17所述的方法,其中,所述第二邏輯區(qū)域包括存儲元件,該存儲元件存儲寄存器傳遞比特,所述方法還包括: 基于所述寄存器傳遞比特確定所述接收到的多個數(shù)據(jù)信號和目的地地址是否應在所述第二邏輯區(qū)域中傳遞。
19.根據(jù)權利要求18所述的方法,所述方法還包括: 響應于確定在旁路路徑上的所述接收到的多個數(shù)據(jù)信號和目的地地址將不被傳遞,選擇所述多個互聯(lián)聯(lián)接的子集合,其中,所述多個互聯(lián)聯(lián)接的子集合將所述多個邏輯區(qū)域中的所述第二邏輯區(qū)域耦合到所述多個邏輯區(qū)域中的第三邏輯區(qū)域;以及 使用所述多個互聯(lián)聯(lián)接中的所選擇的子集合在所述輸出選擇和路由電路處的旁路路徑上傳送所述接收到的多個數(shù)據(jù)信號和目的地地址。
20.根據(jù)權利要求18所述的方法,所述方法還包括: 響應于確定在旁路路徑上的所述接收到的多個數(shù)據(jù)信號和目的地地址要被傳遞,將所述接收到的多個數(shù)據(jù)信號和目的地地址存儲在所述第二邏輯區(qū)域的寄存器中;以及 使用所述多個互聯(lián)聯(lián)接中的所選擇的子集合在所述寄存器處在旁路路徑上傳送所述接收到的多個數(shù)據(jù)信號 和目的地地址,其中,所述多個互聯(lián)聯(lián)接中的所述子集合將所述多個邏輯區(qū)域中的所述第二邏輯區(qū)域耦合到所述多個邏輯區(qū)域中的第三邏輯區(qū)域。
【文檔編號】G06F17/50GK103778272SQ201310495015
【公開日】2014年5月7日 申請日期:2013年10月21日 優(yōu)先權日:2012年10月19日
【發(fā)明者】M·D·哈頓 申請人:阿爾特拉公司