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