亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于集成電路的高帶寬互連網(wǎng)絡(luò)的制作方法

文檔序號:6478334閱讀:216來源:國知局
專利名稱:用于集成電路的高帶寬互連網(wǎng)絡(luò)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及用于數(shù)字系統(tǒng)內(nèi)高效通信的網(wǎng)絡(luò),并且更具體地,本發(fā)明涉及互連總 線和站點的多站點化網(wǎng)格,其為現(xiàn)場可編程門陣列提供高速流水線化的和可配置的通信網(wǎng)
背景技術(shù)
數(shù)字系統(tǒng)可以使用現(xiàn)成的集成電路來實現(xiàn)。然而,系統(tǒng)設(shè)計者通??梢栽谙到y(tǒng) 中使用其邏輯功能可以被定制的某些集成電路,以此來降低成本、提高性能或者增加能 力。數(shù)字系統(tǒng)中兩種常見的可定制集成電路是專用集成電路(ASIC)和現(xiàn)場可編程門陣列 (FPGA)。ASIC是針對特定應(yīng)用進(jìn)行設(shè)計和制造的。ASIC包括從小型邏輯單元的庫中選擇 的電路。典型的ASIC還包括實現(xiàn)廣泛使用功能的大型專用塊,諸如數(shù)千位隨機(jī)存取存儲器 (RAM)或微處理器。這些邏輯單元和專用功能塊放置在ASIC上的適當(dāng)位置處并借助于配線 來連接。專用集成電路(ASIC)具有若干優(yōu)勢。由于ASIC僅包含應(yīng)用所需的電路,所以其 具有很小的裸片(die)尺寸。ASIC還具有低功率消耗和高性能。ASIC具有某些劣勢。由于設(shè)計過程復(fù)雜,所以設(shè)計ASIC需要花費大量時間和金 錢。為ASIC創(chuàng)建原型也很復(fù)雜,所以原型制作也需要花費大量時間和金錢?,F(xiàn)場可編程門陣列(FPGA)是數(shù)字系統(tǒng)中另一種常見的可定制集成電路。FPGA是 通用器件。這意味著系統(tǒng)設(shè)計者可以針對特定應(yīng)用對其進(jìn)行配置。圖21提供了常規(guī)FPGA —部分的示意圖。FPGA包括多個可配置的通用邏輯塊、多 個可配置的專用塊和多個路由交叉開關(guān)(crossbar)。在一個示例中,諸如邏輯塊101之類 的每個邏輯塊可以包括多個四輸入查找表(LUT)和多個可配置的一位序向單元,其中每一 個可以配置為觸發(fā)器或鎖存器??膳渲玫膶S脡K(諸如專用塊151和155)實現(xiàn)廣泛使用 的功能。FPGA可以具有不止一種類型的專用塊。路由交叉開關(guān)形成二維路由網(wǎng)絡(luò),該二維路由網(wǎng)絡(luò)在邏輯塊和專用塊之中提供可 配置的連接。在說明性的FPGA中,每個路由交叉開關(guān)在四個方向連接至最近的鄰居路由交 叉開關(guān)并連接至邏輯塊或?qū)S脡K。例如,路由交叉開關(guān)125和100通過總線104連接。在示 例性FPGA中,諸如邏輯塊101之類的每個邏輯塊連接至諸如路由交叉開關(guān)100之類的一個 路由交叉開關(guān)。專用塊通常比邏輯塊大很多,并且通常具有更多的輸入信號和輸出信號,從 而使得諸如專用塊151之類的專用塊可以通過多個總線連接至諸如路由交叉開關(guān)130-133 之類的多個路由交叉開關(guān)。邏輯塊、專用塊和路由交叉開關(guān)包含允許對其操作進(jìn)行配置的電路(稱為配置存 儲器)。通過適當(dāng)?shù)卦O(shè)置配置存儲器,可以在FPGA中實現(xiàn)用戶的設(shè)計?,F(xiàn)代的FPGA使用若 干形式的配置存儲器,最常見的形式是靜態(tài)隨機(jī)存取存儲器。對FPGA的配置使得其可以執(zhí) 行很多可行應(yīng)用中特定的一個。
與專用集成電路(ASIC)相比,現(xiàn)場可編程門陣列(FPGA)有很多優(yōu)勢。為FPGA制 作原型是相對快速且便宜的過程。而且,由于FPGA設(shè)計過程的步驟更少,所以與設(shè)計ASIC 相比,在FPGA中實現(xiàn)設(shè)計花費的時間和金錢都更少。 FPGA具有某些劣勢,最重要的就是裸片面積。邏輯塊使用的面積比等效的ASIC邏 輯單元使用的面積要大,并且路由交叉開關(guān)中的開關(guān)和配置存儲器使用的面積遠(yuǎn)大于等效 的ASIC配線。與ASIC相比,F(xiàn)PGA還具有更高的功率消耗和更低的性能。FPGA的用戶可以借助于公知為流水線化的技術(shù)來改善其性能。數(shù)字設(shè)計的操作頻 率部分地受到數(shù)據(jù)必須通過的、一個序向單元集合和另一個序向單元集合之間的查找表層 數(shù)的限制。通過使用附加的序向單元集合,用戶可以將查找表集合劃分為級的流水線。此 技術(shù)可以減少序向單元集合之間查找表的層數(shù),并且因此可以實現(xiàn)更高的操作頻率。然而, 流水線化并不會使FPGA的性能相對于ASIC的性能得到改善,因為ASIC的設(shè)計者也可以使 用流水線化技術(shù)??赡芟M峁┻@樣的電路,其實現(xiàn)設(shè)計的可配置性、短時間和低成本,以及FPGA 特有的原型制作的短時間和低成本,并同時維持ASIC的高性能、小裸片面積和低功率消 耗。通過具有相對較高的性能和相對較小的裸片面積,專門化的專用塊可能有助于類似于 ASIC的集成電路。該集成電路可以保持FPGA的大部分益處,S卩,相對可配置、設(shè)計需要的時 間短和成本低,以及原型制作需要的時間短和成本低。然而,常規(guī)FPGA路由交叉開關(guān)網(wǎng)絡(luò)不能在這種集成電路中提供專用塊的高數(shù)據(jù) 帶寬。在路由交叉開關(guān)網(wǎng)絡(luò)中路由的信號的操作頻率相對較低。用戶可以使用流水線寄存 器來稍微增大頻率,但是這么做會消耗邏輯塊中的寄存器資源。利用比正常情況下更大量 的路由交叉開關(guān)來構(gòu)建FPGA會增大數(shù)據(jù)帶寬,但是由于路由交叉開關(guān)會使用較大面積,這 并不實際。

發(fā)明內(nèi)容
本發(fā)明的一個目的在于提供面積高效的路由電路,其能夠在高帶寬的情況下傳送 數(shù)據(jù),以實現(xiàn)具有專用塊的混合FPGA的高性能潛力,從而將FPGA和ASIC的益處相結(jié)合。本發(fā)明通過一種總線結(jié)構(gòu)而實現(xiàn),該總線結(jié)構(gòu)在集成電路的專用電路和邏輯電路 之間提供數(shù)據(jù)的流水線化總線傳輸,該總線結(jié)構(gòu)包括流水線化導(dǎo)體的網(wǎng)絡(luò),以及流水線化 導(dǎo)體的連接器,其可選擇性地在專用電路、其他連接器和邏輯電路之間連結(jié)。通過參考結(jié)合附圖而進(jìn)行的以下具體描述,本發(fā)明的這些及其他目的和特征將更 易于理解,在附圖中,貫穿若干視圖,相同元素由相同附圖標(biāo)記表示。


