本發(fā)明涉及芯片設(shè)計,具體是一種時序約束自動化的生成方法。
背景技術(shù):
1、在現(xiàn)代芯片設(shè)計中,時序約束的編寫是保證設(shè)計性能和可靠性的關(guān)鍵環(huán)節(jié)。隨著集成電路(ic)技術(shù)的進步,芯片設(shè)計的復(fù)雜性急劇增加?,F(xiàn)代芯片通常包含數(shù)十億個晶體管和多個時鐘域,導(dǎo)致時序約束的定義和管理變得更加復(fù)雜。為了確保這些復(fù)雜設(shè)計能夠在規(guī)定的時鐘頻率下正常工作,必須精確地編寫和管理時序約束;同時,現(xiàn)代芯片往往涉及多個時鐘域,每個時鐘域有不同的時鐘頻率和相位。這種設(shè)計增加了時序約束的復(fù)雜性,因為需要確保不同時鐘域之間的數(shù)據(jù)傳輸和交互不會導(dǎo)致時序錯誤。往往在大規(guī)模設(shè)計中,手動編寫和調(diào)整時序約束可能不夠高效,因此需要研究自動化工具和方法來實現(xiàn)時序閉合;再者,也需要考慮設(shè)計規(guī)則的復(fù)雜性,因為隨著設(shè)計規(guī)則(如時序約束、靜態(tài)時序分析等)的復(fù)雜性不斷增加,這要求設(shè)計團隊不僅要熟悉基本的約束編寫,還需要了解各種規(guī)則和限制,以便準(zhǔn)確地定義和管理時序約束;最后,也要滿足驗證和測試的需求,因為為了確保設(shè)計的可靠性和性能,時序約束的驗證和測試成為必要步驟。研究如何有效地驗證時序約束,確保設(shè)計在實際運行中不會出現(xiàn)問題,是當(dāng)前研究的一個重要方向??偟膩碚f,芯片設(shè)計中的時序約束編寫需要面對越來越復(fù)雜的設(shè)計挑戰(zhàn)。
2、現(xiàn)有技術(shù)中,時序約束的編寫一般包括如下兩種方法。
3、1?.手動編寫:1)基于時鐘樹結(jié)構(gòu),定義所有時鐘信號的屬性。這包括時鐘頻率、相位、占空比等;2)對于多時鐘系統(tǒng),往往需要定義時鐘組,指定哪些時鐘信號是相關(guān)的,以便正確處理時鐘之間的數(shù)據(jù)傳輸;3)定義跨時鐘域的時鐘;4)設(shè)置輸入/輸出延遲;5)?對于數(shù)據(jù)路徑需要多個時鐘周期才能完成傳輸?shù)那闆r,還需要定義多周期路徑約束;6)設(shè)置虛假路徑;7)以上完成手動編寫時序約束后,還需要采用gca?(galaxy?constraint?analyzer)工具來檢查這些約束是否正確,若錯誤,仍需手動進一步調(diào)整,直至滿足芯片設(shè)計要求;
4、當(dāng)前技術(shù)不足:該方法在一定程度上可以滿足時序約束的編寫,但是面對芯片設(shè)計復(fù)雜性的急劇增加,使得其缺點不言而喻;首先就是大量的時間消耗:主要是編寫和維護以及迭代繁瑣。因為手動編寫時序約束需要大量時間和精力,尤其是在設(shè)計復(fù)雜度高或設(shè)計變更頻繁的情況下,此外,每次設(shè)計變更后都需要重新檢查和調(diào)整時序約束,這可能導(dǎo)致設(shè)計迭代變得繁瑣;其次,手動編寫過程中容易出現(xiàn)拼寫錯誤、邏輯錯誤或遺漏,這可能導(dǎo)致時序問題或設(shè)計失效;同時對于大型或多時鐘域設(shè)計,手動管理和編寫時序約束可能變得非常復(fù)雜和困難。涉及多個時鐘域的約束也難度較大,因為需要準(zhǔn)確管理不同時鐘域間的時序關(guān)系;最后版本的維護也比較困難,因為在多個版本的設(shè)計中,手動維護時序約束可能導(dǎo)致版本間的不一致,增加了管理和維護的難度。
5、2.?eda工具支持:利用eda工具(如synopsys?design?compiler、cadenceinnovus、mentor?graphics等)自動分析時序。工具可以生成初步的時序約束,幫助設(shè)計師識別和修正潛在的時序問題。eda工具可以自動生成和優(yōu)化時序約束,節(jié)省手動編寫的時間,減少人為錯誤,同時支持快速修改和重新生成約束,可幫助設(shè)計師迅速響應(yīng)設(shè)計變更或優(yōu)化需求。
6、當(dāng)前技術(shù)不足:但是方便的同時也伴有許多缺點,例如:工具復(fù)雜性,常常需要設(shè)計師花費一定的時間去學(xué)習(xí)和掌握工具的使用,同時高昂的費用以及維護成本使得一些小型設(shè)計公司望而卻步;最后約束生成的準(zhǔn)確性以及可讀性(黑箱問題)仍然是一個需要關(guān)注的點,因為自動生成的約束可能不完全符合特定設(shè)計需求,仍需要設(shè)計師進行驗證和調(diào)整,此外,可讀性較差,使得芯片設(shè)計工程師可能無法完全理解工具內(nèi)部的優(yōu)化過程和結(jié)果;
7、綜上可知,在芯片設(shè)計中,時序約束是芯片設(shè)計工程師們在設(shè)計和驗證過程中非常關(guān)注的部分。時序約束在芯片設(shè)計中不僅確保了功能的正確實現(xiàn),還優(yōu)化了設(shè)計性能、減少了驗證時間,并支持了復(fù)雜設(shè)計需求和物理設(shè)計過程。合理的時序約束對于芯片的成功設(shè)計和高效生產(chǎn)至關(guān)重要。
8、同時從現(xiàn)有技術(shù)來看,手動編寫約束往往需要花費大量時間和經(jīng)歷,同時面對芯片設(shè)計的愈發(fā)復(fù)雜性,其編寫難度以及錯誤率也顯著提升,而eda工具雖然可以快速輸出時序約束,但是由于其并不能滿足所有設(shè)計的需求,同時也會帶來高昂的購買以及維護費用。因此,亟需開發(fā)出一種準(zhǔn)確且容易維護的編寫時序約束方法。
技術(shù)實現(xiàn)思路
1、本發(fā)明要解決的技術(shù)問題是提供一種時序約束自動化的生成方法,僅需要完成時鐘清單的輸出就可以通過腳本自動實現(xiàn)時序約束編寫以及檢查,是一種準(zhǔn)確且容易維護的編寫時序約束的方法。
2、為了解決所述技術(shù)問題,本發(fā)明采用的技術(shù)方案是:一種時序約束自動化的生成方法,包括以下步驟:
3、s01)、基于設(shè)計文檔確定所需創(chuàng)建時鐘的實際需求;
4、s02)、基于實際需求生成時鐘清單,時鐘清單的內(nèi)容包括pll源、時鐘類型、時鐘名稱、源路徑、主時鐘名稱、主時鐘源路徑、頻率、主時鐘占空比、衍生時鐘占空比、分頻系數(shù)、時鐘是否有跨時鐘的需求、所創(chuàng)建的時鐘之間的相互關(guān)系;
5、s03)、配置腳本,指定腳本需要讀取的時鐘清單,執(zhí)行腳本;
6、s04)、腳本遍歷時鐘清單中所有的選項,生成時序約束,并自動完成gca檢查。
7、進一步的,時鐘類型包括主時鐘和衍生時鐘,衍生始終是從主時鐘中產(chǎn)生的時鐘,主時鐘和衍生時鐘在時鐘清單中分別用不同的符號表示。
8、進一步的,當(dāng)時鐘類型為主時鐘時,其對應(yīng)的衍生時鐘占空比、分頻系數(shù)為空。
9、進一步的,當(dāng)時鐘類型為衍生時鐘時,其對應(yīng)的主時鐘占空比為空。
10、進一步的,當(dāng)時鐘有跨時鐘的需求時,同步創(chuàng)建衍生時鐘的跨時鐘域時鐘。
11、進一步的,所創(chuàng)建的時鐘之間的相互關(guān)系包括時鐘是否處于同一group里面,同一group里面的時鐘存在同步,不同group里面的時鐘為異步關(guān)系。
12、本發(fā)明還公開一種電子設(shè)備,包括處理器、通信接口、存儲器和通信總線,處理器、通信接口、存儲器通過通信總線完成相互間的通信;
13、存儲器,用于存放計算機程序;
14、處理器,用于執(zhí)行存儲器上所存放的程序時,實現(xiàn)如上所述的時序約束自動化的生成方法。
15、本發(fā)明還公開一種計算機可讀存儲介質(zhì),其所述計算機可讀存儲介質(zhì)內(nèi)存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)如上所述的時序約束自動化的生成方法。
16、本發(fā)明的有益效果:本發(fā)明通過腳本即可自動完成時序約束自動化編寫,以及約束的自動化檢查。極大的提高了代碼設(shè)計人員和后端人員的工作效率,降低了設(shè)計風(fēng)險。避免了人工編寫時序約束速度慢,容易出錯,且難以維護和修改等問題,提升了時序約束的繼承性以及可讀性,降低了管理和維護的難度。同時也一定程度上避免了高昂的維護費用。
1.一種時序約束自動化的生成方法,其特征在于:包括以下步驟:
2.根據(jù)權(quán)利要求1所述的時序約束自動化的生成方法,其特征在于:時鐘類型包括主時鐘和衍生時鐘,衍生始終是從主時鐘中產(chǎn)生的時鐘,主時鐘和衍生時鐘在時鐘清單中分別用不同的符號表示。
3.根據(jù)權(quán)利要求2所述的時序約束自動化的生成方法,其特征在于:當(dāng)時鐘類型為主時鐘時,其對應(yīng)的衍生時鐘占空比、分頻系數(shù)為空。
4.根據(jù)權(quán)利要求2所述的時序約束自動化的生成方法,其特征在于:當(dāng)時鐘類型為衍生時鐘時,其對應(yīng)的主時鐘占空比為空。
5.根據(jù)權(quán)利要求1所述的時序約束自動化的生成方法,其特征在于:當(dāng)時鐘有跨時鐘的需求時,同步創(chuàng)建衍生時鐘的跨時鐘域時鐘。
6.根據(jù)權(quán)利要求1所述的時序約束自動化的生成方法,其特征在于:所創(chuàng)建的時鐘之間的相互關(guān)系包括時鐘是否處于同一group里面,同一group里面的時鐘存在同步,不同group里面的時鐘為異步關(guān)系。
7.一種電子設(shè)備,其特征在于:包括處理器、通信接口、存儲器和通信總線,處理器、通信接口、存儲器通過通信總線完成相互間的通信;
8.一種計算機可讀存儲介質(zhì),其特征在于:所述計算機可讀存儲介質(zhì)內(nèi)存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)如權(quán)利要求1-6任一項所述的時序約束自動化的生成方法。