TWI759817B - Simulation system for soc-level power integrity and method thereof - Google Patents
Simulation system for soc-level power integrity and method thereof Download PDFInfo
- Publication number
- TWI759817B TWI759817B TW109127148A TW109127148A TWI759817B TW I759817 B TWI759817 B TW I759817B TW 109127148 A TW109127148 A TW 109127148A TW 109127148 A TW109127148 A TW 109127148A TW I759817 B TWI759817 B TW I759817B
- Authority
- TW
- Taiwan
- Prior art keywords
- power
- core
- standard cell
- current
- standard
- Prior art date
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
Description
本發明涉及一種電源完整性模擬系統及其方法,特別是系統單晶片級電源完整性模擬系統及其方法。The invention relates to a power integrity simulation system and a method thereof, in particular to a system single wafer level power integrity simulation system and a method thereof.
電源完整性模擬是當前與未來系統單晶片設計的瓶頸,它直接影響系統單晶片(System on a Chip,SoC)的性能。由於以下兩個當前的因素,使得電源完整性模擬仍然是一個挑戰。Power integrity simulation is the bottleneck of current and future system-on-a-chip designs, and it directly affects System on a Chip (SoC) performance. Power integrity simulation remains a challenge due to two current factors.
第一個因素為與電源完整性相關的所有模擬都需要在完整的系統單晶片環境中進行。商業使用的著重於積體電路之模擬程式(SPICE)因受限於其模擬能力而無法處理系統單晶片級電源完整性模擬,而當前一般的系統單晶片中標準單元(standard cell)的數量超過一千萬個,使得其他現有模擬工具(例如:Redhawk)進行系統單晶片級電源完整性模擬時模擬時間非常長,通常需要一週的時間。因此,傳統的電源完整性模擬方法是將系統單晶片中核心區域的電源完整性模擬由Redhawk工具進行,系統單晶片中輸入輸出區域的電源完整性模擬由SPICE進行,而核心區域與輸入輸出區域之間的交互作用因模擬器容量問題被忽略,然而,Redhawk工具或SPICE沒有足夠的能力來處理完整的系統單晶片環境中的電源完整性模擬。此外,使用SPICE進行輸入輸出區域的電源完整性模擬時,由於SPICE係對電流曲線進行短時間的模擬,然後以重複進行的方式滿足長時間的模擬,但此種模擬方式是不精確的。The first factor is that all simulations related to power integrity need to be performed in a full system-on-chip environment. Commercially used simulation programs focused on integrated circuits (SPICE) cannot handle SoC-level power integrity simulation due to their limited simulation capabilities, and the number of standard cells in a typical SoC is more than Ten million makes other existing simulation tools (eg, Redhawk) very long simulation times for SoC-level power integrity simulations, typically a week. Therefore, the traditional power integrity simulation method is that the power integrity simulation of the core area in the SoC is performed by the Redhawk tool, the power integrity simulation of the input and output areas in the SoC is performed by SPICE, and the core area and the input and output areas are simulated by SPICE. The interaction between them is ignored due to simulator capacity issues, however, Redhawk tools or SPICE are not powerful enough to handle power integrity simulation in a full SoC environment. In addition, when using SPICE to simulate the power integrity of the input and output areas, because SPICE simulates the current curve for a short time, and then repeats it to meet the long-term simulation, but this simulation method is inaccurate.
第二個因素為電源完整性與電源傳輸噪聲(Power Delivery Noise)很大程度上取決於系統單晶片的工作負載(workload)(即系統單晶片的應用環境)。因此,進行電源完整性模擬時應考慮數千種應用情境,以了解電源傳輸噪聲的限制及其對工作負載的統計信息,從而使設計人員能夠專注對於特定的工作負載進行優化設計。然而,不同的工作負載將導致系統單晶片中的閘極具有不同的活動(activity),且對應連接該些標準單元的每一核心電源凸塊具有不同的電流曲線,使得在傳統系統單晶片級電源完整性模擬方法存在為了評估不同工作負載的電源完整性所造成電流曲線的產生非常耗時的問題。The second factor is that power integrity and power delivery noise (Power Delivery Noise) largely depend on the workload of the SoC (ie, the application environment of the SoC). Therefore, thousands of application scenarios should be considered when conducting power integrity simulations to understand the limits of power delivery noise and its statistics on the workload, allowing the designer to focus on optimizing the design for a specific workload. However, different workloads will result in different activities of the gates in the SoC, and different current curves corresponding to each core power bump connected to the standard cells, so that in conventional SoCs the gates have different activities. The power integrity simulation method suffers from the problem of time-consuming generation of current curves in order to evaluate the power integrity of different workloads.
綜上所述,可知先前技術中存在使用著重於積體電路之模擬程式進行電源完整性模擬所存在不精確的問題以及為了評估不同工作負載的電源完整性所造成電流曲線的產生非常耗時的問題,因此,實有必要提出改進的技術手段,來解決此一問題。To sum up, it can be seen that in the prior art, there are inaccurate problems in power integrity simulation using simulation programs focusing on integrated circuits, and the generation of current curves for evaluating the power integrity of different workloads is very time-consuming. Therefore, it is necessary to propose improved technical means to solve this problem.
為解決上述先前技術所存在的問題,本發明揭露一種系統單晶片級電源完整性模擬系統及其方法。In order to solve the above-mentioned problems of the prior art, the present invention discloses a system-on-chip level power integrity simulation system and a method thereof.
首先,本發明揭露一種系統單晶片級電源完整性模擬系統,其包括:記憶體模組與處理器,記憶體模組用以儲存多個指令,處理器用以執行記憶體模組所儲存的該些指令,以對系統單晶片進行電源完整性模擬程序,其中,系統單晶片包括多個輸入輸出區域與多個核心區域。電源完整性模擬程序包括:獲取模組用以基於每一核心區域的閘級網表(gate level netlist)與工作負載取得每一核心區域中每一標準單元在二進制模式下的節點活動;分類模組用以基於每一核心區域的閘級網表與每一核心區域中定義的多個核心電源凸塊(core power bumps),對每一核心區域中的該些標準單元進行分類,以使每一核心區域中的該些標準單元對應到同一核心區域中不同的核心電源凸塊;單元電流模組用以基於每一標準單元的負載電容與標準單元庫(standard cell library),取得每一標準單元在其負載電容下的時間延遲(cell delay)與電流曲線;節點電流模組,連接獲取模組與單元電流模組,用以依據每一標準單元在二進制模式下的節點活動以及每一標準單元在其負載電容下的時間延遲與電流曲線計算出每一標準單元的節點電流曲線;核心電流模組,連接節點電流模組與分類模組,用以基於該些標準單元與該些核心電源凸塊的對應關係疊加每一標準單元的節點電流曲線,以產生每一核心電源凸塊的電流曲線;模擬模組,用以藉由著重於積體電路之模擬程式模擬出每一輸入輸出區域中每一輸入輸出緩衝器(I/O buffer)的電流步階響應;輸入輸出電流模組,連接模擬模組,用以基於每一輸入輸出緩衝器的資料活動與電流步階響應以及每一輸入輸出電源凸塊(I/O power bump)與該些輸入輸出緩衝器的電性連接關係計算出每一輸入輸出電源凸塊的電流曲線;以及電源模組,連接輸入輸出電流模組與核心電流模組,用以基於核心電流模組所產生的每一核心電源凸塊的電流曲線與輸入輸出電流模組所計算取得的每一輸入輸出電源凸塊的電流曲線取得電源傳輸網路(Power Delivery Network,PDN)。First, the present invention discloses a system-on-chip power integrity simulation system, which includes: a memory module and a processor, the memory module is used for storing a plurality of instructions, and the processor is used for executing the stored in the memory module. These instructions are used to perform a power integrity simulation program on a system-on-chip, wherein the system-on-chip includes a plurality of input and output regions and a plurality of core regions. The power integrity simulation program includes: the acquisition module is used to obtain the node activity of each standard cell in each core area in binary mode based on the gate level netlist and workload of each core area; the classification model The group is used to classify the standard cells in each core region based on the gate netlist of each core region and a plurality of core power bumps defined in each core region so that each The standard cells in a core area correspond to different core power bumps in the same core area; the cell current module is used to obtain each standard based on the load capacitance of each standard cell and the standard cell library (standard cell library) Cell delay and current curve of a cell under its load capacitance; node current module, connecting acquisition module and cell current module, for node activity in binary mode for each standard cell and for each standard The node current curve of each standard unit is calculated from the time delay and current curve of the unit under its load capacitance; the core current module, which connects the node current module and the classification module, is based on the standard units and the core power supplies The corresponding relationship of the bumps superimposes the node current curve of each standard cell to generate the current curve of each core power supply bump; the simulation module is used to simulate each input and output area by a simulation program focusing on integrated circuits The current step response of each input and output buffer (I/O buffer) in The electrical connection relationship between the input and output power bumps (I/O power bumps) and the input and output buffers calculates the current curve of each input and output power bumps; and the power module, which connects the input and output current modules and the core The current module is used to obtain the power transmission network (Power Transmission Network) based on the current curve of each core power bump generated by the core current module and the current curve of each input and output power bump calculated by the input and output current module. Delivery Network, PDN).
此外,本發明揭露一種系統單晶片級電源完整性模擬方法,用以對系統單晶片進行電源完整性模擬,系統單晶片包括多個輸入輸出區域與多個核心區域,系統單晶片級電源完整性模擬方法包括以下步驟:(a)基於每一核心區域的閘級網表與工作負載取得每一核心區域中每一標準單元在二進制模式下的節點活動;(b)基於每一核心區域的閘級網表與每一核心區域中定義的多個核心電源凸塊,對每一核心區域中的該些標準單元進行分類,以使每一核心區域中的該些標準單元對應到同一核心區域中不同的核心電源凸塊;(c)基於每一標準單元的負載電容與標準單元庫,取得每一標準單元在其負載電容下的時間延遲與電流曲線;(d)依據每一標準單元在二進制模式下的節點活動以及每一標準單元在其負載電容下的時間延遲與電流曲線計算出每一標準單元的節點電流曲線;(e)基於該些標準單元與該些核心電源凸塊的對應關係疊加每一標準單元的節點電流曲線,以產生每一核心電源凸塊的電流曲線;(f)藉由著重於積體電路之模擬程式模擬每一輸入輸出區域中每一輸入輸出緩衝器的電流步階響應;(g)基於每一輸入輸出緩衝器的資料活動與電流步階響應以及每一輸入輸出電源凸塊與該些輸入輸出緩衝器的電性連接關係計算出每一輸入輸出電源凸塊的電流曲線;以及(h)基於步驟(e)所產生的每一核心電源凸塊的電流曲線以及步驟(g)所計算取得的每一輸入輸出電源凸塊的電流曲線取得電源傳輸網路。In addition, the present invention discloses a SoC-level power integrity simulation method for performing power integrity simulation on a SoC, where the SoC includes a plurality of input and output areas and a plurality of core areas, and the SoC-level power integrity The simulation method includes the following steps: (a) based on the gate level netlist and workload of each core region to obtain the node activity of each standard cell in each core region in binary mode; (b) based on the gate level of each core region Level netlist and a plurality of core power bumps defined in each core area, classify the standard cells in each core area, so that the standard cells in each core area correspond to the same core area Different core power bumps; (c) based on the load capacitance of each standard cell and the standard cell library, obtain the time delay and current curve of each standard cell under its load capacitance; (d) according to each standard cell in binary node activity in the mode and the time delay and current curve of each standard cell under its load capacitance to calculate the node current curve of each standard cell; (e) based on the correspondence between the standard cells and the core power bumps Superimpose the node current curve of each standard cell to generate the current curve of each core power bump; (f) simulate the current of each I/O buffer in each I/O area by a simulation program focusing on integrated circuits Step response; (g) calculating each input and output power bump based on the data activity and current step response of each input and output buffer and the electrical connection relationship between each input and output power bump and the input and output buffers and (h) obtaining the power delivery network based on the current curve of each core power bump generated in step (e) and the current curve of each input and output power bump calculated in step (g) .
本發明所揭露之系統與方法如上,與先前技術的差異在於本發明是透過基於每一核心區域的閘級網表與工作負載以及每一標準單元在其負載電容下的時間延遲與電流曲線計算出每一標準單元的節點電流曲線;基於該些標準單元與該些核心電源凸塊的對應關係產生每一核心電源凸塊的電流曲線;基於每一輸入輸出緩衝器的資料活動與電流步階響應以及每一輸入輸出電源凸塊與該些輸入輸出緩衝器的電性連接關係計算出每一輸入輸出電源凸塊的電流曲線;以及基於每一核心電源凸塊與每一輸入輸出電源凸塊的電流曲線取得電源傳輸網路。The system and method disclosed in the present invention are as above, and the difference from the prior art is that the present invention calculates the time delay and current curve based on the gate level netlist and workload of each core region and the load capacitance of each standard cell. Generate the node current curve of each standard cell; generate the current curve of each core power bump based on the corresponding relationship between the standard cells and the core power bumps; based on the data activity and current step of each input and output buffer Calculating a current curve of each I/O power bump in response to the electrical connection relationship between each I/O power bump and the I/O buffers; and based on each core power bump and each I/O power bump The current curve of the power delivery network is obtained.
透過上述的技術手段,本發明可達到模擬結果精確且模擬速度快之技術功效。Through the above technical means, the present invention can achieve the technical effects of accurate simulation results and fast simulation speed.
以下將配合圖式及實施例來詳細說明本發明之實施方式,藉此對本發明如何應用技術手段來解決技術問題並達成技術功效的實現過程能充分理解並據以實施。The embodiments of the present invention will be described in detail below in conjunction with the drawings and examples, so as to fully understand and implement the implementation process of how the present invention applies technical means to solve technical problems and achieve technical effects.
請先參閱「第1A圖」與「第1B圖」,「第1A圖」為本發明系統單晶片級電源完整性模擬系統之一實施例元件示意圖,「第1B圖」為本發明系統單晶片級電源完整性模擬系統之一實施例系統架構圖。在本實施例中,系統單晶片級電源完整性模擬系統100可包括但不限於一個或多個處理器101、一個或多個記憶體模組102、匯流排103等硬體元件,其中,匯流排103可以連接不同的硬體元件。透過所包括之多個硬體元件,系統單晶片級電源完整性模擬系統100可應用於計算裝置,以執行對應的軟體或應用程式。Please refer to "Fig. 1A" and "Fig. 1B" first, "Fig. 1A" is a schematic diagram of the components of an embodiment of the system-on-chip power integrity simulation system of the present invention, and "Fig. 1B" is the system-on-chip of the present invention A system architecture diagram of an embodiment of a high-level power integrity simulation system. In this embodiment, the SoC level power
其中,匯流排103可包括一種或多個類型,例如包括資料匯流排(data bus)、位址匯流排(address bus)、控制匯流排(control bus)、擴充功能匯流排(expansion bus)與/或局域匯流排(local bus)等類型的匯流排。計算設備的匯流排包括但不限於並列的工業標準架構(ISA)匯流排、周邊元件互連(PCI)匯流排、視頻電子標準協會(VESA)局域匯流排、串列的通用序列匯流排(USB)、快速周邊元件互連(PCI-E)匯流排等。The
在本實施例中,處理器101可與匯流排103耦接。處理器101可包括暫存器(Register)組或暫存器空間,暫存器組或暫存器空間可以完全的被設置在處理晶片上,或全部或部分被設置在處理晶片外並經由專用電氣連接與/或經由匯流排103耦接至處理器101。其中,處理器101可為處理單元、微處理器或任何合適的處理元件。當系統單晶片級電源完整性模擬系統100包括多個處理器時,該些處理器可為相同或類似的處理器,且透過匯流排103耦接與通訊。處理器101可以解釋一連串的多個指令以進行特定的運算或操作,例如:數學運算、邏輯運算、資料比對、複製/移動資料等,藉以執行各種應用程式、模組與/或元件。In this embodiment, the
此外,處理器101可與晶片組耦接或透過匯流排103與晶片組電性連接。其中,晶片組是由一個或多個積體電路(IC)組成,包括記憶體控制器以及周邊輸出入(I/O)控制器,也就是說,記憶體控制器以及周邊輸出入控制器可以包括在一個積體電路內,也可以使用兩個或更多的積體電路實現。晶片組通常提供了輸出入和記憶體管理功能、以及提供多個通用及/或專用暫存器、計時器等,其中,上述之通用及/或專用暫存器與計時器可以讓耦接或電性連接至晶片組的一個或多個處理器101存取或使用。In addition, the
另外,處理器101也可透過記憶體控制器存取安裝於系統單晶片級電源完整性模擬系統100上的記憶體模組102與大容量儲存區中的資料。上述之記憶體模組102包括任何類型的揮發性記憶體(volatile memory)與/或非揮發性(non-volatile memory, NVRAM)記憶體,例如:靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、快閃記憶體(Flash)、唯讀記憶體(ROM)等。上述之大容量儲存區可以包括任何類型的儲存裝置或儲存媒體,例如:硬碟機、光碟片、隨身碟(快閃記憶體)、記憶卡(memory card)、固態硬碟(Solid State Disk, SSD)或任何其他儲存裝置等。也就是說,記憶體控制器可以存取靜態隨機存取記憶體、動態隨機存取記憶體、快閃記憶體、硬碟機、固態硬碟中的資料。In addition, the
再者,處理器101也可透過周邊輸出入控制器經由匯流排103與周邊輸出裝置、周邊輸入裝置、通訊介面與GPS接收器等周邊裝置或介面連接並通訊。周邊輸入裝置可以是任何類型的輸入裝置,例如:鍵盤、滑鼠、軌跡球、觸控板、搖桿等,周邊輸出裝置可以是任何類型的輸出裝置,例如:顯示器、印表機等,周邊輸入裝置與周邊輸出裝置也可以是同一裝置,例如觸控螢幕等。通訊介面可以包括無線通訊介面及/或有線通訊介面,無線通訊介面可以包括支援Wi-Fi、Zigbee等無線區域網路、藍牙、紅外線、近場通訊(NFC)、3G/4G/5G等行動通訊網路或其他無線資料傳輸協定的介面,有線通訊介面可為乙太網路裝置、非同步傳輸模式(ATM)裝置、DSL數據機、纜線(Cable)數據機等。處理器101可週期性地輪詢(polling)各種周邊裝置與介面,使得系統單晶片級電源完整性模擬系統100能夠透過各種周邊裝置與介面進行資料的輸入與輸出。Furthermore, the
如「第1B圖」所示,系統單晶片級電源完整性模擬系統100含有獲取模組110、分類模組120、單元電流模組130、節點電流模組140、核心電流模組150、模擬模組160、輸入輸出電流模組170與電源模組180,節點電流模組140可連接獲取模組110與單元電流模組130,核心電流模組150可連接節點電流模組140與分類模組120,輸入輸出電流模組170可連接模擬模組160,電源模組180可連接輸入輸出電流模組170與核心電流模組150。其中,獲取模組110、分類模組120、單元電流模組130、節點電流模組140、核心電流模組150、模擬模組160、輸入輸出電流模組170與電源模組180通常是在處理器101執行被載入記憶體模組102之特定程式後產生,或是包括在處理器101中。在實際實施中,系統單晶片級電源完整性模擬系統100可應用但不限於平板電腦、桌上型電腦或筆記型電腦。As shown in "FIG. 1B", the SoC-level power
接著,請參閱「第2圖」,「第2圖」為「第1B圖」的系統單晶片級電源完整性模擬系統執行電源完整性模擬程序之一實施例方法流程圖。在本實施例中,電源完整性模擬程序可用以對系統單晶片300進行電源完整性模擬,其中,系統單晶片300可包括多個輸入輸出區域310與多個核心區域320(如「第3圖」所示,「第3圖」為系統單晶片的一實施例示意圖),每一輸入輸出區域310可包括至少一輸入輸出電源凸塊10與多個輸入輸出緩衝器(未繪製),每一輸入輸出電源凸塊10供電予與其對應電性連接的輸入輸出緩衝器;每一核心區域320可包括至少一核心電源凸塊20與多個標準單元(未繪製),每一核心電源凸塊20供電予與其對應電性連接的標準單元,與同一核心電源凸塊20電性連接的該些標準單元以串聯或陣列方式連接;其中,與同一核心電源凸塊20電性連接的該些標準單元分成若干級,第B級標準單元的輸出端與第(B +1)級標準單元的輸入端連接,B為正整數,大於或等於1且小於或等於與同一核心電源凸塊20電性連接的標準單元的數量;當與同一核心電源凸塊20電性連接的該些標準單元以陣列方式連接時,第X行第Y列的標準單元為第
級標準單元,X與Y皆為正整數且大於或等於1,(X×Y)小於或等於與同一核心電源凸塊20電性連接的標準單元的數量。
Next, please refer to "FIG. 2", "FIG. 2" is a flowchart of an embodiment of a method for executing a power integrity simulation program by the system-on-chip level power integrity simulation system of "FIG. 1B". In this embodiment, the power integrity simulation program can be used to perform power integrity simulation on the SoC 300, wherein the SoC 300 can include a plurality of input and
其中,每一標準單元可包括輸入針腳及輸出針腳且可對經由輸入針腳接收的信號進行處理以經由輸出針腳輸出信號;舉例而言,標準單元可為基本單元(諸如:與(AND)邏輯閘、或(OR)邏輯閘、或非(NOR)邏輯閘或反相器)、複雜單元(諸如:由或邏輯閘/與邏輯閘/反相器(OR/AND/INVERTER,OAI)所組成的複雜單元,或者由與邏輯閘/或邏輯閘/反相器(AND/OR/INVERTER,AOI)所組成的複雜單元)或者記憶元件(諸如:主-從雙穩態正反器或鎖存器)。Wherein, each standard cell may include input pins and output pins and may process signals received via the input pins to output signals via the output pins; for example, the standard cells may be basic cells such as AND (AND) logic gates , or (OR) logic gate, or not (NOR) logic gate or inverter), complex units (such as: composed of OR logic gate/AND logic gate/inverter (OR/AND/INVERTER, OAI) Complex cells, or complex cells consisting of AND/OR/INVERTER (AOI) or memory elements (such as master-slave flip-flops or latches) ).
請參閱「第1B圖」與「第2圖」,電源完整性模擬程序包括以下步驟:基於每一核心區域的閘級網表與工作負載取得每一核心區域中每一標準單元在二進制模式下的節點活動(步驟210);基於每一核心區域的閘級網表與每一核心區域中定義的多個核心電源凸塊,對每一核心區域中的該些標準單元進行分類,以使每一核心區域中的該些標準單元對應到同一核心區域中不同的核心電源凸塊(步驟220);基於每一標準單元的負載電容與標準單元庫,取得每一標準單元在其負載電容下的時間延遲與電流曲線(步驟230);依據每一標準單元在二進制模式下的節點活動以及每一標準單元在其負載電容下的時間延遲與電流曲線計算出每一標準單元的節點電流曲線(步驟240);基於該些標準單元與該些核心電源凸塊的對應關係疊加每一標準單元的節點電流曲線,以產生每一核心電源凸塊的電流曲線(步驟250);藉由著重於積體電路之模擬程式模擬每一輸入輸出區域中每一輸入輸出緩衝器的電流步階響應(步驟260);基於每一輸入輸出緩衝器的資料活動與電流步階響應以及每一輸入輸出電源凸塊與該些輸入輸出緩衝器的電性連接關係計算出每一輸入輸出電源凸塊的電流曲線(步驟270);基於每一核心電源凸塊的電流曲線以及每一輸入輸出電源凸塊的電流曲線取得電源傳輸網路(步驟280)。Please refer to "Figure 1B" and "Figure 2", the power integrity simulation program includes the following steps: Based on the gate netlist and workload of each core region, each standard cell in each core region is obtained in binary mode. (step 210); based on the gate-level netlist of each core region and the plurality of core power bumps defined in each core region, the standard cells in each core region are classified so that each The standard cells in a core area correspond to different core power bumps in the same core area (step 220 ); based on the load capacitance of each standard cell and the standard cell library, obtain the load capacitance of each standard cell under its load capacitance time delay and current curve (step 230 ); calculating the node current curve of each standard cell according to the node activity of each standard cell in binary mode and the time delay and current curve of each standard cell under its load capacitance (step 230 ) 240); superimpose the node current curve of each standard cell based on the corresponding relationship between the standard cells and the core power bumps to generate the current curve of each core power bump (step 250); by focusing on the integrated The circuit simulator simulates the current step response of each I/O buffer in each I/O region (step 260); based on the data activity and current step response of each I/O buffer and each I/O power bump Calculate the current curve of each I/O power bump based on the electrical connection relationship with the I/O buffers (step 270 ); based on the current curve of each core power bump and the current curve of each I/O power bump Obtain the power delivery network (step 280).
在步驟210中,獲取模組110可基於每一核心區域320的閘級網表與工作負載取得每一核心區域320中每一標準單元在二進制模式下的節點活動。更詳細地說,獲取模組110可根據每一核心區域320的閘級網表與工作負載利用Verilog硬體描述語言(例如:ModelSim模擬工具、VCS模擬工具或NC-Sim模擬工具)進行暫存器傳輸級(register transfer level,RTL)設計,進而取得每一核心區域320中每一標準單元在二進制模式下的節點活動。舉例而言,請參閱「第4圖」,「第4圖」為某一核心區域的閘級網表的一實施例示意圖,在本實施例中,該核心區域320的閘級網表可包括標準單元50A、標準單元50B與標準單元50C,標準單元50A包括節點X,標準單元50B包括節點Y,標準單元50C包括節點Z,獲取模組110可基於該核心區域320的閘級網表與工作負載取得節點X的節點活動為“0110100…”,節點Y的節點活動為“0010110…”,節點Z的節點活動為“0010100…”。In
在步驟220中,分類模組120可基於每一核心區域320的閘級網表與每一核心區域320中定義的多個核心電源凸塊20,對每一核心區域320中的該些標準單元進行分類,以使每一核心區域320中的該些標準單元對應到同一核心區域320中不同的核心電源凸塊20。更詳細地說,分類模組120可先基於每一核心區域320的閘級網表進行自動佈局與佈線(automatic placement and routing,APR),以取得每一核心區域320的平面佈置圖;接著,基於每一核心區域320的平面佈置圖利用專業軟體生成對應的網表文件,每一網表文件包括多個寄生電容;最後,基於每一網表文件取得每一核心電源凸塊20對應供電的標準單元,再對每一核心區域320中的該些標準單元進行分類,以使每一核心區域320中的該些標準單元對應到同一核心區域320中不同的核心電源凸塊20。舉例而言,分類模組120可基於每一核心區域320的平面佈置圖利用專業軟體STAR-RC進行帶寄生電容的網表文件的生成(即生成每一核心區域對應的網表文件),其中,每一網表文件的格式可為標準寄生交換格式(standard parasitic exchange format,SPEF),由於從每一網表文件可知每一核心區域320中該些標準單元的供電分屬於不同的核心電源凸塊20,因此,可對每一核心區域320中該些標準單元進行分類,以使每一核心區域320中的該些標準單元對應到同一核心區域320中不同的核心電源凸塊20。In
在步驟230中,單元電流模組130可基於每一標準單元的負載電容與標準單元庫,取得每一標準單元在其負載電容下的時間延遲與電流曲線。其中,標準單元庫儲存有多個標準單元的資訊,例如:標準單元的名稱及功能、時序資訊(含時間延遲、電流曲線與轉換時間(transition time))、功率資訊與佈局資訊,轉換時間係為定義信號波形從其最終值的10%行走到90%所需的時間。In
更詳細地說,單元電流模組130可先基於標準單元庫取得每一標準單元的負載電容。對應到同一核心電源凸塊的該些標準單元中,當標準單元為第一級標準單元時,該標準單元的負載電容包括自身具有的金屬寄生電容;當某一標準單元為第N級標準單元(N為正整數,大於或等於2,且小於或等於對應到同一核心電源凸塊的該些標準單元的數量)時,該標準單元的負載電容包括自身具有的金屬寄生電容與下一級標準單元的閘極的電容。對應到同一核心電源凸塊的該些標準單元中,當標準單元為第一級標準單元時,單元電流模組130可根據標準單元庫與該標準單元的負載電容取得該標準單元的時間延遲、電流曲線與轉換時間;以及當某一標準單元為第N級標準單元時,單元電流模組130可將第(N-1)級標準單元的轉換時間作為該標準單元的輸入特性,並根據標準單元庫、第N級標準單元的負載電容與輸入特性取得第N級標準單元的時間延遲、電流曲線與轉換時間。In more detail, the cell current module 130 may first obtain the load capacitance of each standard cell based on the standard cell library. Among the standard cells corresponding to the same core power bump, when the standard cell is the first-level standard cell, the load capacitance of the standard cell includes its own metal parasitic capacitance; when a standard cell is the Nth-level standard cell (N is a positive integer, greater than or equal to 2, and less than or equal to the number of standard cells corresponding to the same core power bump), the load capacitance of the standard cell includes its own metal parasitic capacitance and the next-level standard cell. the gate capacitance. Among the standard cells corresponding to the same core power bump, when the standard cell is a first-level standard cell, the cell current module 130 can obtain the time delay of the standard cell according to the standard cell library and the load capacitance of the standard cell, current curve and conversion time; and when a certain standard cell is an Nth-level standard cell, the cell current module 130 can use the conversion time of the (N-1)th-level standard cell as the input characteristic of the standard cell, and according to the standard cell The cell library, load capacitance and input characteristics of the N-th standard cell obtain the time delay, current curve and switching time of the N-th standard cell.
在步驟240中,節點電流模組140可依據每一標準單元在二進制模式下的節點活動以及每一標準單元在其負載電容下的時間延遲與電流曲線計算出每一標準單元的節點電流曲線。舉例而言,請參閱「第4圖」,由於每一節點需在其節點活動自0到1的變化過程中才能自對應的核心電源凸塊取得電力,因此,節點X可依據其節點活動自0到1的變化過程、前一階段的時間延遲與在該轉換時間的電流曲線進行計算而取得對應的節點電流曲線(即節點X的節點電流曲線),而由於標準單元50A僅包括節點X,故標準單元50A的節點電流曲線等於節點X的節點電流曲線;節點Y可依據其節點活動自0到1的變化過程、前一階段的時間延遲與在該轉換時間的電流曲線進行計算而取得對應的節點電流曲線(即節點Y的節點電流曲線),而由於標準單元50B僅包括節點Y,故標準單元50B的節點電流曲線等於節點Y的節點電流曲線;節點Z可依據其節點活動自0到1的變化過程、其輸入驅動器(即X’與Y’)的時間延遲中最大的時間延遲以及在節點X與節點Y的轉換時間之最大的轉換時間中的電流曲線進行計算而取得對應的節點電流曲線(即節點Z的節點電流曲線),而由於標準單元50C僅包括節點Z,故標準單元50C的節點電流曲線等於節點Z的節點電流曲線。In
在步驟250中,核心電流模組150可基於該些標準單元與該些核心電源凸塊20的對應關係疊加每一標準單元的節點電流曲線,以產生每一核心電源凸塊20的電流曲線。換句話說,核心電流模組150可將對應連接到同一核心電源凸塊20的該些標準單元的節點電流曲線相加,以取得該核心電源凸塊20的電流曲線。In
在步驟260中,模擬模組160可藉由SPICE模擬每一輸入輸出區域310中每一輸入輸出緩衝器的電流步階響應。更詳細地說,模擬模組160可藉由SPICE模擬出當每一輸入輸出緩衝器的資料輸入端所接收的資料由0改變為1(即資料上升邊緣)時其電流量測點的電流變化;以及當每一輸入輸出緩衝器的資料輸入端所接收的資料由1改變為0(即資料下降邊緣)時其電流量測點的電流變化;因此,模擬模組160可模擬出每一輸入輸出緩衝器的電流步階響應。換句話說,模擬模組160係可用以模擬出每一輸入輸出緩衝器在不同資料模型(pattern)條件下快速生成對應的電流曲線。In
在步驟270中,輸入輸出電流模組170可基於每一輸入輸出緩衝器的資料活動與電流步階響應以及每一輸入輸出電源凸塊10與該些輸入輸出緩衝器的電性連接關係計算出每一輸入輸出電源凸塊10的電流曲線。更詳細地說,輸入輸出電流模組170可先基於每一輸入輸出緩衝器的資料活動與電流步階響應取得每一輸入輸出緩衝器的電流曲線;接著,基於與同一輸入輸出電源凸塊10電性連接的該/該些輸入輸出緩衝器的該/該些電流曲線計算出每一輸入輸出電源凸塊10的電流曲線。In
舉例而言,請參閱「第5圖」,「第5圖」為某一輸入輸出電源凸塊及其電性連接多個輸入輸出緩衝器的一實施例示意圖,在本實施例中,輸入輸出電源凸塊10與三個輸入輸出緩衝器(即輸入輸出緩衝器60A、輸入輸出緩衝器60B與輸入輸出緩衝器60C)電性連接(輸入輸出電源凸塊10供電予該些輸入輸出緩衝器)。每一輸入輸出緩衝器的資料輸入端可接收輸入資料串(例如:“10100101101”或“1100110001”)(即每一輸入輸出緩衝器具有其資料活動),對於每一輸入輸出緩衝器的輸入資料串(例如:“10100101101”或“1100110001”)中,若當前輸入資料與前一輸入資料比較為由0變化成1時,該輸入輸出緩衝器的電流量測點的電流變化為步階上升;若當前輸入資料與前一輸入資料比較為由1變化成0時,該輸入輸出緩衝器的電流量測點的電流變化為步階下降;若當前輸入資料與前一輸入資料比較為沒有變化(即當前輸入資料與前一輸入資料皆為0或1)時,該輸入輸出緩衝器的電流量測點沒有電流變化。因此,根據上述方法,可以快速生成每一輸入輸出緩衝器在其特定資料活動(即其接收特定輸入資料串)下的電流曲線。在本實施例中,輸入輸出電流模組170可將輸入輸出緩衝器60A、輸入輸出緩衝器60B與輸入輸出緩衝器60C分別在其特定資料活動下的電流曲線相加,以取得該輸入輸出電源凸塊10的電流曲線。For example, please refer to “FIG. 5”. “FIG. 5” is a schematic diagram of an input/output power bump and its electrical connection with a plurality of input/output buffers. In this embodiment, the input/output The
在步驟280中,電源模組180可基於每一核心電源凸塊20的電流曲線以及每一輸入輸出電源凸塊10的電流曲線取得電源傳輸網路。更詳細地說,電源模組180可基於步驟250所產生的每一核心電源凸塊20的電流曲線以及步驟270所計算取得的每一入輸出電源凸塊10的電流曲線,採用Z參數或S參數格式取得電源傳輸網路。In
透過上述步驟,即可考慮不同的SoC應用場景(即不同工作負載)快速構建對應的每一核心電源凸塊20的電流曲線、每一入輸出電源凸塊10的電流曲線以及電源傳輸網路;具有從單一輸入輸出區域到整個SoC級別的可擴展性;且可利用基本單元或更高級別的層次單元(hierarchy cell)的粒度(granularity)調整模擬的速度與準確性,而具有自適應權衡(Adaptive tradeoff)。Through the above steps, the corresponding current curve of each
綜上所述,可知本發明與先前技術之間的差異在於透過基於每一核心區域的閘級網表與工作負載以及每一標準單元在其負載電容下的時間延遲與電流曲線計算出每一標準單元的節點電流曲線;基於該些標準單元與該些核心電源凸塊的對應關係產生每一核心電源凸塊的電流曲線;基於每一輸入輸出緩衝器的資料活動與電流步階響應以及每一輸入輸出電源凸塊與該些輸入輸出緩衝器的電性連接關係計算出每一輸入輸出電源凸塊的電流曲線;以及基於每一核心電源凸塊與每一輸入輸出電源凸塊的電流曲線取得電源傳輸網路,藉由此一技術手段可達到模擬結果精確且模擬速度快之技術功效。From the above, it can be seen that the difference between the present invention and the prior art lies in the calculation of each standard cell based on the gate netlist and workload of each core region and the time delay and current curve of each standard cell under its load capacitance. The node current curve of standard cells; the current curve of each core power bump is generated based on the corresponding relationship between the standard cells and the core power bumps; based on the data activity and current step response of each input and output buffer and each Calculate the current curve of each input and output power bump based on the electrical connection relationship between an input and output power bump and the input and output buffers; and based on the current curve of each core power bump and each input and output power bump The power transmission network is obtained, and the technical effect of accurate simulation results and fast simulation speed can be achieved by this technical means.
雖然本發明以前述之實施例揭露如上,然其並非用以限定本發明,任何熟習相像技藝者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之專利保護範圍須視本說明書所附之申請專利範圍所界定者為準。Although the present invention is disclosed above by the aforementioned embodiments, it is not intended to limit the present invention. Anyone who is familiar with the similar arts can make some changes and modifications without departing from the spirit and scope of the present invention. The scope of patent protection shall be determined by the scope of the patent application attached to this specification.
10:輸入輸出電源凸塊 20:核心電源凸塊 50A,50B,50C: 標準單元 60A,60B,60C:輸入輸出緩衝器 100:系統單晶片級電源完整性模擬系統 101:處理器 102:記憶體模組 103:匯流排 110:獲取模組 120:分類模組 130:單元電流模組 140:節點電流模組 150:核心電流模組 160:模擬模組 170:輸入輸出電流模組 180:電源模組 300:系統單晶片 310:輸入輸出區域 320:核心區域 X,Y,Z:節點 X’,Y’,Z’:輸入驅動器 步驟210:基於每一核心區域的閘級網表與工作負載取得每一核心區域中每一標準單元在二進制模式下的節點活動 步驟220:基於每一核心區域的閘級網表與每一核心區域中定義的多個核心電源凸塊,對每一核心區域中的該些標準單元進行分類,以使每一核心區域中的該些標準單元對應到同一核心區域中不同的核心電源凸塊 步驟230:基於每一標準單元的負載電容與標準單元庫,取得每一標準單元在其負載電容下的時間延遲與電流曲線 步驟240:依據每一標準單元在二進制模式下的節點活動以及每一標準單元在其負載電容下的時間延遲與電流曲線計算出每一標準單元的節點電流曲線 步驟250:基於該些標準單元與該些核心電源凸塊的對應關係疊加每一標準單元的節點電流曲線,以產生每一核心電源凸塊的電流曲線 步驟260:藉由著重於積體電路之模擬程式模擬每一輸入輸出區域中每一輸入輸出緩衝器的電流步階響應 步驟270:基於每一輸入輸出緩衝器的資料活動與電流步階響應以及每一輸入輸出電源凸塊與該些輸入輸出緩衝器的電性連接關係計算出每一輸入輸出電源凸塊的電流曲線 步驟280:基於每一核心電源凸塊的電流曲線以及每一輸入輸出電源凸塊的電流曲線取得電源傳輸網路 10: Input and output power bumps 20: Core Power Bumps 50A, 50B, 50C: Standard Unit 60A, 60B, 60C: Input and output buffers 100: System-on-Wafer Level Power Integrity Simulation System 101: Processor 102: Memory module 103: Busbar 110: Get Mods 120: Classification module 130: Unit current module 140: Node Current Module 150: Core current module 160: Simulation Module 170: Input and output current module 180: Power Module 300: SoC 310: Input and output area 320: Core Area X,Y,Z: Node X', Y', Z': input driver Step 210: Obtain the node activity of each standard cell in each core area in binary mode based on the gate-level netlist and workload of each core area Step 220: Classify the standard cells in each core region based on the gate-level netlist of each core region and the plurality of core power bumps defined in each core region, so that the These standard cells correspond to different core power bumps in the same core area Step 230: Based on the load capacitance of each standard cell and the standard cell library, obtain the time delay and current curve of each standard cell under its load capacitance Step 240: Calculate the node current curve of each standard cell according to the node activity of each standard cell in the binary mode and the time delay and current curve of each standard cell under its load capacitance Step 250: Superimpose the node current curve of each standard cell based on the corresponding relationship between the standard cells and the core power bumps to generate the current curve of each core power bump Step 260: Simulate the current step response of each I/O buffer in each I/O region by an IC-focused simulation program Step 270: Calculate the current curve of each I/O power bump based on the data activity and current step response of each I/O buffer and the electrical connection relationship between each I/O power bump and the I/O buffers Step 280: Obtain a power transmission network based on the current curve of each core power bump and the current curve of each input and output power bump
第1A圖為本發明系統單晶片級電源完整性模擬系統之一實施例元件示意圖。 第1B圖為本發明系統單晶片級電源完整性模擬系統之一實施例系統架構圖。 第2圖為第1B圖的系統單晶片級電源完整性模擬系統執行電源完整性模擬程序之一實施例方法流程圖。 第3圖為系統單晶片的一實施例示意圖。 第4圖為某一核心區域的閘級網表的一實施例示意圖。 第5圖為某一輸入輸出電源凸塊及其電性連接多個輸入輸出緩衝器的一實施例示意圖。 FIG. 1A is a schematic diagram of the components of an embodiment of the single-chip level power integrity simulation system of the system of the present invention. FIG. 1B is a system architecture diagram of an embodiment of a single-chip-level power integrity simulation system of the present invention. FIG. 2 is a flowchart of an embodiment of a method for executing a power integrity simulation program in the system-on-wafer-level power integrity simulation system of FIG. 1B . FIG. 3 is a schematic diagram of an embodiment of a system-on-chip. FIG. 4 is a schematic diagram of an embodiment of a gate-level netlist of a certain core area. FIG. 5 is a schematic diagram of an embodiment of an input/output power bump and its electrical connection to a plurality of input/output buffers.
100:系統單晶片級電源完整性模擬系統 110:獲取模組 120:分類模組 130:單元電流模組 140:節點電流模組 150:核心電流模組 160:模擬模組 170:輸入輸出電流模組 180:電源模組 100: System-on-Wafer Level Power Integrity Simulation System 110: Get Mods 120: Classification module 130: Unit current module 140: Node Current Module 150: Core current module 160: Simulation Module 170: Input and output current module 180: Power Module
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109127148A TWI759817B (en) | 2020-08-11 | 2020-08-11 | Simulation system for soc-level power integrity and method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109127148A TWI759817B (en) | 2020-08-11 | 2020-08-11 | Simulation system for soc-level power integrity and method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202207071A TW202207071A (en) | 2022-02-16 |
TWI759817B true TWI759817B (en) | 2022-04-01 |
Family
ID=81323329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109127148A TWI759817B (en) | 2020-08-11 | 2020-08-11 | Simulation system for soc-level power integrity and method thereof |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI759817B (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080059143A1 (en) * | 2005-12-12 | 2008-03-06 | Hsien-Yen Chiu | Hierarchical stochastic analysis process optimization for integrated circuit design and manufacture |
US20170052586A1 (en) * | 2015-08-17 | 2017-02-23 | Intel Corporation | Transparently monitoring power delivery in a processor |
TW201729131A (en) * | 2015-10-13 | 2017-08-16 | 三星電子股份有限公司 | Simulation method, circuit design method and schematic tool |
US20190140852A1 (en) * | 2011-03-11 | 2019-05-09 | Emsycon Gmbh | Tamper-protected hardware and method for using same |
-
2020
- 2020-08-11 TW TW109127148A patent/TWI759817B/en active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080059143A1 (en) * | 2005-12-12 | 2008-03-06 | Hsien-Yen Chiu | Hierarchical stochastic analysis process optimization for integrated circuit design and manufacture |
US20190140852A1 (en) * | 2011-03-11 | 2019-05-09 | Emsycon Gmbh | Tamper-protected hardware and method for using same |
US20170052586A1 (en) * | 2015-08-17 | 2017-02-23 | Intel Corporation | Transparently monitoring power delivery in a processor |
TW201729131A (en) * | 2015-10-13 | 2017-08-16 | 三星電子股份有限公司 | Simulation method, circuit design method and schematic tool |
Also Published As
Publication number | Publication date |
---|---|
TW202207071A (en) | 2022-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1322462C (en) | High accuracy timing model for integrated circuit verification | |
JP4806376B2 (en) | Clock mesh analysis method, apparatus and system | |
CN107784136B (en) | Method and system for creating standard cell library | |
US8000950B2 (en) | Random initialization of latches in an integrated circuit design for simulation | |
US7885801B2 (en) | Modeling asynchronous behavior from primary inputs and latches | |
CN111581899A (en) | Generation method of yield parameter file and gate-level netlist and development process of chip | |
TWI575394B (en) | Characterizing cell using input waveform geneartion considering different circuit topoloiges | |
US8813006B1 (en) | Accelerated characterization of circuits for within-die process variations | |
US11593543B2 (en) | Glitch power analysis with register transfer level vectors | |
Srivastava et al. | Interdependent latch setup/hold time characterization via Euler-Newton curve tracing on state-transition equations | |
US10963610B1 (en) | Analyzing clock jitter using delay calculation engine | |
US11042678B2 (en) | Clock gate latency modeling based on analytical frameworks | |
US20230260591A1 (en) | Transforming local wire thru resistances into global distributed resistances | |
TWI759817B (en) | Simulation system for soc-level power integrity and method thereof | |
TW202336629A (en) | Apparatus and method of optimizing an integrated circuit design | |
US20220327269A1 (en) | Computing device and method for detecting clock domain crossing violation in design of memory device | |
CN113919256A (en) | Boolean satisfiability verification method, system, CNF generation method and storage device | |
Hsu et al. | Crosstalk-aware multi-bit flip-flop generation for power optimization | |
Pasricha et al. | Capps: A framework for power–performance tradeoffs in bus-matrix-based on-chip communication architecture synthesis | |
CN114065688A (en) | System single chip level power integrity simulation system and method thereof | |
CN112861455A (en) | FPGA modeling verification system and method | |
JPH07287051A (en) | Input data creation device for logic simulation | |
US10614182B2 (en) | Timing analysis for electronic design automation of parallel multi-state driver circuits | |
US20240143878A1 (en) | Delay calculation with pattern matching for static timing analysis | |
JP3464160B2 (en) | Logic cell characterization device |