TW202333039A - 使用超級葉單元的記憶體個體重新配置 - Google Patents
使用超級葉單元的記憶體個體重新配置 Download PDFInfo
- Publication number
- TW202333039A TW202333039A TW112102349A TW112102349A TW202333039A TW 202333039 A TW202333039 A TW 202333039A TW 112102349 A TW112102349 A TW 112102349A TW 112102349 A TW112102349 A TW 112102349A TW 202333039 A TW202333039 A TW 202333039A
- Authority
- TW
- Taiwan
- Prior art keywords
- leaf
- memory
- super
- unit
- units
- Prior art date
Links
- 230000015654 memory Effects 0.000 title claims abstract description 275
- 238000000034 method Methods 0.000 claims abstract description 81
- 238000004458 analytical method Methods 0.000 claims description 56
- 230000003068 static effect Effects 0.000 claims description 26
- 230000001052 transient effect Effects 0.000 claims description 16
- 238000012545 processing Methods 0.000 description 44
- 238000013461 design Methods 0.000 description 33
- 230000001934 delay Effects 0.000 description 21
- 230000008569 process Effects 0.000 description 18
- 238000012512 characterization method Methods 0.000 description 16
- 238000003860 storage Methods 0.000 description 13
- 238000012795 verification Methods 0.000 description 10
- 238000004519 manufacturing process Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000013440 design planning Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000001459 lithography Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 1
- 239000002775 capsule Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000135 prohibitive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 235000013599 spices Nutrition 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3315—Design verification, e.g. functional simulation or model checking using static timing analysis [STA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/323—Translation or migration, e.g. logic to logic, hardware description language [HDL] translation or netlist translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/3312—Timing analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/12—Timing analysis or timing optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/16—Equivalence checking
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Human Computer Interaction (AREA)
- Logic Circuits (AREA)
Abstract
本發明提供一種用於界定一記憶體個體之特徵的系統及方法。界定一記憶體個體之特徵包括獲得包含複數個葉單元之一記憶體個體。該複數個葉單元中之各者包含組件。判定來自該複數個葉單元中之各者內之該等組件的第一通道連接組件,且一第一超級葉單元藉由基於該等第一通道連接組件組合該複數個葉單元中之一第一兩個或大於兩個葉單元來產生。此外,一經更新記憶體個體基於該第一超級葉單元而產生,且判定該經更新記憶體個體之一時序模型。
Description
本揭示係關於界定記憶體個體之特徵,且更特定而言,係關於重新組態記憶體個體且界定經重新組態之記憶體個體之特徵。
記憶體編譯器基於對應設計及其他相關聯附屬物建構(或建造)記憶體個體。特徵界定系統分析記憶體個體以產生用於產生記憶體個體之時序規則的資料。舉例而言,界定記憶體個體之特徵包括產生記憶體個體之時序規則。時序規則為記憶體個體內之信號延遲及連接的描述。時序規則用於產生記憶體個體之時序模型。典型地,特徵界定系統對記憶體個體執行暫態分析或靜態分析以判定對應時序規則。暫態分析包括在電晶體層級處分析記憶體個體且在單一程序中界定完整記憶體個體之特徵。當在電晶體層級處執行暫態分析時,在執行暫態分析時使用之處理需求及處理時間基於電晶體計數及模型之複雜性。因此,隨著電晶體之數目增加及/或模型之複雜性增加,處理需求及處理時間亦按指數律地增加。
在靜態分析程序中,當信號前進穿過記憶體個體時之延遲被彙總。靜態分析界定信號可沿記憶體個體內傳播之所有可能路徑之特徵。將靜態時序應用於整個記憶體個體,彙總延遲中之各者以判定記憶體個體之時序模型。然而,執行靜態分析之處理時間及處理器資源的量隨著記憶體個體之大小增加而增加,從而使得分析耗時且資源密集。此外,在當前實施中,重複分析以用於界定記憶體個體之特徵。
在一個範例中,方法包括獲得包含複數個葉單元之記憶體個體。複數個葉單元中之各者包含組件。方法進一步包括從複數個葉單元中之各者內之組件判定第一通道連接組件,及藉由基於第一通道連接組件組合複數個葉單元中之第一兩個或大於兩個葉單元來產生第一超級葉單元。此外,方法包括基於第一超級葉單元而產生經更新記憶體個體,且判定經更新記憶體個體之時序模型。
在一個範例中,系統包含:記憶體,其儲存指令;及處理器,其與記憶體耦接且經組態以執行指令,該等指令在執行時使得處理器獲得包含複數個葉單元之記憶體個體。複數個葉單元中之各者包含組件。進一步使得處理器從複數個葉單元中之各者內之組件判定第一通道連接組件,且藉由基於第一通道連接組件組合複數個葉單元中之第一兩個或大於兩個葉單元來產生第一超級葉單元。進一步使得處理器基於第一超級葉單元而產生經更新記憶體個體,且判定經更新記憶體個體之時序模型。
在一個範例中,非暫時性電腦可讀取媒體包含所儲存指令,該等所儲存指令在由處理器執行時使得處理器從記憶體個體之複數個葉單元內之組件判定第一通道連接組件及第二通道連接組件,且藉由基於第一通道連接組件組合複數個葉單元中之第一兩個或大於兩個來產生第一超級葉單元。此外,使得處理器藉由基於第二通道連接組件組合複數個葉單元中之第二兩個或大於兩個來產生第二超級葉單元,且判定超級葉單元之第一時序延遲及第二超級葉單元之第二時序延遲。進一步使得處理器基於第一超級葉單元及第二超級葉單元而產生經更新記憶體個體,且基於第一時序延遲及第二時序延遲而判定經更新記憶體個體之特徵。
本揭示之態樣係關於使用超級葉單元之記憶體個體重新組態。記憶體編譯器基於記憶體設計而產生記憶體個體。記憶體設計可包括多個(例如,數百或數千個)記憶體個體。在一個範例中,記憶體設計為隨機存取記憶體(random access memory;RAM)裝置。在其他範例中,記憶體設計可為其他類型之記憶體裝置。在一或多個範例中,記憶體編譯器基於對應設計而自動產生一種類型之記憶體。在記憶體產生程序期間,特徵界定系統界定記憶體個體之特徵以判定對應時序規則且產生時序模型。時序規則為記憶體個體之功能性之描述。在一個範例中,時序規則對應於記憶體個體內之信號延遲。信號延遲在記憶體之接腳之間。信號延遲可對應於在記憶體個體內之第一接腳(例如,接腳a)處接收到之信號及自記憶體個體之第二接腳(例如,接腳b)輸出之對應信號的延遲。時序規則限定接腳及對應延遲。延遲之特徵基於輸入參數,例如,輸入信號之轉換速率及輸出接腳處之負載,以及其他者。
在一個範例中,特徵界定系統執行暫態分析以界定記憶體個體之特徵。將暫態分析應用於記憶體個體之電晶體層級以分析整個記憶體個體。暫態分析包括施加一或多個信號且分析當一或多個信號傳播穿過記憶體個體之電晶體時記憶體個體內之延遲用於執行暫態分析之處理器資源及處理時間對應於記憶體個體之電晶體的數目及記憶體個體之複雜性。因此,隨著記憶體個體之電晶體的數目增加及/或記憶體個體之複雜性增加,處理器資源及/或處理時間按指數律地增加。
在另一個範例中,典型特徵界定系統執行靜態分析以界定記憶體個體之特徵。在執行靜態分析時,靜態時序用於在電晶體層級處界定之記憶體個體之特徵。靜態分析在信號前進(例如,傳播)穿過記憶體時對信號之延遲求和。延遲不必基於特定輸入,且在一些範例中,輸入可為無向量的。靜態時序界定信號可在記憶體個體內傳播的所有可能路徑之特徵。然而,如同暫態分析,隨著記憶體個體之大小及複雜性增加,完成靜態分析程序所花費之處理器資源及處理時間亦增加。
在下文中,描述用於使用超級葉單元及階層來判定記憶體個體之特徵的系統及方法。超級葉單元由記憶體個體之葉單元形成。葉單元為記憶體編譯器用於建造記憶體個體之最低區塊(例如,單元)。在一個範例中,葉單元可稱為原子單元。超級葉單元為一或多個葉單元之至少一部分的組合。在一個範例中,超級葉單元含有單個完整葉單元且不含有任何其他葉單元之部分。在另一範例中,超級葉單元含有至少兩個或大於兩個葉單元之元件。如下文中將更詳細地描述,超級葉單元基於偵測記憶體個體之葉單元內之通道連接組件而產生。在一或多個範例中,界定超級葉單元之特徵,且記憶體個體之各超級葉單元之特徵界定經組合以判定整個記憶體個體之特徵(例如,時序延遲及時序模型)。
如本文所描述之記憶體個體特徵界定方法包括使記憶體個體之葉單元之階層平坦化。此外,如在下文中將更詳細描述,通道連接信號及通道連接組件經識別且經組合成超級葉單元以減輕記憶體個體中葉單元之間的信號跨越。此外,基於超級葉單元重新組態(例如,重建)記憶體個體,且從經重新組態之記憶體個體創建時序模型。
與典型特徵界定方法相比,本文中所描述之特徵界定方法使用更少處理資源及更少處理時間。因此,記憶體個體之特徵可在於使用較少處理資源的時間較短。因此,與如上文所描述之對整個記憶體裝置執行典型特徵界定方法相比,使用本文所描述之特徵界定方法之特徵界定系統能夠使用較少處理資源及處理時間來產生增加數目的記憶體個體。此外,如本文所描述之特徵界定方法可藉由具有較少處理資源之處理裝置來完成,從而降低完成記憶體特徵界定程序之成本。
圖1說明根據一或多個範例之特徵界定系統100的方塊圖。特徵界定系統100包括分析引擎110、重建引擎120及記憶體130。特徵界定系統100可為記憶體特徵界定系統或其他編譯系統。特徵界定系統100界定記憶體裝置之記憶體個體之特徵。在一個範例中,特徵界定系統100與記憶體編譯系統耦接(例如,通信耦接)。記憶體編譯系統基於由特徵界定系統100判定之特徵界定資訊而編譯記憶體裝置之記憶體個體。在一個範例中,特徵界定系統100藉由基於編譯器規則及所供應參數將葉單元置放於記憶體個體內來編譯記憶體個體。記憶體編譯程序使用在特徵界定程序期間判定之資訊。特徵界定程序用於判定記憶體個體之時序模型。在一個範例中,特徵界定系統100自記憶體130接收記憶體設計,使用階層資訊界定記憶體個體之特徵且基於特徵界定重建(例如,重新組態)記憶體個體。在一個範例中,重建記憶體個體包括重新組態記憶體個體之葉單元(例如,網)以將通道連接信號囊封在記憶體個體內。囊封通道連接信號包括產生單元或單元群組,該單元或單元群組包括接收通道連接信號之各通道連接組件。舉例而言,如下文中所描述,包括多個葉單元之超級葉單元經形成以囊封通道連接信號,使得與通道連接信號相關聯之輸入接腳及輸出接腳包括於超級葉單元內。在一或多個範例中,特徵界定系統100界定記憶體個體之特徵,且記憶體編譯系統藉由基於特徵界定資訊重新組態記憶體個體之葉單元(例如,網)以將通道連接信號囊封在記憶體個體內來重建記憶體個體。
通道連接信號可為類比信號。類比信號可具有既不為邏輯值1亦不為邏輯值0之電壓值。在一個範例中,類比信號之電壓值不為對應記憶體個體之電晶體的接通電壓或斷開電壓。此外,對於記憶體個體之對應電晶體,類比信號不具有全電壓擺動之電壓轉變。
通道連接信號可跨越記憶體個體之單元之間。因此,諸如靜態分析方法之分析方法不能夠界定通道連接信號之特徵。如在下文中將更詳細地描述,特徵界定系統100識別記憶體個體內之通道連接信號,追蹤一或多個通道連接信號以判定對應一或多個傳播路徑。識別沿一或多個傳播路徑之記憶體個體內之組件。在一個範例中,接收通道連接信號之記憶體個體內之組件經分組,使得可界定通道連接信號及對應組件之特徵。在一個範例中,記憶體個體之階層經重新組態以將類比信號囊封超級葉單元內。
特徵界定系統100包括一或多個處理器(例如,圖12之處理裝置1202),該一或多個處理器執行儲存於記憶體(例如,記憶體130、圖12之主記憶體1204及/或機器可讀取媒體1224)中之指令(例如,圖12之指令1226)以使用階層界定記憶體個體之特徵且基於特徵界定重建記憶體個體。
分析引擎110包括一或多個處理器(例如,圖12之處理裝置1202),該一或多個處理器執行儲存於記憶體(例如,記憶體130、圖12之主記憶體1204及/或機器可讀取媒體1224)中之指令(例如,圖12之指令1226)。分析引擎110從記憶體130獲得電路設計。分析引擎110從記憶體130接收記憶體設計且判定沿類比信號之傳播路徑之元件,且基於經判定之元件判定超級葉單元。分析引擎110判定超級葉單元以囊封通道連接信號且減輕記憶體個體內之通道連接信號跨越。分析引擎110將超級葉單元儲存於記憶體130內。在一個範例中,分析引擎110基於超級葉單元而更新或產生庫。
分析引擎110進一步判定超級葉單元之時序模型。舉例而言,分析引擎110判定各超級葉單元之時序延遲。各超級葉單元之時序延遲彼此獨立地判定。對時序延遲求和(例如,以某一其他方式相加或組合)以判定整個記憶體個體之時序模型。在一個範例中,分析引擎110在電晶體層級處對超級葉單元執行靜態時序處理。在其他範例中,分析引擎110對超級葉單元執行其他時序程序以判定時序模型。分析引擎110儲存各超級葉單元之時序延遲及/或儲存於記憶體130內之記憶體個體之時序模型。
重建引擎120包括一或多個處理器(例如,圖12之處理裝置1202),該一或多個處理器執行儲存於記憶體(例如,記憶體130、圖12之主記憶體1204及/或機器可讀取媒體1224)中之指令(例如,圖12之指令1226)。重建引擎120從記憶體130獲得超級葉單元、時序延遲資訊及/或記憶體個體之時序模型。重建引擎120基於超級葉單元、時序延遲資訊及/或時序模型而重建記憶體個體。在一或多個範例中,重建引擎120將超級葉單元組裝成高層級編譯網路連線表(例如,Verilog或另一硬體描述語言(hardware description language;HDL))。重建引擎120組裝超級葉單元以產生經更新(例如,重建)電等效記憶體。在一個範例中,重建引擎120及/或由重建引擎120執行之一或多個程序為記憶體編譯系統而非特徵界定系統100之部分及/或由記憶體編譯系統執行。
在一或多個範例中,重建引擎120判定經重新組態(例如,重建)之記憶體個體是否具有與初始(預建)記憶體個體相同之功能性。在一個範例中,將經重新組態之記憶體個體與初始記憶體個體進行邏輯比較以判定經重新組態之記憶體個體是否具有與初始記憶體個體相同之功能性。將經重新組態之記憶體個體保存至記憶體130。
圖2說明根據一或多個範例之用於判定經重新組態之記憶體個體及相關聯之時序模型之方法200的流程圖。方法200由特徵界定系統100執行。舉例而言,特徵界定系統100之一或多個處理器(例如,圖12之處理裝置1202)執行儲存於記憶體(例如,記憶體130或圖12之主記憶體1204及/或電腦可讀取媒體1224)中之指令(例如,圖12之指令1226)以執行方法200。在一個範例中,方法200作為圖11之設計規劃1122及/或圖11之實體實施1124之部分來執行。
在方法200之210處,為記憶體個體產生超級葉單元。分析引擎110產生記憶體個體之超級葉單元。圖3說明根據一或多個範例之用於產生超級葉單元之方法300的流程圖。方法300由一或多個處理器(例如,圖12之處理裝置1202)執行,該一或多個處理器執行儲存於記憶體(例如,記憶體130、圖12之主記憶體1204及/或機器可讀取媒體1224)中之指令(例如,圖12之指令1226)。
在方法300之310處,記憶體個體之階層為平坦的。舉例而言,分析引擎110平坦化記憶體個體之階層。圖5說明記憶體個體之網路連線表之階層500的單元。葉單元502為記憶體個體之階層500之頂部層級(例如,第一層級)處的頂部單元。葉單元512、514、516及518連接至葉單元502。葉單元512、514、516及518在階層之層級(例如,第二層級)處,該層級在與葉單元502相關聯之層級(例如,第一或頂部層級)下方(或低於與葉單元502相關聯之層級)。葉單元512、514、516及518可為相同類型之單元或不同類型之葉單元。在一或多個範例中,葉單元512及514為第一類型且葉單元514及518為第二類型。在其他範例中,可使用葉單元類型之其他組合。
葉單元522、524、526及528在階層之層級(例如,第三層級)處,該層級在與葉單元512、514、516及518相關聯之層級下方(或低於與葉單元512、514、516及518相關聯之層級)。葉單元522、524、526及528為與葉單元512、514、516及518之類型不同的單元之類型。在一個範例中,葉單元522、524、526及528中之各者為相同類型之葉單元或不同類型之葉單元。在其他範例中,葉單元522及526為第三類型且葉單元524及528為第四類型。在其他範例中,可使用葉單元之其他組合。
葉單元522及524經由葉單元514連接至葉單元502。葉單元526及528經由葉單元518連接至葉單元502。此外,葉單元522經由類比信號504連接至葉單元512且葉單元526經由類比信號506連接至葉單元516。
類比信號(例如,類比信號504及506)可具有小於電晶體之全電壓擺動的電壓值。舉例而言,類比信號具有在對應記憶體個體之電晶體的接通電壓及/或斷開電壓之間的電壓值。在一個範例中,類比信號504及506具有既不為邏輯值1亦不為邏輯值0之電壓值。
在判定記憶體個體之時序模型的特徵界定程序期間,作為通道連接信號之類比信號可不由典型特徵界定程序(例如,靜態分析)處置。類比信號504及506跨越兩個或大於兩個葉單元之間的邊界(例如,葉單元512與522之間的邊界或葉單元516與526之間的邊界)。類比信號504及506為通道連接信號,因為類比信號504及506跨越葉單元之間的邊界。因此,記憶體個體可藉由囊封類比信號504及506來重新組態,使得可用靜態時序技術界定類比信號504及506之特徵。
圖6說明與階層500相比已平坦化之階層600在一個範例中,平坦化階層包括減少階層內之層級的數目。與圖5之階層500相比,階層600具有減少的數目之層級。與階層500之三個層級相比,階層600具有階層之兩個層級。此外,與階層500相比,在階層600中,葉單元522、524、526及528直接連接至葉單元502而無需穿過另一單元。為平坦化階層,例如葉單元514及518之中間葉單元用連接至其之葉單元置換。舉例而言,在圖6中,葉單元514及518分別用葉單元522及524以及葉單元526及528置換。因此,與階層500相比,階層600為平坦化的。此外,在圖6中,類比信號504及506分別連接葉單元512及522以及葉單元516及526。在階層經平坦化時保持葉單元512與522之間經由類比信號504的連接及葉單元516與526之間經由類比信號506的連接。
在方法300之320處,執行路徑追蹤以識別記憶體個體內之通道連接區塊及通道連接信號。舉例而言,分析引擎110執行路徑追蹤以識別通道連接區塊以識別跨越在單元邊界之間的通道連接信號。在一個範例中,通道連接信號為類比信號。分析引擎110藉由在輸入節點處開始且追蹤信號之傳播路徑直至到達輸出節點來執行路徑追蹤。在一個範例中,路徑追蹤基於由使用者或設計者識別之節點或輸入執行。經識別節點可儲存於記憶體130中。作為傳播路徑之部分之各組件經判定為通道連接組件。在一個範例中,組件為電晶體。在其他範例中,組件為除電晶體以外之電路元件。
當兩個或大於兩個電晶體具有共用源極或汲極時,兩個或大於兩個電晶體被視為通道連接的。舉例而言,若兩個電晶體之間存在源極或汲極連接,則彼等電晶體被視為通道連接組件。當類比信號之路徑包括通道連接組件時,類比信號跨越單元之間的邊界且被視為通道連接信號。
圖7說明在已經識別且囊封通道連接信號及組件之前及之後的記憶體個體。在部分700中,葉單元702、704、706及708分別包括電晶體(組件)752、754、756及758,且經由信號線740互連。此外,信號線740連接至電晶體710。信號線740將電晶體752、754、756、758及710之源極或汲極彼此連接。因此,信號線740經判定為通道連接的且沿信號線740之信號為通道連接信號。在一個範例中,信號線740通信類比信號。
在圖3之330處,超級葉單元從經識別通道連接區塊產生。分析引擎110從經識別通道連接區塊產生超級葉單元。在一個範例中,通道連接區塊經組合以形成超級葉單元。參考圖7,在部分720中,葉單元702、704、706及708已經重新組態成葉單元722、724、726、728及730。葉單元730包括電晶體752、754、756、758及710。換言之,葉單元730包括在葉單元702、704、706及708中識別之通道連接組件。葉單元730為超級葉單元,因為超級葉單元730包括兩個或其他葉單元之部分。將葉單元722、724、726、728及730儲存至記憶體130。雖然超級葉單元730包括兩個或大於兩個葉單元之一部分,但在其他範例中,超級葉單元另外或替代地包括另一或多個葉單元之整體。
圖8說明階層800,其中葉單元512及522以及葉單元516及526已經組合成超級葉單元802及804。如上文提及,葉單元512及522經由類比信號504連接且葉單元516及526經由類比信號506連接。由於類比信號504及506分別連接葉單元512及522以及葉單元516及526,跨越葉單元之間的邊界,因此類比信號504及506經判定為通道連接信號。因此,葉單元512及514之組件包括通道連接組件,且葉單元516及526包括通道連接組件。產生超級葉單元802及804、囊封類比信號504及506及對應組件,使得超級葉單元802及804可使用電晶體層級靜態分析程序或暫態分析程序或另一特徵界定程序界定特徵。在一或多個範例中,若超級葉單元802及804經判定為電等效及/或功能等效,則僅超級葉單元802及804中的一個經界定特徵。舉例而言,超級葉單元802經界定特徵且超級葉單元802可置換超級葉單元804。因此,超級葉單元804不需要進行界定特徵,從而節省特徵界定時間。超級葉單元802及804可基於超級葉單元802及804之彼此比較而判定為電等效及/或功能等效。在其他範例中,超級葉單元802及804可基於包括超級葉單元802之網路連線表檔案與包括超級葉單元804之網路連線表檔案之比較而判定為電等效及/或功能等效。
進一步參考圖2之方法200,在方法200之220處,界定超級葉單元之特徵。界定超級葉單元之特徵包括對超級葉單元執行靜態分析或暫態分析(或其他特徵界定程序)以判定超級葉單元之時序延遲。在一個範例中,在電晶體層級處界定超級葉單元之特徵。將時序延遲儲存於記憶體130內。
在方法200之230處,使用超級葉單元產生經重新組態之記憶體個體。重建引擎120使用儲存於記憶體130中之超級葉單元產生經重新組態之記憶體個體。舉例而言,記憶體個體之葉單元基於儲存於記憶體130中之超級葉單元而重新組態。在一個範例中,重新組態葉單元包括基於超級葉單元更改葉單元之佈局。記憶體個體包括葉單元之佈局。葉單元之佈局可基於對應記憶體編譯器及記憶體設計之規則。圖9說明具有葉單元A、S、W、L、I及G之佈局的記憶體個體900。A葉單元為陣列單元,S葉單元為感測放大器單元,W葉單元為字元線驅動器單元,L葉單元為局域控制單元,I葉單元為輸入/輸出單元,且G葉單元為全域控制單元。
記憶體個體900包括區塊910、920及930。區塊910包括子區塊912、914及916。子區塊912、914及916中之各者分別包括葉單元A、S及W及L。產生子區塊912、914及916,使得可更易於產生包括類似單元結構之記憶體個體。舉例而言,區塊920具有與區塊910類似之子區塊結構,因此,子區塊912、914及916在區塊910與920之間重複。此外,區塊930包括子區塊932及子區塊934。區塊930包括兩個子區塊932。
在一或多個範例中,A葉單元及S葉單元為通道連接的。舉例而言,子區塊912之A單元通道連接至子區塊914之S單元。因此,由於至少一對A及S區塊可為通道連接的,對區塊910執行之特徵界定程序在葉單元層級處完成。舉例而言,單獨地界定記憶體個體900之各葉單元之特徵以判定記憶體個體之延遲。此外,每次創建記憶體個體時,針對各單獨葉單元執行特徵界定程序。因此,特徵界定程序為處理時間及處理器資源禁止的。
然而,藉由將葉單元之至少一部分重新組態成包括通道連接組件之超級葉單元,各超級葉單元可經界定特徵為一個單元。此外,藉由在不同記憶體個體之間重新使用超級葉單元,可將超級葉單元之時序延遲資訊用於不同記憶體個體,而不必重新界定各記憶體個體之葉單元之特徵。因此,與不使用超級葉單元之技術相比,用於界定記憶體個體之特徵的處理時間及處理資源的量減少。
圖10說明經重新組態以包括超級葉單元1010及1012之記憶體個體1000。與記憶體個體900相比,記憶體個體1000之葉單元經重新組態成超級葉單元1010及1012。超級葉單元1010由葉單元之豎直分組形成,而子區塊912及914由葉單元之水平分組形成。在其他範例中,超級葉單元1010及/或1012藉由沿其他方向對葉單元進行分組而形成。此外,超級葉單元1010及/或1012沿通道連接信號之路徑形成。超級葉單元1010及1012考慮對應葉單元之間的任何通道連接信號及組件。因此,可界定超級葉單元1010及1012之特徵以判定時序延遲。時序延遲可儲存於記憶體130內且用於界定對應記憶體個體之特徵。此外,其他記憶體個體可使用超級葉單元產生。因此,彼等記憶體個體之特徵界定程序包括對所包括的超級葉單元中之各者的時序延遲求和,而非界定記憶體個體中之各葉單元之特徵。因此,與包括界定各葉單元之特徵以判定時序模型之方法相比,用於界定記憶體個體之特徵的處理資源及時間減少。
記憶體個體1000進一步包括子區塊1014及1016。子區塊1014或1016中之任一者可為超級葉單元。舉例而言,子區塊1014或1016包括通道連接組件。
雖然超級葉單元1010及1012經說明為包括三個葉單元之至少一部分,但在其他範例中,超級葉單元可包括大於或小於三個葉單元之至少一部分。此外,在一或多個範例中,記憶體個體之至少一個超級葉單元大於(例如,包括更大數目之葉單元之至少一部分)記憶體個體之至少一個其他超級葉單元。在此範例中,記憶體個體可包括不同大小之兩個或大於兩個超級葉單元。
在其他範例中,超級葉單元之組態可不同於圖10中所說明之超級葉單元的組態。舉例而言,如上文所提及,超級葉單元可包括在與圖10中所說明之方向不同的方向上之葉單元。舉例而言,超級葉單元可包括在一或多個方向上之葉單元。此外,超級葉單元可包括在水平方向、豎直方向及/或其他方向上之葉單元。在一個範例中,記憶體個體包括具有不同組態之兩個或大於兩個超級葉單元。
在一或多個範例中,更新記憶體個體1000,從而改變超級葉單元1010及/或超級葉單元1012。重新界定經改變之記憶體個體1000之超級葉單元的特徵,而不重新界定未經改變之記憶體個體1000之超級葉單元的特徵。因此,基於對記憶體個體1000之改變,少於全部之記憶體個體1000可能需要重新界定特徵。與不使用超級葉單元之範例相比,基於經改變之記憶體個體重新界定整個記憶體個體之特徵。因此,與界定經更新記憶體個體之各葉單元之特徵的典型特徵界定程序相比,界定經更新記憶體個體之特徵以判定經更新時序模型之處理資源及時間減少。
進一步參考圖2,在方法200之240處,判定記憶體個體之時序模型。舉例而言,分析引擎110判定記憶體個體之時序模型。圖4之方法400說明用於判定記憶體個體之時序模型之方法400。如上文關於方法200之220所描述,界定各超級葉單元之特徵。分析引擎110執行靜態或暫態分析(或另一特徵界定程序)以界定超級葉單元之特徵。可在用超級葉單元重新組態記憶體個體之前或之後界定超級葉單元之特徵。在方法400之410處,組合來自各超級葉單元之延遲以判定記憶體個體之時序模型。在一個範例中,來自記憶體個體之超級葉單元中之各者的延遲經求和(例如,相加),或以某一其他方式組合以判定記憶體個體之時序模型。舉例而言,參考圖10,超級葉單元1010、超級葉單元1012、子區塊1014及子區塊1016中之各者之延遲經求和(或以某一其他方式組合)以判定記憶體個體1000之時序模型。
在方法400之420處,產生記憶體個體之時序模型。時序模型由分析引擎110基於超級葉單元之經組合延遲及記憶體個體內之任何其他區塊或葉單元之特徵界定來產生。舉例而言,記憶體個體可包括不包括於任何超級葉單元中之葉單元。使用靜態分析或暫態分析或另一特徵界定程序界定彼等葉單元之特徵,且對應延遲與超級葉單元之延遲組合以產生記憶體個體之時序模型。記憶體個體之時序模型儲存於記憶體130內。
在一或多個範例中,完成經重新組態之記憶體個體(例如,記憶體個體1000)與初始(例如,預重新組態)記憶體個體之間的邏輯比較。可在方法200之230之後及在方法200之240之前完成邏輯比較。在此範例中,若經重新組態之記憶體個體不經判定為與初始記憶體個體邏輯匹配,則可不執行方法200之240。若經重新組態之記憶體個體經判定為與初始記憶體個體邏輯匹配,則執行方法200之240。經重新組態之記憶體個體與初始記憶體個體之間的邏輯比較由重建引擎120執行。
執行邏輯比較包括判定經重新組態之記憶體個體是否功能等效於初始記憶體個體。在一個範例中,執行經重新組態之記憶體個體與初始記憶體個體之間的邏輯比較包括將經重新組態之記憶體個體之連接性及功能性操作與初始記憶體個體進行比較。
圖11說明在諸如積體電路之製品的設計、驗證及製造期間用於變換及驗證表示該積體電路之設計資料及指令的程序1100之實例集合。此等程序中之各者可經結構化且經啟用為多個模組或操作。術語『EDA』表示術語『電子設計自動化』。此等程序開始於運用由設計者供應之資訊創建產品想法1110,該資訊經變換以創建使用EDA程序1112之集合的製品。當設計完成時,設計經流片1134,即在供用於積體電路之原圖(例如,幾何圖案)經發送至製造設施以製造遮罩集時,其接著用於製造積體電路。在流片之後,半導體晶粒經製造1136且封裝及裝配程序1138經執行以產生成品積體電路1140。
電路或電子結構之規格可在自低層級電晶體材料佈局至高層級描述語言之範圍內。高層級之表示可用於使用諸如VHDL、Verilog、SystemVerilog、SystemC、MyHDL或OpenVera之硬體描述語言(『HDL』)來設計電路及系統。可將HDL描述轉型成邏輯層級暫存器轉移層級(『RTL』)描述、閘層級描述、佈局層級描述或遮罩層級描述。為更詳細描述之各較低表示層級將更多有用之細節添加至設計描述中,例如包括描述之模組的更多細節。為更詳細描述之較低表示層級可由電腦產生、自設計庫導出,或藉由另一設計自動化製程產生。用於指定更詳細描述之較低層級之表示語言處的規格語言的範例為SPICE,其用於具有許多類比組件之電路的詳細描述。表示各層級處之描述經啟用以供彼層之對應工具(例如,形式驗證工具)使用。設計程序可使用圖11中所描繪之序列。所描述之程序由EDA產品(或工具)啟用。
在系統設計1114期間,指定待製造之積體電路的功能性。可針對諸如功率消耗、效能、面積(程式碼之實體及/或線)及成本之減少等所需特性來最佳化設計。在此階段可發生將設計分割成不同類型之模組或組件。
在邏輯設計及功能驗證1116期間,以一或多個描述語言指定電路中之模組或組件,且檢查規格之功能準確度。舉例而言,可驗證電路之組件以產生匹配正經設計之電路或系統之規格之要求的輸出。功能驗證可使用模擬器及其他程式,諸如試驗台產生器、靜態HDL檢查器及正式的驗證器。在一些具體實例中,使用稱作『仿真器』或『原型設計系統』之特殊組件系統來加速功能驗證。
在測試之合成及設計1118期間,將HDL程式碼變換至網路連線表。在一些具體實例中,網路連線表可為圖表結構,其中圖表結構之邊緣表示電路之組件,且其中圖表結構之節點表示組件如何互連。HDL程式碼及網路連線表兩者為可由EDA產品使用以驗證積體電路在製造時是否根據指定設計執行之階層式製品。網路連線表可經最佳化以用於目標半導體製造技術。另外,可試驗成品積體電路以驗證彼積體電路是否滿足規格之要求。
在網路連線表驗證1120期間,檢查網路連線表以遵從時序約束且對應於HDL程式碼。在設計規劃1122期間,對積體電路之總體平面規劃進行建構且分析以用於時序及頂部層級佈線。
在佈局或實體實施1124期間,發生實體置放(諸如電晶體或電容器之電路組件的定位)及佈線(藉由多個導體之電路組件的連接),且可執行自庫選擇單元以啟用特定邏輯功能。如本文中所使用,術語「單元」可指定提供布林(Boolean)邏輯功能(例如,AND、OR、NOT、XOR)或儲存功能(例如正反器或鎖存器)的一組電晶體、其他組件及互連件。如本文中所使用,電路「區塊」可指兩個或大於兩個單元。單元及電路區塊兩者可稱作模組或組件,且經啟用為實體結構及模擬兩者。針對所選擇單元指定參數(基於『標準單元』),諸如大小,且可在資料庫中存取參數以供EDA產品使用。
在分析及提取1126期間,在佈局層級處驗證電路功能,此准許佈局設計之改進。在實體驗證1128期間,檢查佈局設計以確保製造約束為正確的,諸如DRC約束、電約束、微影約束,且確保電路功能匹配HDL設計規格。在解析度增強1130期間,佈局之幾何形狀經轉型以改良製造電路設計之方式。
在流片期間,產生待使用之資料(在適當時應用微影增強之後)以用於產生微影遮罩。在遮罩資料準備1132期間,「流片」資料用以產生用於產生成品積體電路之微影遮罩。
電腦系統(諸如圖12之電腦系統1200)之儲存子系統可用於儲存由本文中所描述之EDA產品及用於庫及使用庫之實體及邏輯設計的單元之開發的產品中之一些或全部所使用的程式及資料結構。
圖12說明電腦系統1200之實例機器,其內可執行用於使得機器執行本文中所論述之方法中之任何一或多者的指令集。在替代實施中,機器可連接(例如網路連接)至LAN、企業內部網路、企業間網路及/或網際網路中之其他機器。機器可操作於主從式網路環境中之伺服器或用戶端機器之容量中、操作為同級間(或分散式)網路環境中之同級機器,或操作為雲端計算基礎建設或環境中之伺服器或用戶端機器。
機器可為個人電腦(personal computer;PC)、平板PC、機上盒(set-top box;STB)、個人數位助理(Personal Digital Assistant;PDA)、蜂巢式電話、網路設備、伺服器、網路路由器、交換器或橋接器,或能夠執行指定待由該機器採取之動作的指令集(依序或以其他方式)之任何機器。此外,雖然說明單個機器,但術語「機器」亦應視為包括單獨或聯合地執行指令集(或多個指令集)以執行本文中所論述之方法中的任一或多種之機器的任何集合。
實例電腦系統1200包括處理裝置1202、主記憶體1204(例如,唯讀記憶體(ROM)、快閃記憶體、諸如同步DRAM(SDRAM)之動態隨機存取記憶體(DRAM)、靜態記憶體1206(例如,快閃記憶體、靜態隨機存取記憶體(SRAM)等)及資料儲存裝置1218,其經由匯流排1230彼此通信。
處理裝置1202表示一或多個處理器,諸如微處理器、中央處理單元或類似者。更特定而言,處理裝置可為複雜指令集計算(complex instruction set computing;CISC)微處理器、精簡指令集計算(reduced instruction set computing;RISC)微處理器、超長指令字(very long instruction word;VLIW)微處理器,或實施其他指令集之處理器或實施指令集之組合之處理器。處理裝置1202亦可為一或多個特殊用途處理裝置,諸如特殊應用積體電路(application specific integrated circuit;ASIC)、場可程式化閘陣列(field programmable gate array
;FPGA)、數位信號處理器(digital signal processor;DSP)、網路處理器或其類似者。處理裝置1202可經組態以執行用於執行本文中所描述的操作及步驟之指令1226。
電腦系統1200可進一步包括網路介面裝置1208以經由網路1220通信。電腦系統1200亦可包括視訊顯示單元1210(例如,液晶顯示器(liquid crystal display;LCD)或陰極射線管(cathode ray tube;CRT))、文字數字輸入裝置1212(例如,鍵盤)、游標控制裝置1214(例如,滑鼠)、圖形處理單元1222、信號產生裝置1216(例如,揚聲器)、圖形處理單元1222、視訊處理單元1228及音訊處理單元1232。
資料儲存裝置1218可包括機器可讀取儲存媒體1224(亦稱為非暫時性電腦可讀取媒體),在該機器可讀取儲存媒體上儲存指令1226之一或多個集合或體現本文中所描述方法或功能中之任一或多者的軟體。在其由電腦系統1200執行期間,指令1226亦可完全或至少部分地駐留於主記憶體1204內及/或處理裝置1202內,主記憶體1204及處理裝置1202亦構成機器可讀取儲存媒體。
在一些實施中,指令1226包括用以實施對應於本揭示之功能性的指令。雖然機器可讀取儲存媒體1224在實例實施中經展示為單個媒體,但術語「機器可讀取儲存媒體」應視為包括儲存一或多個指令集之單個媒體或多個媒體(例如集中式或分佈式資料庫及/或相關聯之快取記憶體及伺服器)。術語「機器可讀取儲存媒體」亦應視為包括能夠儲存或編碼用於由機器執行且使該機器及處理裝置1202執行本揭示之方法中之任何一或多者的指令集之任何媒體。術語「機器可讀取儲存媒體」將因此視為包括但不限於固態記憶體、光學媒體及磁性媒體。
已根據對電腦記憶體內之資料位元之操作的演算法及符號表示來呈現前述詳細描述之一些部分。此等演算法描述及表示為由熟習資料處理技術者用以將其工作實質最有效地傳達給其他熟習此項技術者的方式。演算法可為產生所要結果之一連串操作。該等操作為需要實體量之實體操控之操作。此類量可採取能夠儲存、組合、比較及以其他方式操控之電信號或磁信號之形式。此類信號可稱為位元、值、元件、符號、字元、項、數字或類似者。
然而,應牢記,所有此等術語以及類似術語待與適當實體量相關聯,且僅僅為應用於此等量的便利標記。除非另外具體說明,否則如自本發明顯而易見,應理解,在整個描述中,某些術語指電腦系統或類似電子計算裝置之動作及程序,其將表示為電腦系統之暫存器及記憶體內的實體(電子)量之資料操縱及變換成類似地表示為電腦系統記憶體或暫存器或其他此類資訊儲存裝置內之實體量的其他資料。
本揭示亦係關於用於執行本文中之操作的設備。此設備可經特別建構以達成預期目的,或其可包括由儲存於電腦中之電腦程式選擇性地啟動或重新組態之電腦。可將此電腦程式儲存於電腦可讀取儲存媒體中,該電腦可讀取儲存媒體諸如但不限於各自耦接至電腦系統匯流排之以下各者:任何類型的磁碟,包括軟碟、光碟、CD-ROM及磁光碟;唯讀記憶體(ROM);隨機存取記憶體(RAM);EPROM;EEPROM;磁性卡或光學卡;或適合於儲存電子指令之任何類型的媒體。
本文所呈現之演算法及顯示器並非固有地與任何特定電腦或其他設備相關。根據本文中之教示,各種其他系統可與程式一起使用,或可證明便於構造更專門的設備來執行方法。另外,不參考任何特定程式語言來描述本揭示。將瞭解,多種程式設計語言可用以實施如本文中所描述之本揭示的教示。
本揭示可提供為電腦程式產品或軟體,其可包括具有儲存於其上之指令的機器可讀取媒體,該等指令可用於程式化電腦系統(或其他電子裝置)以執行根據本揭示之程序。機器可讀取媒體可包括用於儲存呈可由機器(例如,電腦)讀取之形式之資訊的任何機構。舉例而言,機器可讀取(例如,電腦可讀取)媒體包括機器(例如,電腦)可讀取儲存媒體,諸如唯讀記憶體(ROM)、隨機存取記憶體(RAM)、磁碟儲存媒體、光學儲存媒體、快閃記憶體裝置等。
在前述揭示中,已參考本揭示之特定實例實施描述本揭示之實施。將顯而易見,可在不脫離如以下申請專利範圍中所闡述之本揭示之實施之更廣泛精神及範圍的情況下對本發明進行各種修改。在本揭示提及呈單數時態之一些元件的情況下,可在圖式中描繪多於一個元件,並且以類似編號標記類似元件。因此,應在說明性意義而非限制性意義上看待本揭示及圖式。
100:特徵界定系統
110:分析引擎
120:重建引擎
130:記憶體
200:方法
210:區塊
220:區塊
230:區塊
240:區塊
300:方法
310:區塊
320:區塊
330:區塊
400:方法
410:區塊
420:區塊
500:階層
502:葉單元
504:類比信號
506:類比信號
512:葉單元
514:葉單元
516:葉單元
518:葉單元
522:葉單元
524:葉單元
526:葉單元
528:葉單元
600:階層
700:部分
702:葉單元
704:葉單元
706:葉單元
708:葉單元
710:電晶體
720:部分
722:葉單元
724:葉單元
726:葉單元
728:葉單元
730:葉單元
740:信號線
752:電晶體
754:電晶體
756:電晶體
758:電晶體
800:階層
802:超級葉單元
804:超級葉單元
900:記憶體個體
910:區塊
912:子區塊
914:子區塊
916:子區塊
920:區塊
930:區塊
932:子區塊
934:子區塊
1000:記憶體個體
1010:超級葉單元
1012:超級葉單元
1014:子區塊
1016:子區塊
1100:程序
1110:產品想法
1112:EDA程序
1114:系統設計
1116:邏輯設計及功能驗證
1118:測試之合成及設計
1120:網路連線表驗證
1122:設計規劃
1124:實體實施
1126:分析及提取
1128:實體驗證
1130:解析度增強
1132:遮罩資料準備
1134:流片
1136:製造
1138:封裝及裝配
1140:成品積體電路
1200:電腦系統
1202:處理裝置
1204:主記憶體
1206:靜態記憶體
1208:網路介面裝置
1210:視訊顯示單元
1212:文字數字輸入裝置
1214:游標控制裝置
1216:信號產生裝置
1218:資料儲存裝置
1220:網路
1222:圖形處理單元
1224:機器可讀取媒體
1226:指令
1228:視訊處理單元
1230:匯流排
1232:音訊處理單元
A:葉單元
G:葉單元
I:葉單元
L:葉單元
S:葉單元
W:葉單元
將根據下文給出之詳細描述及本揭示之具體實例的附圖來更充分地理解本揭示。諸圖用於提供對本揭示之具體實例之瞭解及理解,且不將本揭示之範圍限於此等特定具體實例。此外,諸圖未必按比例繪製。
[圖1]說明根據一或多個範例之特徵界定系統的方塊圖。
[圖2]說明根據一或多個範例之用於產生經重新組態之記憶體個體之方法的流程圖。
[圖3]說明根據一或多個範例之用於產生超級葉單元之方法的流程圖。
[圖4]說明根據一或多個範例之用於產生記憶體個體之時序模型之方法的流程圖。
[圖5]說明根據一或多個範例之記憶體個體的階層。
[圖6]說明根據一或多個範例之記憶體個體的階層。
[圖7]說明根據一或多個範例之範例記憶體個體及經重新組態之記憶體個體。
[圖8]說明根據一或多個範例之經重新組態之記憶體個體的階層。
[圖9]說明根據一或多個範例之範例記憶體個體。
[圖10]說明根據一或多個範例之經重新組態之記憶體個體。
[圖11]描繪根據本揭示之一些具體實例的在積體電路之設計及製造期間使用的各種程序之流程圖。
[圖12]描繪其中本揭示之具體實例可操作之範例電腦系統的圖。
400:方法
410、420:區塊
Claims (20)
- 一種方法,其包含: 獲得包含複數個葉單元之一記憶體個體,其中該複數個葉單元中之各者包含組件; 由一處理器從該複數個葉單元中之各者內之該等組件判定第一通道連接組件; 由該處理器藉由基於該等第一通道連接組件組合該複數個葉單元中之一第一兩個或大於兩個葉單元來產生一第一超級葉單元; 由該處理器基於該第一超級葉單元而產生一經更新記憶體個體;及 由該處理器判定該經更新記憶體個體之一時序模型。
- 如請求項1之方法,其中判定該等第一通道連接組件包含追蹤該複數個葉單元中之各者之該等組件之間的一傳播路徑。
- 如請求項1之方法,其進一步包含界定該第一超級葉單元之特徵以判定該第一超級葉單元之一第一時序延遲。
- 如請求項3之方法,其中界定該第一超級葉單元之特徵包含對該第一超級葉單元執行一靜態分析及對該第一超級葉單元執行一暫態分析中之至少一者。
- 如請求項3之方法,其進一步包含基於從該第一超級葉單元之該第一時序延遲產生的該時序模型而產生一經編譯網路連線表。
- 如請求項3之方法,其進一步包含: 藉由基於第二通道連接組件組合該複數個葉單元中之一第二兩個或大於兩個葉單元來產生一第二超級葉單元;及 界定該第二超級葉單元之特徵以判定該第二超級葉單元之一第二時序延遲,其中判定該經更新記憶體個體之該時序模型包含將該第一時序延遲與該第二時序延遲組合。
- 如請求項1之方法,其進一步包含基於對該記憶體個體之一改變而更新該第一超級葉單元。
- 如請求項1之方法,其進一步包含基於該第一超級葉單元而產生一第二記憶體個體。
- 如請求項1之方法,其進一步包含: 藉由基於第二通道連接組件組合該複數個葉單元中之一第二兩個或大於兩個葉單元來產生一第二超級葉單元; 判定該第一超級葉單元及該第二超級葉單元為等效的;及 在該經更新記憶體個體內用該該第一超級葉單元替換該第二超級葉單元。
- 一種系統,其包含: 一記憶體,其儲存指令;及 一處理器,其與該記憶體耦接且經組態以執行該等指令,該等指令在執行時使得該處理器進行以下操作: 獲得包含複數個葉單元之一記憶體個體,其中該複數個葉單元中之各者包含組件; 從該複數個葉單元中之各者內之該等組件判定第一通道連接組件; 藉由基於該等第一通道連接組件組合該複數個葉單元中之一第一兩個或大於兩個葉單元來產生一第一超級葉單元; 基於該第一超級葉單元而產生一經更新記憶體個體;及 判定該經更新記憶體個體之一時序模型。
- 如請求項10之系統,其中判定該等第一通道連接組件包含追蹤該複數個葉單元中之各者之該等組件之間的一傳播路徑。
- 如請求項10之系統,其進一步包含界定該第一超級葉單元之特徵以判定該第一超級葉單元之一第一時序延遲。
- 如請求項12之系統,其中界定該第一超級葉單元之特徵包含對該第一超級葉單元執行一靜態分析及對該第一超級葉單元執行一暫態分析中之至少一者。
- 如請求項12之系統,其進一步包含基於從該第一超級葉單元之該第一時序延遲產生的該時序模型而產生一經編譯網路連線表。
- 如請求項12之系統,其進一步包含: 藉由基於第二通道連接組件組合該複數個葉單元中之一第二兩個或大於兩個葉單元來產生一第二超級葉單元;及 界定該第二超級葉單元之特徵以判定該第二超級葉單元之一第二時序延遲,其中判定該經更新記憶體個體之該時序模型包含將該第一時序延遲與該第二時序延遲組合。
- 如請求項10之系統,其進一步包含基於對該記憶體個體之一改變而更新該第一超級葉單元。
- 如請求項10之系統,其進一步包含基於該第一超級葉單元而產生一第二記憶體個體。
- 一種非暫時性電腦可讀取媒體,其包含所儲存指令,該等所儲存指令在由一處理器執行時使得該處理器進行以下操作: 從一記憶體個體之複數個葉單元內之組件判定第一通道連接組件及第二通道連接組件; 藉由基於該等第一通道連接組件組合該複數個葉單元中之一第一兩個或大於兩個來產生一第一超級葉單元; 藉由基於該等第二通道連接組件組合該複數個葉單元中之一第二兩個或大於兩個來產生一第二超級葉單元; 判定該第一超級葉單元之一第一時序延遲及該第二超級葉單元之一第二時序延遲; 基於該第一超級葉單元及該第二超級葉單元而產生一經更新記憶體個體;及 基於該第一時序延遲及該第二時序延遲而判定該經更新記憶體個體之特徵。
- 如請求項18之非暫時性電腦可讀取媒體,其中判定該等第一通道連接組件及該等第二通道連接組件包含追蹤該複數個葉單元中之各者之該等組件之間的傳播路徑。
- 如請求項18之非暫時性電腦可讀取媒體,其中判定該第一時序延遲及該第二時序延遲包含對該第一超級葉單元及該第二超級葉單元執行一靜態分析及對該第一超級葉單元及該第二超級葉單元執行一暫態分析中之至少一者。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/592,404 US11836433B2 (en) | 2022-02-03 | 2022-02-03 | Memory instance reconfiguration using super leaf cells |
US17/592,404 | 2022-02-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202333039A true TW202333039A (zh) | 2023-08-16 |
Family
ID=85278239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW112102349A TW202333039A (zh) | 2022-02-03 | 2023-01-18 | 使用超級葉單元的記憶體個體重新配置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11836433B2 (zh) |
EP (1) | EP4453777A1 (zh) |
KR (1) | KR20240137591A (zh) |
TW (1) | TW202333039A (zh) |
WO (1) | WO2023150019A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12014127B2 (en) * | 2022-02-09 | 2024-06-18 | Synopsys, Inc. | Transforming a logical netlist into a hierarchical parasitic netlist |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7647220B2 (en) | 2001-10-18 | 2010-01-12 | Cadence Design Systems, Inc. | Transistor-level timing analysis using embedded simulation |
US9058860B2 (en) * | 2012-03-29 | 2015-06-16 | Memoir Systems, Inc. | Methods and apparatus for synthesizing multi-port memory circuits |
-
2022
- 2022-02-03 US US17/592,404 patent/US11836433B2/en active Active
-
2023
- 2023-01-13 EP EP23705731.0A patent/EP4453777A1/en active Pending
- 2023-01-13 KR KR1020247025796A patent/KR20240137591A/ko unknown
- 2023-01-13 WO PCT/US2023/010828 patent/WO2023150019A1/en unknown
- 2023-01-18 TW TW112102349A patent/TW202333039A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
US11836433B2 (en) | 2023-12-05 |
US20230244844A1 (en) | 2023-08-03 |
KR20240137591A (ko) | 2024-09-20 |
WO2023150019A1 (en) | 2023-08-10 |
EP4453777A1 (en) | 2024-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220027542A1 (en) | Memory efficient scalable distributed static timing analysis using structure based self-aligned parallel partitioning | |
US11836425B2 (en) | Engineering change orders with consideration of adversely affected constraints | |
TW202333039A (zh) | 使用超級葉單元的記憶體個體重新配置 | |
US20220085018A1 (en) | Mixed diffusion break for cell design | |
US11023635B1 (en) | Sequence of frames generated by emulation and waveform reconstruction using the sequence of frames | |
US11022634B1 (en) | Rail block context generation for block-level rail voltage drop analysis | |
US20230205960A1 (en) | Design for testability circuitry placement within an integrated circuit design | |
CN116976249A (zh) | 用于增量映射优化的基于可满足性的再替换 | |
US20220327272A1 (en) | Real time view swapping (rtvs) in a mixed signal simulation | |
US20230004698A1 (en) | Dividing a chip design flow into sub-steps using machine learning | |
US11868696B2 (en) | Lightweight unified power format implementation for emulation and prototyping | |
US11704467B2 (en) | Automated balanced global clock tree synthesis in multi level physical hierarchy | |
US11847396B1 (en) | Integrated circuit design using multi-bit combinational cells | |
US12032894B2 (en) | System and method for synchronizing net text across hierarchical levels | |
US11657205B2 (en) | Construction, modeling, and mapping of multi-output cells | |
US11556676B2 (en) | Scalable formal security verification of circuit designs | |
CN115587560A (zh) | 用于分布式引擎的运行时和存储器高效的属性查询处理 | |
US12014127B2 (en) | Transforming a logical netlist into a hierarchical parasitic netlist | |
US11630934B1 (en) | Integrated circuit analysis using a multi-level data hierarchy implemented on a distributed compute and data infrastructure | |
US20210110093A1 (en) | State table complexity reduction in a hierarchical verification flow | |
US11734080B1 (en) | Memory efficient and scalable approach to stimulus (waveform) reading | |
US20230409791A1 (en) | Field-net for placement evaluation | |
US20230072923A1 (en) | Supervised machine learning based memory and runtime prediction using design and auxiliary constructs | |
US20220327266A1 (en) | Generating a reduced block model view on-the-fly | |
US11663384B1 (en) | Timing modeling of multi-stage cells using both behavioral and structural models |