System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術屬于電子設計自動化eda領域,尤其涉及一種基于物理感知的節點分割方法。
技術介紹
1、邏輯綜合是將用rtl(寄存器傳輸級)語言描述的芯片設計轉換為特定器件庫的門級網表的過程,邏輯綜合包含了語法解析,器件庫定義,語法樹構建,邏輯化簡、狀態機設計以及時序優化等等過程,邏輯綜合是整個電子設計自動化eda流程中至關重要的一個中間環節,綜合結果的好壞直接影響芯片面積、功耗、頻率等等芯片性能的關鍵指標。邏輯綜合是一個復雜的過程,在現有技術中,一個嚴重的痛點就是邏輯綜合的耗時特別久,對于超大規模的芯片設計,通常情況下,單線程處理嘗嘗需要幾天的時間,這對于芯片的迭代開發,即需要反復修改的階段,常常是難以接受的,嚴重影響了芯片設計的過程和進度。
2、并行綜合技術是一種克服該問題的好辦法,并行綜合是把整個芯片設計拆解成不同的子設計,每個子設計分別運行在單獨的線程中進行邏輯綜合或邏輯綜合的優化,最后再將各個部分的綜合結果按照頂層設計所提供的連接關系拼接,形成等價性一致的綜合結果,在并行綜合的過程中,大的問題被拆解為小的問題并行處理,整體所需要的時間將會呈幾何降低,大大加快了設計迭代的過程,這其實也是一種分治思想。在并行綜合的過程中,設計被拆分成幾份是由并行計算的硬件資源以及用戶需求決定的,對于方案來說,拆分數量可以看作是一個固定的常數n,n為大于1的整數,拆分出來的每個部分,被稱為子模塊(sub?design)。
3、芯片設計分割之前,芯片設計要經過如下步驟建模為圖結構,分割是在圖結構上進行的,圖為節點和節點之間的邊
4、1.現有方法在切割過程中沒有考慮到切割完成后,子設計在芯片中實際的物理位置上彼此通信所需要付出的代價,因此可能出現信號需要繞線更大距離的情況。因為整個系統的運行頻率取決于最差的那一條時序路徑,因此個別信號的大延遲會導致整體運行速度的降低。
5、2.在進行分割的初始階段,種子節點(seed)的選擇是隨機的,所謂的種子節點是指率先進行放置的初始節點,比如將一個芯片設計分割為n份,也就是將圖結構拆解開來,分散放置在n個子設計,那么現有技術的做法為在圖結構中隨機選擇n個節點,然后依次在每個子設計中放置一個節點,圖結構的分割過程實質上是從每個子設計的種子節點開始,不斷加入圖結構中的新的節點,然后不斷生長的過程,這種隨機選擇種子節點并放置的方法并不好,這會導致本身具有信號通信的種子節點之間被分隔,如圖2所示,節點c和節點b之間的信號被切割,節點c和節點d之間的信號被切割,如果被切割的信號恰好是關鍵路徑critical?path,那么對芯片最后的時序會產生巨大的破壞,影響時鐘頻率,所謂的時序是芯片中各個電路之間信號傳輸的時鐘周期、延遲、校準和序列等。
6、3.芯片設計分割過程,各節點之間的信號被抽象為邊,各邊的權重是根據時序路徑的時序余量轉化而來的,所謂的時序路徑是指芯片設計中數據信號傳播過程中所經過的邏輯路徑,每一條時序路徑都存在與之對應的一個始發點和一個終止點。現有技術中,將時序路徑的時序余量轉化為邊權重的過程一般采用線性變化的方法,即時序余量最小的時序路徑將獲得最大的邊權重,時序余量最大的時序路徑將獲得最小的邊權重,時序余量介于最小和最大之間的那些時序路徑,將根據與最小時序余量之間的差值,按照線性關系映射到最小邊權重和最大邊權重之間。然而,芯片設計中,各個時序路徑的時序余量分布情況遵循自己的密度分布函數,當前做法只適合時序余量遵循平均分布的情況,如果時序路徑的時序余量分布不符合平均分布,那么處在時序余量分布密度大的區間的時序路徑,線性映射后彼此之間的權重將不能得到有效區分,如圖3所示,在橫坐標相聚較近的節點,時序余量在轉換為邊權重后,分布密度大的時序路徑所獲得的權重依然相差很小,導致在分割過程對這些時序路徑區分度不夠,即對這些時序路徑的時序余量不敏感,因此,通過線性關系將時序路徑的時序余量映射到邊權重的方式,降低了分割對時序信息的敏感程度,降低最終分割結果的時序性能。
技術實現思路
1、本專利技術提供了一種基于物理感知的節點分割方法,以解決現有芯片設計節點后信號繞線距離大導致整體運行速度的降低、分割過程中可能對時序產生巨大的破壞,分割對時序信息的敏感程度低,降低了最終分割結果的時序性能等問題。
2、為解決上述技術問題,本專利技術提供的技術方案為:
3、本專利技術涉及一種基于物理感知的節點分割方法,其包括以下步驟:
4、s1.確定各子設計之間的信道及信號通過該信道所要付出的基礎代價值;
5、s2.將節點放入各子設計中形成節點的初始分割結構;
6、s3.基于節點之間連接關系形成多條信號線,確定各信號線的權重;
7、s4.對于各信號線,尋找一條基礎代價值最小的通信路徑,并用該通信路徑的基礎代價值與權重的乘積作為該路徑的代價值,將各信號線的路徑的代價值的和作為所有信號線的初始總代價值;
8、s5.遍歷所有節點,嘗試讓每個節點在其它節點位置不變的情況下,將該節點依次放入其它子設計,按照s4的方式依次計算各種位置變化情況下的所有信號線的總代價值的和,并作為變化后的總代價值;
9、s6.將初始總代價值和各種變化情況下的總代價值的差作為相應變化情況下的代價收益,判斷各種情況下代價收益是否存在正數,若存在,按照代價收益最大的情況改變其中一個節點的位置,并用變化后的總代價值代替s4中的初始總代價值,返回s5;若不存在,完成節點位置優化。
10、優選地,所述s1還確定了各信道的容量,當所述s6中每次改變節點的位置后,判斷每個信道的信號量是否超過對應信號的容量,若超過,則撤銷此次節點的位置變化,并將此次節點位置變化中該節點放入該子設計的總代價值標記為負。
11、優選地,所述s2中將節點放入各子設計中形成節點的初始分割結構的過程中,先選擇與子設計等量的節點作為種子節點依次放入各子設計中,然后遍歷其余節點,統計每個節點與當前子設計中的子節點之間的邊權之和,選擇邊權之和最大的子設計和對應的節點,將該節點放入相應的子設計中。
12、優選地,所述s2中種子節點的提取方法采用基于自適應密度分布函數的種子節點提取方法實現,基于自適應密度分布函數的種子節點提取方法包括以下步驟:
13、s2.1.選取對外連接的邊的數量最多的節點作為第一個種子節點,放入子設計中;
14、s2.2.遍歷剩余節點,統計各節點對外連接的邊的數量k以及各節點與已經被放置到子設計中的具有連本文檔來自技高網...
【技術保護點】
1.一種基于物理感知的節點分割方法,其特征在于:其包括以下步驟:
2.根據權利要求1所述的基于物理感知的節點分割方法,其特征在于:所述S1還確定了各信道的容量,當所述S6中每次改變節點的位置后,判斷每個信道的信號量是否超過對應信號的容量,若超過,則撤銷此次節點的位置變化,并將此次節點位置變化中該節點放入該子設計的總代價值標記為負。
3.根據權利要求1所述的基于物理感知的節點分割方法,其特征在于:所述S2中將節點放入各子設計中形成節點的初始分割結構的過程中,先選擇與子設計等量的節點作為種子節點依次放入各子設計中,然后遍歷其余節點,統計每個節點與當前子設計中的子節點之間的邊權之和,選擇邊權之和最大的子設計和對應的節點,將該節點放入相應的子設計中。
4.根據權利要求3所述的基于物理感知的節點分割方法,其特征在于:所述S2中種子節點的提取方法采用基于自適應密度分布函數的種子節點提取方法實現,基于自適應密度分布函數的種子節點提取方法包括以下步驟:
5.根據權利要求4所述的基于物理感知的節點分割方法,其特征在于:所述S2.2中各節點的邊權重是根
6.根據權利要求5所述的基于物理感知的節點分割方法,其特征在于:所述S2.2.2中將時序余量最大值和最小值之間的范圍平均分成10-100份。
7.根據權利要求1所述的基于物理感知的節點分割方法,其特征在于:所述S6中每個節點最多改變一次位置,迭代過程中對已經改變過位置的節點不再遍歷。
...【技術特征摘要】
1.一種基于物理感知的節點分割方法,其特征在于:其包括以下步驟:
2.根據權利要求1所述的基于物理感知的節點分割方法,其特征在于:所述s1還確定了各信道的容量,當所述s6中每次改變節點的位置后,判斷每個信道的信號量是否超過對應信號的容量,若超過,則撤銷此次節點的位置變化,并將此次節點位置變化中該節點放入該子設計的總代價值標記為負。
3.根據權利要求1所述的基于物理感知的節點分割方法,其特征在于:所述s2中將節點放入各子設計中形成節點的初始分割結構的過程中,先選擇與子設計等量的節點作為種子節點依次放入各子設計中,然后遍歷其余節點,統計每個節點與當前子設計中的子節點之間的邊權之和,選擇邊權之和最大的子設計和對應的節點,將該節點放入相應的子設計中。
4....
【專利技術屬性】
技術研發人員:邵中尉,劉洋,
申請(專利權)人:浙江雷娜科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。