圖1示出了本發(fā)明網(wǎng)絡(luò)中的站點與路由交叉開關(guān)網(wǎng)絡(luò)以及與專用塊之間的關(guān)系;圖2示出了在本發(fā)明網(wǎng)絡(luò)中通過站點得以確定路由的連接;圖3示出了站點的面向網(wǎng)絡(luò)視圖;圖4是站點的框圖;圖5是通過本發(fā)明網(wǎng)絡(luò)的、具有多個目的地的連接的簡化示意圖;圖6示出了用于一個輸入端口和一個輸出端口的輸入連接和輸出連接;
圖7是站點的輸入端口邏輯的框圖;圖8示出了用于一個輸入端口的數(shù)據(jù)歸零邏輯;圖9示出了用于一個輸入端口的奇偶性生成和檢查邏輯;圖10示出了用于站點的輸入端口的字節(jié)改編(shuffling)邏輯;圖11是用于一個輸入端口的延遲填充邏輯的有效行為的示意圖;圖12概述了用于一個輸入端口的延遲填充邏輯的優(yōu)選實施方式;圖13示出了用于一個輸入端口的串行化邏輯;圖14示出了站點的網(wǎng)絡(luò)開關(guān);圖15示出了用于網(wǎng)絡(luò)開關(guān)的輸出鏈路的路由復(fù)用器;圖16是站點的輸出端口邏輯的框圖;圖17示出了用于一個輸出端口的解串行化邏輯;圖18是用于一個輸出端口的延遲填充邏輯的有效行為的示意圖;圖19示出了用于站點的輸出端口的字節(jié)改編邏輯;圖20示出了用于一個輸出端口的奇偶性生成和檢查邏輯;以及圖21示出了常規(guī)現(xiàn)場可編程門陣列(FPGA)的一部分的示意圖。
具體實施例方式本描述適用于本發(fā)明在現(xiàn)場可編程門陣列(FPGA)中的實施方式。然而,本發(fā)明的 大部分方面還可以具體化在其他種類的集成電路中,諸如包括大量數(shù)字信號處理器的集成 電路。優(yōu)選實施方式將靜態(tài)RAM單元用于FPGA配置存儲器。然而,本發(fā)明的大部分方面 還可以具體化在具有其他種類配置存儲器(諸如熔絲、反熔絲或閃存)的FPGA中。本發(fā)明是用于數(shù)據(jù)的交叉連接網(wǎng)絡(luò)(DCC網(wǎng)絡(luò))。DCC網(wǎng)絡(luò)包括跨越整個現(xiàn)場可編 程門陣列(FPGA)的站點的網(wǎng)格。DCC網(wǎng)絡(luò)相比于傳統(tǒng)FPGA路由網(wǎng)絡(luò)具有若干關(guān)鍵優(yōu)勢。 特征的組合使得可以在現(xiàn)場可編程集成電路的環(huán)境中進(jìn)行很多應(yīng)用。本發(fā)明網(wǎng)絡(luò)的一個優(yōu)勢在于用戶數(shù)據(jù)是串行化的,并且繼而可以跨芯片而流水線 化。在優(yōu)選實施方式中,流水線頻率可以高達(dá)2GHz,這在ASIC中是難以達(dá)到的,而在FPGA 中是不可能達(dá)到的。高頻提供了性能優(yōu)勢。另一優(yōu)勢在于流水線寄存器構(gòu)建在站點中。它們不會消耗邏輯塊中的寄存器資 源,這相比于FPGA提供了面積優(yōu)勢。第三個優(yōu)勢在于本發(fā)明網(wǎng)絡(luò)的網(wǎng)絡(luò)開關(guān)中的路由復(fù)用器以比單比特粗糙的粒度 進(jìn)行配置。與FPGA路由網(wǎng)絡(luò)相比,這極大地減少了配置存儲器位和復(fù)用器端口的數(shù)量,從 而節(jié)約了大量裸片面積。這三個優(yōu)勢為高速專用塊彼此通信提供了足夠的片上帶寬,同時在提供等效帶寬 的情況下,使用的裸片面積比FPGA小得多。本發(fā)明網(wǎng)絡(luò)的組織本發(fā)明的網(wǎng)絡(luò)包括跨越整個現(xiàn)場可編程門陣列(FPGA)的站 點的網(wǎng)格。這些站點形成的二維網(wǎng)絡(luò)類似于與二維路由交叉開關(guān)網(wǎng)絡(luò)平行的平面。這兩個 平行平面與城市中的行車道類似,其中高速公路的網(wǎng)絡(luò)與地面街道的網(wǎng)絡(luò)并行。圖1示出了在本發(fā)明一個實施方式中站點與路由交叉開關(guān)網(wǎng)絡(luò)以及與專用塊之間的關(guān)系。路由交叉開關(guān)網(wǎng)絡(luò)中的重復(fù)單元是路由交叉開關(guān)的四乘四陣列(每一個都附著 有邏輯塊),加上四個路由交叉開關(guān)(諸如路由交叉開關(guān)130-133)的額外垂直集合。四個 額外路由交叉開關(guān)將路由交叉開關(guān)網(wǎng)絡(luò)的四乘四片段連接至下一組四乘四路由交叉開關(guān)。 本發(fā)明網(wǎng)絡(luò)中的重復(fù)單元是站點。每個站點與其上下左右的最近站點直接連接。例如,站 點152利用總線153連接至在上方相鄰的站點150。(注意,在站點之間存在水平連接,不 過圖1沒有示出這些水平連接)。典型地,每個站點連接至路由交叉開關(guān)網(wǎng)絡(luò)的一個重復(fù)單 元。站點連接至路由交叉開關(guān)端口處的四個額外路由交叉開關(guān),在其他情況下,這些額外路 由交叉開關(guān)會連接至邏輯塊。例如,站點150通過總線154連接至路由交叉開關(guān)133。典型 地,每個站點還連接到專用塊。例如,站點150通過總線連接至專用塊151。站點中的復(fù)用 器使得專用塊能夠訪問路由交叉開關(guān)網(wǎng)絡(luò)和本發(fā)明的網(wǎng)絡(luò)。計算機(jī)輔助設(shè)計(CAD)軟件通過對站點中的開關(guān)進(jìn)行配置,為通過本發(fā)明網(wǎng)絡(luò)的 路徑確定路由。這與通過FPGA路由網(wǎng)絡(luò)(諸如路由交叉開關(guān)網(wǎng)絡(luò))來路由信號的過程類 似。與FPGA網(wǎng)絡(luò)不同,本發(fā)明的網(wǎng)絡(luò)在每個站點處提供了流水線寄存器的一個級,其使得 數(shù)據(jù)可以以極高的速率流動。圖2示出了本發(fā)明網(wǎng)絡(luò)中通過一系列站點210-215得以確定路由的連接。用戶模 塊200利用邏輯塊來實現(xiàn)。用戶模塊200通過路由交叉開關(guān)到站點的總線201向本發(fā)明的 網(wǎng)絡(luò)中發(fā)送數(shù)據(jù)。在此示例中,用戶模塊以200MHz來發(fā)送80位寬的數(shù)據(jù)。站點210中的輸 入端口邏輯將數(shù)據(jù)串行化為1600MHz的10位寬。數(shù)據(jù)通過1600MHz的10位總線230-234 在站點間行進(jìn),每一個站點有一個流水線寄存器。在目的地站點215處,輸出端口邏輯將數(shù) 據(jù)解串行化為40位寬,并以400MHz在總線220上將其呈獻(xiàn)給專用塊221。本發(fā)明網(wǎng)絡(luò)中的站點的總覽圖3示出了本發(fā)明網(wǎng)絡(luò)中站點的面向網(wǎng)絡(luò)視圖。其 包含四個20位輸入端口 300、用于處理輸入數(shù)據(jù)的輸入端口邏輯301、用于在站點間傳遞數(shù) 據(jù)的網(wǎng)絡(luò)開關(guān)302、用于處理輸出數(shù)據(jù)的輸出端口邏輯303和四個20位輸出端口 304。站 點的外部連接包括去往相鄰站點的十六個5位輸出鏈路310-313、來自相鄰站點的十六個5 位輸入鏈路320-323、來自路由交叉開關(guān)和專用塊的多個輸入連接330以及去往路由交叉 開關(guān)和專用塊的多個輸出連接331,以及少量時鐘輸入332。某些時鐘操作于用戶邏輯的頻 率,而某些時鐘操作于本發(fā)明網(wǎng)絡(luò)的更快速內(nèi)部頻率。圖4是站點的框圖。站點包括輸入和輸出復(fù)用器400、五層輸入端口邏輯410-414、 網(wǎng)絡(luò)開關(guān)420和四層輸出端口邏輯431-434。輸入和輸出復(fù)用器400向?qū)S脡K401給予通過四個路由交叉開關(guān)402針對路由交 叉開關(guān)網(wǎng)絡(luò)的訪問權(quán)。輸入和輸出復(fù)用器400將專用塊401和路由交叉開關(guān)402 二者連接 至站點的輸入端口 415和輸出端口 435。每個站點具有四個20位輸入端口 415和四個20 位輸出端口 435。輸入端口邏輯410-414執(zhí)行一系列功能數(shù)據(jù)歸零、奇偶性生成和檢查、字節(jié)改 編、延遲填充和串行化。數(shù)據(jù)歸零邏輯410可以動態(tài)地或靜態(tài)地使20位用戶總線的5位部分歸零。此特 征有助于在本發(fā)明網(wǎng)絡(luò)中實現(xiàn)復(fù)用器,而且還使得可以使用輸入端口的5位、10位或15位 而不是全部20位。奇偶性邏輯411可以在19位或兩組9位上生成奇偶性,并且其可以檢查所有20位或兩組10位上的奇偶性。輸出端口具有類似的奇偶性邏輯431,于是,可以在輸入端口和 輸出端口二者處生成或檢查奇偶性。默認(rèn)地,每個20位輸入端口將被串行化到本發(fā)明網(wǎng)絡(luò)中的一個5位束(bundle) 上。這意味著在本發(fā)明網(wǎng)絡(luò)的內(nèi)部時鐘與用戶端口時鐘之間的默認(rèn)頻率比例為4 1。當(dāng) 用戶需要2 1的比例時,字節(jié)改編邏輯412可以使得20位數(shù)據(jù)從一個用戶端口轉(zhuǎn)向兩個 內(nèi)部束。延遲填充邏輯413可以向輸入端口添加長達(dá)14個用戶時鐘周期的延遲,并且輸出 端口具有類似的延遲填充邏輯433。CAD軟件使用此邏輯來填充通過本發(fā)明網(wǎng)絡(luò)的端到端 延遲,使其等于用戶規(guī)定的值,很大程度上獨立于數(shù)據(jù)必須通過的站點的數(shù)量。輸入端口邏輯中的最后一層是串行化器414,其將用戶時鐘速率的每個20位輸入 端口串行化到5位內(nèi)部束上。在優(yōu)選實施方式中,內(nèi)部束可以以高達(dá)2GHz來計時。在圖4中,網(wǎng)絡(luò)開關(guān)420是部分地組裝(populated)的交叉開關(guān)。其將5位束 421從四個輸入端口向十六個站點到站點輸出鏈路422路由,從十六個站點到站點輸入鏈 路423向十六個站點到站點輸出鏈路422路由,以及從十六個站點到站點輸入鏈路423向 饋送四個輸出端口的5位束424路由。(十六個站點到站點輸出鏈路422對應(yīng)于圖3中的 元件310-313,而十六個站點到站點輸入鏈路423對應(yīng)于圖3中的元件320-323。)開關(guān)中 每個路由復(fù)用器的根部存在多端口 OR(或)門。如果復(fù)用器被配置用于允許不止一個束進(jìn) 入OR門,則輸入端口處的數(shù)據(jù)歸零邏輯確定允許哪個輸入總線通過OR門。這使得本發(fā)明 網(wǎng)絡(luò)針對應(yīng)用執(zhí)行逐周期選擇,所述應(yīng)用諸如是高帶寬復(fù)用器、用戶交叉開關(guān)和為通過本 發(fā)明網(wǎng)絡(luò)的連接進(jìn)行的時間分片劃分。在圖4中,輸出端口邏輯431-434執(zhí)行與輸入端口的功能相反的一系列功能。解 串行化器434將5位內(nèi)部束以用戶時鐘速率分配到20位輸出端口上。延遲填充邏輯433 可以添加長達(dá)14個用戶時鐘周期的延遲。字節(jié)改編邏輯432可以使得數(shù)據(jù)從一個內(nèi)部束 轉(zhuǎn)向兩個用戶輸出端口,其通常與2 1時鐘比例一起使用。奇偶性邏輯431可以在19位 或兩組9位上生成奇偶性,并且其可以檢查20位或兩組10位的奇偶性。在輸出端口中不 存在數(shù)據(jù)歸零邏輯。創(chuàng)建通過本發(fā)明網(wǎng)絡(luò)的連接為了在兩個邏輯之間創(chuàng)建通過本發(fā)明網(wǎng)絡(luò)的連接, 用戶從集成電路制造商提供的庫中選擇邏輯模型。CAD軟件將這些模型變換成本發(fā)明網(wǎng)絡(luò) 中的物理站點,并為通過本發(fā)明網(wǎng)絡(luò)的路徑確定路由??梢蕴峁┻@樣的起始點模型和終止 點模型,其用戶總線寬度是5位的每個倍數(shù),從5到80。圖5是通過本發(fā)明網(wǎng)絡(luò)的、具有不止一個目的地的連接的簡化示意圖。在此示例 中,用戶模塊520利用邏輯塊來實現(xiàn)。用戶向兩個目的地,即,用于報頭解析的解析器環(huán)522 和用于分組緩沖的雙端口隨機(jī)存取存儲器(RAM) 524,發(fā)送模塊520的輸出。在此示例中的 用戶模塊520產(chǎn)生200MHz的80位數(shù)據(jù)521,而解析器環(huán)522和雙端口 RAM 524分別消耗 400MHz的40位數(shù)據(jù)505和507。數(shù)據(jù)作為1600MHz的兩個5位束行進(jìn)于本發(fā)明的網(wǎng)絡(luò)中。 內(nèi)部時鐘512與用戶時鐘的頻率比例在網(wǎng)絡(luò)的輸入處(信號514)是8 1,而在網(wǎng)絡(luò)的輸 出處(信號513)是4 1。用戶模塊520的輸出總線521連接至起始點模塊500,其選自用于數(shù)據(jù)的交叉連接 網(wǎng)絡(luò)(DCC網(wǎng)絡(luò))的邏輯模型的庫。起始點模塊是用于站點的輸入端口的邏輯模型。用戶輸入端口是80位寬,而時鐘分割比例是8 1,因此使用這樣的起始點模塊,其具有80位用 戶輸入端口,并以8 1的比例來將數(shù)據(jù)串行化。CAD軟件將通過路由交叉開關(guān)向站點的所 有四個輸入端口路由用戶的80位總線,并配置該站點以將用戶的數(shù)據(jù)轉(zhuǎn)到兩個5位內(nèi)部束 上。起始點模塊500的輸出501連接至延遲模塊502。延遲模塊是用于通過本發(fā)明網(wǎng) 絡(luò)的連接的端到端延遲的邏輯模型。此示例使用其輸入端口和輸出端口都是10位寬的延 遲模塊。用戶在延遲模塊502上設(shè)置參數(shù)以告知軟件所期待的端到端連接延遲。在為設(shè)計 進(jìn)行了布局以及確定路由之后,軟件可以在輸入端口和輸出端口處填充延遲,如果通過物 理站點序列的路由延遲短于用戶規(guī)定延遲的話。延遲模塊502的輸出503連接至終止點模塊504和506,其中每一個用于兩個目的 地之一。終止點模塊是用于站點的輸出端口的邏輯模型。此示例使用具有40位用戶輸出 端口且以4 1的比例將數(shù)據(jù)解串行化的終止點模塊,因為用戶輸出端口 505和507是40 位寬,并且時鐘分割比例是4 1。在每個目的地站點處,軟件將數(shù)據(jù)從兩個5位內(nèi)部束轉(zhuǎn) 到站點的四個輸出端口的兩個,并從輸出端口處直接去往專用塊(522或524)。包含本發(fā)明網(wǎng)絡(luò)的現(xiàn)場可編程門陣列(FPGA)具有時鐘分配網(wǎng)絡(luò),該時鐘分配網(wǎng) 絡(luò)具有內(nèi)置時鐘分割器。在所建議的實施方式中,分割器可以創(chuàng)建從1 1到16 1的任 何整數(shù)時鐘比例。對于通過本發(fā)明網(wǎng)絡(luò)的連接,內(nèi)部時鐘通常與時鐘樹的根部成1 1比 例。用戶時鐘從同一根部向下分割。時鐘分配網(wǎng)絡(luò)確保了從同一根部向下分割的任何時鐘 都能夠?qū)?zhǔn)且具有較小偏差。這保證了用戶時鐘域和內(nèi)部時鐘域之間的同步對接。在圖5 的示例中,時鐘樹的根部511操作于1600MHz。時鐘樹以1 1的比例向下分割根部511, 以產(chǎn)生1600MHz的內(nèi)部時鐘512。時鐘樹分別以4 1和8 1的比例向下分割根部511, 以分別產(chǎn)生400MHz和200MHz的用戶時鐘513和514。本發(fā)明網(wǎng)絡(luò)中的不同連接可以使用不同的時鐘樹。例如,設(shè)計可以為某些連接使 用1600MHz根時鐘,而為其他連接使用250MHz根時鐘。在布局和確定路由之后,用戶的數(shù)據(jù)將通過站點的序列,但是這些站點不出現(xiàn)在 用戶的網(wǎng)表中。通過本發(fā)明網(wǎng)絡(luò)的實際延遲利用用戶選擇的開始模塊、延遲模塊和終止模 塊(諸如圖5中的模塊500、502、504和506)來仿真。這與通過路由交叉開關(guān)網(wǎng)絡(luò)路由信 號類似;后端注釋代表所路由信號的延遲,但是路由開關(guān)并不出現(xiàn)在用戶的網(wǎng)表中。本發(fā)明網(wǎng)絡(luò)的用涂本發(fā)明網(wǎng)絡(luò)的硬件特征使得各種用途皆是可行的。本發(fā)明網(wǎng)絡(luò)的最簡單用途是具有相同總線寬度和時鐘頻率的兩個用戶邏輯之間 的點對點連接。例如,假設(shè)集成電路包括專用塊,其為lOGbps以太網(wǎng)連接執(zhí)行介質(zhì)訪問控 制(MAC)功能;以及專用塊的環(huán),其可以被編程以執(zhí)行以太網(wǎng)幀的簡單解析。進(jìn)一步假設(shè)來 自MAC塊的、用于接收的幀的輸出總線是40位寬(包括數(shù)據(jù)位和標(biāo)記位),并具有350MHz 的時鐘頻率。進(jìn)一步假設(shè)去往解析器環(huán)的輸入也是40位寬,并且也以350MHz計時。在此 示例中,用戶可以使用網(wǎng)絡(luò)中1400MHz的內(nèi)部時鐘頻率、通過本發(fā)明的網(wǎng)絡(luò)來從介質(zhì)訪問 控制(MAC)塊向解析器環(huán)發(fā)送數(shù)據(jù)。MAC數(shù)據(jù)通過MAC塊附近的兩個20位輸入端口進(jìn)入本 發(fā)明網(wǎng)絡(luò)。輸入數(shù)據(jù)以4 1的比例串行化到兩個5位內(nèi)部束上。10位寬的內(nèi)部數(shù)據(jù)以 1400MHz在通過本發(fā)明網(wǎng)絡(luò)中一系列站點的已配置路徑中行進(jìn)。在解析器環(huán)附近的站點的 兩個輸出端口處,數(shù)據(jù)以4 1的比例解串行化到兩個20位總線上,并以350MHz呈現(xiàn)給解
8析器環(huán)。本發(fā)明網(wǎng)絡(luò)的另一用途是具有相同數(shù)據(jù)速率但具有不同的總線寬度和時鐘頻率 的兩個用戶邏輯之間的點到點連接。此帶寬匹配通過分別在輸入端口和輸出端口中獨立配 置的串行化器比例和解串行化器比例而變得可行。例如,考慮圖5中的示意圖。用戶模塊 520以200MHz向起始點模塊500中發(fā)送80位數(shù)據(jù),起始點模塊500是四個20位輸入端口 的邏輯表示。輸入數(shù)據(jù)以8 1的比例串行化到兩個5位內(nèi)部束上。10位寬的內(nèi)部數(shù)據(jù)以 1600MHz在通過一系列站點的已配置路徑中行進(jìn)。在終止點模塊506 (其是兩個20位輸出 端口的邏輯表示)處,輸出數(shù)據(jù)以4 1的比例解串行化到兩個20位總線上,并以400MHz 呈獻(xiàn)給雙端口 RAM 524。貫穿路徑的數(shù)據(jù)速率是16000Mbps :80位乘以離開用戶模塊的 200MHz,10位乘以本發(fā)明網(wǎng)絡(luò)內(nèi)部的1600MHz,以及40位乘以進(jìn)入雙端口 RAM的400MHz。本發(fā)明的網(wǎng)絡(luò)可以從一個源向多個目的地扇出數(shù)據(jù)。圖4中所示網(wǎng)絡(luò)開關(guān)420使 這成為可能。數(shù)據(jù)束可以通過輸入鏈路423之一或輸入端口 421之一進(jìn)入開關(guān)。網(wǎng)絡(luò)開關(guān) 可以在輸出鏈路422和輸出端口 424中向不止一個輸出束發(fā)送該束。圖5示出了具有多個 目的地的連接。在此示例中,用戶從用戶模塊520向兩個目的地,即,解析器環(huán)522和雙端 口 RAM 524,發(fā)送數(shù)據(jù)。除了以高帶寬輸送數(shù)據(jù)以外,通過本發(fā)明網(wǎng)絡(luò)的連接還可以實現(xiàn)高帶寬用戶復(fù)用 器。此功能依賴于硬件的兩個特征。第一個特征在于站點的輸入端口中的數(shù)據(jù)歸零邏輯 410(參見圖4)。輸入端口可以被配置用于使得用戶輸入信號可以以逐周期為基礎(chǔ)將端口 的20位總線歸零。第二個特征在于網(wǎng)絡(luò)開關(guān)中的路由復(fù)用器可以對數(shù)據(jù)的兩個或更多5位 束一起進(jìn)行0R(或)運算。如圖15所示,路由復(fù)用器包括饋送至OR門中的多個AND(與) 門。配置存儲器位可以支持復(fù)用器中的兩個或更多AND門,這使得對兩個或更多輸入束一 起進(jìn)行“或運算”以映射到輸出束上。為了實現(xiàn)高帶寬用戶復(fù)用器,計算機(jī)輔助設(shè)計(CAD) 軟件向某些站點的網(wǎng)絡(luò)開關(guān)中的路由復(fù)用器路由與兩個或更多用戶復(fù)用器輸入總線相對 應(yīng)的束。在該網(wǎng)絡(luò)開關(guān)內(nèi),CAD軟件支持與所有這些束對應(yīng)的AND門,從而對這些束一起進(jìn) 行“或運算”。用戶將他們的復(fù)用器輸入總線連接到單獨的輸入端口,并向每個端口提供控 制信號以起到用于用戶復(fù)用器的選通信號的作用。用戶可以將扇出和高帶寬復(fù)用合并在通過本發(fā)明網(wǎng)絡(luò)的一個連接中。即,連接可 以具有多個用戶輸入總線,每個總線由單獨的控制信號逐周期地啟用。連接可以對用戶數(shù) 據(jù)一起進(jìn)行“或運算”,從而形成高帶寬用戶復(fù)用器。用戶復(fù)用器的輸出數(shù)據(jù)可以扇出至多 個用戶輸出目的地總線。多個這種連接可以用來實現(xiàn)非阻斷用戶交叉開關(guān),其中多個用戶 輸出總線可以獨立地從多個輸入總線的逐周期選擇接收數(shù)據(jù)。通過本發(fā)明網(wǎng)絡(luò)的連接可以將來自兩個或更多輸入端口的數(shù)據(jù)劃分時間分片到 一個內(nèi)部束上。此功能可以用于對兩個或更多用戶總線時分復(fù)用到一個束上,其中的每一 用戶都不需要束的完整帶寬。此功能也可以用于對起源于集成電路上相隔很遠(yuǎn)的位置處的 兩個或更多用戶總線進(jìn)行級聯(lián)。此功能依賴于網(wǎng)絡(luò)開關(guān)的數(shù)據(jù)歸零邏輯、串行化器和解串 行化器,以及進(jìn)行“或運算”的功能。例如,假設(shè)用戶想要將兩個10位用戶總線A和B劃分 時間分片到一個5位內(nèi)部束上。用戶將10位總線A和B連接到本發(fā)明網(wǎng)絡(luò)的單獨輸入端 口,以及將輸出端口連接到20位用戶總線C。用戶將總線A[9:0]連接到其輸入端口的位 [9:0],并且端口的位[19:10]由配置存儲器強(qiáng)置為0。(圖8示出了執(zhí)行此功能的數(shù)據(jù)歸零邏輯中的配置存儲器位。)用戶將總線B[9:0]連接到其輸入端口的位[19:10],并且端口的 位[9:0]由配置位強(qiáng)置為0。兩個輸入端口的串行化器被配置為以4 1的頻率比例進(jìn)行 串行化。對于每個用戶時鐘周期,總線A的串行化器輸出上的5位四位組的序列是A[4:0], 八[9:5],0,0,并且總線8的串行化器輸出上的四位組的序列是0,0,8[4:0],8[9:5]。CAD軟 件向本發(fā)明網(wǎng)絡(luò)的某個站點中的網(wǎng)絡(luò)開關(guān)路由兩個串行化器的輸出束,在該網(wǎng)絡(luò)開關(guān)處對 這些輸出束一起進(jìn)行“或運算”。一起進(jìn)行“或運算”的束上的四位組序列由此是A [4 0], A[9:5],B[4:0],B[9:5]。組合的束向輸出端口路由,并以4 1被解串行化。20位輸出總 線C顯示在每個周期上與A [9 0]級聯(lián)的B [9 0]。通過本發(fā)明網(wǎng)絡(luò)的輸出也可以以時間分片方式使用。在前文描述的示例中,可 以向網(wǎng)絡(luò)的兩個輸出端口路由組合的束。在一個輸出端口處,用戶可以忽略端口的位 [19:10],并從位[9:0]接收總線A。在另一輸出端口處,用戶可以忽略端口的位[9:0],并 從位[19:10]接收總線B。CAD軟件可以在通過本發(fā)明網(wǎng)絡(luò)的連接中實現(xiàn)固定的用戶指定端到端延遲,這很 大程度上獨立于數(shù)據(jù)通過的站點的數(shù)量。例如,當(dāng)用戶通過本發(fā)明的網(wǎng)絡(luò)發(fā)送數(shù)據(jù)總線并 同時通過路由交叉開關(guān)網(wǎng)絡(luò)發(fā)送控制信號時,在兩條路徑上具有相同延遲周期數(shù)是很重要 的。此功能在本發(fā)明網(wǎng)絡(luò)的輸入端口和輸出端口中使用延遲填充邏輯。在定義通過本發(fā)明 網(wǎng)絡(luò)的連接時,用戶在延遲模塊(諸如圖5中的延遲模塊502)上設(shè)置參數(shù),以告知CAD軟 件所期待的端到端延遲。在為設(shè)計進(jìn)行了布局以及確定路由之后,CAD軟件可以在輸入端 口和輸出端口處填充延遲,如果通過物理站點序列的路由延遲短于用戶規(guī)定延遲的話。本發(fā)明的網(wǎng)絡(luò)可以檢測用戶邏輯或通過本發(fā)明的網(wǎng)絡(luò)中的單比特錯誤,這要歸功 于輸入端口和輸出端口中存在的奇偶性生成和檢查邏輯。為了檢測用戶邏輯(諸如RAM專 用塊)中的奇偶性錯誤,用戶可以從本發(fā)明網(wǎng)絡(luò)的啟用了奇偶性生成的輸出端口向RAM提 供輸入數(shù)據(jù)。如果來自RAM的輸出數(shù)據(jù)進(jìn)入啟用了奇偶性檢查的輸入端口,則該輸入端口 檢測在將數(shù)據(jù)存儲在RAM中時出現(xiàn)的任何單比特錯誤。為了檢測在數(shù)據(jù)行進(jìn)于本發(fā)明網(wǎng)絡(luò) 中時發(fā)生的單比特錯誤,用戶可以啟用連接的輸入端口中的奇偶性生成和連接的輸出端口 中的奇偶性檢查。輸入連接和輸出連接的進(jìn)一步細(xì)節(jié)本發(fā)明網(wǎng)絡(luò)中的站點將路由交叉開關(guān)網(wǎng)絡(luò) 連接到本發(fā)明的網(wǎng)絡(luò),以及將這二者連接到專用塊。如圖1所示,諸如站點150之類的每 個站點附接于作為路由交叉開關(guān)網(wǎng)絡(luò)一部分的四個路由交叉開關(guān)(諸如路由交叉開關(guān) 130-133)。諸如專用塊151之類的專用塊得到通過站點的輸入連接和輸出連接對這些路由 交叉開關(guān)的訪問權(quán)。站點具有四個20位輸入端口和四個20位輸出端口。由一個輸入端口和一個輸出 端口組成的每個端口對具有其自己的輸入連接和輸出連接的集合。用于一個端口對的連接 完全獨立于其他對。圖6示出了用于一個端口對的輸入連接和輸出連接。存在三種連接 驅(qū)動輸入端口的輸入復(fù)用器,驅(qū)動路由交叉開關(guān)和專用塊的輸出復(fù)用器,以及路由交叉開 關(guān)與專用塊之間的直通連接。所有這些復(fù)用器都由配置存儲器控制。 輸入復(fù)用器610和615驅(qū)動站點的輸入端口的第一層,其是數(shù)據(jù)歸零邏輯600。20 位雙端口復(fù)用器610和1位雙端口復(fù)用器615分別從路由交叉開關(guān)602或?qū)S脡K603選擇 用戶數(shù)據(jù)輸入(UDI)總線620和有效輸入(VI)控制信號625。這兩個復(fù)用器都受到同一配置存儲器位630的控制,使得UDI和VI都來自于路由交叉開關(guān),或者都來自于專用塊。并非 所有的專用塊都具有用來表明20位數(shù)據(jù)字有效的專用輸出信號663。關(guān)于有效輸入(VI) 信號的信息,參見“輸入端口邏輯的進(jìn)一步細(xì)節(jié)”這一小節(jié)中的描述。20位雙端口輸出復(fù)用器612驅(qū)動路由交叉開關(guān)602,而20位雙端口輸出復(fù)用器 613驅(qū)動專用塊603。這些復(fù)用器分別由獨立的配置存儲器位632和633控制。站點的輸出 端口的最后一層是奇偶性生成和檢查邏輯601,其驅(qū)動用戶數(shù)據(jù)輸出(UD0)總線621。UD0 向兩個輸出復(fù)用器扇出。驅(qū)動路由交叉開關(guān)602的輸出復(fù)用器612在UD0621與來自專用 塊的、驅(qū)動輸入復(fù)用器610的相同20位總線643之間進(jìn)行選擇。類似地,驅(qū)動專用塊603 的輸出復(fù)用器613在用戶數(shù)據(jù)輸出(UD0)621與來自路由交叉開關(guān)的、驅(qū)動輸入復(fù)用器610 的相同20位總線642之間進(jìn)行選擇。除了復(fù)用器以外,還存在從路由交叉開關(guān)602到專用塊603的直通信號652和從 專用塊到路由交叉開關(guān)的直通信號653。直通信號都不連接至站點的輸入端口或輸出端口。 因此,盡管路由交叉開關(guān)的輸出(除了去往有效輸入(VI)輸入復(fù)用器615的信號662之外) 的所有位具有去往專用塊的某些路徑,但是僅20位具有去往輸入端口的路徑。類似地,專 用塊的輸出(除了去往VI輸入復(fù)用器615的有效輸出(V0)信號663之外)的所有位具有 去往路由交叉開關(guān)的某些路徑,但是僅20位具有去往輸入端口的路徑。注意,輸入復(fù)用器和輸出復(fù)用器以20位為一個單位進(jìn)行操作。例如,沒有辦法從 路由交叉開關(guān)選擇輸入端口的高10位,也沒有辦法從專用塊選擇低10位。站點連接至四個路由交叉開關(guān),并且因此具有如圖6中所示的輸入連接和輸出連 接的四個副本。諸如雙端口 RAM之類的典型專用塊連接至一個站點,而該站點繼而將其連 接到四個路由交叉開關(guān)。輸入端口邏輯的講一步細(xì)節(jié)每個站點的輸入端口邏輯利用圖4中的元件 410-414進(jìn)行描述。圖7提供了更多的細(xì)節(jié),其中圖7是輸入端口邏輯的框圖??偩€415和 720-723的每個組包括四個總線。每個總線是20位寬,并且由用戶時鐘計時??偩€724包 括四個總線;在此也稱為“束”的每個總線是5位寬,并且由本發(fā)明網(wǎng)絡(luò)的內(nèi)部時鐘計時。輸入復(fù)用器700驅(qū)動四個20位輸入總線415。總線415驅(qū)動數(shù)據(jù)歸零邏輯410, 其包括四個數(shù)據(jù)歸零單元710a-710d,每端口一個。數(shù)據(jù)歸零單元710a-710d驅(qū)動四個20 位總線720??偩€720驅(qū)動奇偶性生成和檢查邏輯411,其包括四個奇偶性生成和檢查單元 711a-711d,每端口一個。奇偶性單元711a-711d驅(qū)動四個20位總線721??偩€721驅(qū)動 字節(jié)改編邏輯412,字節(jié)改編邏輯412可以將數(shù)據(jù)從一個端口轉(zhuǎn)到另一端口。字節(jié)改編邏 輯412驅(qū)動四個20位總線722??偩€722驅(qū)動延遲填充邏輯413,其包括四個延遲填充單 元713a-713d,每端口一個。延遲填充單元713a-713d驅(qū)動四個20位總線723。總線723 驅(qū)動串行化器414,其包括四個串行化器714a-714d,每端口一個。串行化器714a_714d驅(qū) 動四個5位束724。束724驅(qū)動網(wǎng)絡(luò)開關(guān)420。圖8示出了用于一個輸入端口的數(shù)據(jù)歸零邏輯,諸如數(shù)據(jù)歸零單元710a。用于端 口的數(shù)據(jù)歸零邏輯具有三個功能寄存用戶的輸入數(shù)據(jù);靜態(tài)地設(shè)置端口的寬度;以及使 得用戶的邏輯可以以逐周期為基礎(chǔ)將整個端口歸零。用于端口的用戶輸入數(shù)據(jù)是20位總線802,其是由輸入復(fù)用器700驅(qū)動的四個總 線415之一??偩€802由寄存器803捕獲,這由用戶時鐘805計時。寄存器803的輸出被視為四個獨立的5位四位組。元件820是用于代表性四位組的邏輯。輸出四位組被級聯(lián)以 形成20位總線830,該20位總線830驅(qū)動端口的奇偶性生成和檢查邏輯。該端口還具有一位有效輸入(VI)信號800。信號800由寄存器801捕獲,這由用 戶時鐘805計時。輸入端口可以被配置為5位、10位、15位或20位寬。端口的四個四位組的每一個 具有配置存儲器位,如果未使用四位組,則該配置存儲器位將整個四位組強(qiáng)置為0。在代表 性四位組820中,AND門824包括五個雙輸入AND門,其中每個門的第一輸入由信號823驅(qū) 動,而第二輸入由四位組中的一個位驅(qū)動。如果四位組未使用,則配置位821被編程為0。 這將AND門822的輸出823強(qiáng)置為0,其繼而會將所有五個AND門824的輸出強(qiáng)置為0。如果用戶想要能夠在逐周期的基礎(chǔ)上將整個端口歸零,則配置存儲器位811被編 程以通過復(fù)用器810向信號812傳遞寄存器801的輸出。如果有效輸入(VI)信號800是 0,則信號812在隨后的周期期間是0。這會將AND門822的輸出823強(qiáng)置為0,以及將另外 三個類似的AND門的輸出強(qiáng)置為0。這繼而將AND門824的輸出和另外三個類似AND門集 合強(qiáng)置為0,而不論配置位821的值和另外三個類似配置位的值是什么。另一方面,如果VI 信號800是1,則信號812在隨后的周期期間是1,并且除非四位組的各個配置位(諸如配 置位821)是0,否則通過數(shù)據(jù)歸零邏輯的5位四位組將保持不變。如果用戶想要使有效輸入(VI)信號800被忽略,并且想要在每個周期啟用端口, 則配置存儲器位811可以被編程以通過復(fù)用器810向信號812傳遞常量1。圖9是用于一個輸入端口的奇偶性生成和檢查邏輯(諸如奇偶性單元711a)的示 意圖。其可以被配置用于旁路(將所有20位保持不變)、奇偶性生成或奇偶性檢查。該奇 偶性邏輯可以被配置用于在作為一個組的所有20位上操作,或者在兩個作為獨立組的10 位字節(jié)上操作。去往奇偶性單元的20位輸入是由四個數(shù)據(jù)歸零單元710a-710d中的一個驅(qū)動的 四個總線720之一(參見圖7)。低階輸入字節(jié)包括位0 900和位9:1 901,而高階輸入字 節(jié)包括位10 910和位19:11 911。兩種字節(jié)(位9:1 901和位19:11 911)的高9位經(jīng)常 在通過奇偶性邏輯后保持不變。奇偶性單元的20位輸出(位0 950,位9:1 901,位10 960 和位19:11 911)驅(qū)動站點的字節(jié)改編邏輯。為了生成奇偶性,該邏輯計算奇偶性組的高19位或9位的異或(X0R),并向該組的 低階位(20位模式中的位0 950或10位模式中的位10 960和位0 950)注入所計算的奇 偶性。為了檢查奇偶性,該邏輯計算該奇偶性組的所有20位或10位的X0R,并向該組的低 階位注入錯誤結(jié)果;當(dāng)且僅當(dāng)出現(xiàn)奇偶性錯誤的時候,該結(jié)果是1。圖9中的復(fù)用器由配置存儲器進(jìn)行控制。復(fù)用器確定該奇偶性邏輯操作于旁路、 生成還是檢查模式。復(fù)用器還確定該奇偶性邏輯操作于20位模式還是10位模式。字節(jié)改編邏輯是輸入邏輯中四個端口可以彼此交換數(shù)據(jù)的唯一層。其主要功能在 于支持本發(fā)明網(wǎng)絡(luò)的內(nèi)部時鐘和用戶時鐘之間2 1的頻率比例。對于所有其他頻率比例, 計算機(jī)輔助設(shè)計(CAD)軟件配置此邏輯以便直接通過同一端口來傳遞每個端口的20位。圖10示出了用于所有四個輸入端口的字節(jié)改編邏輯;該圖中的復(fù)用器由配置存 儲器進(jìn)行控制。字節(jié)改編單元針對每個端口 0-3分別具有一個20位輸入總線1000-1003。 這些輸入總線是圖7中的四個總線721,其由四個奇偶性單元711a-711d驅(qū)動。字節(jié)改編單元針對每個端口 0-3分別具有一個20位輸出總線1060-1063。這些輸出總線驅(qū)動四個延遲 填充單元713a-713d(參見圖7)。字節(jié)改編邏輯將每個端口視為兩個10位字節(jié)。例如,端口 1的輸入總線1001包 括低階字節(jié)10511和高階字節(jié)1051h??膳渲玫膹?fù)用器或者將端口 i的低階字節(jié)保持在端 口 i上,或者將其轉(zhuǎn)到端口 i_l的高階字節(jié)位置上(模4)。例如,復(fù)用器或者向端口 1的輸 出總線1061引導(dǎo)端口 1的低階輸入字節(jié)10511,或者將其轉(zhuǎn)到端口 0的輸出總線1060的高 階字節(jié)。類似地,復(fù)用器或者將端口 i的高階字節(jié)保持在端口 i上,或者將其轉(zhuǎn)到端口 i+1 的低階字節(jié)位置上(模4)。例如,復(fù)用器或者向端口 1的輸出總線1061引導(dǎo)高階輸入字節(jié) 1051h,或者將其轉(zhuǎn)到端口 2的輸出總線1062的低階字節(jié)。2 1頻率比例與字節(jié)改編一起工作,如下示出。以用戶時鐘頻率計時的每個20 位輸入端口與以本發(fā)明網(wǎng)絡(luò)內(nèi)部時鐘的更快頻率計時的5位內(nèi)部束相關(guān)聯(lián)。當(dāng)內(nèi)部時鐘與 用戶時鐘的比例為2 1時,僅可以將20位端口的10位串行到5位束上。如果正在使用 端口的所有20位,則字節(jié)改編復(fù)用器將10位保持在給定端口中,而將另外10位轉(zhuǎn)到相鄰 端口。由此,最初進(jìn)入該端口的20位將會串行化到兩個5位內(nèi)部束上。每個輸入端口具有延遲填充邏輯,諸如圖7中的延遲填充單元713a。CAD軟件可 以使用此邏輯來填充通過本發(fā)明網(wǎng)絡(luò)的端到端延遲,以便等于用戶規(guī)定的值。圖11是用于一個輸入端口的延遲填充邏輯(諸如延遲填充單元713a)的有效行 為的示意圖。其起到由用戶時鐘805計時的移位寄存器的作用。有效移位寄存器深度由控 制復(fù)用器1101的配置存儲器位確定。去往延遲填充單元的20位輸入1102是字節(jié)改編邏 輯驅(qū)動的四個總線722之一(參見圖7)。20位輸出1103驅(qū)動端口的串行化器。該邏輯可以配置用于類似于具有0-7級的20位寬移位寄存器而操作,或者類似于 具有0-14級的10位寬移位寄存器而操作。當(dāng)該邏輯被配置為0級移位寄存器時,其從輸 入總線1102向輸出總線1103傳遞數(shù)據(jù),沒有任何寄存器延遲。僅當(dāng)端口的10位或5位有 意義時,更深且更窄的14乘10配置是有用的,當(dāng)本發(fā)明網(wǎng)絡(luò)的內(nèi)部時鐘與用戶時鐘之間的 頻率比例是2 1或1 1時,便是這種情況。圖12概述了延遲填充邏輯的優(yōu)選實施方式。來自字節(jié)改編邏輯的20位輸入數(shù)據(jù) 1102在用戶時鐘805的每個周期由20位RAM 1204寫入到7個字中,而用于串行化器的20 位輸出數(shù)據(jù)1103在每個周期從RAM 1204讀取。隨機(jī)存取存儲器(RAM) 1204具有單獨的寫位線和讀位線。在前半個周期期間,以 寫入數(shù)據(jù)驅(qū)動寫位線,讀位線預(yù)先充電,并且輸出鎖存器保持關(guān)閉,使得其可以保留前一次 讀取的結(jié)果。在后半個周期期間,RAM位單元可以下拉讀位線,并且輸出鎖存器保持開啟, 使得其可以從感應(yīng)放大器捕獲值。讀指針1205和寫指針1206提供RAM尋址。這些指針由具有形成有向圖的狀態(tài)集 合的相同狀態(tài)機(jī)實現(xiàn)。狀態(tài)機(jī)可以配置有不同的初始狀態(tài),并且其可以在用戶時鐘805的 每個周期前進(jìn)至下一狀態(tài)。隨著指針1205和1206繞著RAM 1204彼此“追趕”,效果是RAM 1204將其輸入數(shù)據(jù)延遲固定數(shù)量的周期。在優(yōu)選實施方式中,該狀態(tài)機(jī)是具有7個狀態(tài)的 最大長度序列的3位線性反饋移位寄存器(LFSR)。其他可能的實施方式包括較慢的二進(jìn)制 計數(shù)器,以及使用更多面積的獨熱碼(one-hot)狀態(tài)機(jī)。為了模擬零級移位寄存器,RAM 1204具有若干特征以從其輸入總線1102向其輸
13出總線1103傳遞數(shù)據(jù)。讀指針1205和寫指針1206中的線性反饋移位寄存器(LFSR)可以 初始化到不屬于7狀態(tài)有向圖的一個狀態(tài),并且LFSR在每個時鐘周期都保持在該狀態(tài);在 此狀態(tài)中,不支持字線。預(yù)充電電路具有附加的電路,該附加的電路可以不斷地將寫位線與 讀位線短路,并且從不對讀位線預(yù)先充電。用于輸出鎖存器的時鐘可以被配置用于穩(wěn)定地 將鎖存器保持開啟。RAM 1204還可以操作為14字乘10位。其針對每個字的高字節(jié)和低字節(jié)具有單獨 的寫字線,并且在輸出鎖存器的低字節(jié)之前存在10位寬的二到一復(fù)用器。除了線性反饋移 位寄存器的3位狀態(tài)之外,讀指針1205和寫指針1206 二者都包括附加的狀態(tài)位,用于選擇 RAM1204的高字節(jié)或低字節(jié)。讀指針1205和寫指針1206在用戶時鐘(UCLK)805的某個上升沿處被初始化。同 步(sync)脈沖引起此初始化。集成電路的時鐘系統(tǒng)貫穿每個時鐘樹、與時鐘并排地分發(fā) sync。sync的時段是本發(fā)明網(wǎng)絡(luò)內(nèi)部時鐘的7個周期的倍數(shù),因為讀指針和寫指針每7個 (或14個)UCLK周期會循環(huán)回其初始值,以及因為時鐘樹重復(fù)發(fā)布sync脈沖。關(guān)于sync 脈沖的更多信息,參見“為本發(fā)明網(wǎng)絡(luò)提供時鐘和同步脈沖”的小節(jié)。四個輸入端口的每一個具有串行化器,諸如圖7中的串行化器714a,其在延遲填 充邏輯之后。該串行化器將20位輸入端口拆分為四個5位四位組,并將其串行化到5位內(nèi) 部束上。該串行化器是使用用于數(shù)據(jù)的本發(fā)明交叉連接網(wǎng)絡(luò)中的內(nèi)部時鐘(DCLK)的唯一 輸入端口層。圖13示出了用于一個輸入端口的串行化器邏輯。去往串行化器的20位輸入1103 是由延遲填充單元713a-d之一驅(qū)動的四個總線723之一(參見圖7)。該串行化器的5位 輸出1303去往站點的網(wǎng)絡(luò)開關(guān)。每個四位組具有由DCLK 512計時的寄存器和二到一復(fù)用器。將這些復(fù)用器和寄 存器連接以形成4級5位寬移位寄存器,該移位寄存器也可以并行加載20位。當(dāng)控制邏輯 1300告知復(fù)用器移位時,用于網(wǎng)絡(luò)開關(guān)的5位數(shù)據(jù)1303從移位寄存器的低階四位組1302 出現(xiàn)。配置存儲器位(諸如配置位1304)指定未使用的四位組,該配置存儲器位強(qiáng)置該四 位組在每個周期移位;對于劃分時間分片、允許不使用低階四位組以及其他功能而言,此行 為是很重要的。用于數(shù)據(jù)的本發(fā)明交叉連接網(wǎng)絡(luò)(DCC網(wǎng)絡(luò))可以將來自不止一個輸入端口的數(shù) 據(jù)串行化到單個5位束。例如,邏輯模型的庫具有將30位(6個四位組)串行化到一個5 位束的起始點模型。本發(fā)明網(wǎng)絡(luò)的硬件具有一起工作以實現(xiàn)此功能的三個特征。第一個特征在于站點的網(wǎng)絡(luò)開關(guān)在每個路由復(fù)用器的根部處具有多端口 OR門。 當(dāng)復(fù)用器被配置用于允許不止一個束進(jìn)入OR門時,來自所有對應(yīng)輸入端口的四位組可以 流式傳輸?shù)綇?fù)用器的輸出。第二個特征在于,在輸入端口串行化器中,移位操作將0放入高階四位組寄存器 1301中,并從該寄存器1301進(jìn)入其余四位組寄存器。除了在緊接著并行加載的四個內(nèi)部時 鐘(DCLK)周期期間之外,串行化器每個周期輸出0。在路由復(fù)用器中的OR門處,來自給定 端口的0值允許來自其他一個或多個端口的數(shù)據(jù)通過OR門而不受破壞。第三個特征在于串行化器控制邏輯1300具有可配置的分割器偏移量。在最常 見的情況下,分割器偏移量為0,這會引起串行化器在用戶時鐘的每個上升沿之后的一個DCLK周期中執(zhí)行并行加載。大于0的分割器偏移量會將該并行加載延遲相同數(shù)目的周期。 例如,在將30位(六個四位組)串行化到一個5位束上的起始點模型中,低階端口(用戶 數(shù)據(jù)輸入(UDI)位19:0)的分割器偏移量為0,而高階端口(UDI[29:20])的分割器偏移量 為4。因此,高階端口總在低階端口執(zhí)行并行加載操作之后的四個DCLK周期處執(zhí)行并行加 載操作。在低階串行化器向網(wǎng)絡(luò)開關(guān)輸出其數(shù)據(jù)的四個DCLK周期期間,高階串行化器輸出 0o串行化器控制邏輯1300在用戶時鐘(UCLK)的某個上升沿處初始化。同步(sync) 脈沖引起此初始化。關(guān)于sync脈沖的更多信息,參見“為本發(fā)明網(wǎng)絡(luò)提供時鐘和同步脈沖” 的小節(jié)。網(wǎng)絡(luò)開關(guān)的講一步細(xì)節(jié)圖14示出了站點中的網(wǎng)絡(luò)開關(guān)。該網(wǎng)絡(luò)開關(guān)向十六個輸 出鏈路422和四個輸出端口 424路由來自十六個輸入鏈路423和四個輸入端口 421的5位 數(shù)據(jù)束。如圖3所示,該網(wǎng)絡(luò)開關(guān)在四個方向上具有來自每個相鄰站點的四個輸入鏈路(分 別來自北方、東方、南方和西方的四個輸入鏈路320-323的集合)。網(wǎng)絡(luò)開關(guān)在相同的四個 方向上具有去往每個相鄰站點的四個輸出鏈路(分別去往北方、東方、南方和西方的四個 輸出鏈路310-313的集合)。該網(wǎng)絡(luò)開關(guān)具有分別來自每個端口 0-3的一個輸入束。這些 輸入端口束421是圖7中的四個總線724,其由四個串行化器414驅(qū)動。該網(wǎng)絡(luò)開關(guān)具有分 別去往每個端口 0-3的一個輸出束。這些輸出端口束424驅(qū)動圖16中的四個解串行化器 單元434。網(wǎng)絡(luò)開關(guān)具有二十個5位寬路由復(fù)用器,每一個由二十個輸入束的一個子集驅(qū) 動。這樣,其實現(xiàn)了部分組裝的交叉開關(guān)。圖14中的水平線(諸如水平線1410)代表輸入 束。垂直線(諸如垂直線1411)代表路由復(fù)用器。X符號(諸如X符號1412)代表從輸入 束到路由復(fù)用器的組裝交叉點。網(wǎng)絡(luò)開關(guān)在來自另一站點的每個輸入鏈路上具有流水線寄存器。這些寄存器(諸 如寄存器1413)由本發(fā)明網(wǎng)絡(luò)的內(nèi)部時鐘計時,并且其可以向通過本發(fā)明網(wǎng)絡(luò)的連接所通 過的每個站點添加一個周期的延遲。流水線寄存器使得網(wǎng)絡(luò)中的鏈路以非常高的頻率(在 優(yōu)選實施方式中,高達(dá)2GHz)傳送數(shù)據(jù)成為可能。該網(wǎng)絡(luò)開關(guān)針對輸入端口、輸出端口或去 往其他站點的輸出鏈路不具有流水線寄存器。注意,輸入端口已經(jīng)在串行化器處被進(jìn)行了 寄存,而輸出端口和輸出鏈路將分別在解串行化器或下一站點處被進(jìn)行寄存。在一個備選實施方式中,每個輸入鏈路上的流水線寄存器可以替換為由每個輸出 鏈路上的相反相位計時的鎖存器和每個輸入鏈路上的鎖存器。如果通過網(wǎng)絡(luò)的已確定路由 的連接的內(nèi)部時鐘頻率相對較低,則可以通過使得沿著路徑的某些鎖存器變得透明來減少 連接中流水線級的數(shù)量。每個路由復(fù)用器與二十個輸入束的一個子集硬連線。與二十輸入復(fù)用器相比,較 窄的復(fù)用器使用較少的裸片面積并引起較少的電路延遲。用于十六個輸出鏈路422中的每 一個輸出鏈路的復(fù)用器具有六個輸入,其中的四個來自輸入鏈路,其中的兩個來自輸入端 口。用于四個輸入端口 424中的每一個端口的復(fù)用器具有十個輸入,其中的八個來自輸入 鏈路,其中的兩個來自輸入端口。網(wǎng)絡(luò)開關(guān)不是全交叉開關(guān),而是路由復(fù)用器的組裝輸入被選擇為使得計算機(jī)輔助 設(shè)計(CAD)軟件更容易得到通過本發(fā)明網(wǎng)絡(luò)擁塞區(qū)域的曼哈頓距離路線。在優(yōu)選實施方式中,可以認(rèn)為本發(fā)明的網(wǎng)絡(luò)具有四個路由平面,編號從0到3。每個輸入束或輸出束屬于這 些平面之一。站點的四個輸入端口 0-3分別屬于平面0-3。類似地,站點的四個輸出端口 0-3分別屬于平面0-3。在每個平面中,站點具有四個輸出鏈路,每一個都通往四個方向之 一(分別是北、東、南和西)。類似地,在每個平面中,站點具有四個輸入鏈路,每一個來自于 四個方向之一。對于屬于給定平面的輸出鏈路,該鏈路的路由復(fù)用器具有的來自該同一平 面的輸入比來自其他平面的輸入要多。用于輸出鏈路的路由復(fù)用器具有來自站點的十六個輸入鏈路中的四個輸入鏈路 的輸入。這些輸入中的三個來自同一路由平面中的輸入鏈路并且來自與該給定輸出鏈路的 目的地不同的站點。第四個輸入來自不同平面中的輸入鏈路并且來自位于來自給定輸出鏈 路的給定站點相反側(cè)的站點,由此為直接通過站點而不用轉(zhuǎn)彎的路線提供了額外的路由靈 活性。例如,用于平面2中南輸出鏈路的路由復(fù)用器具有來自平面2中西、北和東輸入鏈路 的輸入。其具有來自平面3中北輸入鏈路的第四輸入,這為直接從北向南通過站點的路線 提供了額外的路由靈活性。用于輸出鏈路的路由復(fù)用器具有來自站點的四個輸入端口中兩個輸入端口的輸 入。這些輸入中的一個來自同一路由平面中的輸入端口。另一輸入來自編號比其大2(模 4)的平面中的輸入端口。例如,用于平面2中南輸出鏈路的路由復(fù)用器具有來自平面2和 0的輸入端口的輸入。這一特征使得CAD軟件能夠?qū)⑦B接加載至網(wǎng)絡(luò)中與該輸入端口所屬 的平面不同的平面中。用于輸出端口的路由復(fù)用器具有來自站點的十六個輸入鏈路中八個輸入鏈路的 輸入。這些輸入中的四個來自于偶數(shù)路由平面中的輸入鏈路,具體而言,每一個來自位于四 個方向中一個方向的站點。其他四個輸入來自于奇數(shù)平面中的輸入鏈路,具體而言,每一個 來自位于四個方向中一個方向的站點。例如,用于平面1中輸出端口的路由復(fù)用器具有來 自平面2中的北、東、南和西輸入鏈路的輸入,以及來自平面3中北、東、南和西輸入鏈路的 輸入。用于輸出端口的路由復(fù)用器具有來自站點的四個輸入端口中兩個輸入端口的輸 入。這些輸入中的一個來自同一路由平面中的輸入端口。另一輸入來自編號比其大2(模 4)的平面中的輸入端口。例如,用于平面1中輸出端口的路由復(fù)用器具有來自平面1和3 中的輸入端口的輸入。輸入端口到輸出端口的路徑在站點內(nèi)提供了環(huán)回能力。在路由復(fù)用器上可用的輸入使得CAD軟件能夠?qū)⑦B接從一個平面中的輸入端口 向任一平面中的輸出端口路由通過本發(fā)明網(wǎng)絡(luò),以及在單個平面中為所有站點到站點鏈路 確定路由。從給定平面中的輸入端口開始的連接可以加載至該網(wǎng)絡(luò)中兩個平面中的一個, 因為每個輸出鏈路的路由復(fù)用器具有來自于兩個平面中輸入端口的輸入。該連接可以在網(wǎng) 絡(luò)中的同一平面上繼續(xù),因為每個輸出鏈路的路由復(fù)用器具有來自允許同一平面內(nèi)的路線 向左轉(zhuǎn)、繼續(xù)直走或向右轉(zhuǎn)的三個輸入鏈路的輸入。該連接可以在兩個平面之一中的輸出 端口處離開網(wǎng)絡(luò),因為每個輸出端口的路由復(fù)用器具有來自兩個平面中輸入鏈路的輸入。 用于網(wǎng)絡(luò)內(nèi)站點到站點鏈路平面的兩個選擇與用于輸出端口平面的兩個選擇的乘積意味 著連接可以從給定平面中的輸入端口路由至四個平面之任意一個中的輸出端口。由于不 要求這種連接從網(wǎng)絡(luò)中的一個平面跳到另一平面,所以CAD軟件查找最佳路由的能力并不 受到如下事實的嚴(yán)重限制,即,每個輸出鏈路的路由復(fù)用器僅具有來自不同平面中輸入鏈
16路的一個輸入。圖15是優(yōu)選實施方式中的用于去往相鄰站點的輸出鏈路的六輸入路由復(fù)用器的 示意圖。其具有來自其他站點的已寄存輸入鏈路的四個5位輸入1500和來自站點的輸入 端口的兩個5位輸入1501。其使用常規(guī)AND-0R(與或)復(fù)用器設(shè)計,其中用于每個5位輸 入束的使能信號來自諸如配置位1502之類的配置存儲器位。當(dāng)配置位之一被設(shè)置為1而 其他的被設(shè)置為0時,復(fù)用器簡單地向輸出鏈路1505路由對應(yīng)的輸入束。顯然,AND-0R復(fù) 用器的備選實施方式是可行的。例如,為了減小電路延遲,諸如AND門1503之類的雙輸入 AND門可以由雙輸入NAND (與非)門替換,而六輸入OR門1504可以由六輸入NAND門替換。 為了進(jìn)一步減小電路延遲,每兩個雙輸入NAND門和六輸入NAND門的兩個輸入可以由2_2 AND-0R-INVERT(與或非)門替換;繼而六輸入NAND門可以由3輸入NAND門替換。注意,網(wǎng)絡(luò)開關(guān)中的路由復(fù)用器以比單比特粗糙的粒度進(jìn)行配置。例如,在優(yōu)選實 施方式中,內(nèi)部時鐘和用戶時鐘之間最常使用的頻率比例是4 1。在這種情況下,單個配 置存儲器位操縱20位用戶總線。與現(xiàn)場可編程門陣列(FPGA)路由網(wǎng)絡(luò)相比,網(wǎng)絡(luò)開關(guān)的 粗糙粒度極大地減少了配置存儲器位和復(fù)用器端口的數(shù)量,從而節(jié)約了大量的裸片面積。當(dāng)兩個或更多配置存儲器位被設(shè)置為1時,圖15中的路由復(fù)用器對相應(yīng)的輸入束 一起進(jìn)行“或運算”。利用用以在每個周期期間將除了一個輸入束以外的所有輸入束歸零的 適當(dāng)上游邏輯,復(fù)用器執(zhí)行逐周期選擇。在此配置中,該復(fù)用器可以實現(xiàn)高帶寬復(fù)用器(在 “本發(fā)明網(wǎng)絡(luò)的用途”中進(jìn)行描述)、對通過本發(fā)明網(wǎng)絡(luò)的連接劃分時間分片(也在“本發(fā)明 網(wǎng)絡(luò)的用途”中進(jìn)行描述),或者將來自不止一個輸入端口的數(shù)據(jù)串行化到單個5位束(在 “輸入端口邏輯的進(jìn)一步細(xì)節(jié)”中進(jìn)行描述)。使用比每個5位輸入束一個配置存儲器位更少的配置存儲器位的復(fù)用器的其他 實施方式也是可行的。在一個這種實施方式中,配置位的數(shù)量等于輸入束的數(shù)量的以2為 底的對數(shù),并向上取整。在此實施方式中,配置位允許不多于一個束通過復(fù)用器。這種實施 方式不能對兩個或更多數(shù)據(jù)束一起進(jìn)行“或運算”,因此,不能在網(wǎng)絡(luò)開關(guān)中執(zhí)行逐周期選 擇。優(yōu)選實施方式中用于輸出端口的十輸入路由復(fù)用器類似于用于輸出鏈路的復(fù)用 器,但是其具有來自八個輸入鏈路的輸入,而不是僅僅四個。通過對兩個或更多輸入束一起 進(jìn)行“或運算”,其也具有執(zhí)行逐周期選擇的相同能力。輸出端口邏輯的講一步細(xì)節(jié)每個站點的輸出端口邏輯由圖4中的元件431-434 描述。圖16提供了更多細(xì)節(jié),其中圖16是輸出端口邏輯的框圖??偩€435和1641-1643 的每個組包括四個總線??偩€中的每一個是20位寬,并由用戶時鐘計時??偩€1644包括 四個總線??偩€中的每一個在此也稱為束,其寬度為5位,并且由本發(fā)明網(wǎng)絡(luò)的內(nèi)部時鐘計 時。網(wǎng)絡(luò)開關(guān)420驅(qū)動四個5位束1644。束1644驅(qū)動解串行化器434,其包括四個 解串行化器1634a-d,每端口一個。解串行化器1634a-d驅(qū)動四個20位總線1643??偩€ 1643驅(qū)動延遲填充邏輯433,其包括四個延遲填充單元1633a-d,每端口一個。延遲填充單 元1633a-d驅(qū)動四個20位總線1642??偩€1642驅(qū)動字節(jié)改編邏輯432,其可以將數(shù)據(jù)從 一個端口轉(zhuǎn)到另一端口。字節(jié)改編邏輯432驅(qū)動四個20位總線1641??偩€1641驅(qū)動奇偶性生成和檢查邏輯431,其包括四個奇偶性生成和檢查單元1631a-d,每端口一個。奇偶性生成和檢查單元1631a-d驅(qū)動四個20位總線435??偩€435 驅(qū)動輸出復(fù)用器1600。四個輸出端口中的每一個都具有解串行化器,諸如圖16中的解串行化器1634a, 其從網(wǎng)絡(luò)開關(guān)接收數(shù)據(jù)的5位束。該解串行化器首先通過用于數(shù)據(jù)的本發(fā)明交叉連接網(wǎng)絡(luò) 的內(nèi)部時鐘(DCLK)計時的5位寬移位寄存器對5位數(shù)據(jù)進(jìn)行移位。繼而,其執(zhí)行至20位 輸出寄存器中的并行加載。該解串行化器是使用DCLK的唯一輸出端口層。圖17示出了用于一個輸出端口的解串行化邏輯。去往解串行化器的5位輸入1700 是站點的網(wǎng)絡(luò)開關(guān)420驅(qū)動的四個總線1644之一(參見圖16)。解串行化器的20位輸出 1705驅(qū)動端口的延遲填充單元。在DCLK 512的每個上升沿處,3級5位寬移位寄存器1702 將數(shù)據(jù)從高階5位四位組向低階四位組1704(位4:0)移位。因此,從網(wǎng)絡(luò)開關(guān)到達(dá)的第一 個四位組將從并行輸出內(nèi)的最低階四位組位置處離開解串行化器。用戶端口寬度可以借助 于配置存儲器位(未示出)而設(shè)置為5、10、15或20位,其中該配置存儲器位控制復(fù)用器將 移位寄存器1702的長度設(shè)置為0、1、2或3個寄存器級。解串行化器控制邏輯具有可配置的分割器偏移量。為0的偏移量引起20位輸出寄 存器在用戶時鐘(UCLK)的每個上升沿之前的一個內(nèi)部時鐘(DCLK)周期中執(zhí)行并行加載, 而大于0的偏移量使得此并行加載提前多個DCLK周期出現(xiàn)。通過網(wǎng)絡(luò)開關(guān)序列的路由延 遲可以占據(jù)任意數(shù)量的DCLK周期,從而分割器偏移量使得該解串行化的字可以在對UCLK 分割器比例取模的任一 DCLK周期處被捕獲。用于數(shù)據(jù)的本發(fā)明交叉連接網(wǎng)絡(luò)(DCC網(wǎng)絡(luò))可以將來自單個5位束的數(shù)據(jù)解串 行化到多于一個輸出端口上。例如,邏輯模型庫具有將一個5位束解串行化為30位(6個 四位組)的終止點模型。本發(fā)明網(wǎng)絡(luò)的硬件具有一起工作以實現(xiàn)此功能的兩個特征。第一個特征在于束可以在網(wǎng)絡(luò)內(nèi)路由以向兩個或更多輸出端口扇出。所有端口在 同一內(nèi)部時鐘(DCLK)周期處將同一四位組接收至其移位寄存器。第二個特征在于每個輸出端口可以利用不同的分割器偏移量進(jìn)行配置,從而在任 何給定周期處,至多一個端口將執(zhí)行至其輸出寄存器中的并行加載。例如,在將一個5位束 解串行化到30位上的終止點模型中,低階端口(用戶數(shù)據(jù)輸出(UD0)位19:0)的分割器偏 移量為2,而高階端口(UD0[29:20])的分割器偏移量為0。因此,低階輸出寄存器總是在高 階輸出寄存器執(zhí)行其兩個四位組的并行加載之前的兩個DCLK周期處執(zhí)行其四個四位組的 并行加載。解串行化控制邏輯1701在用戶時鐘的某個上升沿處初始化。同步(sync)脈沖引 起此初始化。關(guān)于sync脈沖的更多信息,參見“為本發(fā)明網(wǎng)絡(luò)提供時鐘和同步脈沖”的小節(jié)。每個輸出端口具有延遲填充邏輯,諸如圖16中的延遲填充單元1633a。計算機(jī)輔 助設(shè)計(CAD)軟件可以使用此邏輯來填充通過本發(fā)明網(wǎng)絡(luò)的端到端延遲以等于用戶規(guī)定 的值。圖18是用于一個輸出端口的延遲填充邏輯(諸如延遲填充單元1633a)的有效行 為的示意圖。其起到了由用戶時鐘1800計時的移位寄存器的作用。有效移位寄存器深度 由控制復(fù)用器1801的配置存儲器位確定。去往延遲填充單元的20位輸入1802是由四個 解串行化單元1634a-1634d之一驅(qū)動的四個總線1643之一(參見圖16)。20位輸出1803
18驅(qū)動站點的字節(jié)改編邏輯。該邏輯可以配置用于類似于具有0-7個級的20位寬移位寄存器而操作,或者類似 于具有0-14個級的10位寬移位寄存器而操作。當(dāng)該邏輯被配置為0級移位寄存器時,其 從輸入總線1802向輸出總線1803傳遞數(shù)據(jù),而沒有任何寄存器延遲。僅當(dāng)端口的10位或 5位有意義時,更深且更窄的14乘10配置是有用的,當(dāng)本發(fā)明網(wǎng)絡(luò)的內(nèi)部時鐘與用戶時鐘 之間的頻率比例是2 1或1 1時,便是這種情況。用于輸出端口的延遲填充邏輯的硬件實現(xiàn)與用于輸入端口的實現(xiàn)相同。關(guān)于輸入 端口實現(xiàn)的更多信息,參見“輸入端口邏輯的進(jìn)一步細(xì)節(jié)”這一小節(jié)中的描述。輸出邏輯的字節(jié)改編邏輯層允許四個端口彼此交換數(shù)據(jù)。其主要功能是支持本發(fā) 明網(wǎng)絡(luò)的內(nèi)部時鐘與用戶時鐘之間2 1的頻率比例。對于所有其他頻率比例,CAD軟件 可以配置此邏輯以直接通過同一端口來傳遞每個端口的20位。用于輸出端口的字節(jié)改編邏輯與用于輸入端口的字節(jié)改編邏輯相同。圖19示出 了用于所有四個輸出端口的字節(jié)改編邏輯;附圖中的復(fù)用器由配置存儲器進(jìn)行控制。該字 節(jié)改編單元具有分別用于每個端口 0-3的一個20位輸入總線1900-1903。這些輸入總線是 圖16中的四個總線1642,其由四個延遲填充單元1633a-1633d驅(qū)動。字節(jié)改編單元具有分 別用于每個端口 0-3的一個20位輸出總線1960-1963。這些輸出總線驅(qū)動四個奇偶性單元 1631a-1631d(參見圖 16)。字節(jié)改編邏輯將每個端口視為兩個10位字節(jié)。例如,端口 1的輸入總線1901包 括低階字節(jié)19511和高階字節(jié)1951h。可配置的復(fù)用器或者將端口 i的低階字節(jié)保持在端 口 i上,或者將其轉(zhuǎn)到端口 i_l的高階字節(jié)位置上(模4)。例如,復(fù)用器或者向端口 1的輸 出總線1961引導(dǎo)端口 1的低階輸入字節(jié)19511,或者將其轉(zhuǎn)到端口 0的輸出總線1960的高 階字節(jié)。類似地,復(fù)用器或者將端口 i的高階字節(jié)保持在端口 i上,或者將其轉(zhuǎn)到端口 i+1 的低階字節(jié)位置上(模4)。例如,復(fù)用器或者向端口 1的輸出總線1961引導(dǎo)端口 1的高階 輸入字節(jié)1951h,或者將其轉(zhuǎn)到端口 2的輸出總線1962的低階字節(jié)。2 1頻率比例與字節(jié)改編一起工作,如下示出。以內(nèi)部時鐘(DCLK)頻率計時的 每個5位內(nèi)部束與以較慢的用戶時鐘(UCLK)頻率計時的20位輸出端口相關(guān)聯(lián)。當(dāng)DCLK 與UCLK的比例為2 1時,5位束可以解串行化到20位端口的僅10位上。如果正在使用 端口的所有20位,則端口的數(shù)據(jù)來自兩個5位內(nèi)部束。字節(jié)改編復(fù)用器將最初來自兩個相 鄰解串行化器的兩個10位總線轉(zhuǎn)到單個20位輸出端口。圖20是用于一個輸出端口的奇偶性生成和檢查(諸如奇偶性單元1631a)的示意 圖。奇偶性邏輯可以被配置用于旁路(將所有20位保持不變)、奇偶性生成或奇偶性檢查。 其可以被配置用于在作為一個組的所有20位上操作,或者在作為獨立組的兩個10位上操 作。奇偶性邏輯的輸出由利用輸出端口的用戶時鐘(UCLK) 1800計時的20位寄存器2070分 級。除了具有輸出寄存器之外,用于輸出端口的奇偶性邏輯與用于輸入端口的奇偶性邏輯 相同。去往奇偶性單元的20位輸入是字節(jié)改編邏輯432驅(qū)動的四個總線1641之一(參見 圖16)。低階輸入字節(jié)包括位0 2000和位9:1 2001,而高階輸入字節(jié)包括位10 2010和位 19:11 2011。X0R 邏輯的 20 位輸出(位 0 2050,位 9:12001,位 10 2060 和位 19:11 2011) 驅(qū)動寄存器2070。寄存器2070的輸出2071驅(qū)動站點的輸出復(fù)用器中的一些。為了生成奇偶性,該邏輯計算該奇偶性組的高19位或9位的異或(X0R),并向該組的低階位(20位模式中的位02050或10位模式中的位10 2060和位0 2050)注入所計算 的奇偶性。為了檢查奇偶性,該邏輯計算該奇偶性組的所有20位或10位的X0R,并向低階 位注入錯誤結(jié)果;當(dāng)且僅當(dāng)出現(xiàn)奇偶性錯誤時,該結(jié)果是1。圖20中的復(fù)用器由配置存儲器進(jìn)行控制。復(fù)用器確定該奇偶性邏輯操作于旁路、 生成還是檢查模式中。復(fù)用器還確定該奇偶性邏輯操作于20位模式還是10位模式中。為本發(fā)明網(wǎng)絡(luò)提供時鐘和同步脈沖本發(fā)明網(wǎng)絡(luò)與集成電路的時鐘分配系統(tǒng)一起 工作。同步(sync)脈沖對時鐘網(wǎng)絡(luò)中和本發(fā)明網(wǎng)絡(luò)的站點中的計數(shù)器進(jìn)行初始化。通過本發(fā)明網(wǎng)絡(luò)的連接是完全同步的,但是其通常使用至少兩個時鐘頻率。用 戶時鐘與網(wǎng)絡(luò)的內(nèi)部時鐘成整數(shù)頻率比例。此比例通常是2 1或更大,但其也可以是 1 1。此外,用于屬于通過網(wǎng)絡(luò)的連接的不同起始點或終止點的用戶時鐘可以具有不同頻 率。例如,圖5示出了具有三個時鐘頻率的、通過本發(fā)明網(wǎng)絡(luò)的連接。內(nèi)部時鐘512操作于 1600MHz。用戶時鐘513操作于400MHz,其與內(nèi)部時鐘的比例是4 1。用戶時鐘514操作 于200MHz,其與內(nèi)部時鐘的比例是8 1。這些時鐘信號操作于不同頻率,但是它們具有對準(zhǔn)的邊沿和它們之間較小的偏 差,以實現(xiàn)一個或多個用戶時鐘域與本發(fā)明網(wǎng)絡(luò)的內(nèi)部時鐘域之間的同步對接。包括本發(fā) 明網(wǎng)絡(luò)的現(xiàn)場可編程門陣列(FPGA)具有時鐘分配系統(tǒng),該時鐘分配系統(tǒng)可以通過按照可 配置的整數(shù)比例向下分割根部時鐘來產(chǎn)生較低頻率時鐘。該時鐘分配系統(tǒng)還保證了該根部 時鐘和分割后的時鐘具有對準(zhǔn)的邊沿以及它們之間較小的偏差。在優(yōu)選實施方式中,在該時鐘分配系統(tǒng)的第三層級處存在時鐘分割器,并且該分 割器可以被配置用于創(chuàng)建相對于根部時鐘的、從1 1到16 1的任何整數(shù)時鐘比例。在 其他實施方式中,分割器可以位于時鐘網(wǎng)絡(luò)的不同層,并且其可以支持不同的分割器比例。本發(fā)明網(wǎng)絡(luò)的內(nèi)部時鐘和用于通過該網(wǎng)絡(luò)的給定連接的一個或多個用戶時鐘都 從同一根部時鐘推導(dǎo)出,但是不同連接可以使用不同根部時鐘。例如,用戶可以在其設(shè)計中 針對某些連接選擇1600MHz根部時鐘,而針對其他連接選擇1250MHz根部時鐘。時鐘分配系統(tǒng)和本發(fā)明網(wǎng)絡(luò)具有同步初始化的多個計數(shù)器。當(dāng)時鐘樹中的多個分 割器具有同一時鐘分割器比例時,其分割器在根部時鐘的同一上升沿處初始化,以便使得 分割后的輸出時鐘彼此同相。用于輸入端口串行化器的控制邏輯在用戶時鐘的某個上升沿 處初始化;用于輸出端口解串行化器的控制邏輯也是這樣。在優(yōu)選實施方式中,輸入端口和 輸出端口中的延遲填充邏輯利用隨機(jī)存取存儲器(RAM)來實現(xiàn);該RAM的讀指針和寫指針 在用戶時鐘的某個上升沿處初始化。為了執(zhí)行所有這些初始化,包含本發(fā)明網(wǎng)絡(luò)的FPGA生成同步(sync)脈沖并向所 有時鐘分割器和使用這些分割器的所有站點分配該同步脈沖。在時鐘網(wǎng)絡(luò)的根部生成sync 脈沖并通過網(wǎng)絡(luò)的層級與時鐘并排地向下分配該sync脈沖是很便利的。出現(xiàn)在功能性操作開始處的單個同步脈沖足以初始化時鐘系統(tǒng)和站點。時鐘系 統(tǒng)和站點中的計數(shù)器將在此后保持同步,因為它們被配置用于以固定時段在狀態(tài)序列中循 環(huán)。為了幫助保證從一個時鐘域發(fā)布的重置脈沖可以被位于具有不同分割器比例的 所有相關(guān)域中的時鐘邊沿觀察到,重復(fù)發(fā)布同步(sync)脈沖而不是僅發(fā)布一次是有用的。 因此,優(yōu)選實施方式發(fā)布周期性的sync脈沖。在時鐘系統(tǒng)和站點中的計數(shù)器想要以任何方式重新初始化其自身時,sync脈沖便會出現(xiàn)。sync脈沖的時段是可配置的,并且CAD軟件 將其設(shè)置為適當(dāng)?shù)闹?,如在根部時鐘周期中測量的。該時段是參與通過本發(fā)明網(wǎng)絡(luò)的連接 的所有時鐘分割器的分割器比例的最小公倍數(shù)(LCM)或其倍數(shù)。在優(yōu)選實施方式中,該時 段也是7的倍數(shù),因為延遲填充邏輯中的讀指針和寫指針每七個(或十四個)用戶時鐘周 期便循環(huán)回其初始值。 盡管就優(yōu)選實施方式方而言描述了本發(fā)明,但是應(yīng)當(dāng)理解,在不脫離本發(fā)明精神 和范圍的前提下,本領(lǐng)域技術(shù)人員可以做出很多修改和替換。因此,本發(fā)明應(yīng)當(dāng)按所附權(quán)利 要求進(jìn)行確定。
權(quán)利要求
一種在集成電路的專用電路和邏輯電路之間提供數(shù)據(jù)的流水線化總線傳輸?shù)目偩€結(jié)構(gòu),所述總線結(jié)構(gòu)包括流水線化導(dǎo)體的網(wǎng)絡(luò);以及流水線化導(dǎo)體的連接器,其可選擇性地在所述的專用電路,其他流水線化連接器和所述邏輯電路之間連結(jié)。
2.根據(jù)權(quán)利要求1所述的總線結(jié)構(gòu),其中所述連接器包括開關(guān)電路,其用于從專用電 路和邏輯電路選擇輸入數(shù)據(jù),和選擇用于輸出數(shù)據(jù)的專用電路和邏輯電路。
3.根據(jù)權(quán)利要求1所述的總線結(jié)構(gòu),其中所述連接器包括輸入通道和輸出通道,其可選擇性地連接至專用電路和邏輯電路;以及 網(wǎng)絡(luò)開關(guān),其可選擇性地連接至流水線化導(dǎo)體組。
4.根據(jù)權(quán)利要求1所述的總線結(jié)構(gòu),其中所述連接器包括輸入通道,其可選擇性地連 接至專用電路和邏輯電路,所述輸入通道包括輸入轉(zhuǎn)換電路,用以將輸入數(shù)據(jù)轉(zhuǎn)換為用于 流水線化導(dǎo)體組的數(shù)據(jù)。
5.根據(jù)權(quán)利要求4所述的總線結(jié)構(gòu),其中所述輸入轉(zhuǎn)換電路包括數(shù)據(jù)歸零電路。
6.根據(jù)權(quán)利要求4所述的總線結(jié)構(gòu),其中所述輸入轉(zhuǎn)換電路包括奇偶性檢查和生成電路。
7.根據(jù)權(quán)利要求4所述的總線結(jié)構(gòu),其中所述輸入轉(zhuǎn)換電路包括字節(jié)改編電路。
8.根據(jù)權(quán)利要求4所述的總線結(jié)構(gòu),其中所述輸入轉(zhuǎn)換電路包括延遲填充電路。
9.根據(jù)權(quán)利要求4所述的總線結(jié)構(gòu),其中所述輸入轉(zhuǎn)換電路包括串行化電路。
10.根據(jù)權(quán)利要求1所述的總線結(jié)構(gòu),其中所述連接器包括輸出通道,其可選擇性地連 接至專用電路和邏輯電路,所述輸出通道包括輸出轉(zhuǎn)換電路,用以將來自流水線化的導(dǎo)體 組的數(shù)據(jù)轉(zhuǎn)換為用于專用電路和邏輯電路的數(shù)據(jù)。
11.根據(jù)權(quán)利要求10所述的總線結(jié)構(gòu),其中所述輸出轉(zhuǎn)換電路包括奇偶性檢查和生成 電路。
12.根據(jù)權(quán)利要求10所述的總線結(jié)構(gòu),其中所述輸出轉(zhuǎn)換電路包括字節(jié)改編電路。
13.根據(jù)權(quán)利要求10所述的總線結(jié)構(gòu),其中所述輸出轉(zhuǎn)換電路包括延遲填充電路。
14.根據(jù)權(quán)利要求10所述的總線結(jié)構(gòu),其中所述輸出轉(zhuǎn)換電路包括串行化電路。
15.根據(jù)權(quán)利要求1所述的總線結(jié)構(gòu),進(jìn)一步包括所述集成電路的交叉開關(guān)連接器連 結(jié)部分和導(dǎo)體的第二網(wǎng)絡(luò),所述導(dǎo)體的第二網(wǎng)絡(luò)可通過所述導(dǎo)體連接至所述導(dǎo)體的流水線 化網(wǎng)絡(luò)。
全文摘要
一種在集成電路的專用電路和邏輯電路之間提供數(shù)據(jù)的流水線化總線傳輸?shù)目偩€結(jié)構(gòu),所述總線結(jié)構(gòu)包括流水線化導(dǎo)體的網(wǎng)絡(luò),以及流水線化導(dǎo)體的連接器,其可選擇性地在所述的專用電路,其他流水線化連接器和所述邏輯電路之間連結(jié)。
文檔編號G06F13/40GK101802800SQ200880107153
公開日2010年8月11日 申請日期2008年8月4日 優(yōu)先權(quán)日2007年9月14日
發(fā)明者A·簡吉蒂, C·N·墨菲, D·豪, G·P·德索扎, M·J·溫 申請人:雅格羅技科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1