專利名稱:在邏輯合成階段期間優(yōu)化電路設計以減少布線擁塞的設備的制作方法
技術領域:
本實用新型一般地涉及電子設計自動化。更具體而言,本實用新型涉及用于 在邏輯設計階段期間優(yōu)化電路設計以減少在布置和布線階段期間的布線擁塞(routing congestion)的技術和系統(tǒng)。
背景技術:
在電路設計的網(wǎng)表上執(zhí)行布線操作是可能耗費若干天完成的昂貴工藝。更糟糕的 是,不能總是確保布線操作成功。在一些情形中,標準單元布線不成功,因為微芯片的區(qū)域 沒有足夠的布線資源來對該區(qū)域中存在的信號互連進行布線。該情形通常稱為布線擁塞。 通常通過使用單元布置算法來緩和布線擁塞以彌補布線操作,并且從電路設計的 網(wǎng)表中產(chǎn)生優(yōu)化的物理實現(xiàn)。該布置算法試圖將標準單元散布在其中算法認為將發(fā)生擁塞 的物理實現(xiàn)區(qū)域中。然而,仍然存在其中布置算法無法解決物理實現(xiàn)上的每個擁塞問題的 許多情況。
發(fā)明內(nèi)容根據(jù)本實用新型的一方面,提供一種用于在邏輯合成階段期間優(yōu)化電路設計以減 少在布置和布線階段期間的布線擁塞的設備。該設備可以包括識別裝置,被配置用于識別 所述電路設計中的第一電路結(jié)構,其中所述第一電路結(jié)構包括在第一組信號源和第一組信 號負載之間的第一組互連,其中所述第一組互連在所述第一電路結(jié)構中造成第一數(shù)量的交 叉,且其中所述第一數(shù)量的交叉預期會造成在所述布置和布線階段期間的布線擁塞;生成 裝置,被配置用于生成功能上與所述第一電路結(jié)構等同的第二電路結(jié)構,其中所述第二電 路結(jié)構包括在第二組信號源和第二組信號負載之間的第二組互連,其中所述第二組互連在 所述第二電路結(jié)構中造成第二數(shù)量的交叉,所述第二數(shù)量的交叉大大少于所述第一數(shù)量的 交叉;以及代替裝置,備配置用于用所述第二電路結(jié)構代替所述電路設計中的所述第一電 路結(jié)構,由此大大減少所述電路設計中的交叉,這又減少在所述布置和布線階段期間的布 線擁塞。 在一個實施例中,所述識別裝置包括確定裝置,被配置用于確定所述第一電路結(jié) 構是否實現(xiàn)一組積和表達式,其中所述一組積和表達式與一組公共的M個最小項相關聯(lián), 且其中相應積和表達式是最多M個最小項的邏輯和;以及其中所述生成裝置包括排序確 定裝置,用于針對所述一組M個最小項來確定排序;最小項表生成裝置,用于針對相應積和 表達式生成最小項表,其中所述最小項表包括與相應積和表達式相關聯(lián)的一組最小項;劃 分裝置,用于將所述最小項表劃分成P個表分區(qū),其中第一分區(qū)的最小項與第二分區(qū)不相 交;積和電路結(jié)構生成裝置,用于針對相應表分區(qū)生成積和電路結(jié)構;以及布爾或0R邏輯 結(jié)構生成裝置,用于針對相應積和表達式生成布爾或OR邏輯結(jié)構,其中所述布爾或邏輯結(jié) 構組合來自所述P個表分區(qū)的積和電路結(jié)構的輸出。 在一個實施例中,所述識別裝置包括確定裝置,用于確定所述第一電路結(jié)構是否包括用于一個或更多個信號源的至少M個信號負載;以及其中所述生成裝置包括選擇裝 置,用于選擇與所述M個信號負載相關聯(lián)的1級邏輯;劃分裝置,用于通過對所選擇的邏輯 執(zhí)行最小切割劃分,將所選擇的邏輯劃分成最多P個分區(qū);以及針對相應信號源第一耦合 裝置,用于將相應分區(qū)的輸入信號耦合到對應緩沖器的輸出;以及第二耦合裝置,用于將所 述對應緩沖器的輸入耦合到相應信號源。 在一個實施例中,所述識別裝置包括確定裝置,用于確定所述第一電路結(jié)構是否 實現(xiàn)只讀存儲器ROM,其中所述ROM具有M位的地址輸入;以及其中所述生成裝置包括劃 分裝置,被配置用于將所述第一電路結(jié)構劃分成最多P = 2k個分區(qū),其中相應分區(qū)具有M-k 位的地址輸入;以及耦合裝置,被配置用于將相應分區(qū)的輸出信號耦合到P路復用器的對 應入口 ,其中所述P路復用器具有k位的選擇輸入。 在一個實施例中,所述識別裝置包括確定裝置,用于確定所述第一電路結(jié)構是否 是復用器,其中所述復用器具有最多N = 2M個輸入信號源,且具有M位的選擇輸入;以及其 中所述生成裝置包括劃分裝置,用于將所述第一電路結(jié)構劃分成最多P = 2k個分區(qū),其中 相應分區(qū)具有M-k位的選擇輸入;以及耦合裝置,用于將相應分區(qū)的輸出信號耦合到P路復 用器的對應入口 ,其中所述P路復用器具有k位的選擇輸入。 在一個實施例中,所述識別裝置包括確定裝置,用于確定所述電路結(jié)構是否由至 少M個信號負載共享;以及其中所述生成裝置包括選擇裝置,用于選擇與所述M個信號負 載相關的1級邏輯;劃分裝置,用于通過對所選擇的邏輯執(zhí)行最小切割劃分,將所選擇的邏 輯劃分成最多P個分區(qū);以及產(chǎn)生裝置,用于產(chǎn)生用于信號負載的相應分區(qū)的所述第一電 路結(jié)構的實例。 在一個實施例中,所述識別裝置包括確定裝置,被配置用于確定所述第一電路結(jié) 構是否實現(xiàn)用于M個可測性設計(DFT)掃描鏈的解壓縮邏輯,其中所述解壓縮邏輯產(chǎn)生一 組輸出信號,其中相應輸出信號驅(qū)動對應的DFT掃描鏈,且其中相應DFT掃描鏈由寄存器鏈 實現(xiàn);以及其中所述生成裝置包括劃分裝置,被配置用于將所述M個掃描鏈劃分成P個掃 描鏈分區(qū);以及生成裝置,被配置用于通過與用于分區(qū)Pi中其它掃描鏈的局部DFT解壓縮 器實現(xiàn)共享邏輯,針對分區(qū)Pi中的相應DFT掃描鏈生成DFT解壓縮器的局部實現(xiàn)。 在一個實施例中,所述識別裝置包括確定裝置,用于確定所述第一電路結(jié)構是否 實現(xiàn)用于M個可測性設計DFT掃描鏈的壓縮邏輯,其中相應DFT掃描鏈由寄存器鏈實現(xiàn),其 中所述壓縮邏輯包括M個輸入信號負載,且其中所述壓縮邏輯產(chǎn)生用于所述M個DFT掃描 鏈的壓縮信號輸出;以及其中所述生成裝置包括第一確定裝置,用于基于所述M個DFT掃 描鏈的布置順序確定所述M個DFT掃描鏈的排序;第二確定裝置,用于基于所述壓縮邏輯的 M個信號負載的布置順序來確定所述M個信號負載的排序;以及耦合裝置,用于基于所述壓 縮邏輯的M個輸入信號負載和M個DFT掃描鏈的對應排序,將所述M個DFT掃描鏈的輸出 信號耦合到所述壓縮邏輯的M個輸入信號負載。 本實用新型的一個實施例提供一種包括方法與設備的系統(tǒng),其可以在邏輯設計階 段期間優(yōu)化電路設計以減少在布置和布線階段期間的布線擁塞。邏輯合成階段優(yōu)化電路設 計并且生成電路網(wǎng)表,該電路網(wǎng)表包括一組電路實例并描述實例之間的大量互連。在邏輯 合成階段之后執(zhí)行布置和布線階段,以針對網(wǎng)表的電路實例確定物理布置和針對網(wǎng)表的互 連確定布線路徑。[0013] 在邏輯合成階段期間,系統(tǒng)識別電路設計中的第一電路結(jié)構,該第一電路結(jié)構預
期會造成在布置和布線階段期間的布線擁塞。該第一電路結(jié)構包括在第一組信號源和第
一組信號負載之間的第一組互連,其中述第一組互連在第一電路結(jié)構中造成第一數(shù)量的交
叉,且其中第一數(shù)量的交叉預期會造成在布置和布線階段期間的布線擁塞。 接著,系統(tǒng)生成第二電路結(jié)構,該第二電路結(jié)構在功能上與第一電路結(jié)構等同,并
且不會造成在布置和布線階段期間的布線擁塞。該第二電路結(jié)構包括在第二組信號源和
第二組信號負載之間的第二組互連,其中第二組互連在第二電路結(jié)構中造成第二數(shù)量的交
叉,該第二數(shù)量的交叉上大大少于第一數(shù)量的交叉。 然后,系統(tǒng)用第二電路結(jié)構代替電路設計中的第一電路結(jié)構,由此大大減少電路 設計中的交叉,這又減少在布置和布線階段期間的布線擁塞。 在一些實施例中,系統(tǒng)通過確定第一電路結(jié)構是否實現(xiàn)一組積和表達式來識別電 路設計中的第一電路結(jié)構。該組積和表達式與一組公共的M個最小項相關聯(lián),且相應積和 表達式是最多M個最小項的邏輯和(disjunction)。此外,為了生成第二電路結(jié)構,系統(tǒng)針 對該組M個最小項來確定排序,并針對相應積和表達式生成最小項表。該最小項表包括與 相應積和表達式相關聯(lián)的該組最小項。接著,系統(tǒng)將最小項表劃分成P個表分區(qū),使得第一 分區(qū)的最小項與第二分區(qū)不相交,且系統(tǒng)針對相應表分區(qū)生成積和電路結(jié)構。接著,系統(tǒng)針 對相應積和表達式生成布爾或(0R)邏輯結(jié)構,以組合來自P個表分區(qū)的積和電路結(jié)構的輸 出。 在一些實施例中,系統(tǒng)通過確定第一電路結(jié)構是否包括用于一個或更多個信號源 的至少M個信號負載,來識別電路設計中的第一電路結(jié)構。此外,為了生成第二電路結(jié)構, 系統(tǒng)選擇與M個信號負載相關聯(lián)的1級邏輯,并通過對所選擇的邏輯執(zhí)行最小切割劃分,將 所選擇的邏輯劃分成最多P個分區(qū)。然后,針對相應信號源,系統(tǒng)將相應分區(qū)的輸入信號耦 合到對應緩沖器的輸出,并將該對應緩沖器的輸入耦合到相應信號源。在這些實施例的一 些變形中,系統(tǒng)可以將相應緩沖器的輸入耦合到對應輸入緩沖器的輸出,并將該對應輸入 緩沖器的輸入耦合到對應的信號源。 在一些實施例中,系統(tǒng)通過確定第一電路結(jié)構是否實現(xiàn)只讀存儲器(ROM)電路結(jié) 構來識別電路設計中的第一 電路結(jié)構。此外,為了生成第二電路結(jié)構,系統(tǒng)將ROM電路結(jié)構 劃分成最多P = 2k個分區(qū)。ROM電路結(jié)構具有M位的地址輸入,且相應分區(qū)具有M-k位的 地址輸入。然后,系統(tǒng)將相應分區(qū)的輸出信號耦合到P路復用器的對應入口 ,使得P路復用 器具有k位的選擇輸入。 在一些實施例中,系統(tǒng)通過確定第一電路結(jié)構是否是復用器電路結(jié)構來識別電路 設計中的第一電路結(jié)構。復用器具有最多N二 2M個輸入信號源,且具有M位的選擇輸入。 此外,為了生成第二電路結(jié)構,系統(tǒng)將復用器電路結(jié)構劃分成最多P = 2k個分區(qū),使得相應 分區(qū)具有M-k位的選擇輸入。然后,系統(tǒng)將相應分區(qū)的輸出信號耦合到P路復用器的對應 入口 ,使得P路復用器具有k位的選擇輸入。 在一些實施例中,系統(tǒng)通過確定電路結(jié)構是否由至少M個信號負載共享,來識別 電路設計中的第一電路結(jié)構。此外,為了生成第二電路結(jié)構,系統(tǒng)選擇與M個信號負載相關 聯(lián)的1級邏輯,并通過對所選擇的邏輯執(zhí)行最小切割劃分,將所選擇的邏輯劃分成最多P個 分區(qū)。然后,系統(tǒng)針對信號負載的P個分區(qū)中的每個分區(qū)產(chǎn)生第一電路結(jié)構的實例,并將相應實例的輸出耦合到對應分區(qū)的對應輸入。 在一些實施例中,系統(tǒng)通過確定第一電路結(jié)構是否實現(xiàn)用于M個可測性設計 (DFT)掃描鏈的解壓縮邏輯,來識別電路設計中的第一電路結(jié)構。解壓縮邏輯產(chǎn)生一組輸 出信號,其中相應輸出信號驅(qū)動對應的DFT掃描鏈,且相應DFT掃描鏈由寄存器鏈實現(xiàn)。此 外,為了生成第二電路結(jié)構,系統(tǒng)將M個掃描鏈劃分成P個掃描鏈分區(qū)。然后,系統(tǒng)通過與 分區(qū)Pi中其它掃描鏈相關聯(lián)的定制DFT解壓縮器實現(xiàn)共享邏輯,針對分區(qū)Pi中的相應DFT 掃描鏈生成DFT解壓縮器的定制實現(xiàn)。 在一些實施例中,系統(tǒng)通過確定第一電路結(jié)構是否實現(xiàn)用于M個可測性設計 (DFT)掃描鏈的壓縮邏輯,來識別電路設計中的第一電路結(jié)構,其中相應DFT掃描鏈由寄存 器鏈實現(xiàn)。壓縮邏輯包括M個輸入信號負載,并產(chǎn)生用于M個DFT掃描鏈的壓縮信號輸出。 此外,為了生成第二電路結(jié)構,系統(tǒng)先基于M個DFT掃描鏈的布置順序確定該M個DFT掃描 鏈的排序,并基于壓縮邏輯的M個信號負載的布置順序來確定該M個信號負載的排序。然 后,系統(tǒng)基于壓縮邏輯的M個輸入信號負載和M個DFT掃描鏈的對應排序,將M個DFT掃描 鏈的輸出信號耦合到壓縮邏輯的M個輸入信號負載。
圖1圖示了根據(jù)本實用新型實施例的集成電路的設計和制作過程中的各種階段。 圖2圖示了根據(jù)本實用新型實施例的能夠產(chǎn)生可以緩和布線擁塞的用于電路設 計的網(wǎng)表的邏輯合成系統(tǒng)。 圖3A圖示了根據(jù)本實用新型實施例的造成布線擁塞的、用于多個關聯(lián)SoP邏輯樹 的邏輯結(jié)構。 圖3B圖示了根據(jù)本實用新型實施例的被劃分成SoP邏輯結(jié)構的最小項表。 圖3C圖示了根據(jù)本實用新型實施例的已被優(yōu)化從而緩和布線擁塞的、用于多個 關聯(lián)SoP邏輯樹的邏輯結(jié)構。 圖3D圖示了根據(jù)本實用新型實施例的用于構建優(yōu)化的SoP邏輯結(jié)構的過程。 圖4A圖示了根據(jù)本實用新型實施例的造成布線擁塞的、用于多個并行高扇出緩 沖器樹的邏輯結(jié)構。 圖4B圖示了根據(jù)本實用新型實施例的已被優(yōu)化從而緩和布線擁塞的多個并行緩 沖器樹。 圖5A圖示了根據(jù)本實用新型實施例的在緩沖器樹和復用器樹之間的布線擁塞。 圖5B圖示了根據(jù)本實用新型實施例的已被優(yōu)化從而緩和布線擁塞的緩沖器樹。 圖6A圖示了根據(jù)本實用新型實施例的在長距離上共享邏輯的邏輯結(jié)構。 圖6B圖示了根據(jù)本實用新型實施例的在局部區(qū)域上共享邏輯以緩和布線擁塞的 邏輯結(jié)構。 圖7A圖示了根據(jù)本實用新型實施例的DFT掃描鏈陣列。 圖7B圖示了根據(jù)本實用新型實施例的用于多個掃描鏈的DFT解壓縮器的示例性 模塊級實現(xiàn)。 圖7C圖示了根據(jù)本實用新型實施例的在長距離上執(zhí)行邏輯共享的、用于DFT解壓 縮器的可能實現(xiàn)。[0038] 圖7D圖示了根據(jù)本實用新型實施例的緩和布線擁塞的、用于DFT解壓縮器的示例 性實現(xiàn)。 圖7E圖示了根據(jù)本實用新型實施例的在DFT壓縮器實現(xiàn)和掃描鏈陣列之間的布 線擁塞。 圖7F圖示了根據(jù)本實用新型實施例的已被優(yōu)化從而緩和布線擁塞的、用于DFT壓 縮器的示例性實現(xiàn)。 圖8A圖示了根據(jù)本實用新型實施例的R0M。 圖8B圖示了根據(jù)本實用新型實施例的緩和布線擁塞的示例性ROM實現(xiàn)。 圖9A圖示了根據(jù)本實用新型實施例的復用器。 圖9B圖示了根據(jù)本實用新型實施例的緩和布線擁塞的示例性復用器實現(xiàn)。 圖10圖示了根據(jù)本實用新型實施例的有利于在邏輯設計階段期間優(yōu)化電路設計 以減少在布置和布線階段期間的布線擁塞的示例性計算機系統(tǒng)。 圖11是根據(jù)本實用新型實施例的用于在邏輯合成階段期間優(yōu)化電路設計以減少 在布置和布線階段期間的布線擁塞的設備的示意圖。
具體實施方式呈現(xiàn)以下描述以使本領域技術人員能夠?qū)崿F(xiàn)和利用本實用新型,并且在特定應用 及其要求的背景下提供該描述。本領域技術人員將容易清楚對公開的實施例的各種修改, 并且這里限定的一般原理可以適用于其它實施例和應用而不脫離本實用新型的精神和范 圍。因此,本實用新型不限于所示實施例,而是將被賦予以與這里公開的原理和特征一致的 最廣范圍。 在本具體實施方式
中描述的數(shù)據(jù)結(jié)構和代碼通常存儲于計算機可讀存儲介質(zhì)上, 該介質(zhì)可以是能夠存儲用于由計算機系統(tǒng)使用的代碼和/或數(shù)據(jù)的任何設備或者介質(zhì)。計 算機可讀存儲介質(zhì)包括但不限于易失性存儲器、非易失性存儲器、磁和光學存儲設備(比 如盤驅(qū)動器、磁帶、CD(壓縮盤)、DVD(數(shù)字多功能盤或者數(shù)字視頻盤)或者現(xiàn)在已知或者 以后開發(fā)的能夠存儲計算機可讀介質(zhì)的其它介質(zhì)。 在本具體實施方式
中描述的方法和過程可以具體實現(xiàn)為代碼和/或數(shù)據(jù),該代碼 和/或數(shù)據(jù)可以存儲在如上所述的計算機可讀存儲介質(zhì)中。當計算機系統(tǒng)讀取和執(zhí)行存儲 在計算機可讀存儲介質(zhì)中的代碼和/或數(shù)據(jù)時,計算機系統(tǒng)執(zhí)行具體實現(xiàn)為數(shù)據(jù)結(jié)構和代 碼并存儲在計算機可讀存儲介質(zhì)中的方法和過程。 此外,下文描述的方法和過程可以包含在硬件模塊中。例如,該硬件模塊可以包括 但不限于專用集成電路(ASIC)芯片、現(xiàn)場可編程門陣列(FPGA)以及其他現(xiàn)在已知或者以 后開發(fā)的可編程邏輯器件。當該硬件模塊被激活時,該硬件模塊執(zhí)行包含在該硬件模塊中 的方法和過程。 集成電路(IC)設計流程 圖1圖示了根據(jù)本實用新型實施例的集成電路的設計和制作過程中的各種階段。 該IC設計過程通常從使用EDA過程(操作110)來實現(xiàn)的產(chǎn)品思想(操作100)開 始。 一旦設計定稿,通常就進行流片(t即-out)(事件140),此時經(jīng)過制作過程(操作150) 以及封裝和組裝過程(操作160),產(chǎn)生已制成的微芯片(結(jié)果170)。[0054] EDA過程(操作110)包括下文描述的操作112-130,該描述僅用于示例目的,而不 意味著限制本實用新型。具體而言,實際集成電路設計可以要求設計者在與這里描述的順 序不同的順序中執(zhí)行設計操作。 系統(tǒng)設計(操作112):在這一階段,設計者描述實現(xiàn)產(chǎn)品思想的功能。他們也可 以進行假設(what-if)規(guī)劃以精化該功能,執(zhí)行成本分析等。硬件-軟件架構劃分可以出 現(xiàn)在這一階段??梢栽谶@一階段使用的來自Synopsys公司的示例性EDA軟件產(chǎn)品包括
ModelArchitect、Saber⑧、System studio和DesignWare⑧。 邏輯設計和功能驗證(操作114):在這一階段,編寫用于系統(tǒng)中的模塊的VHDL或 者Verilog代碼,并且檢驗該設計的功能準確性。更具體而言,檢驗該設計以保證它產(chǎn)生正 確響應??梢栽谶@一階段使用的來自Synopsys公司的示例性EDA軟件產(chǎn)品包括VCS⑧、
Vera 、 DesignWare 、MagellanTM、Formality 、ESP禾口Leda⑧。 合成和可測性設計(操作116):在這一階段,可以將VHDL/Verilog源代碼轉(zhuǎn)譯成 網(wǎng)表。可以針對目標技術優(yōu)化網(wǎng)表,并且可以設計和實施測試以檢驗已制成的微芯片???以在這一階段使用的來自Synopsys公司的示例EDA軟件產(chǎn)品包括Design Compiler 、 Physical Compiler⑧、Test Compi 1 er、 Power Compi 1 erTM、 FPGA Compiler、
TetraMAX⑧和DesignWare⑧。 網(wǎng)表驗證(操作118):在這一階段,檢驗網(wǎng)表與時序約束的相符性和與VHDL/ Verilog源代碼的對應性??梢栽谶@一階段使用的來自Synopsys公司的示例性EDA軟件產(chǎn)
品包括Formality⑧、Prime丁ime⑧和VCS⑧。 設計規(guī)劃(操作120):在這一階段,構造并分析用于微芯片的整個布圖規(guī)劃以便 進行定時和頂級布線??梢栽谶@一階段使用的來自Synopsys公司的示例性EDA軟件產(chǎn)品 包括Astr。TM禾口 IC Compiler產(chǎn)品。 物理實現(xiàn)(操作122):在這一階段出現(xiàn)布置(對電路元件的定位)和布線(對互 連的布置)??梢栽谶@一階段使用的來自Synopsys公司的示例性EDA軟件產(chǎn)品包括Astro 和IC Compiler產(chǎn)品。 分析和提取(操作124):在這一階段,在晶體管級驗證電路功能;這又允許假設的 精化??梢栽谶@一階段使用的來自Synopsys公司的示例性EDA軟件產(chǎn)品包括Astr0RailTM、 PrimeRail、PrimeTime⑧和Star-RCXT 。 物理驗證(操作126):在這一階段,檢驗設計以保證制造、電問題、光刻問題和電 路的正確性。Hercules 是可以在這一階段使用的來自Synopsys公司的示例性EDA軟件
廣PR o 分辨率增強(操作128):這一階段涉及到對布局的幾何形狀操控以提高設計的可 制造性??梢栽谶@一階段使用的來自Synopsys公司的示例性EDA軟件產(chǎn)品包括Proteus/ Progen、 ProteusAF禾口 PSMGen。 掩膜數(shù)據(jù)預備(操作130):這一階段提供用于產(chǎn)生掩膜以產(chǎn)生成品芯片的"流片" 數(shù)據(jù)。可以在這一階段使用的來自Synopsys公司的示例性EDA軟件產(chǎn)品包括CATS⑧系 列產(chǎn)品。 概述[0066] 作為布線擁塞的結(jié)果,IC設計過程中的布置和布線階段可能無法生成電路設計的 物理實現(xiàn)。當電路設計的物理實現(xiàn)包括相當大數(shù)量的在電路設計的互連之間的交叉時布線 擁塞發(fā)生,而與在物理實現(xiàn)中如何布置電路設計的邏輯實例無關,并且與在物理實現(xiàn)中如 何對互連進行布線無關。 電路設計的物理實現(xiàn)上的布線擁塞很大程度上受到電路設計的網(wǎng)表拓撲的影響。
網(wǎng)表拓撲是在邏輯合成期間作出的大量強制性決定的結(jié)果。這些決定中的許多決定被認為
可以減小裸片尺寸或改進所制成的微芯片的性能。反而言之,存在這些尺寸和性能優(yōu)化是
物理實現(xiàn)上布線擁塞的原因的場合,這實際上削減了所預期的性能增益。 本實用新型的實施例提供邏輯合成系統(tǒng),其可以生成緩和布線擁塞的網(wǎng)表拓撲。
該邏輯合成系統(tǒng)通過促成在邏輯合成過程期間的決定,避免預期會造成布線擁塞的網(wǎng)表拓
撲,從而在IC設計過程的早期緩和布線擁塞問題。更具體而言,一些實施例通過避免在長
距離上共享邏輯的網(wǎng)表拓撲來緩和布線擁塞,而其它實施例通過避免造成不期望的在電路
設計的互連之間的大量交叉的網(wǎng)表拓撲來緩和布線擁塞。 在一些實施例中,從通常的尺寸和性能優(yōu)化的角度而言,為緩和布線擁塞而通過 邏輯合成系統(tǒng)執(zhí)行的優(yōu)化可能是不直觀的(counter-intuitive)。通過邏輯合成系統(tǒng)執(zhí)行 的優(yōu)化可以通過重建用于電路結(jié)構的邏輯拓撲(該電路結(jié)構包括不期望的在電路設計的 互連之間的大量交叉),而不采用促成在多個信號負載之中邏輯共享的特定尺寸和性能優(yōu) 化,來緩和布線擁塞。 圖2圖示了根據(jù)本實用新型實施例的能夠產(chǎn)生可以緩和布線擁塞的用于電路設 計208的網(wǎng)表212的邏輯合成系統(tǒng)200。邏輯合成系統(tǒng)200包括拓撲優(yōu)化機構202和邏輯 合成機構204。 在操作期間,拓撲優(yōu)化機構202接收電路設計208,并且可以生成用于電路設計 208的優(yōu)化邏輯拓撲210。這樣做時,拓撲優(yōu)化機構202將電路設計208的邏輯拓撲操控為 如下邏輯拓撲,該邏輯拓撲可以防止邏輯合成系統(tǒng)200生成已知會造成布線擁塞的網(wǎng)表結(jié) 構。在該實施例的一些變形中,在邏輯合成系統(tǒng)200使用邏輯合成機構204從優(yōu)化邏輯拓 撲210生成網(wǎng)表212之前,拓撲優(yōu)化機構202從電路設計208生成優(yōu)化邏輯拓撲210。在 其它變形中,在邏輯合成機構204從電路設計208生成網(wǎng)表212的同時,拓撲優(yōu)化機構202 生成用于邏輯合成機構204的優(yōu)化邏輯拓撲210。在另外的其他變形中,拓撲優(yōu)化機構202 從邏輯合成機構204所產(chǎn)生的網(wǎng)表,生成以優(yōu)化網(wǎng)表形式的優(yōu)化邏輯拓撲210。 在一些實施例中,邏輯合成機構204可以通過現(xiàn)有的EDA軟件產(chǎn)品實現(xiàn),包括來自 Synopsys公司的Design Compiler 、 Physical Compiler 、 Test Compil er、 Power
Compiler 、 fpga Compiler、TetraMAX⑧和DesignWare㊣。 在IC設計流程的物理實現(xiàn)階段期間,布置和布線機構206接收作為輸入的網(wǎng)表 212,并生成物理實現(xiàn)214。通過拓撲優(yōu)化機構202對電路設計208的邏輯拓撲作出的修改 有效地增加了布置和布線機構206可以從網(wǎng)表212生成物理實現(xiàn)214的可能性。在一些實 施例中,布置和布線機構206可以通過現(xiàn)有的EDA軟件產(chǎn)品實現(xiàn),包括來自Synopsys公司 的AstroTM和IC Compiler產(chǎn)品。 積和邏輯結(jié)構 積和(SoP)邏輯結(jié)構通常用于實現(xiàn)析取范式的布爾表達式。最小項(即,布爾表達式中的積)通常使用布爾與(AND)邏輯門實現(xiàn),并且通常使用多個布爾或邏輯門將該表 達式的最小項組合成邏輯和。 一些應用,包括只讀存儲器(ROM)器件,實現(xiàn)多個的大SoP邏 輯結(jié)構,這些大SoP邏輯結(jié)構基于一組公共的最小項(即,關聯(lián)布爾或樹)。如果關聯(lián)布爾 或邏輯樹不實現(xiàn)對應于最小項的公共排序的信號負載結(jié)構,則在布爾與邏輯門與布爾或邏 輯門之間的互連會造成布線擁塞。 圖3A圖示了根據(jù)本實用新型實施例的造成布線擁塞的、用于多個關聯(lián)SoP邏輯樹 的邏輯結(jié)構300。邏輯結(jié)構300包括三個邏輯級,其中第一邏輯級包括多個布爾與門,第二 至第四邏輯級通過多個關聯(lián)的布爾或邏輯樹實現(xiàn)。更具體而言,在第一邏輯級的信號源和 第二邏輯級的信號負載之間的一組互連造成不期望的大量交叉,這造成第一和第二邏輯級 之間的布線擁塞。類似地,在第二邏輯級的信號源和第三邏輯級的信號負載之間的一組互 連造成不期望的大量交叉,這造成第二和第三邏輯級之間的布線擁塞。 邏輯結(jié)構300內(nèi)的關聯(lián)布爾或邏輯樹的邏輯結(jié)構造成通過重置邏輯單元的布置 無法緩解的布線擁塞的類型。換言之,重置布爾與邏輯門和布爾或邏輯門將不會減少交叉 數(shù)量。在一些實施例中,拓撲優(yōu)化機構通過基于最小項的公共排序構建用于邏輯結(jié)構的關 聯(lián)布爾或邏輯樹來優(yōu)化關聯(lián)SoP邏輯結(jié)構。為此,拓撲優(yōu)化機構可以構建用于給定布爾邏 輯表達式的SoP邏輯結(jié)構,其保持了一組最小項的給定排序。 圖3B圖示了根據(jù)本實用新型實施例的被劃分成SoP邏輯結(jié)構320的最小項表 310。在一些實施例中,拓撲優(yōu)化機構通過先將M個最小項的表(例如,最小項表310)劃分 成最多P個分區(qū)(例如,分區(qū)321-324),并針對相應分區(qū)生成SoP邏輯結(jié)構,從而構建SoP 邏輯結(jié)構320。然后,拓撲優(yōu)化機構通過使用布爾或邏輯門325組合分區(qū)321-324的SoP結(jié) 構來完成優(yōu)化的SoP邏輯結(jié)構320。在一些實施例中,P個分區(qū)中的相應最小項分區(qū)用來構 建M/P個最小項的SoP邏輯結(jié)構,其中第一分區(qū)的最小項與第二分區(qū)不相交。在一些實施 例中,表310中的最小項的順序?qū)谟糜诙鄠€關聯(lián)SoP邏輯結(jié)構的最小項的排序。 圖3C圖示了根據(jù)本實用新型實施例的已被優(yōu)化從而緩和布線擁塞的、用于多個 關聯(lián)SoP邏輯樹的邏輯結(jié)構330。邏輯結(jié)構330包括三個邏輯級,其中第一邏輯級包括多個 布爾與門,第二至第四邏輯級包括多個布爾或門。更具體而言,在第一邏輯級的信號源和第 二邏輯級的信號負載之間的一組互連使交叉數(shù)量最小化,這緩和了第一和第二邏輯級之間 的布線擁塞。類似地,在第二邏輯級的信號源和第三邏輯級的信號負載之間的一組互連使 交叉數(shù)量最小化,這緩和了第二和第三邏輯級之間的布線擁塞。注意到,在邏輯結(jié)構330中 的交叉數(shù)量相對于圖3A的邏輯結(jié)構300中的交叉數(shù)量大大降低。 圖3D圖示了根據(jù)本實用新型實施例的用于構建優(yōu)化的SoP邏輯結(jié)構的過程。系 統(tǒng)開始于確定用于SoP邏輯結(jié)構的最小項的表(操作342)。接著,系統(tǒng)將最小項的表劃分 成最多k個組(操作344)。然后,針對相應組(操作345),系統(tǒng)構建SoP邏輯結(jié)構(操作 346)。然后系統(tǒng)使用布爾或邏輯結(jié)構連接來自用于分區(qū)的SoP邏輯結(jié)構的輸出(操作348)。 并行高扇出緩沖器樹 通常IC設計中的多個節(jié)點驅(qū)動一組公共的輸出負載。該負載結(jié)構稱為并行高扇 出網(wǎng)表。對于這些情形,邏輯合成系統(tǒng)可以構建多個并行緩沖器樹來驅(qū)動扇出節(jié)點的輸出 負載。如果緩沖器樹實現(xiàn)不對應于輸出負載的排序的結(jié)構,則在緩沖器樹的輸出和輸出負 載之間的互連會造成布線擁塞。[0083] 圖4A圖示了根據(jù)本實用新型實施例的造成布線擁塞的、用于多個并行高扇出緩 沖器樹410的邏輯結(jié)構。并行緩沖器樹410驅(qū)動多個輸出負載412。更具體而言,在每個緩 沖器樹的輸出和輸出負載412之間的一組互連造成不期望的大量交叉,這造成在并行緩沖 器樹410和輸出負載412之間的布線擁塞。 并行緩沖器樹410的緩沖器樹結(jié)構造成通過重置緩沖器的布置或者輸出負載412 的布置無法緩解的布線擁塞的類型。注意到,對于圖4A的示例性圖示,相應緩沖器樹驅(qū)動 輸出負載412的每個節(jié)點。在一些實施例中,拓撲優(yōu)化機構通過利用與輸出負載412的布 置順序匹配的輸出節(jié)點順序構建并行高扇出緩沖器樹,來優(yōu)化并行高扇出緩沖器樹。 圖4B圖示了根據(jù)本實用新型實施例的已被優(yōu)化從而緩和布線擁塞的多個并行緩 沖器樹420。并行緩沖器樹420驅(qū)動多個輸出負載430。更具體而言,在每個緩沖器樹的輸 出和輸出負載430之間的一組互連使交叉數(shù)量最小化,這緩和了在并行緩沖器樹420與輸 出負載430之間的布線擁塞。注意到,在并行緩沖器樹420與輸出負載430之間的交叉數(shù) 量大大低于圖4A中的并行緩沖器樹410與輸出負載412之間的交叉數(shù)量。 在一些實施例中,拓撲優(yōu)化機構通過先將一組輸出負載劃分成最多P個分區(qū)(例 如,分區(qū)432-436),并針對相應分區(qū)生成一組并行緩沖器(例如,并行緩沖器424-428),從 而構建優(yōu)化的并行緩沖器樹結(jié)構420。然后,拓撲優(yōu)化機構通過將至該組并行緩沖器(例 如,并行緩沖器424-428)的輸入耦合到對應的一組輸入源來完成優(yōu)化的并行緩沖器樹結(jié) 構420。在這些實施例的一些變形中,系統(tǒng)可以將相應緩沖器(例如,并行緩沖器424中的 緩沖器)的輸入耦合到對應輸入緩沖器(例如,并行緩沖器422中的對應緩沖器)的輸出, 并將該對應輸入緩沖器的輸入耦合到對應輸入源。 g用器控制信號緩沖 大復用器通常實現(xiàn)為復用器樹,并且用于大復用器的控制信號可以具有在復用器 樹上的高扇出。對于這些情形,邏輯合成系統(tǒng)可以構建緩沖器樹來驅(qū)動復用器樹的控制信 號負載。如果緩沖器樹實現(xiàn)不對應于控制信號負載的排序的信號源結(jié)構,則在緩沖器樹的 輸出和信號負載之間的互連會造成不期望的大量交叉,這會造成布線擁塞。 圖5A圖示了根據(jù)本實用新型實施例的在緩沖器樹510和復用器樹512之間的布 線擁塞。更具體而言,在緩沖器樹510和復用器樹512的控制信號負載之間的一組互連造 成不期望的在互連之間的大量交叉,這會造成在緩沖器樹510和復用器樹512之間的布線 擁塞。 用于緩沖器樹510的結(jié)構造成通過重置緩沖器的布置或者復用器樹512的各個復 用器的布置無法緩解的布線擁塞的類型。在一些實施例中,拓撲優(yōu)化機構通過利用與目標 復用器樹的控制信號負載的排序匹配的輸出節(jié)點順序構建緩沖器樹,從而優(yōu)化緩沖器樹。 圖5B圖示了根據(jù)本實用新型實施例的已被優(yōu)化從而緩和布線擁塞的緩沖器樹 520。更具體而言,在緩沖器樹520和復用器樹530的控制信號負載之間的一組互連使交叉 數(shù)量最小化,這緩和了在緩沖器樹520和復用器樹530之間的布線擁塞。注意到,在緩沖器 樹520和復用器樹530之間的交叉數(shù)量大大低于在緩沖器樹510和復用器樹512之間的交 叉數(shù)量。 在一些實施例中,拓撲優(yōu)化機構通過先選擇復用器樹530的1級邏輯,并通過對所 選擇的邏輯執(zhí)行最小切割劃分(min-cutpartitioning)來將所選擇的邏輯劃分成最多P個分區(qū)(例如,分區(qū)532-538),從而構建優(yōu)化的緩沖器樹520。接著,拓撲優(yōu)化機構針對相應 分區(qū)(例如,分區(qū)532)生成緩沖器,將該緩沖器的輸出信號耦合到該分區(qū)的信號負載(即, 復用器樹的控制信號),并通過將至該組緩沖器(例如,緩沖器523-526)的輸入耦合到控 制信號源來完成優(yōu)化的緩沖器樹520。在這些實施例的一些變形中,系統(tǒng)可以將相應緩沖 器(例如,緩沖器523)的輸入耦合到輸入緩沖器(例如,緩沖器522)的輸出,并將該輸入 緩沖器的輸入耦合到控制信號源。 共享邏輯結(jié)構 圖6A圖示了根據(jù)本實用新型實施例的在長距離上共享邏輯的邏輯結(jié)構600。共享 邏輯602接受少量信號作為輸入,并提供相對多個的信號作為輸出(例如,共享信號603) 以驅(qū)動多個信號負載(例如,信號負載604-618)。更具體而言,信號負載604-618可以離開 共享邏輯602在長距離上存在,并且不可能將信號負載604-618置于IC的物理實現(xiàn)中共享 邏輯602局部的區(qū)域中,因為信號負載604-618與不同邏輯模塊(例如,邏輯模塊620-624) 相關聯(lián)。這會由于在IC的物理實現(xiàn)當中在共享邏輯602和信號負載604-618之間對共享 信號603進行布線造成大量互連,而造成布線擁塞。 將共享邏輯602耦合到信號負載604-618的共享信號603造成通過重置共享邏輯 602的布置無法緩解的布線擁塞的類型,因為共享邏輯602只能在IC的物理實現(xiàn)上信號負 載604-618的子集的局部布置。在一些實施例中,拓撲優(yōu)化機構通過針對成組的局部信號 負載(即,在IC的物理實現(xiàn)上可以彼此布置在預定距離內(nèi)的信號負載)復制共享邏輯來優(yōu) 化共享邏輯結(jié)構。 圖6B圖示了根據(jù)本實用新型實施例的在局部區(qū)域上共享邏輯以緩和布線擁塞的 邏輯結(jié)構650。更具體而言,針對一組局部信號負載(例如,信號負載661-663)創(chuàng)建共享邏 輯(例如,共享邏輯652)的實例。該共享邏輯結(jié)構允許電路從共享邏輯獲益,而不遭受由 布線擁塞引起的面積開銷。 在一些實施例中,拓撲優(yōu)化機構通過先選擇共享邏輯結(jié)構650的1級邏輯,并通 過對所選擇的邏輯執(zhí)行最小切割劃分,將所選擇的邏輯劃分成最多P個分區(qū)(例如,分區(qū) 670-674),從而構建優(yōu)化的共享邏輯結(jié)構650。然后,拓撲優(yōu)化機構針對相應分區(qū)(例如,分 區(qū)670)生成共享邏輯(例如,共享邏輯652)的實例,并將該實例化的共享邏輯的輸出信號 耦合到相應分區(qū)的信號負載(例如,信號負載661-663)。 可測性設計(DFT)掃描鏈 圖7A圖示了根據(jù)本實用新型實施例的DFT掃描鏈陣列700。 DFT掃描鏈陣列700 包括解壓縮器702、多個掃描鏈(例如,掃描鏈704-710)以及壓縮器712。用于DFT掃描鏈 陣列700的理想物理實現(xiàn)使解壓縮器702和壓縮器712之間的布線最少化。換言之,針對 相應掃描鏈的寄存器布置并布線為局部寄存器組,掃描鏈布置為彼此緊密靠近,并且將解 壓縮器和壓縮器耦合到掃描鏈706-710的互連信號在長度上應為最小。 圖7B圖示了根據(jù)本實用新型實施例的用于多個掃描鏈的DFT解壓縮器的示例性 模塊級實現(xiàn)。該DFT解壓縮器的示例性實現(xiàn)包括與對應掃描鏈(例如,掃描鏈720)關聯(lián)的 多個局部解壓縮器(例如,局部解壓縮器722)。換言之,DFT解壓縮器實現(xiàn)為局部解壓縮器 的分布式集合。此外,局部解壓縮器的輸出信號驅(qū)動對應掃描鏈的輸入信號?;诜植际?解壓縮器的該DFT解壓縮器實現(xiàn)使得在DFT解壓縮器和掃描鏈之間的互連在長度上最小。[0101] 圖7C圖示了根據(jù)本實用新型實施例的在長距離上執(zhí)行邏輯共享的、用于DFT解壓 縮器的可能實現(xiàn)。DFT解壓縮器實現(xiàn)730是試圖將用于DFT解壓縮器的邏輯門數(shù)量最小化 的邏輯合成操作的結(jié)果,并且包括一組布爾與邏輯門,該組布爾與邏輯門實現(xiàn)用于該組分 布式局部解壓縮器的最小項。注意到,在用于布爾與邏輯門和布爾或邏輯門的輸出信號之 間的一組互連造成不期望數(shù)量的信號源在一組分布式信號負載之中共享,這會造成在布爾 與邏輯門和布爾或邏輯門之間的布線擁塞。在一些實施例中,拓撲優(yōu)化機構通過將邏輯共 享限制為彼此緊密靠近的成對掃描鏈,來優(yōu)化用于該組分布式局部解壓縮器的實現(xiàn)。 圖7D圖示了根據(jù)本實用新型實施例的緩和布線擁塞的、用于DFT解壓縮器的示例 性實現(xiàn)。拓撲優(yōu)化機構通過將可以共享邏輯的成對掃描鏈限制為那些彼此在預定接近程度 內(nèi)的成對掃描鏈,來實現(xiàn)邏輯的局部共享。在一個實施例中,DFT解壓縮器實現(xiàn)740通過以 下方式構建將掃描鏈劃分成P個分區(qū),并通過與用于分區(qū)Pi中其它掃描鏈的局部DFT解 壓縮器實現(xiàn)共享邏輯,來針對分區(qū)Pi中的相應掃描鏈生成DFT解壓縮器的局部實現(xiàn)。當優(yōu) 化用于解壓縮器實現(xiàn)740的實現(xiàn)時,拓撲優(yōu)化機構可以使分區(qū)742中的掃描鏈共享邏輯,可 以使分區(qū)744中的掃描鏈共享邏輯,并且可以使分區(qū)746中的掃描鏈共享邏輯。注意到,在 解壓縮器實現(xiàn)740中的一組分布式信號負載之中共享的信號源數(shù)量大大低于在圖7C的解 壓縮器實現(xiàn)730中的數(shù)量。 圖7E圖示了根據(jù)本實用新型實施例的在DFT壓縮器實現(xiàn)750和掃描鏈陣列752之 間的布線擁塞。DFT壓縮器實現(xiàn)750包括實現(xiàn)異或樹結(jié)構的多個異或邏輯門,其中異或邏輯 門的輸入信號耦合到掃描鏈陣列的輸出信號。更具體而言,在用于DFT壓縮器實現(xiàn)750的 輸入信號和掃描鏈陣列752的輸出信號之間的一組互連造成不期望的大量交叉,這會造成 在DFT壓縮器實現(xiàn)750和掃描鏈陣列752之間的布線擁塞。 用于DFT壓縮器實現(xiàn)750的結(jié)構造成通過重置異或邏輯門的布置或者掃描鏈陣列 752中掃描鏈的排序無法緩解的布線擁塞的類型。此外,不希望重置掃描鏈陣列752中掃描 鏈的排序,因為這樣做會引起用于DFT解壓縮器實現(xiàn)的現(xiàn)有實現(xiàn)在比期望距離更長的距離 上共享邏輯。在一些實施例中,拓撲優(yōu)化機構通過利用與掃描鏈陣列752的輸出信號的排 序匹配的輸出節(jié)點順序重構異或邏輯樹,從而優(yōu)化DFT壓縮器實現(xiàn)750。 圖7F圖示了根據(jù)本實用新型實施例的已被優(yōu)化從而緩和布線擁塞的、用于DFT壓 縮器的示例性實現(xiàn)。DFT壓縮器實現(xiàn)760包括實現(xiàn)異或樹結(jié)構的多個異或邏輯門,其中異或 邏輯門的輸入信號耦合到掃描鏈陣列的輸出信號。更具體而言,在用于DFT壓縮器實現(xiàn)760 的輸入信號與掃描鏈陣列762的輸出信號之間的一組互連使交叉數(shù)量最小化,這緩和了在 DFT壓縮器實現(xiàn)760和掃描鏈陣列762之間的布線擁塞。注意到,在掃描鏈陣列762和壓縮 器實現(xiàn)760之間的交叉數(shù)量大大低于在圖7E的掃描鏈陣列752和壓縮器實現(xiàn)750之間的 交叉數(shù)量。 在一些實施例中,拓撲優(yōu)化機構通過針對掃描鏈陣列752中的一組掃描鏈確定布
置順序,并使用與異或邏輯樹的輸入信號的排序匹配的、來自掃描鏈陣列的輸出信號的排
序來構建用于DFT壓縮器的異或邏輯樹,從而構建優(yōu)化的DFT壓縮器實現(xiàn)760。換言之,拓
撲優(yōu)化機構構建優(yōu)化的DFT壓縮器實現(xiàn)760,其中異或邏輯樹的給定輸入邏輯門是一對相
鄰DFT掃描鏈的輸出負載。 g用器和只i賣存儲器(ROM)結(jié)構[0108] 圖8A圖示了根據(jù)本實用新型實施例的ROM 800。 ROM 800可能會合成在會由于邏 輯共享造成布線擁塞的電路結(jié)構中。更具體而言,ROM 800可以使用多個關聯(lián)SoP邏輯結(jié) 構實現(xiàn),其中ROM 800的給定輸出通過對應的SoP邏輯結(jié)構實現(xiàn)。這會造成如圖3A所示且 在對應段落中描述的布線擁塞。在一些實施例中,拓撲優(yōu)化機構通過使用香農(nóng)(Shannon) 分解將ROM 800劃分成P = 2k個更小的ROM,從而優(yōu)化用于ROM 800的實現(xiàn),其中k為正整 數(shù)。在這些實施例的一些變形中,拓撲優(yōu)化機構將ROM 800劃分成四個更小的ROM。 圖8B圖示了根據(jù)本實用新型實施例的緩和布線擁塞的示例性R0M實現(xiàn)810。更具 體而言,ROM實現(xiàn)810的劃分結(jié)構利用分級結(jié)構,該分級結(jié)構防止邏輯合成機構實現(xiàn)在ROM 分區(qū)之間的邏輯共享,由此緩和布線擁塞。 R0M實現(xiàn)810包括P = 2k個R0M(例如,R0M 812-818)以及P路復用器820。來自 相應ROM(例如,ROM 812)的輸出耦合到復用器820的對應輸入端口 ,并且復用器820產(chǎn)生 數(shù)據(jù)輸出826,該數(shù)據(jù)輸出826對應于R0M 800的數(shù)據(jù)輸出804。在一些實施例中,用于ROM 812-818的地址輸入822耦合到N位地址矢量的最高有效的N_k位,并且復用器820的選擇 輸入824耦合到N位地址矢量的最低有效的k位。在其它實施例中,用于ROM 812-818的 地址輸入822耦合到N位地址矢量的最低有效的N-k位,并且復用器820的選擇輸入824 耦合到N位地址矢量的最高有效的k位。 圖9A圖示了根據(jù)本實用新型實施例的復用器900。復用器900包括M位的數(shù)據(jù)輸 入902和N位的選擇輸入904。復用器900可能會合成到會由于邏輯共享造成布線擁塞的 電路結(jié)構中。更具體而言,復用器900可以使用高扇出緩沖器樹來實現(xiàn),這會造成如圖5A所 示且在對應段落中描述的布線擁塞。在一些實施例中,拓撲優(yōu)化機構通過將復用器900劃 分成P = 2k個更小的復用器來優(yōu)化用于復用器900的實現(xiàn),其中k為正整數(shù)。在這些實施 例的一些變形中,拓撲優(yōu)化機構將復用器900劃分成四個更小的復用器。 圖9B圖示了根據(jù)本實用新型實施例的緩和布線擁塞的示例性復用器實現(xiàn)910。更 具體而言,復用器實現(xiàn)910的劃分結(jié)構利用分級結(jié)構,該分級結(jié)構防止邏輯合成機構實現(xiàn) 高扇出緩沖器樹,由此緩和布線擁塞。 復用器實現(xiàn)910包括P二2k個復用器分區(qū)(例如,復用器912-918)以及P路輸出 復用器920。 M位數(shù)據(jù)矢量(例如,數(shù)據(jù)輸入902)劃分成P組數(shù)據(jù)輸入位,其中給定組(例 如,數(shù)據(jù)輸入922)耦合到用于對應復用器分區(qū)(例如,復用器912)的輸入端口。此外,來 自相應復用器分區(qū)的輸出耦合到復用器920的對應輸入端口,并且復用器920產(chǎn)生數(shù)據(jù)輸 出928,該數(shù)據(jù)輸出928對應于復用器900的數(shù)據(jù)輸出906。在一些實施例中,用于復用器 912-918的選擇輸入924耦合到選擇輸入904的最高有效的N-k位,并且復用器920的選擇 輸入926耦合到選擇輸入904的最低有效的k位。在其它實施例中,用于復用器912-918 的選擇輸入924耦合到選擇輸入904的最低有效的N-k位,并且復用器920的選擇輸入926 耦合到選擇輸入904的最高有效的k位。 i十算機系統(tǒng)和設備 圖10圖示了根據(jù)本實用新型實施例的有利于在邏輯設計階段期間優(yōu)化電路設計 以減少在布置和布線階段期間的布線擁塞的示例性計算機系統(tǒng)1002。計算機系統(tǒng)1002包 括處理器1004、存儲器1006以及存儲設備1008。此外,計算機系統(tǒng)1002可以耦合到顯示 設備1010和輸入設備1012。[0116] 存儲設備1008存儲操作系統(tǒng)1014、邏輯合成系統(tǒng)1016、優(yōu)化邏輯拓撲1026以及 網(wǎng)表1028。邏輯合成系統(tǒng)1016包括圖形用戶界面(GUI) 1018、拓撲優(yōu)化機構1020以及邏 輯合成機構1022。 在操作期間,邏輯合成系統(tǒng)1016從存儲設備1008加載到存儲器1006中并由處理 器1004執(zhí)行。邏輯合成系統(tǒng)1006將電路設計1024作為輸入,并使用拓撲優(yōu)化機構1020 以及邏輯合成機構1022來生成網(wǎng)表1028,該網(wǎng)表1028可以緩和在布置和布線階段期間的 布線擁塞。 圖11是根據(jù)本實用新型的實施例的用于在邏輯合成階段期間優(yōu)化電路設計以減 少在布置和布線階段期間的布線擁塞的設備的示意圖。該設備1100包括識別裝置1101, 被配置用于識別所述電路設計中的第一電路結(jié)構,其中所述第一電路結(jié)構包括在第一組信 號源和第一組信號負載之間的第一組互連,其中所述第一組互連在所述第一電路結(jié)構中造 成第一數(shù)量的交叉,且其中所述第一數(shù)量的交叉預期會造成在所述布置和布線階段期間的 布線擁塞;生成裝置1102,被配置用于生成功能上與所述第一電路結(jié)構等同的第二電路結(jié) 構,其中所述第二電路結(jié)構包括在第二組信號源和第二組信號負載之間的第二組互連,其 中所述第二組互連在所述第二電路結(jié)構中造成第二數(shù)量的交叉,所述第二數(shù)量的交叉大大 少于所述第一數(shù)量的交叉;以及代替裝置1103,備配置用于用所述第二電路結(jié)構代替所述 電路設計中的所述第一電路結(jié)構,由此大大減少所述電路設計中的交叉,這又減少在所述 布置和布線階段期間的布線擁塞。 在一個實施例中,所述識別裝置1101包括確定裝置,被配置用于確定所述第一 電路結(jié)構是否實現(xiàn)一組積和表達式,其中所述一組積和表達式與一組公共的M個最小項相 關聯(lián),且其中相應積和表達式是最多M個最小項的邏輯和;以及其中所述生成裝置1102包 括排序確定裝置,用于針對所述一組M個最小項來確定排序;最小項表生成裝置,用于針 對相應積和表達式生成最小項表,其中所述最小項表包括與相應積和表達式相關聯(lián)的一組 最小項;劃分裝置,用于將所述最小項表劃分成P個表分區(qū),其中第一分區(qū)的最小項與第二 分區(qū)不相交;積和電路結(jié)構生成裝置,用于針對相應表分區(qū)生成積和電路結(jié)構;以及布爾 或OR邏輯結(jié)構生成裝置,用于針對相應積和表達式生成布爾或OR邏輯結(jié)構,其中所述布爾 或邏輯結(jié)構組合來自所述P個表分區(qū)的積和電路結(jié)構的輸出。 在一個實施例中,所述識別裝置1101包括確定裝置,用于確定所述第一電路結(jié) 構是否包括用于一個或更多個信號源的至少M個信號負載;以及其中所述生成裝置1102包 括選擇裝置,用于選擇與所述M個信號負載相關聯(lián)的1級邏輯;劃分裝置,用于通過對所 選擇的邏輯執(zhí)行最小切割劃分,將所選擇的邏輯劃分成最多P個分區(qū);以及針對相應信號 源第一耦合裝置,用于將相應分區(qū)的輸入信號耦合到對應緩沖器的輸出;以及第二耦合 裝置,用于將所述對應緩沖器的輸入耦合到相應信號源。 在一個實施例中,所述識別裝置1101包括確定裝置,用于確定所述第一電路結(jié) 構是否實現(xiàn)只讀存儲器ROM,其中所述ROM具有M位的地址輸入;以及其中所述生成裝置 1102包括劃分裝置,被配置用于將所述第一電路結(jié)構劃分成最多P二2k個分區(qū),其中相應 分區(qū)具有M-k位的地址輸入;以及耦合裝置,被配置用于將相應分區(qū)的輸出信號耦合到P路
復用器的對應入口 ,其中所述P路復用器具有k位的選擇輸入。
在一個實施例中,所述識別裝置1101包括確定裝置,用于確定所述第一電路結(jié)構是否是復用器,其中所述復用器具有最多N二 2M個輸入信號源,且具有M位的選擇輸入;以及其中所述生成裝置1102包括劃分裝置,用于將所述第一電路結(jié)構劃分成最多P = 2k個分區(qū),其中相應分區(qū)具有M-k位的選擇輸入;以及耦合裝置,用于將相應分區(qū)的輸出信號
耦合到P路復用器的對應入口 ,其中所述P路復用器具有k位的選擇輸入。 在一個實施例中,所述識別裝置1101包括確定裝置,用于確定所述電路結(jié)構是否由至少M個信號負載共享;以及其中所述生成裝置1102包括選擇裝置,用于選擇與所述M個信號負載相關的1級邏輯;劃分裝置,用于通過對所選擇的邏輯執(zhí)行最小切割劃分,將所選擇的邏輯劃分成最多P個分區(qū);以及產(chǎn)生裝置,用于產(chǎn)生用于信號負載的相應分區(qū)的所述第一電路結(jié)構的實例。 在一個實施例中,所述識別裝置1101包括確定裝置,被配置用于確定所述第一電路結(jié)構是否實現(xiàn)用于M個可測性設計(DFT)掃描鏈的解壓縮邏輯,其中所述解壓縮邏輯產(chǎn)生一組輸出信號,其中相應輸出信號驅(qū)動對應的DFT掃描鏈,且其中相應DFT掃描鏈由寄存器鏈實現(xiàn);以及其中所述生成裝置1102包括劃分裝置,被配置用于將所述M個掃描鏈劃分成P個掃描鏈分區(qū);以及生成裝置,被配置用于通過與用于分區(qū)Pi中其它掃描鏈的局部DFT解壓縮器實現(xiàn)共享邏輯,針對分區(qū)Pi中的相應DFT掃描鏈生成DFT解壓縮器的局部實現(xiàn)。 在一個實施例中,所述識別裝置1101包括確定裝置,用于確定所述第一電路結(jié)構是否實現(xiàn)用于M個可測性設計DFT掃描鏈的壓縮邏輯,其中相應DFT掃描鏈由寄存器鏈實現(xiàn),其中所述壓縮邏輯包括M個輸入信號負載,且其中所述壓縮邏輯產(chǎn)生用于所述M個DFT掃描鏈的壓縮信號輸出;以及其中所述生成裝置1102包括第一確定裝置,用于基于所述M個DFT掃描鏈的布置順序確定所述M個DFT掃描鏈的排序;第二確定裝置,用于基于所述壓縮邏輯的M個信號負載的布置順序來確定所述M個信號負載的排序;以及耦合裝置,用于基于所述壓縮邏輯的M個輸入信號負載和M個DFT掃描鏈的對應排序,將所述M個DFT掃描鏈的輸出信號耦合到所述壓縮邏輯的M個輸入信號負載。 僅出于示例和描述的目的呈現(xiàn)了對本實用新型實施例的前文描述。本意并非讓它們窮舉本實用新型或者使本實用新型限于公開的形式。因而,本領域技術人員將清楚許多修改和變形。此外,本意并非讓上述公開內(nèi)容限制本實用新型。本實用新型的范圍由所附權利要求書限定。
權利要求一種用于在邏輯合成階段期間優(yōu)化電路設計以減少在布置和布線階段期間的布線擁塞的設備,其特征在于包括識別裝置,被配置用于識別所述電路設計中的第一電路結(jié)構,其中所述第一電路結(jié)構包括在第一組信號源和第一組信號負載之間的第一組互連,其中所述第一組互連在所述第一電路結(jié)構中造成第一數(shù)量的交叉,且其中所述第一數(shù)量的交叉預期會造成在所述布置和布線階段期間的布線擁塞;生成裝置,被配置用于生成功能上與所述第一電路結(jié)構等同的第二電路結(jié)構,其中所述第二電路結(jié)構包括在第二組信號源和第二組信號負載之間的第二組互連,其中所述第二組互連在所述第二電路結(jié)構中造成第二數(shù)量的交叉,所述第二數(shù)量的交叉大大少于 所述第一數(shù)量的交叉;以及代替裝置,備配置用于用所述第二電路結(jié)構代替所述電路設計中的所述第一電路結(jié)構,由此大大減少所述電路設計中的交叉,這又減少在所述布置和布線階段期間的布線擁塞。
2. 如權利要求1的設備,其特征在于,所述識別裝置包括確定裝置,被配置用于確定 所述第一電路結(jié)構是否實現(xiàn)一組積和表達式,其中所述一組積和表達式與一組公共的M個 最小項相關聯(lián),且其中相應積和表達式是最多M個最小項的邏輯和;以及其中所述生成裝置包括排序確定裝置,用于針對所述一組M個最小項來確定排序;最小項表生成裝置,用于針對相應積和表達式生成最小項表,其中所述最小項表包括 與相應積和表達式相關聯(lián)的一組最小項;劃分裝置,用于將所述最小項表劃分成P個表分區(qū),其中第一分區(qū)的最小項與第二分 區(qū)不相交;積和電路結(jié)構生成裝置,用于針對相應表分區(qū)生成積和電路結(jié)構;以及 布爾或OR邏輯結(jié)構生成裝置,用于針對相應積和表達式生成布爾或OR邏輯結(jié)構,其中 所述布爾或邏輯結(jié)構組合來自所述P個表分區(qū)的積和電路結(jié)構的輸出。
3. 如權利要求1的設備,其特征在于,所述識別裝置包括確定裝置,用于確定所述第 一電路結(jié)構是否包括用于一個或更多個信號源的至少M個信號負載;以及其中所述生成裝置包括選擇裝置,用于選擇與所述M個信號負載相關聯(lián)的1級邏輯;劃分裝置,用于通過對所選擇的邏輯執(zhí)行最小切割劃分,將所選擇的邏輯劃分成最多P 個分區(qū);以及針對相應信號源第一耦合裝置,用于將相應分區(qū)的輸入信號耦合到對應緩沖器的輸出;以及 第二耦合裝置,用于將所述對應緩沖器的輸入耦合到相應信號源。
4. 如權利要求1的設備,其特征在于,所述識別裝置包括確定裝置,用于確定所述第 一電路結(jié)構是否實現(xiàn)只讀存儲器R0M,其中所述ROM具有M位的地址輸入;以及其中所述生成裝置包括劃分裝置,被配置用于將所述第一電路結(jié)構劃分成最多P = 2k個分區(qū),其中相應分區(qū) 具有M-k位的地址輸入;以及耦合裝置,被配置用于將相應分區(qū)的輸出信號耦合到P路復用器的對應入口,其中所 述P路復用器具有k位的選擇輸入。
5. 如權利要求1的設備,其特征在于,所述識別裝置包括確定裝置,用于確定所述第一電路結(jié)構是否是復用器,其中所述復用器具有最多N = 2M個輸入信號源,且具有M位的 選擇輸入;以及其中所述生成裝置包括劃分裝置,用于將所述第一電路結(jié)構劃分成最多P二2k個分區(qū),其中相應分區(qū)具有M-k 位的選擇輸入;以及耦合裝置,用于將相應分區(qū)的輸出信號耦合到P路復用器的對應入口 ,其中所述P路復 用器具有k位的選擇輸入。
6. 如權利要求1的設備,其特征在于,所述識別裝置包括確定裝置,用于確定所述電路結(jié)構是否由至少M個信號負載共享;以及 其中所述生成裝置包括選擇裝置,用于選擇與所述M個信號負載相關的1級邏輯;劃分裝置,用于通過對所選擇的邏輯執(zhí)行最小切割劃分,將所選擇的邏輯劃分成最多P 個分區(qū);以及產(chǎn)生裝置,用于產(chǎn)生用于信號負載的相應分區(qū)的所述第一電路結(jié)構的實例。
7. 如權利要求1的設備,其特征在于,所述識別裝置包括確定裝置,被配置用于確定所述第一電路結(jié)構是否實現(xiàn)用于M個可測性設計(DFT)掃 描鏈的解壓縮邏輯,其中所述解壓縮邏輯產(chǎn)生一組輸出信號,其中相應輸出信號驅(qū)動對應 的DFT掃描鏈,且其中相應DFT掃描鏈由寄存器鏈實現(xiàn);以及其中所述生成裝置包括劃分裝置,被配置用于將所述M個掃描鏈劃分成P個掃描鏈分區(qū);以及 生成裝置,被配置用于通過與用于分區(qū)&中其它掃描鏈的局部DFT解壓縮器實現(xiàn)共享 邏輯,針對分區(qū)Pi中的相應DFT掃描鏈生成DFT解壓縮器的局部實現(xiàn)。
8. 如權利要求1的設備,其中所述識別裝置包括確定裝置,用于確定所述第一電路結(jié)構是否實現(xiàn)用于M個可測性設計DFT掃描鏈的壓 縮邏輯,其中相應DFT掃描鏈由寄存器鏈實現(xiàn),其中所述壓縮邏輯包括M個輸入信號負載, 且其中所述壓縮邏輯產(chǎn)生用于所述M個DFT掃描鏈的壓縮信號輸出;以及其中所述生成裝置包括第一確定裝置,用于基于所述M個DFT掃描鏈的布置順序確定所述M個DFT掃描鏈的 排序;第二確定裝置,用于基于所述壓縮邏輯的M個信號負載的布置順序來確定所述M個信 號負載的排序;以及耦合裝置,用于基于所述壓縮邏輯的M個輸入信號負載和M個DFT掃描鏈的對應排序, 將所述M個DFT掃描鏈的輸出信號耦合到所述壓縮邏輯的M個輸入信號負載。
專利摘要本實用新型的一個實施例提供一種用于在邏輯合成階段期間優(yōu)化電路設計以減少在布置和布線階段期間的布線擁塞的設備。該設備可以包括識別裝置,用于識別所述電路設計中的第一電路結(jié)構,其中所述第一電路結(jié)構包括在第一組信號源和第一組信號負載之間的第一組互連,其中所述第一組互連在所述第一電路結(jié)構中造成第一數(shù)量的交叉,且其中所述第一數(shù)量的交叉預期會造成在所述布置和布線階段期間的布線擁塞;生成裝置,用于生成功能上與所述第一電路結(jié)構等同的第二電路結(jié)構;以及代替裝置,備配置用于用所述第二電路結(jié)構代替所述電路設計中的所述第一電路結(jié)構。
文檔編號G06F17/50GK201508554SQ20092026798
公開日2010年6月16日 申請日期2009年10月26日 優(yōu)先權日2008年11月4日
發(fā)明者J·K·阿達姆斯, 王青舟, 肖勇 申請人:新思科技有限公司