本發(fā)明涉及集成電路設(shè)計(jì),尤其涉及一種基于晶體管層設(shè)計(jì)提升集成電路效能的設(shè)計(jì)方法、系統(tǒng)及介質(zhì)。
背景技術(shù):
1、專(zhuān)用集成芯片(application?specific?integrated?circuit,asic)是精心設(shè)計(jì)的特殊類(lèi)型集成電路(integrated?circuit,ic),可在電子系統(tǒng)中執(zhí)行特定功能,它的設(shè)計(jì)流程包含:確定產(chǎn)品規(guī)格、生成暫存器傳輸級(jí)(register-transfer?level,rtl)文件、預(yù)模擬、電路合成、生成邏輯門(mén)網(wǎng)表、放置、布線(xiàn),及產(chǎn)出gds文件提供fab流片。
2、目前集成電路的設(shè)計(jì)可以通過(guò)電子設(shè)計(jì)自動(dòng)化(electronic?designautomation,eda)設(shè)計(jì)來(lái)完成。基于eda設(shè)計(jì)的許多eda工具/軟件也運(yùn)用而生,電子設(shè)計(jì)自動(dòng)化逐漸開(kāi)始商業(yè)化,數(shù)字集成電路的設(shè)計(jì)也逐漸模塊化。所述eda工具提供產(chǎn)生、優(yōu)化,以及驗(yàn)證集成電路的標(biāo)準(zhǔn)單元布局設(shè)計(jì),同時(shí)確保符合標(biāo)準(zhǔn)單元布局設(shè)計(jì)及制造規(guī)范。
3、隨著自動(dòng)化技術(shù)及ai技術(shù)的快速發(fā)展,在集成電路設(shè)計(jì)方面,為了縮短設(shè)計(jì)時(shí)間,提高設(shè)計(jì)的正確性,越來(lái)越倚重eda工具。但eda工具是在商業(yè)化的考量下,選擇最不受限制于制程工藝或設(shè)計(jì)方法的方式提供設(shè)計(jì)。因此也犧牲了將部分設(shè)計(jì)最優(yōu)化的可能性。
4、以上背景技術(shù)內(nèi)容的公開(kāi)僅用于輔助理解本發(fā)明的發(fā)明構(gòu)思及技術(shù)方案,其并不必然屬于本技術(shù)的現(xiàn)有技術(shù),也不必然會(huì)給出技術(shù)教導(dǎo);在沒(méi)有明確的證據(jù)表明上述內(nèi)容在本技術(shù)的申請(qǐng)日之前已經(jīng)公開(kāi)的情況下,上述背景技術(shù)不應(yīng)當(dāng)用于評(píng)價(jià)本技術(shù)的新穎性和創(chuàng)造性。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的是提供一種基于晶體管層設(shè)計(jì)提升集成電路效能的設(shè)計(jì)方法、系統(tǒng)及介質(zhì),能夠在符合現(xiàn)有的eda設(shè)計(jì)流程基礎(chǔ)上設(shè)計(jì)得到效能更優(yōu)的集成電路。
2、為達(dá)到上述目的,本發(fā)明采用的技術(shù)方案如下:
3、一種基于晶體管層設(shè)計(jì)提升集成電路效能的設(shè)計(jì)方法,應(yīng)用于設(shè)計(jì)集成電路,所述方法包括以下步驟:
4、根據(jù)集成電路的設(shè)計(jì)目標(biāo),基于eda設(shè)計(jì)得到第一集成電路,所述第一集成電路包括多個(gè)功能區(qū)塊,所述功能區(qū)塊包括至少用于實(shí)現(xiàn)一個(gè)目標(biāo)功能的子電路;這一步驟通常由能夠運(yùn)行eda工具的處理器完成;
5、所述處理器響應(yīng)于一個(gè)或多個(gè)所述功能區(qū)塊被確定為目標(biāo)功能區(qū)塊,確定所述目標(biāo)功能區(qū)塊的輸入端和輸出端分別電連接的對(duì)象為目標(biāo)輸出端和目標(biāo)輸入端;
6、為所述目標(biāo)功能區(qū)塊匹配相應(yīng)的優(yōu)化功能區(qū)塊,所述優(yōu)化功能區(qū)塊包括的子電路與所述目標(biāo)功能區(qū)塊包括的子電路所實(shí)現(xiàn)的功能相同,并確定所述優(yōu)化功能區(qū)塊的輸入端和輸出端;
7、將所述第一集成電路中的所述目標(biāo)功能區(qū)塊替換為所述優(yōu)化功能區(qū)塊以得到第二集成電路,包括:刪除所述目標(biāo)功能區(qū)塊;將所述優(yōu)化功能區(qū)塊的輸入端與所述目標(biāo)輸出端電連接,并且將優(yōu)化功能區(qū)塊的輸出端與所述目標(biāo)輸入端電連接;
8、根據(jù)所述第二集成電路設(shè)計(jì)得到滿(mǎn)足所述設(shè)計(jì)目標(biāo)的目標(biāo)集成電路。
9、進(jìn)一步地,承前所述的任一技術(shù)方案或多個(gè)技術(shù)方案的組合,還包括通過(guò)以下方式確定所述目標(biāo)功能區(qū)塊:
10、響應(yīng)于所述第一集成電路中的一個(gè)或多個(gè)所述功能區(qū)塊被標(biāo)記,則確定被標(biāo)記的所述功能區(qū)塊為所述目標(biāo)功能區(qū)塊;可以采用人工的方式標(biāo)記所述功能區(qū)塊,也可以采用自動(dòng)地方式標(biāo)記所述功能區(qū)塊。
11、進(jìn)一步地,承前所述的任一技術(shù)方案或多個(gè)技術(shù)方案的組合,還包括通過(guò)以下方式確定所述目標(biāo)功能區(qū)塊:
12、預(yù)先建立優(yōu)化功能區(qū)塊庫(kù),所述優(yōu)化功能區(qū)塊庫(kù)中存儲(chǔ)有多個(gè)所述優(yōu)化功能區(qū)塊;
13、針對(duì)所述第一集成電路中的各個(gè)所述功能區(qū)塊,通過(guò)以下方式確定所述功能區(qū)塊是否為目標(biāo)功能區(qū)塊:
14、通過(guò)預(yù)設(shè)的規(guī)則,判斷所述優(yōu)化功能區(qū)塊庫(kù)中是否存在與所述功能區(qū)塊相對(duì)應(yīng)的所述優(yōu)化功能區(qū)塊,若存在,則確定所述功能區(qū)塊為目標(biāo)功能區(qū)塊;若不存在,則確定所述功能區(qū)塊不是所述目標(biāo)功能區(qū)塊。
15、進(jìn)一步地,承前所述的任一技術(shù)方案或多個(gè)技術(shù)方案的組合,通過(guò)預(yù)設(shè)的規(guī)則,判斷所述優(yōu)化功能區(qū)塊庫(kù)中是否存在與所述功能區(qū)塊相對(duì)應(yīng)的所述優(yōu)化功能區(qū)塊,包括:
16、每個(gè)所述優(yōu)化功能區(qū)塊配置有唯一的第一標(biāo)簽,所述第一標(biāo)簽為與所述優(yōu)化功能區(qū)塊的功能相對(duì)應(yīng);
17、每個(gè)所述功能區(qū)塊配置有唯一的第二標(biāo)簽,所述第二標(biāo)簽與所述功能區(qū)塊的功能相對(duì)應(yīng);
18、若一個(gè)所述功能區(qū)塊對(duì)應(yīng)的第二標(biāo)簽為多個(gè)所述第一標(biāo)簽中的一個(gè),則確定所述優(yōu)化功能區(qū)塊庫(kù)中存在與所述功能區(qū)塊相對(duì)應(yīng)的所述優(yōu)化功能區(qū)塊,并且確定所述第二標(biāo)簽對(duì)應(yīng)的所述功能區(qū)為所述目標(biāo)功能區(qū)塊,并確定所述第二標(biāo)簽對(duì)應(yīng)的所述優(yōu)化功能區(qū)塊為與所述目標(biāo)功能區(qū)塊相對(duì)應(yīng)的優(yōu)化功能區(qū)塊。
19、進(jìn)一步地,承前所述的任一技術(shù)方案或多個(gè)技術(shù)方案的組合,響應(yīng)于一個(gè)或多個(gè)所述功能區(qū)塊被確定為目標(biāo)功能區(qū)塊,包括:
20、通過(guò)人工的方式選擇并確定所述第一集成電路中的一個(gè)或多個(gè)所述功能區(qū)塊為所述目標(biāo)功能區(qū)塊;或者,
21、基于預(yù)設(shè)的規(guī)則將一個(gè)或多個(gè)所述功能區(qū)塊確定為所述目標(biāo)功能區(qū)塊,包括:針對(duì)每個(gè)功能模塊,確定其電路結(jié)構(gòu)中的晶體管層級(jí)數(shù)量,若所述晶體管層級(jí)數(shù)量超出預(yù)設(shè)的數(shù)量閾值,則進(jìn)一步判斷所述功能模塊能否采用更少的晶體管層級(jí)數(shù)量的電路替代,若可以,則確定所述功能模塊為所述目標(biāo)功能區(qū)塊。
22、進(jìn)一步地,承前所述的任一技術(shù)方案或多個(gè)技術(shù)方案的組合,還包括以下步驟:
23、若所述目標(biāo)功能區(qū)塊的輸入端和/或輸出端的數(shù)量為多個(gè),則為所述目標(biāo)功能區(qū)塊的每個(gè)輸入端配置唯一的第一編碼以及為所述目標(biāo)功能區(qū)塊的每個(gè)輸出端配置唯一的第二編碼,并且為與所述輸入端電連接的目標(biāo)輸出端配置所述第一編碼以及為與所述輸出端電連接的目標(biāo)輸入端配置所述第二編碼;
24、根據(jù)所述優(yōu)化功能區(qū)塊與所述目標(biāo)功能區(qū)塊的對(duì)應(yīng)關(guān)系,為所述優(yōu)化功能區(qū)塊的所述輸入端配置所述第一編碼、并且為所述優(yōu)化功能區(qū)塊的所述輸出端配置所述第二編碼;
25、在刪除所述目標(biāo)功能區(qū)塊后,將具有相同的所述第一編碼的所述優(yōu)化功能區(qū)塊的輸入端與所述目標(biāo)輸出端電連接,并且將具有相同的所述第一編碼的所述優(yōu)化功能區(qū)塊的輸出端與所述目標(biāo)輸入端電連接。
26、進(jìn)一步地,承前所述的任一技術(shù)方案或多個(gè)技術(shù)方案的組合,所述優(yōu)化功能區(qū)塊還包括時(shí)鐘平衡電路,所述時(shí)鐘平衡電路被配置為使所述優(yōu)化功能區(qū)塊與系統(tǒng)時(shí)鐘同步;
27、所述優(yōu)化功能區(qū)塊包括依次電連接的前級(jí)隔離電路、優(yōu)化電路和后級(jí)隔離電路,其中所述前級(jí)隔離電路和所述后級(jí)隔離電路構(gòu)成所述時(shí)鐘平衡電路。
28、進(jìn)一步地,承前所述的任一技術(shù)方案或多個(gè)技術(shù)方案的組合,所述前級(jí)隔離電路包括第一數(shù)據(jù)閂鎖模塊和抖動(dòng)仿真器,所述第一數(shù)據(jù)閂鎖模塊的輸入端被配置為所述優(yōu)化功能區(qū)塊的輸入端,所述抖動(dòng)仿真器與所述第一數(shù)據(jù)閂鎖模塊和系統(tǒng)時(shí)鐘分別電連接;
29、所述第一數(shù)據(jù)閂鎖模塊用于將前級(jí)信號(hào)和系統(tǒng)時(shí)鐘信號(hào)進(jìn)行鎖定以獲得第一輸入信號(hào)并輸出至所述優(yōu)化電路,所述前級(jí)信號(hào)為所述優(yōu)化功能區(qū)塊的輸入信號(hào);
30、所述抖動(dòng)仿真器用于獲取所述前級(jí)信號(hào)和系統(tǒng)時(shí)鐘信號(hào)并根據(jù)所述第一輸入信號(hào)的輸出時(shí)間節(jié)點(diǎn)而生成相應(yīng)相位的第一時(shí)鐘信號(hào)并輸出至所述優(yōu)化電路。
31、進(jìn)一步地,承前所述的任一技術(shù)方案或多個(gè)技術(shù)方案的組合,所述優(yōu)化電路為多米諾電路結(jié)構(gòu),其包括多個(gè)依次電連接的多米諾子電路;
32、所述前級(jí)隔離電路針對(duì)每個(gè)所述多米諾子電路生成相應(yīng)的相位時(shí)鐘信號(hào)并輸出至相應(yīng)的所述多米諾子電路。
33、進(jìn)一步地,承前所述的任一技術(shù)方案或多個(gè)技術(shù)方案的組合,所述后級(jí)隔離電路包括第二數(shù)據(jù)閂鎖模塊,所述第二數(shù)據(jù)閂鎖模塊的輸入信號(hào)包括后級(jí)信號(hào)和系統(tǒng)時(shí)鐘信號(hào),所述后級(jí)信號(hào)為所述優(yōu)化電路的輸出信號(hào),所述第二數(shù)據(jù)閂鎖模塊的輸出信號(hào)為與所述系統(tǒng)時(shí)鐘信號(hào)同步后的后級(jí)信號(hào)。
34、進(jìn)一步地,承前所述的任一技術(shù)方案或多個(gè)技術(shù)方案的組合,還包括對(duì)所述第二集成電路進(jìn)行apr時(shí)序平衡。
35、根據(jù)本發(fā)明的另一方面,本發(fā)明提供了一種基于晶體管層設(shè)計(jì)提升集成電路效能的設(shè)計(jì)系統(tǒng),所述系統(tǒng)被配置為基于eda設(shè)計(jì)得到第一集成電路,并利用如上任意一項(xiàng)所述的基于晶體管層設(shè)計(jì)提升集成電路效能的設(shè)計(jì)方法對(duì)所述第一集成電路進(jìn)行優(yōu)化以得到第二集成電路。
36、根據(jù)本發(fā)明的另一方面,本發(fā)明提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),用于存儲(chǔ)程序指令,所述程序指令被配置為調(diào)用而執(zhí)行如上任一項(xiàng)所述的方法的步驟。
37、本發(fā)明提供的技術(shù)方案帶來(lái)的有益效果如下:
38、a.?本發(fā)明能夠在高度依賴(lài)eda工具的集成電路設(shè)計(jì)環(huán)境下,引入優(yōu)化的電路設(shè)計(jì),用更優(yōu)的優(yōu)化功能區(qū)塊替換由eda工具生成的集成電路中的部分功能區(qū)塊即目標(biāo)功能區(qū)塊,進(jìn)而提高集成電路設(shè)計(jì)的品質(zhì)及其產(chǎn)品的效能,既能夠利用現(xiàn)有的eda工具的功能,又能夠達(dá)到時(shí)效性的要求,在如今高度競(jìng)爭(zhēng)的產(chǎn)業(yè)結(jié)構(gòu)下,利用此方法可以設(shè)計(jì)出更優(yōu)質(zhì)的集成電路產(chǎn)品;
39、b.?本發(fā)明提供了多種用于確定第一集成電路的功能區(qū)塊是否為目標(biāo)功能區(qū)塊的方法,包括人工方式、自動(dòng)方式,并且給出了具體地判斷功能區(qū)塊是否為目標(biāo)功能區(qū)塊的規(guī)則以及實(shí)施方式,兼容性高,能夠匹配不同的eda工具進(jìn)行應(yīng)用;
40、c.?本發(fā)明提出的基于晶體管層級(jí)設(shè)計(jì)提升集成電路效能的設(shè)計(jì)方法也考慮了系統(tǒng)時(shí)鐘的適配性問(wèn)題,通過(guò)在優(yōu)化功能區(qū)塊中設(shè)計(jì)前級(jí)隔離電路和后級(jí)隔離電路,使利用優(yōu)化功能區(qū)塊替換目標(biāo)功能區(qū)塊而得到第二集成電路滿(mǎn)足系統(tǒng)時(shí)鐘的適配性,不會(huì)因優(yōu)化功能區(qū)塊不匹配系統(tǒng)時(shí)鐘而出錯(cuò)。