TWI818068B - 用於分段記憶體實體之方法及裝置 - Google Patents

用於分段記憶體實體之方法及裝置 Download PDF

Info

Publication number
TWI818068B
TWI818068B TW108130863A TW108130863A TWI818068B TW I818068 B TWI818068 B TW I818068B TW 108130863 A TW108130863 A TW 108130863A TW 108130863 A TW108130863 A TW 108130863A TW I818068 B TWI818068 B TW I818068B
Authority
TW
Taiwan
Prior art keywords
memory
data
segments
entity
timing
Prior art date
Application number
TW108130863A
Other languages
English (en)
Other versions
TW202016739A (zh
Inventor
普拉提克 坎夏巴義 沙塔夏
耀功 莊
史里瑞 席亞加拉珍
朱宏偉
毛里 拉賈拉姆 丘因里
Original Assignee
英商Arm股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 英商Arm股份有限公司 filed Critical 英商Arm股份有限公司
Publication of TW202016739A publication Critical patent/TW202016739A/zh
Application granted granted Critical
Publication of TWI818068B publication Critical patent/TWI818068B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3315Design verification, e.g. functional simulation or model checking using static timing analysis [STA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/06Power analysis or power optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本文中所描述之各種實施方案涉及一種方法。該方法可包含:選擇根據時序檔案產生來特徵化之一目標記憶體實體;基於使用者界定準確度來判定該目標記憶體實體之一分段數目;及基於該目標記憶體實體之一物理架構來將該目標記憶體實體分割成該數目個分段。該方法亦可包含:基於該分段數目及模擬測試台資料來產生該測試台資料;獲得與該數目個分段中之各分段相關聯之該目標記憶體實體之模擬資料;及藉由報告該數目個分段中各分段之時序資料來產生一時序檔案。

Description

用於分段記憶體實體之方法及裝置
本章節意欲提供與理解本文中所描述之各種技術相關之資訊。如本章節之標題所暗示,此係絕不暗示其為先前技術之相關技術之一討論。一般而言,相關技術可或可不被視為先前技術。因此,應瞭解,本章節中之任何敘述應鑑於此來解讀,而不應被解讀為先前技術之任何許可。
自由(.lib)檔案蒐集由電子設計自動化(EDA)工具用於執行電路區塊之靜態時序分析(STA)及功率分析的資料。通常,針對參數設定之各變動來產生一自由(.lib)檔案。不幸地,此程序要使用大量運算資源及時間。
通常,為模型化一多位元匯流排之時序,特徵化匯流排之各位元之時序且在一自由檔案中報告整個匯流排之一最壞情況時序模型。就先進技術節點而言,習知方法將不必要及不可接受未知值引入時序模型中。一些習知方法報告匯流排之各位元之時序模型。此方法因顯著提高複雜性、時序資料庫大小及自由模型大小且大幅增加模型產生及驗證之成本而存在問題。此外,此等習知方法無法應用於記憶體編譯器。例如,若模型化匯流排之各位元之時序,則可能難以判定應使用哪個資料來計算,因 為一些記憶體實體可具有不同於特徵化實體之一位元數目。
100:記憶體電路/系統
104:運算裝置/核心電路
104A:第一位元單元陣列/第一核心陣列電路
104B:第二位元單元陣列/第二核心陣列電路
106:控制區塊電路
108:字線驅動器電路
110:處理器
112:記憶體/非暫時性電腦可讀媒體
120:記憶體編譯器
122:自由檔案產生器
130:模擬器
140:資料庫
150:顯示裝置
152:使用者介面(UI)
200:目標記憶體實體
300:分段
400:波形圖
402:使用者界定準確度
410:第一波形
412:第二波形
500:方法
510:區塊
520:區塊
530:區塊
540:區塊
550:區塊
560:區塊
600:方法
610:區塊
620:區塊
630:區塊
640:區塊
650:區塊
660:區塊
670:區塊
680:區塊
本文參考附圖來描述各種技術之實施方案。然而,應瞭解,附圖僅繪示本文中所描述之各種實施方案且不意謂限制本文中所描述之各種技術之實施例。
圖1繪示根據本文中所描述之各種實施方案之用於產生時序檔案(例如自由時序檔案)之一系統之一方塊圖。
圖2繪示根據本文中所描述之實施方案之分割成多個分段之一目標記憶體實體之一圖式。
圖3繪示根據本文中所描述之實施方案之每分段具有特定數目個位元之一分段之一圖式。
圖4繪示根據本文中所描述之實施方案之應用於一分段記憶體實體時之使用者界定準確度之一波形圖。
圖5至圖6繪示根據本文中所描述之各種實施方案之用於產生自由時序檔案之各種方法之圖式。
本文中所描述之各種實施方案係關於基於準確分段之記憶體實體及編譯器特徵化。例如,本文中所描述之各種方案及技術係針對基於已被特徵化之一組記憶體實體之靈活匯流排分段及內插來產生一使用者界定記憶體實體之一時序模型(例如自由時序模型)。本文中所描述之方案及技術可顯著改良單晶片系統(SoC)時序收斂之設置及保持窗,其可導致顯著減少保持緩衝插入以減小SoC面積及功率。如本文中所描述,記憶體 時序檔案(例如自由時序檔案)可包含可用於SoC實施之關鍵資訊,諸如時序、功率、洩漏及電容。因此,本文中所描述之各種方案及技術係關於併入記憶體時序檔案中之資料以可接受準確度損失高效率表示之方式。
如本文中所描述,各種方案及技術將匯流排分割成若干分段(子匯流排)。分割係基於記憶體實體之物理架構,且針對給定匯流排,所有記憶體實體具有取決於架構及準確度之固定數目個分段。針對不同記憶體實體,給定分段可具有不同數目個位元。然而,給定分段可具有所有記憶體實體之相同物理意義,其意謂可內插資料以產生未被特徵化之記憶體實體之一對應分段之一時序模型(例如自由時序檔案)。因為各記憶體實體之給定匯流排可具有相同數目個分段,所以內插較簡單。基於記憶體之物理架構及準確度來調諧分段之數目。針對待特徵化之選定實體,特徵化分段之各位元且將資料作為給定實體及分段之時序資料儲存於一資料庫中。此外,可接著藉由內插特徵化記憶體實體組中之對應分段之模型來模型化新記憶體實體中之各分段。
本文現將參考圖1至圖6來更詳細描述用於產生時序檔案(諸如(例如)自由時序檔案)之一系統及方法之各種實施方案。
圖1繪示根據本文中所描述之各種實施方案之用於產生時序檔案(例如自由時序檔案)之一系統100之一方塊圖。
時序檔案(諸如(例如)自由檔案(.lib檔案))可係指一積體電路之時序資料。在一些例項中,自由檔案可用於提供與一積體電路之一或多個單元相關聯之時序及功率參數。可自在各種操作條件下模擬一積體電路之單元產生時序及功率參數,且可依一.lib檔案格式表示與其相關聯之資料。自由檔案可包含用於判定(或計算)與一積體電路相關聯之各種時序 特性及/或參數(諸如(例如)輸入/輸出(I/O)延遲路徑、時序檢查值、互連延遲等等)的時序模型及相關聯資料。
參考圖1,系統100可包含經組態以產生自由檔案之一基於電腦之系統。系統100可與一運算裝置104相關聯,運算裝置104實施為經組態以產生本文中所描述之自由檔案的一專用機器。在此例項中,運算裝置104可包含任何(若干)標準元件及/或組件,其包含至少一處理器110、記憶體112(例如非暫時性電腦可讀儲存媒體)、一或多個資料庫140、電源、周邊設備及圖1中可能未具體展示之各種其他運算元件及/或組件。運算裝置104可包含儲存於非暫時性電腦可讀媒體112中之指令,其可由至少一處理器110執行。運算裝置104可與可用於提供一使用者介面(UI)152(諸如一圖形使用者介面(GUI))之一顯示裝置150(例如一監視器或其他顯示器)相關聯。在一些例項中,UI 152可用於自一使用者接收各種參數及/或偏好以管理、操作及/或利用運算裝置104。因而,運算裝置104可包含用向一使用者提供輸出之顯示裝置150,且顯示裝置150可包含用於自使用者接收輸入之UI 152。例如,UI 152可實施為一記憶體編譯器使用者介面。在一些例項中,UI 152可接收與使用者界定準確度相關聯之使用者輸入,且使用者界定準確度可由直接使用者輸入判定(或計算)。
在各種實施方案中,運算裝置104可經組態以實施一方法,該方法用於產生基於使用者界定準確度來分段之記憶體實體之時序檔案(例如自由時序檔案)。例如,自由檔案(.lib檔案)可用於蒐集由電子設計自動化(EDA)工具用於執行積體電路及電路區塊之靜態時序分析(STA)及功率分析的資料。EDA模型/視圖檔案(諸如(但不限於)自由視圖或模型/視圖檔案)可具有記憶體之各種抽象物理特性,諸如(但不限於)效能、約 束、雜訊及/或功率。可取得包含於一時序檔案(諸如(例如)一.lib檔案)中之各單元且取決於其邏輯功能之不同資料,諸如(例如)輸入接針電容、自輸入至輸出之傳播延遲、輸出轉變時間、各種時序約束(例如保持/設置/最小脈寬)、電流洩漏功率及單位轉變能量之一或多者。在一些例項中,電路路徑延遲可由單元之新增延遲係此路徑之部分導致,且電路功率可由單元之新增功率係一電路之部分導致。可用於.lib檔案中之不同資料可由單元層級所執行之SPICE模擬(積體電路通用模擬程式)導致。運行包含於.lib檔案中之單元之SPICE模擬要使用大量CPU時間,且在一些例項中,可針對一類型之電晶體(例如低VT、高VT等等)之一特定PVT(程序、電壓及溫度)拐點來產生一.lib檔案。在一些應用中,設計一積體電路可使用多個.lib檔案來考量不同電晶體類型之程序、電壓及溫度之可能變動。此外,在一些情況中,可因此倍增.lib檔案之數目。
根據本文中所描述之各種實施方案,運算裝置104可經組態以實施一方法,該方法基於已被特徵化之一組記憶體實體之匯流排分段及/或內插來產生一新記憶體實體之一時序模型(例如一自由時序檔案)。儘管不同寬度之匯流排跨不同記憶體實體,但各記憶體實體之匯流排可分成相同數目個分段。可基於一特定使用者界定準確度及/或自提取接線對照表獲得之內部RC延遲來判定此分段數目。當特徵化記憶體實體時,可基於各記憶體實體之一準確度要求來將各記憶體實體特徵化為具有不同分段數目。當針對記憶體編譯器120來特徵化時,一寬實體可用於判定滿足使用者界定準確度要求所需之一分段數目。就各匯流排而言,分段可或可不包含相同數目個位元,且可基於記憶體實體之一物理架構來判定包含於各分段中之位元。在各記憶體實體內,各分段中之所有位元中之一最壞情況 時序可用作分段之一模型。可藉由內插特徵化記憶體實體組中對應分段之模型來模型化新實體中之各分段。
參考圖1,運算裝置104可包含經組態以獲得使用者組態參數、擷取EDA資料(例如時序檔案、自由時序檔案等等)及產生一記憶體實體之一記憶體編譯器120。EDA模型/視圖檔案(諸如(但不限於)自由視圖或模型/視圖檔案)可含有(或至少包含)記憶體之各種抽象物理特性,諸如(但不限於)效能、約束、雜訊及/或功率。有時,記憶體編譯器120可產生具有不同組態之數百萬個記憶體實體,且在一些情況中,特徵化每一實體及一記憶體實體中匯流排之各位元可能成本高昂。因此,記憶體編譯器120可使用一高效率方法,其涉及選擇覆蓋記憶體編譯器120之整個設計空間之一組實體。鑑於字、位元及各種其他組態,記憶體編譯器120可匯編一選定記憶體實體之一實線電路。此外,記憶體編譯器120可產生選定記憶體實體之各種電路行為資料,諸如(例如)洩漏、時序、功率及雜訊特性。記憶體編譯器120可產生諸多實體,且記憶體編譯器120產生及儲存各個記憶體實體之行為資料可能較困難、低效率及無法接受。因而,本文中所描述之實施方案涉及用於產生供記憶體編譯器120使用以藉此開發及產生更準確及高效率資料之時序檔案(例如自由時序檔案)的方案及技術。此外,本文中所描述之方案及技術係基於內插及曲線擬合一使用者選定記憶體實體之分段資料。
在一些實施方案中,記憶體編譯器120可用於存取用於匯編之記憶體構建區塊之一庫,諸如(例如)位元單元、陣列、驅動器、感測放大器、控制電路、解碼器、多工器等等之區塊及拼塊單元。記憶體編譯器120可經組態以產生及拼接用於構建記憶體實體之各種物理視圖。在設 計階段期間,記憶體編譯器120可與一使用者介接以接收涉及字、位元、多工及各種其他選項之輸入參數。記憶體編譯器120可使用各種輸入來構建用於實施及製造之記憶體實體及EDA視圖。
本文中所描述之各種實施方案提供一高效率方法,其涉及仔細選擇覆蓋記憶體編譯器之整個設計空間之一組實體。選定實體之時序模型可經特徵化且保存於一資料庫中。當記憶體編譯器產生一給定實體之一時序模型或檔案(例如一自由時序模型或檔案)時,且若給定實體係一特徵化實體,則可直接使用判定資料。若給定實體不是一特徵化實體,則記憶體編譯器可內插一最近特徵化實體之判定資料且使用內插資料來產生時序模型或檔案(例如自由時序模型或檔案)。
參考圖1,運算裝置104可包含一自由檔案產生器122,其經組態以引起至少一處理器110產生一積體電路之時序資料。例如,自由檔案產生器122可經組態以引起至少一處理器110執行(perform)或執行(execute)一或多個以下事件序列。自由檔案產生器122可選擇根據自由檔案產生來特徵化之一記憶體實體,且記憶體實體可包含取決於記憶體實體之一大小的一記憶體輸入及輸出匯流排寬度。自由檔案產生器122可基於使用者界定準確度來判定(或計算)記憶體輸入及輸出匯流排寬度之一分段數目。自由檔案產生器122可將記憶體輸入及輸出匯流排寬度分割成(或分成)基於記憶體實體之一物理架構所判定之分段數目。自由檔案產生器122可基於所判定之分段數目來產生具有一接線對照表之測試台資料且模擬具有接線對照表之測試台資料。自由檔案產生器122可獲得(或收集)與數個分段中之各分段相關聯之記憶體輸入及輸出匯流排寬度之模擬資料。自由檔案產生器122可藉由報告數個分段中之各分段之時序資料來產生一時序 檔案(例如自由時序檔案)。在一些實施方案中,自由時序檔案可由電子設計自動化(EDA)工具用於執行積體電路之靜態時序分析(STA)及功率分析,因此,自由時序檔案可由運算裝置用於基於自由時序檔案來製造一積體電路或引起基於自由時序檔案來製造一積體電路。
參考圖1,運算裝置104可包含一模擬器130,其經組態以引起至少一處理器110產生積體電路之一或多個模擬。在一些例項中,模擬器130可包含經組態以產生積體電路之SPICE模擬的一SPICE模擬器。一般而言,SPICE係「積體電路通用模擬程式」之一縮寫詞,其係一開放原始碼類比電子電路模擬器。此外,SPICE係由半導體工業用於檢查積體電路設計之完整性及預測積體電路設計之行為的一通用軟體程式。因而,在一些例項中,自由檔案產生器122可經組態以與模擬器130介接以基於操作條件之一變動範圍(其包含程序、電壓及溫度之一變動範圍)內之積體電路之一或多個模擬(例如SPICE模擬)來產生時序資料。
在一些實施方案中,運算裝置104可包含一或多個資料庫140,其等經組態以儲存及/或記錄與產生自由檔案相關之各種資訊。例如,(若干)資料庫140可經組態以儲存與積體電路相關之各種資料及資訊及各種時序資料、時序檔案、自由檔案(例如自由時序檔案)及方程式相關資料之一或多者。此外,(若干)資料庫140可經組態以儲存與涉及模擬資料(其包含(例如)SPICE模擬資料)之積體電路相關之資料及資訊。
圖2繪示根據本文中所描述之各種實施方案之分割成多個分段之一目標記憶體實體200之一圖式。
如圖2中所展示,目標記憶體實體200包含具有多個位元單元陣列(其包含一第一位元單元陣列104A及一第二位元單元陣列104B)之 核心電路104。各位元單元陣列104A、104B可包含多個位元單元,且各位元單元可指稱一記憶體單元,且各位元單元可經組態以儲存至少一資料位元值(例如與一邏輯「0」或「1」相關之一資料值)。如圖中所展示,各位元單元陣列104A、104B可包含配置成各種組態之任何數目個位元單元,諸如(例如)具有多個位元單元之任何數目個行及任何數目個列的二維(2D)記憶體陣列,其可配置成具有2D索引能力之一2D柵格圖案。可使用隨機存取記憶體(RAM)電路及/或一些其他類型之揮發性類型記憶體來實施各位元單元。例如,各位元單元可包含一多電晶體靜態RAM(SRAM)單元,其包含各種類型之SRAM單元,諸如(例如)6T CMOS SRAM及/或其他類型之互補MOS(CMOS)SRAM單元,諸如(例如)每位元4T、8T、10T或更多個電晶體。在一些例項中,記憶體電路100可依具有隨技術變動之一電壓範圍之一電源電壓位準VDD操作。
目標記憶體實體200可包含控制區塊電路106,其操作為用於經由字線驅動器電路108驅動之一選定字線(WL)來存取位元單元之字線(WL)列解碼器電路(ROWDEC)。WL解碼器及WL驅動器之組合可指稱(WDX)。目標記憶體實體200(其包含核心電路104、位元單元及控制106)可依一第一供應電壓(諸如(例如)一核心供應電壓VDDC)操作。電壓範圍隨技術變動。在其他例項中,列解碼器可依核心供應電壓VDDC操作,且其他組件(諸如(例如)WL驅動器)可依可不同於第一或核心供應電壓VDDC之一第二供應電壓(諸如(例如)一周邊供應電壓VDDP)產生一字線(WL)信號。
在各種實施方案中,目標記憶體實體200可分割成(或分成)數個(N個)分段(諸如(例如)S0、S1、S2、S3、S4、S5),其中各分段具有 數個(M個)位元。如圖2中所展示,分段之數目(N)可為六(6)。例如,參考第一核心陣列電路104A,一第一分段S0可包含多個位元(位元[0]、位元[1]、位元[2]),一第二分段S1可包含多個位元(位元[3]、位元[4]、位元[5]),且一第三分段S2可包含多個位元(位元[6]、位元[7]、位元[8]、位元[9])。此外,參考第二核心陣列電路104B,一第四分段S3可包含多個位元(位元[10]、位元[11]、位元[12]、位元[13]),一第五分段S4可包含多個位元(位元[14]、位元[15]、位元[16]),且一第六分段S5可包含多個位元(位元[17]、位元[18]、位元[19])。
根據本文中所描述之各種實施方案,可使用基於一特定使用者界定準確度(例如以皮秒(pS)為單位)及/或自提取接線對照表獲得之一內部RC延遲之一演算法來判定分段之數目(N)。例如,可使用以下演算法。
(#-of-bits/segments)*R*C*0.8量測臨限值=準確度(以pS為單位)
實例:R=1Kohm,且C=2.5fF
量測臨限值=0.8(針對80%)
準確度(以pS為單位)=10pS
接著,(#-of-bits/segments)=10p/(1K*2.5f*0.8)=5
在一些例項中,可藉由將匯流排分裂成靈活子匯流排來報告基於分段之時序,其中時序準確度可判定(或計算)如下。
在一第一事件中,存取時間(tacc)未知值可一直減少至tacc<2%(例如,取決於分段中之位元數(M))。
在一第二事件中,資料匯流排設置及保持時間未知值可一 直減少至<5ps(在基準拐點中),其可僅取決於分段中之位元數(M)。
在一第三事件中,可判定自由檔案大小(例如,一記憶體實體自由檔案大小=129MB)。在一些例項中,各輸入/輸出匯流排時序資料占總自由檔案大小之一大部分。有時,位元爆破報告一不同時序之各位元之輸入/輸出匯流排可增大自由檔案大小。
在一第四事件中,可判定模擬運行時間以實現一記憶體編譯器,其中可使用基於分段之時序來特徵化相同數目個編譯器實體,且基於分段之內插可實現記憶體編譯器實體。
有利地,本文中所描述之方案及技術可用於達成高時序模型準確度且不顯著增加開發及驗證記憶體編譯器之複雜性及成本。
圖3繪示根據本文中所描述之各種實施方案之每分段具有特定數目個位元之一分段300之一圖式。
如圖3中所展示,分段300可包含具有數個(4個)位元(諸如(例如)bit_0、bit_1、bit_2、bit_3)之一4位元分段,其中各位元可具有與其相關聯之一有效RC。例如,一第一位元(bit_0)可具有與一第一電阻器(R0)及一第一電容器(C0)相關聯之一第一有效RC,且一第二位元(bit_1)可具有與一第二電阻器(R1)及一第二電容器(C1)相關聯之一第二有效RC。此外,一第三位元(bit_2)可具有與一第三電阻器(R2)及一第三電容器(C2)相關聯之一第三有效RC,且一第四位元(bit_3)可具有與一第四電阻器(R3)及一第四電容器(C3)相關聯之一第四有效RC。在一些例項中,位元(bit_0、bit_1、bit_2、bit_3)可經串聯配置以接收一寫入時脈輸入(Wclk-in)且提供一寫入時脈輸出(Wclk-out)。
分段300實施為一4位元分段。然而,在各種其他實施方案 中,分段可具有任何數目個(例如2個或3個)位元,其取決於本文中所描述之各種方案及技術之特定應用。
圖4繪示根據本文中所描述之各種實施方案之應用於一分段記憶體實體時之使用者界定準確度402之一波形圖400。例如,如圖4中所展示且參考圖3,波形圖400中以圖形顯示寫入時脈輸入(Wclk-in)之一第一波形410及寫入時脈輸出(Wclk-out)之一第二波形412。
在一些實施方案中,使用者界定準確度402可係指臨限值之一上升,諸如(例如)約80%臨限值上升。有時,波形圖400可用於判定可取決於一分段中位元之一最大數目的分段時序準確度。
現將參考圖5至圖6來描述用於產生時序檔案(諸如自由時序檔案)之方法及方法論之各種實施方案。
圖5繪示根據本文中所描述之各種實施方案之用於產生時序檔案(例如自由時序檔案)之一方法500之一圖式。
應瞭解,儘管方法500指示執行操作之一特定順序,但在一些例項中,可依一不同順序及對不同系統執行操作之特定部分。此外,在一些例項中,圖1之運算裝置104可經組態以執行方法500。在其他例項中,可新增額外操作或步驟至方法500。類似地,可省略一些操作或步驟。
在一些實施方案中,方法500可實施為經組態以產生自由檔案(.lib檔案)之一程式或軟體指令程序。例如,方法500可經組態以提供以下事件序列。
在區塊510中,方法500可選擇根據時序檔案產生來特徵化之一目標記憶體實體。目標記憶體實體可包含取決於目標記憶體實體之一 大小的一記憶體輸入匯流排寬度及一記憶體輸出匯流排寬度。在區塊520中,方法500可基於使用者界定準確度來判定(或計算)目標記憶體實體之一分段數目。使用一每分段位元計算演算法,可基於使用者界定準確度來判定用於記憶體輸入匯流排寬度及記憶體輸出匯流排寬度之分段數目。使用者界定準確度可由目標記憶體實體之分段之一選定目標數目之直接使用者輸入判定。
在區塊530中,方法500可將目標記憶體實體分割成(或分成)基於目標記憶體實體之一物理架構之數個分段。在區塊540中,方法500可基於分段數目及模擬測試台資料來產生測試台資料。在一些例項中,測試台資料可具有用於模擬之接線對照表資料,且可使用接線對照表資料來模擬測試台資料。在區塊550中,方法500可獲得(或收集)與數個分段中之各分段相關聯之目標記憶體實體之模擬資料。在一些例項中,可在數個分段中各分段之一記憶體輸入設置及保持時間內獲得模擬資料。在其他例項中,可在自數個分段中各分段之一輸入時脈之一上升的一輸出延遲內獲得模擬資料。在區塊560中,方法500可藉由報告數個分段中各分段之時序資料來產生一時序檔案。在一些例項中,可藉由報告數個分段中各分段之最壞情況時序資料來產生時序檔案。此外,在一些實施方案中,方法500亦可包含基於時序檔案來製造一積體電路或引起一積體電路被製造。
圖6繪示根據本文中所描述之各種實施方案之用於產生時序檔案(例如自由時序檔案)之一方法600之一圖式。
應瞭解,儘管方法600指示執行操作之一特定順序,但在一些例項中,可依一不同順序及對不同系統執行操作之特定部分。此外, 在一些例項中,圖1之運算裝置104可經組態以執行方法600。在其他例項中,可新增額外操作或步驟至方法600。類似地,可省略一些操作或步驟。
在一些實施方案中,方法600可實施為經組態以產生自由檔案(.lib檔案)之一程式或軟體指令程序。例如,方法600可經組態以提供以下事件序列。
在區塊610中,方法600可選擇由一記憶體編譯器(例如圖1之記憶體編譯器120)支援之一記憶體實體。記憶體實體可由一最寬記憶體實體實施。記憶體實體可包含取決於記憶體實體之一大小的一記憶體輸入匯流排寬度及一記憶體應輸出匯流排寬度。在區塊620中,方法600可基於使用者界定準確度來判定記憶體實體之一分段數目。使用者界定準確度可由目標記憶體實體之分段之一選定目標數目之直接使用者輸入判定。使用一每分段位元計算演算法,可基於使用者界定準確度來判定用於記憶體輸入匯流排寬度及記憶體輸出匯流排寬度之分段數目。一旦判定分段數目,則可確定記憶體編譯器之分段數目。
在區塊630中,方法600可將記憶體實體分割成(或分成)基於記憶體實體之一物理架構之數個分段。在區塊640中,方法600可選擇具有類似於記憶體實體之一分段數目的一或多個記憶體編譯器實體用於時序模擬。在一些例項中,可選擇具有類似於記憶體輸入匯流排及記憶體輸出匯流排之一分段數目的一或多個記憶體編譯器實體用於時序模擬。在其他例項中,大於分段數目之一大小的一或多個記憶體編譯器實體具有類似量測資料,且每分段位元之一數目基於記憶體實體之一大小來變動。在區塊650中,方法600可基於分段數目及模擬具有一接線對照表之測試台資 料來產生具有接線對照表之測試台資料。在區塊660中,方法600可獲得(或收集)分段模擬資料且將分段模擬資料儲存於一資料庫中。
在區塊670中,方法600可基於內插及曲線擬合一使用者選定記憶體實體之分段模擬資料來產生記憶體實體資料。當一使用者自一記憶體編譯器使用者介面選擇記憶體實體時,可基於內插及曲線擬合一使用者選定記憶體實體之分段模擬資料來產生記憶體實體資料。在一些例項中,可針對數個分段中之各分段產生記憶體輸入匯流排時序資料及記憶體輸出匯流排時序資料,且可使用內插或曲線擬合來產生數個分段中各分段內之記憶體實體資料。在區塊680中,方法600可藉由報告各分段之時序資料來產生一時序檔案(例如一自由時序檔案)。此外,在一些例項中,方法600亦可包含基於時序檔案(例如自由時序檔案)來製造一積體電路或引起一積體電路被製造。
本文中描述一方法之各種實施方案。該方法可包含:選擇根據時序檔案產生來特徵化之一目標記憶體實體;基於使用者界定準確度來判定該目標記憶體實體之一分段數目;及基於該目標記憶體實體之一物理架構來將該目標記憶體實體分割成該數個分段。該方法亦可包含:基於該分段數目及模擬測試台資料來產生該測試台資料;獲得與該數個分段中之各分段相關聯之該目標記憶體實體之模擬資料;及藉由報告該數個分段中各分段之時序資料來產生一時序檔案。
本文中描述一方法之各種實施方案。該方法可包含:選擇由一記憶體編譯器支援之一記憶體實體;基於使用者界定準確度來判定該記憶體實體之一分段數目;及基於該記憶體實體之一物理架構來將該記憶體實體分割成該數個分段。該方法可包含:選擇具有類似於該記憶體實體 之一分段數目的一或多個記憶體編譯器實體用於時序模擬;基於該分段數目及模擬具有一接線對照表之測試台資料來產生具有該接線對照表之該測試台資料;及獲得分段模擬資料且將該分段模擬資料儲存於一資料庫中。該方法亦可包含基於內插及曲線擬合一使用者選定記憶體實體之該分段模擬資料來產生記憶體實體資料及藉由報告各分段之時序資料來產生一時序檔案。
本文中描述一裝置之各種實施方案,該裝置具有一處理器及一儲存組件,該儲存組件上儲存有指令,該等指令在由該處理器執行時引起該處理器選擇根據時序檔案產生來特徵化之一記憶體實體。該記憶體實體可包含取決於該記憶體實體之一大小的一記憶體輸入及輸出匯流排寬度。該等指令可引起該處理器:基於使用者界定準確度來判定該記憶體輸入及輸出匯流排寬度之一分段數目;將該記憶體輸入及輸出匯流排寬度分割成基於該記憶體實體之一物理架構所判定之該數個分段;及基於該判定分段數目及模擬具有一接線對照表之測試台資料來產生具有該接線對照表之該測試台資料。該等指令亦可引起該處理器獲得與該數個分段中之各分段相關聯之該記憶體輸入及輸出匯流排寬度之模擬資料及藉由報告該數個分段中各分段之時序資料來產生一時序檔案。
可使用諸多通用或專用運算系統環境或組態來操作本文中所描述之各種技術之實施方案。可適合於與本文中所描述之各種技術一起使用之運算系統、環境及/或組態之實例包含(但不限於)個人電腦、伺服器電腦、手持或膝上型裝置、多處理器系統、基於多處理器之系統、視訊轉換器、可程式化消費性電子產品、網路PC、迷你電腦、主機電腦、智慧型手機、平板電腦、穿戴式電腦、雲端運算系統、虛擬電腦、航海電子裝 置及其類似者。
本文中所描述之各種技術可實施於由一電腦執行之電腦可執行指令(諸如程式模組)之一般背景中。程式模組包含執行特定任務或實施特定抽象資料類型之常式、程式、物件、組件、資料結構等等。此外,各程式模組可依其自身方式實施,且無需全部依相同方式實施。儘管程式模組可執行於一單一運算系統上,但應瞭解,在一些實施方案中,程式模組可實施於經調適以彼此通信之分離運算系統或裝置上。一程式模組亦可為硬體及軟體之一些組合,其中由程式模組執行之特定任務可透過硬體、軟體或兩者之一些組合來完成。
本文中所描述之各種技術可實施於分佈式運算環境中,其中任務由透過一通信網路來鏈接(例如,藉由硬線鏈路、無線鏈路或其等之各種組合)之遠端處理裝置執行。在一分佈式運算環境中,程式模組可定位於包含(例如)記憶體儲存裝置及其類似者之本端及遠端兩種電腦儲存媒體中。
此外,本文中所提供之討論可被視為針對某些特定實施方案。應瞭解,本文中所提供之討論被提供用於使一般技術者能夠製造及使用本文中由申請專利範圍之標的界定之任何標的。
申請專利範圍之標的不意欲受限於本文中所提供之實施方案及繪示,而是包含該等實施方案之修改形式,其包含根據申請專利範圍之實施方案之部分及不同實施方案之元件之組合。應暸解,如同任何工程或設計專案,在任何此實施方案之開發中,應作出諸多實施方案特定決策以達成可隨實施方案變動之開發者之特定目標,諸如符合系統相關及企業相關約束。此外,應暸解,此一開發計劃可能既複雜又耗時,但對於受益 於本發明之一般技術者而言,仍將是設計、製作及製造之一常規任務。
已詳細參考各種實施方案,附圖中繪示其實例。在[實施方式]中,闡述諸多特定細節以提供本發明之一透徹理解。然而,可在無此等特定細節之情況下實踐本發明。在一些其他例項中,未詳細描述熟知方法、程序、組件、電路及網路以免不必要地使實施例之細節不清楚。
亦應瞭解,儘管術語「第一」、「第二」等等可在本文中用於描述各種元件,但此等元件不應受限於此等術語。此等術語係僅用於使元件彼此區分。例如,一第一元件可被稱作一第二元件,且類似地,一第二元件可被稱作一第一元件。第一元件及第二元件係兩個各自元件,但其等不被視為相同元件。
本發明之[實施方式]中所使用之術語係用於描述特定實施方案且不意欲限制本發明。如本發明之[實施方式]及隨附申請專利範圍中所使用,除非內文另有明確指示,否則單數形式「一」及「該」意欲亦包含複數形式。本文中所使用之術語「及/或」涉及且涵蓋相關聯列項之一或多者之任何及所有可能組合。本說明書中所使用之術語「包含」及/或「包括」特指存在所陳述之特徵、整體、步驟、操作、元件及/或組件,但不排除存在或新增一或多個其他特徵、整體、步驟、操作、元件、組件及/或其群組。
如本文中所使用,術語「若...」可被解釋為意謂「當...時」或「在...之後」或「回應於判定...」或「回應於偵測到...」,其取決於內文。類似地,片語「若判定...」或「若偵測到[一規定條件或事件]」可被解釋為意謂「在判定...之後」或「回應於判定...」或「在偵測到[規定條件或事件]之後」或「回應於偵測到[規定條件或事件]」,其取決於內 文。術語「上」及「下」、「上部」及「下部」、「向上」及「向下」、「下方」及「上方」及指示一給定點或元件上方或下方之相對位置之其他類似術語可結合本文中所描述之各種技術之一些實施方案使用。
儘管上文係針對本文中所描述之各種技術之實施方案,但可根據可由以下申請專利範圍判定之本發明來設計其他及進一步實施方案。
儘管已用專針對結構特徵及/或方法動作之語言描述標的,但應瞭解,隨附申請專利範圍中所界定之標的未必受限於上述特定特徵或動作。確切而言,上述特定特徵及動作係揭示為實施請求項之實例性形式。
104:運算裝置/核心電路
104A:第一位元單元陣列/第一核心陣列電路
104B:第二位元單元陣列/第二核心陣列電路
106:控制區塊電路
108:字線驅動器電路
200:目標記憶體實體

Claims (20)

  1. 一種用於分段記憶體實體之方法,其包括:選擇根據時序檔案產生來特徵化之一目標記憶體實體;基於使用者界定準確度來判定該目標記憶體實體之一分段數目;基於該目標記憶體實體之一物理架構來將該目標記憶體實體分割成該數個分段;基於該分段數目及模擬測試台資料來產生該測試台資料;獲得與該數個分段中之各分段相關聯之該目標記憶體實體之模擬資料;及藉由報告該數個分段中各分段之時序資料來產生一時序檔案。
  2. 如請求項1之方法,其中該目標記憶體實體包括取決於該目標記憶體實體之一大小的一記憶體輸入匯流排寬度及一記憶體輸出匯流排寬度。
  3. 如請求項2之方法,其中使用一每分段位元計算演算法,基於該使用者界定準確度來判定用於該記憶體輸入匯流排寬度及該記憶體輸出匯流排寬度之該分段數目。
  4. 如請求項1之方法,其中由該目標記憶體實體之分段之一選定目標數目之直接使用者輸入判定該使用者界定準確度。
  5. 如請求項1之方法,其中在該數個分段中各分段之一記憶體輸入設置 及保持時間內獲得該模擬資料。
  6. 如請求項1之方法,其中在自來該數個分段中各分段之一輸入時脈之一上升的一輸出延遲內獲得該模擬資料。
  7. 如請求項1之方法,其中藉由報告該數個分段中各分段之最壞情況時序資料來產生該時序檔案。
  8. 如請求項1之方法,其中該測試台資料具有用於模擬之接線對照表資料,且其中使用該接線對照表資料來模擬該測試台資料。
  9. 一種用於分段記憶體實體之方法,其包括:選擇由一記憶體編譯器支援之一記憶體實體;基於使用者界定準確度來判定該記憶體實體之一分段數目;基於該記憶體實體之一物理架構來將該記憶體實體分割成該數個分段;選擇具有類似於該記憶體實體之一分段數目的一或多個記憶體編譯器實體用於時序模擬;基於該分段數目及模擬具有一接線對照表之測試台資料來產生具有該接線對照表之該測試台資料;獲得分段模擬資料且將該分段模擬資料儲存於一資料庫中;基於內插及曲線擬合一使用者選定記憶體實體之該分段模擬資料來產生記憶體實體資料;及 藉由報告各分段之時序資料來產生一時序檔案。
  10. 如請求項9之方法,其中該記憶體實體包括一最寬記憶體實體。
  11. 如請求項9之方法,其中該記憶體實體包括取決於該記憶體實體之一大小的一記憶體輸入匯流排寬度及一記憶體輸出匯流排寬度。
  12. 如請求項11之方法,其中使用一每分段位元計算演算法,基於該使用者界定準確度來判定用於該記憶體輸入匯流排寬度及該記憶體輸出匯流排寬度之該分段數目。
  13. 如請求項11之方法,其中選擇具有類似於該記憶體輸入匯流排及該記憶體輸出匯流排之一分段數目的該一或多個記憶體編譯器實體用於時序模擬。
  14. 如請求項9之方法,其中一旦判定該分段數目,則確定該記憶體編譯器之該分段數目。
  15. 如請求項9之方法,其中大於該分段數目之一大小的該一或多個記憶體編譯器實體具有類似量測資料,且其中每分段位元之一數目基於該記憶體實體之一大小來變動。
  16. 如請求項9之方法,其中由該記憶體實體之分段之一選定目標數目之 直接使用者輸入判定該使用者界定準確度。
  17. 如請求項9之方法,其中當一使用者自一記憶體編譯器使用者介面選擇該記憶體實體時,基於內插及曲線擬合一使用者選定記憶體實體之該分段模擬資料來產生該記憶體實體資料。
  18. 如請求項17之方法,其中針對該數個分段之各分段產生記憶體輸入匯流排時序資料及記憶體輸出匯流排時序資料,且其中使用該內插或該曲線擬合來產生該數個分段中各分段內之該記憶體實體資料。
  19. 一種用於分段記憶體實體之裝置,其包括:一處理器;及一儲存組件,其上儲存有指令,該等指令在由該處理器執行時引起該處理器:選擇根據時序檔案產生來特徵化之一記憶體實體,其中該記憶體實體包括取決於該記憶體實體之一大小的一記憶體輸入及輸出匯流排寬度;基於使用者界定準確度來判定該記憶體輸入及輸出匯流排寬度之一分段數目;將該記憶體輸入及輸出匯流排寬度分割成基於該記憶體實體之一物理架構所判定之該數個分段;基於所判定之該分段數目及模擬具有一接線對照表之測試台資料來產生具有該接線對照表之該測試台資料; 獲得與該數個分段中之各分段相關聯之該記憶體輸入及輸出匯流排寬度之模擬資料;及藉由報告該數個分段之各分段之時序資料來產生一時序檔案。
  20. 如請求項19之裝置,其中該等指令可進一步引起該處理器基於該時序檔案來製造一積體電路或引起一積體電路被製造。
TW108130863A 2018-09-07 2019-08-28 用於分段記憶體實體之方法及裝置 TWI818068B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/125,158 US10521532B1 (en) 2018-09-07 2018-09-07 Segmented memory instances
US16/125,158 2018-09-07

Publications (2)

Publication Number Publication Date
TW202016739A TW202016739A (zh) 2020-05-01
TWI818068B true TWI818068B (zh) 2023-10-11

Family

ID=69057690

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108130863A TWI818068B (zh) 2018-09-07 2019-08-28 用於分段記憶體實體之方法及裝置

Country Status (2)

Country Link
US (1) US10521532B1 (zh)
TW (1) TWI818068B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11966633B1 (en) 2022-07-13 2024-04-23 Cadence Design Systems, Inc. Control algorithm generator for non-volatile memory module
US11971818B1 (en) 2022-07-13 2024-04-30 Cadence Design Systems, Inc. Memory view for non-volatile memory module
CN116050328A (zh) * 2022-12-30 2023-05-02 成都电科星拓科技有限公司 芯片存储器拆分方法、装置、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060052996A1 (en) * 2004-09-09 2006-03-09 Chen Jia-Lih J Accurate pin-based memory power model using arc-based characterization
US9087036B1 (en) * 2004-08-12 2015-07-21 Sonics, Inc. Methods and apparatuses for time annotated transaction level modeling
CN106156375A (zh) * 2015-03-24 2016-11-23 展讯通信(上海)有限公司 一种存储器编译器拼接方法和存储器

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6249901B1 (en) * 1996-12-13 2001-06-19 Legend Design Technology, Inc. Memory characterization system
US20040215437A1 (en) * 2003-04-22 2004-10-28 Chinsong Sul System and method for improved accuracy of standard cell timing models
US7461371B2 (en) * 2003-09-11 2008-12-02 Taiwan Semiconductor Manufacturing Company, Ltd. General purpose memory compiler system and associated methods
US7778815B2 (en) * 2005-05-26 2010-08-17 The Regents Of The University Of California Method for the fast exploration of bus-based communication architectures at the cycle-count-accurate-at-transaction-boundaries (CCATB) abstraction
US9542512B1 (en) * 2012-01-17 2017-01-10 Cadence Design Systems, Inc. System and method for automatic correction of flight time skew of timing signals in simulated source synchronous interface operation
US9852250B2 (en) * 2015-02-20 2017-12-26 Esilicon Corporation Memory optimization in VLSI design using generic memory models
US10140399B2 (en) * 2016-12-21 2018-11-27 Arm Limited Corner database generator
US10296688B2 (en) * 2016-12-21 2019-05-21 Arm Limited Pin-based noise characterization for silicon compiler

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9087036B1 (en) * 2004-08-12 2015-07-21 Sonics, Inc. Methods and apparatuses for time annotated transaction level modeling
US20060052996A1 (en) * 2004-09-09 2006-03-09 Chen Jia-Lih J Accurate pin-based memory power model using arc-based characterization
CN106156375A (zh) * 2015-03-24 2016-11-23 展讯通信(上海)有限公司 一种存储器编译器拼接方法和存储器

Also Published As

Publication number Publication date
TW202016739A (zh) 2020-05-01
US10521532B1 (en) 2019-12-31

Similar Documents

Publication Publication Date Title
TWI818068B (zh) 用於分段記憶體實體之方法及裝置
US9372946B2 (en) Defect injection for transistor-level fault simulation
KR102436880B1 (ko) 정적 타이밍 분석의 타이밍 디레이트 조정방법
US8255850B2 (en) Fabricating IC with NBTI path delay within timing constraints
US8413095B1 (en) Statistical single library including on chip variation for rapid timing and power analysis
US9734269B2 (en) Liberty file generation
US8707234B1 (en) Circuit noise extraction using forced input noise waveform
US20160357894A1 (en) Method for adjusting a timing derate for static timing analysis
Kraak et al. Impact and mitigation of sense amplifier aging degradation using realistic workloads
US20160246910A1 (en) Memory Optimization in VLSI Design Using Generic Memory Models
US7571086B2 (en) Incremental circuit re-simulation system
Kraak et al. Degradation analysis of high performance 14nm finfet sram
JP4653234B2 (ja) アレイ設計のパフォーマンスを検証するための方法、ワークステーション・コンピュータ・システム、およびコンピュータ・プログラム
US7398495B1 (en) Method and apparatus for characterizing arrays using cell-based timing elements
TWI718192B (zh) 模擬方法、電路設計以及示例工具
TW201331775A (zh) 用於硬體描述語言環境之全域時鐘處理常式物件
Agbo et al. Read path degradation analysis in SRAM
US20120239368A1 (en) Identifying Initial Don&#39;t Care Memory Elements for Simulation
US8301431B2 (en) Apparatus and method for accelerating simulations and designing integrated circuits and other systems
US20130054218A1 (en) Method and Software Tool for Automatically Testing a Circuit Design
Kraak et al. Methodology for application-dependent degradation analysis of memory timing
Ahmad et al. Fast STA prediction-based gate-level timing simulation
KR101054706B1 (ko) 넷리스트의 순차적 공통인자 기반의 분석을 위한 방법, 시스템 및 애플리케이션
US9928328B1 (en) Method and system for automated debugging of a device under test
JP2014106591A (ja) 消費電力見積り装置および消費電力見積り方法