US20220100939A1 - System and method of simulating aging in device circuits - Google Patents
System and method of simulating aging in device circuits Download PDFInfo
- Publication number
- US20220100939A1 US20220100939A1 US17/039,571 US202017039571A US2022100939A1 US 20220100939 A1 US20220100939 A1 US 20220100939A1 US 202017039571 A US202017039571 A US 202017039571A US 2022100939 A1 US2022100939 A1 US 2022100939A1
- Authority
- US
- United States
- Prior art keywords
- segment
- workload
- degradation
- cycles
- segments
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 230000032683 aging Effects 0.000 title claims abstract description 94
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000005070 sampling Methods 0.000 claims abstract description 9
- 230000015556 catabolic process Effects 0.000 claims description 234
- 238000006731 degradation reaction Methods 0.000 claims description 232
- 238000004088 simulation Methods 0.000 claims description 90
- 238000013461 design Methods 0.000 claims description 59
- 238000013213 extrapolation Methods 0.000 claims description 25
- 239000000872 buffer Substances 0.000 claims description 23
- 238000003860 storage Methods 0.000 claims description 22
- 230000007774 longterm Effects 0.000 claims description 19
- 238000005457 optimization Methods 0.000 claims description 11
- 230000004931 aggregating effect Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 51
- 230000035882 stress Effects 0.000 description 44
- 238000004422 calculation algorithm Methods 0.000 description 43
- 238000004458 analytical method Methods 0.000 description 34
- 238000012545 processing Methods 0.000 description 15
- 230000001419 dependent effect Effects 0.000 description 11
- 238000011065 in-situ storage Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 230000008859 change Effects 0.000 description 10
- 230000006835 compression Effects 0.000 description 10
- 238000007906 compression Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- DYCJFJRCWPVDHY-LSCFUAHRSA-N NBMPR Chemical compound O[C@@H]1[C@H](O)[C@@H](CO)O[C@H]1N1C2=NC=NC(SCC=3C=CC(=CC=3)[N+]([O-])=O)=C2N=C1 DYCJFJRCWPVDHY-LSCFUAHRSA-N 0.000 description 5
- 238000013459 approach Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 5
- 230000007423 decrease Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000000116 mitigating effect Effects 0.000 description 4
- 238000012935 Averaging Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 230000036962 time dependent Effects 0.000 description 3
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 238000002347 injection Methods 0.000 description 2
- 239000007924 injection Substances 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 206010011906 Death Diseases 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000004549 pulsed laser deposition Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000003442 weekly effect 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/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
-
- 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
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/36—Circuit design at the analogue level
- G06F30/367—Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
-
- 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
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/06—Structured ASICs
-
- 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/04—Ageing analysis or optimisation against ageing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Architecture (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
A system and method of simulating device aging based on a digital waveform representative of a workload of an electronic device are disclosed. In one aspect, the method comprises grouping contiguous sets of cycles into segments, each set corresponding to a segment. Each segment has values for a combination of segment parameters that are unique from each of the other segments and a start point that is separated from a start point of an adjacent segment by a pre-defined distance criterion. Grouping the sets into the segments comprises, for each segment: sampling one or more sequential cycles of the workload, generating the segment based on the sampled contiguous cycles having a period exceeding a threshold period, and determining the values for the combination of segment parameters. The method further comprises applying an aging model to the segments to simulate the aging. The segments are a representation of the digital waveform.
Description
- The disclosed technology relates to simulation of electronic circuits (for example, aging or degradation of the electronic circuits, hereinafter referred to as circuits) under time dependent and similar variability and, in particular, to the simulation of large circuits over extended lifetimes, where the variability is dependent on a workload signal (e.g., voltage and temperature sequence) for the circuits. The simulation may be based on analyzing a digital waveform representative of a workload signal for the circuits.
- As semiconductor devices scale to smaller dimensions and become more advanced with more restricted constraints (for example, temperature, voltage, and similar constraints), various time-varying phenomena impact reliability of the devices. For example, phenomena include bias temperature instability (BTI), random telegraph noise (RTN) and hot-carrier injection (HCl). Each phenomena may have a partly stochastic and a partly deterministic basis and depend upon random events at the atomic level, but the probability of the events partly depends on operating conditions, such as voltage and temperature, and their particular sequence. The effects of these phenomena may accumulate over operating lives of the devices, gradually degrading characteristics and performance of the devices.
- The time-dependent variability of circuits results in degradation over time of one or more performance metrics of a circuit containing such devices, and such degradation accumulates and increases as time passes. Quantifying these phenomena and/or their effects in an accurate and reliable manner enables circuit and device designers to better design the circuits and devices to avoid, minimize, or otherwise account for degradation caused by the workload signal.
- In view of the above-mentioned disadvantages, embodiments of the disclosed technology aim to improve axial resolution of conventional inline holographic imaging. An objective is in particular to provide a holographic imaging device and a method, which enable 3D representation of objects. To this end, a main goal is out-of-focus plane signal suppression in a 2D image generated by a lens-free system.
- The objective is achieved by the embodiments of the disclosed technology provided in the enclosed independent claims. Advantageous implementations of these embodiments are defined in the dependent claims.
- In some aspects, a method of simulating device aging based on a digital waveform representative of a workload of an electronic device is disclosed. The method comprises grouping contiguous sets of cycles into a plurality of segments, each set of cycles corresponding to a segment, wherein each segment has values for a combination of segment parameters that are unique from each of the other segments and a start point that is separated from a start point of an adjacent segment by a pre-defined distance criterion. The grouping of the contiguous sets of cycles into the plurality of segments comprises, for each segment: sampling one or more sequential cycles of the workload, generating the segment based on the sampled contiguous cycles having a period exceeding a threshold period, and determining the values for the combination of segment parameters. The method further comprises applying an aging model to the segments to simulate the aging for the programmable device based on the workload, wherein the segments are a representation of the digital waveform.
- In some instances, the distance criterion is based on a number of cycles in a segment having a period exceeding the threshold period, and wherein the combination of segment parameters comprises a duty factor (DF), a frequency (f), and a time duration (Δt) for each segment. The method may further comprise clustering contiguous segments into a set of scenarios that correspond to aging models based on start times of the scenarios. When one of the scenarios repeats itself a number of times consecutively, one of the aging models may be applied to the repeating scenario to calculate aging for the device based on a pre-defined relationship between degradation of the device and the workload of the device characterized by values for a combination of scenario parameters. The combination of scenario parameters may comprise a scenario DF, a scenario f, and a scenario Δt for each scenario and wherein the values for the combination of scenario parameters are determined based on an effective DF for the scenario.
- In some embodiments, the pre-defined relationship includes a linear relationship between the degradation of the device and the workload of the device and is characterized by one of the segment DF and the segment f, and each of the segment DF and the segment f is representative of the digital waveform segment. Furthermore, a number of different scenarios may be repeated at least once over the duration of the digital waveform, and the degradation of each of the different scenarios may be stored in a first lookup table relative to an initial condition of the degradation. In some instances, the DF, the f, and the Δt of the combination of segment parameters for the segment are averaged for the sampled cycles of the digital waveform that form the segment. In some instances, the applying of the aging model comprises accessing look up tables and using the values for the combinations of segment parameter values to simulate short-term and long-term aging for the device. In some embodiments, grouping the contiguous sets of cycles into the plurality of segments further comprises, for each segment: determining that the period of the sampled sequential cycles does not exceed the threshold period; aggregating one or more additional sequential cycles with the sampled sequential cycles based on the determination that the period does not exceed the threshold period; and determining that the period of the aggregated additional sequential cycles with the sampled sequential cycles exceeds the threshold period. The method may also generate the segment based on the sampled contiguous cycles and the additional sequential cycles.
- In some instances, the method further comprises evaluating the degradation of the device based on a set of aging models for a set of scenarios occurring in an arbitrary sequence over a duration of the digital waveform.
- In some aspects, a method of generating signal information simulating device aging based on a digital waveform representative of a workload of the device is disclosed. The method comprises initializing a memory buffer for storage of a segment of the digital waveform, incrementally accumulating additional cycles of the workload in the segment in the memory buffer until a period of the segment is greater than a threshold period, determining that the period of the segment is greater than the threshold period, determining each of a duty factor, a frequency, and a duration of the segment, storing the duty factor, frequency, and duration in a lookup table, and applying the lookup table to simulate the device aging with respect to the digital waveform.
- In some aspects, a system for simulating device aging based on a digital waveform representative of a workload of an electronic device is disclosed. The system comprises one or more processors configured to execute instructions; and a non-transitory, computer readable medium configured to store the instructions. The instructions, when executed by the processor, cause the processors to: group contiguous sets of cycles into a plurality of segments, each set of cycles corresponding to a segment, wherein each segment has values for a combination of segment parameters that are unique from each of the other segments and a start point that is separated from a start point of an adjacent segment by a pre-defined distance criterion. The instructions that cause the processors to group the contiguous sets of cycles into the plurality of segments further cause the processors to, for each segment: sample one or more sequential cycles of the workload, generate the segment based on the sampled contiguous cycles having a period exceeding a threshold period, and determine the values for the combination of segment parameters. The instructions further cause the processors to apply an aging model to the segments to simulate the aging for the programmable device based on the workload, wherein the segments are a representation of the digital waveform.
- In some aspects, a workload analyzer for digital circuit design optimization is disclosed. The workload analyzer comprises a gate level simulation, receiving waveform information from a physical design tool, being configured to generate simulation data for one or more components of the digital circuit design and a circuit degradation and extrapolation tool, receiving the simulation data from the gate level simulation, being configured to generate optimization information comprising timing derate factors that are provided back to the physical design tool for final circuit routing. In some instances, the gate level simulation further receives circuit information from the physical design tool. In some instances, the physical design tool includes a place and route tool. The place and route tool may include a circuit routing tool and the optimization information is provided directly to the final circuit routing. The physical design tool receives a gate netlist, a specification representing a physical layout of the digital circuit design, and design constraints from a logic design tool. The digital circuit design may be a design for an application specific integrated circuit (ASIC).
- The above, as well as additional objects, features and advantages of the disclosed technology, will be better understood through the following illustrative and non-limiting detailed description, with reference to the appended drawings. In the drawings, like reference numerals will be used for like elements unless stated otherwise.
-
FIG. 1 shows a simplified diagram of representative flows through component blocks of a circuit aging analysis system, as described herein. -
FIG. 2 provides a comparison graph showing how a workload signal or different waveforms can be represented by different simulation points that provide a digital representation. -
FIG. 3A provides example workload profiles as applied to a circuit (for example, workload profiles applied to a gate input of a transistor under NBTI stress). -
FIG. 3B provides a graph showing corresponding simulated or estimated degradations (estimated degradations) associated with each of the workload profiles ofFIG. 3A . -
FIG. 3C provides example duty factors for workload profiles as applied to a circuit (for example, workload profiles applied to a gate input of a transistor under NBTI stress). -
FIG. 3D provides a graph showing corresponding simulated or estimated degradations (estimated degradations) associated with each of the workload profiles ofFIG. 3D . -
FIG. 4 provides a high level representation of a flowchart for a method of implementing a circuit aging model using an adaptive waveform splitting (AWS) algorithm described herein on a circuit for which aging information or degradation information is desired. -
FIG. 5 provides a process flow diagram that further details sampling a stress waveform (corresponding to the workload signal) to generate segments for use with an aging simulator model. -
FIG. 6 shows a graph of a degradation plot showing an envelope (or effective degradation behavior) for a simulated electronic circuit and waveform combination (not shown). -
FIG. 7A depicts a breakdown of scenarios into segments and cycles. -
FIG. 7B depicts a graph showing how the scenarios and instances ofFIG. 7A can have different impacts on a cumulative degradation of the circuit caused by the stress waveform. -
FIG. 8 depicts a representative circuit level simulation flow for workload dependent aging analysis for electronic circuits. -
FIG. 9 shows a block diagram of the components for the jpeg encoder integrated circuit (IC) including a number of discrete cosign transfer (DCT) blocks. -
FIG. 10 provides a physical flow that integrates a workload analysis flow using the AWS algorithm and degradation modeling and extrapolation with an existing application specific integrated circuit (ASIC) (or similar) design flow -
FIG. 11 provides an example of a flow of an in-situ mitigation monitor incorporating the AWS algorithm and degradation modeling and extrapolation introduced above. The in situ monitor may assist with mitigation of circuit or device aging. - In the following detailed description, reference is made to the accompanying drawings, which form a part thereof. In the drawings, similar symbols typically identify similar components, unless context dictates otherwise. Thus, in some embodiments, part numbers may be used for similar components in multiple figures, or part numbers may vary depending from figure to figure. The illustrative embodiments described in the detailed description, drawings, and claims are not meant to be limiting. Other embodiments may be utilized, and other changes may be made, without departing from the spirit or scope of the subject matter presented here. It will be readily understood that the aspects of the disclosed technology, as generally described herein, and illustrated in the Figures, can be arranged, substituted, combined, and designed in a wide variety of different configurations, all of which are explicitly contemplated and made part of this disclosure.
- The disclosed technology relates to systems and methods of simulating electronic circuit aging for electronic circuits that comprises one or more semiconductor and similar electronic devices by generating a compressed digital waveform representative of a workload signal applied to the electronic circuits. Electronic circuits (also referred to herein as “circuits”, “electronic devices”, “devices”, “chips”, and the like) may degrade over an extended period or lifetime of use, for example, due to exposure to an environment or use under designed conditions and operation. Such degradation over time may be referred to as aging related degradation of the electronic circuits. This aging may occur due to physical mechanisms, for example Bias Temperature Instability (BTI) and Hot Carrier Injection (HCl), Electromigration (EM), Low-K time-dependent dielectric breakdown (TDDB), among others. Such physical mechanisms may cause one or more components of the circuits and wire related parameters to degrade. This degradation can lead to timing violations and/or failures of the components and the related circuits. In some embodiments, the degradation caused by the physical mechanisms depends on or is a result of a workload profile (referred to herein interchangeably as a “workload profile” or “workload signal”) that the components and circuit are exposed to during operation of the circuits. For example, programs operating on the circuits or using the circuits may subject the circuits to particular workloads. In some embodiments, circuits may have unique or different workload profiles based on the application(s) of the circuits. Because such degradation can affect lifetimes and operations of circuits, an ability to accurately and efficiently predict circuit degradation (and recovery) can assist in developing new and/or optimized circuits for particular applications and use cases.
- In some embodiments, the degradation of the circuits due to the workload may not be constant, and pulses associated with the workload may be random and inconsistent in sequence. For example, different segments or portions of the workload may cause different amounts of degradation to the circuits. Furthermore, the segments may have different impacts on the degradation depending on when they occur, even if the segments themselves include the same aspects of the workload. For example, some segments of the workload have a larger impact on the degradation of the circuit when they occur later in the circuit lifetime while other events have a smaller impact on the degradation of the circuit later in the circuit lifetime. As introduced above, the degradation of the circuit can cause various issues, including timing errors, calculation errors, circuit failure, and the like. Various algorithms exist to enable simulation and/or estimation of degradation of these circuits and corresponding devices.
- More specifically, the disclosed technology solves problems associated with workload dependent circuit aging and degradation that are difficult to simulate with previous technologies, for example due to computational overhead and/or run time required to generate corresponding results. Furthermore, the disclosed technology may enable projection of calculated aging and degradation results from a calculated single cycle or other “short-term” interval or window to an end-of-life, or otherwise “long-term” interval or point. Therefore, the disclosed technology may provide highly accurate, long-term degradation projections (referred to herein interchangeably with extrapolations) based on faster and lower overhead calculations as compared to previous technologies. Specifically, the disclosed technology exploits linearity of degradation caused by the workload. For example, systems and methods of the disclosed technology may use duty factors of segments of the workload to calculate and extrapolate degradation values of the circuit due to any arbitrary sequence of pulses within the workload. The linearity of the relationship between the degradation and the workload enables projection of the degradation between different length or term durations. A representative system corresponding to the disclosed technology is shown and described with respect to
FIG. 1 . -
FIG. 1 shows a simplified diagram of representative flows through component blocks of a circuit aginganalysis system 100, as described herein. A more detail representation is provided below with respect toFIG. 8 . The flow begins with asimulation model 102, which may correspond to various systems, components, and/or data related to the circuit degradation analysis and/or estimation. As shown, thesimulation model 102 comprises adevice programs workload 104 and acircuit simulation 106. Thedevice programs workload 104 may be signals or representations of one or more workloads that the circuit experiences in its operation. Similarly, thecircuit simulation 106 may be a representation or simulation of the circuit for which the degradation analysis and/or estimation is being performed. For example, though not shown as such, thecircuit simulation 106 may comprise a database or similar storage of representations or simulations of various circuits. Together, thecircuit simulation 106 and thedevice programs workload 104 may provide a representation for a real-world circuit and its expected operation over the course of the lifetime of the circuit. - As shown in
FIG. 1 , thecircuit simulation 106 provides a simulated circuit to thedegradation model generator 108 while thedevice programs workload 104 provides a corresponding workload signal for the provided simulated circuit to thecircuit simulation 106. Together, the provided device program workload and the provided circuit simulation provide details necessary to analyze and/or estimate degradation for the circuit simulated by the provided circuit simulation. In other words, thedevice programs workload 104 and thecircuit simulation 106 provide the workload signal to thedegradation model generator 108 for simulation and/or processing to generate degradation models for the particular electronic circuit and corresponding workload program. In some embodiments, thedegradation model generator 108 is implemented by a computer processing system or computing system - The
degradation model generator 108 may generate modeling information that can be used to provide the improved degradation estimation and analysis for circuits and corresponding devices, as described herein. More specifically, thedegradation model generator 108 generates aging tables for use by thesimulation model 102 to generate the improved degradation estimates and analysis described herein. Thedegradation model generator 108 comprises agenerator 110, which generates one ormore segments 112 based on the received workload signal from thecircuit simulation 106. Details of the processing and/or data flow of thewaveform compression generator 110 are provided below with reference toFIG. 5 . - In brief, the
waveform compression generator 110 may continuously process consecutive samples of the workload signal to generate the one ormore segments 112 based on a collection of the consecutive samples exceeding a threshold level, where each generated segment has unique values for segment parameters including frequency, duty factor, and period. In some embodiments, the frequency, duty factor, and period for the segment parameters may be generated based on averaging the corresponding values for the sampled cycles that form the segment. Thedegradation model generator 108 may further generate one or more lookup tables (LUTs) based on the generated segments, where the segment parameters are used to determine how to create the lookup tables based on the generated segments. For example, a degradation modeling andextrapolation block 114 may populate the LUTs for use as parametrized aging tables 116, where the segment parameters introduced above and described in more detail below, may determine how to populate the LUTs. Once the parametrized aging tables 116 (which may comprise short and long term aging tables) are generated, adegradation database 118 of thesimulation model 102 stores the generated parameterized aging table and apply the parameterized aging tables 116 to perform the degradation analysis and estimation and generate the improved degradation and circuit aging estimation as described herein. Further details of the circuit aginganalysis system 100 are provided below with respect toFIGS. 5 and 8 and corresponding description. - Analyzing and predicting circuit degradation may involve significant overhead depending on the algorithm applied to sample the workload signal. For example, certain algorithms of previous technologies involve capturing and processing large numbers of samples of the workload signal to perform the degradation analysis and estimation. However, processing many samples may require additional processing overhead.
FIG. 2 provides acomparison graph 200 showing how a workload signal ordifferent waveforms 202 can be represented by different simulation points that provide a digital representation. Theworkload signal 202 is shown having two distinct regions each with different frequencies (f1, f2), duty factors (α1, α2), and period durations (Δt1, Δt2) from the other. Thecomparison 200 shows how different simulation algorithms may process thewaveform 202, specifically showing simulation points of theworkload signal 202 of a simulation program with integrated circuit emphasis (SPICE) 204, a valuechange dump algorithm 206, a compactdigital waveform algorithm 208, and an adaptive waveform splitting (AWS)algorithm 210. The SPICE simulation results in a large number of SPICE simulation points 204, represented by the ‘x’ along theworkload signal 202. The simulation according to VCD results in VCD simulation points 206 at every peak and every valley of theworkload signal 202, represented by the ‘circle’ at every peak and valley. The CDW simulation results in a much smaller number CDW simulation points 208 as compared to the SPICE andVCD samples workload signal 202. The simulation according to AWS results in a singleAWS simulation point 210 at the end of the depictedwaveform signal 202. Thus, theAWS simulation point 210 can represent the entireanalog workload signal 202 shown inFIG. 2 with a single point, reducing resource demands for processing as compared to similar processing that would be needed for each of the SPICE, VCD, and/or the CDW algorithms. More particularly, theAWS simulation point 210 uniquely represents, in thesingle AWS sample 210, theworkload signal 202 having the two distinct regions, each with unique frequencies, duty factors, and period durations, whereas even the CDW simulation points 208 cannot handle workload signal segments having different segment parameters (for example, different beyond a threshold value) in a single representation. For example, the CDW simulation points 208 divide theworkload signal 202 into two regions for the same portion of theworkload signal 202 represented by the singleAWS simulation point 210, where theworkload signal 202 is separated into the two regions at the change in theworkload signal 202 between the two regions. The comparison of the number of segments or simulation points for each of the SPICE algorithm, VCD algorithm, CDW algorithm, and AWS algorithm provides a comparison of a quantity of simulations and/or calculations applied to theworkload signal 202. As described herein, theAWS simulation point 210 shows that the corresponding simulation and/or analysis of theworkload signal 202 is more efficient than any of the SPICE, VCD, and CDW algorithms and at least similarly as accurate, providing benefits over these simulation and/or analysis systems and methods. In some embodiments, theAWS simulation point 210 is separated from a previous or subsequent AWS simulation point (not shown) by a distance, the portion of theworkload signal 202 represented by theAWS simulation point 210 may be a segment, as described in further detail below. The distance between corresponding points of subsequent AWS simulation points (for example, start-to-start of the subsequent AWS simulation points) may be identified based on a number of cycles in the segment. For example, the number of peak to valley transitions between AWS simulation points (for example, the number of peak to valley transitions shown inFIG. 2 ) may be indicative of the number of cycles in the segment and may be determinative of the distance between subsequent AWS simulation points. In some embodiments, this distance is based on the number of cycles in the corresponding segment having the period exceeding a threshold period, meaning that the segment meets threshold requirements described in further detail inFIG. 5 below. In some embodiments, the threshold requirements (i.e., the threshold period) is determined based on the distance. The segments may be decided based on a fixed threshold value within theworkload signal 202. Under some conditions, theworkload signal 202 may include two or more different scenarios (as described below) combined, in which case the threshold values could change. - As introduced by
FIG. 2 and the corresponding description, previous technologies estimate aging in the circuits in various ways. For example, some systems introduce a fixed or worst case, delay de-rating factor as a margin (i.e., boundary) so that timing violations never occur in the circuits under various operating regimes. However, such a conservative approach that applies blanket aging margins to the circuits may not provide sufficiently accurate or specific aging/degradation estimation as technology nodes or the circuits become more advanced and have more stringent (i.e., restrictive) operating constraints. Such worst case and/or typical condition (i.e., Corner Analysis) aging timing margins may no longer be tolerated due to stricter design specification requirements in the advanced technologies. Furthermore, application of such margins (for example, by the previous technologies and methods) does not account for the actual workloads of the circuits. Accordingly, under the Corner Analysis and similar analysis technologies, the degradation estimation may not be accurate to the circuit on which the analysis is performed. Furthermore, the previous technologies may apply an effective stress time or so-called signal probability (SP) while calculating degradation under realistic workload scenarios for the circuits. However, because such systems and methods are not purely physics-based, resulting aging estimations may incur erroneous degradation estimates and take longer to generate. - An additional option for the previous technologies includes applying cycle-accurate (CA) simulations to the circuit, but such simulations are computationally expensive and time intensive, thereby making them generally unsuitable for large and/or complicated circuit designs. Previous technologies may further employ empirical models that, while potentially based on true atomistic physics mechanisms present in the circuits and/or devices and wires of interest, can at most be interpolated between sufficiently close calibrated operating points. Thus, each of the previous technologies for analyzing degradation of circuits is flawed or impractical for large or complex circuits. Additionally, the previous systems and methods do not provide degradation information that is accurately and/or reliably extrapolated from relatively short period measurements to full lifetimes of the corresponding circuits. Therefore, the previous technologies have to perform the degradation calculation for various time periods instead of being able to extrapolate between time periods as in the disclosed technology. Hence, these previous technologies are lacking in various ways that the disclosed technology described herein cures. A discussion of why the previous technologies are unsuitable for advanced and/or large system degradation analysis and prediction is provided below with reference to
FIGS. 3A and 3B . -
FIG. 3A provides example workload profiles 300 a-300 c as applied to a circuit (for example, workload profiles applied to a gate input of a transistor under NBTI stress).FIG. 3B provides a graph showing corresponding simulated or estimated degradations (estimated degradations) 310 a-310 c associated with each of the workload profiles 300 a-300 c ofFIG. 3A . AsFIG. 3B shows, as time increases and the circuit is exposed to more of the workload, the degradation of the circuit increases. The workload profiles 300 a-300 c each relate to a particular workload signal having active and passive/idle modes or durations that are different between each of the workload profiles 300 a-300 c. During the active mode, the frequency of the workload profiles 300 a-300 c is 1 GHz with a duty factor (DF) of 0.5, so the frequency for each of the workload profiles 300 a-300 c is 1 GHz and the DF for each of the workload profiles 300 a-300 c is 0.5. However, differences between each of the workload profiles 300 a-300 c include when the active modes occur and for how long the active modes last. As shown inFIG. 1A , theworkload profile 300 a is in the active mode between 0 seconds (s) and 1500 s with no shown passive/idle mode, theworkload profile 300 b is in the active mode between 0 s and 1 s and in the passive/idle mode between 1 s and 1.5 s, and theworkload profile 300 c is in the active mode between 0 s and 0.5 s and 1 s and 1.5 s and the passive/idle mode between 0.5 s and 1.0 s. The workload profiles 300 a-300 c represent different variations of the BTI stress and relaxation simulations, for example, performed using calibrated models based on capture/emission time (CET) maps for the circuits. The estimated degradations 310 a-310 c ofFIG. 3B represent a calculated or estimated degradation caused by the NBTI stress applied to the circuits, for example the gate input of the transistor posed above, with each of the workload profiles 300 a-300 c. For example, the estimateddegradation 310 a for theworkload profile 300 a shows an increasing degradation as time increases, corresponding to the continuous active mode of theworkload profile 300 a. The estimateddegradation 310 b for theworkload profile 300 b shows a degradation that increases while in the active mode but that decreases when in the passive mode. The estimateddegradation 310 c for theworkload profile 300 c shows a periodic increasing degradation that corresponds to the active mode for theworkload profile 300 c. In some instances, while each of the workloads have the same frequency and duty factor, as explained above, the actual active mode and passive/idle mode sequence differences between the workload profiles 300 a-300 c are shown to impact the corresponding degradation of the circuits, as the estimated degradations 310 a-310 c show different degradation changes in response to the corresponding workload profiles (for example, betweentimes time 1500 seconds. - The workload profile 300 a-300 c, as shown, differ in a sequence of applied active and passive modes. The
workload profile 300 a is active for the entirety of the period from 0 s to 1500 s while the workload profiles 300 b and 300 c maintain the same total effective active and passive/idle mode durations between the 0 s and 1500 s period shown inFIGS. 3A and 3B for a total of 1000 s in the active mode and 500 s in the passive/idle mode. However, as shown with respect to the estimated degradations 310 a-310 c ofFIG. 3B , corresponding simulated degradation patterns for the different workload profiles 300 a-300 c, as well as the end point degradation, differ between the different workload profiles 300 a-300 c. This is contrary to, for example, the SP-based aging or degradation estimate approach of previous technologies introduced above, which predict that the degradation behavior in the circuits is dependent on the effective stress time or stress time and recovery time ratio. For example, under the SP-based mechanism, the estimated degradations for theworkloads FIG. 3B , even though the workload profiles 300 b and 300 c share the active mode and passive/idle mode durations and ratio, thedegradation 310 b is different from thedegradation 310 c. Such a discrepancy between the previous technologies (i.e., the SP-based mechanism) and the systems and methods described herein shows the importance of preserving and accounting for the activity sequence (i.e., the actual workload signal) of the circuits when evaluating their degradation or aging. This also shows one of the benefits of the disclosed technology over the previous technologies. - Thus, to cure the deficiencies of the previous technologies, the disclosed technology employs the adaptive waveform splitting (AWS) algorithm that enables fast and accurate calculation of workload-dependent circuit and/or device aging. The systems and methods described herein apply the AWS algorithm to perform faster aging estimation of circuits large and small under specific workload scenarios as compared to the previous technologies. The AWS algorithm may perform or be used in conjunction with a workload dependent aging analysis algorithm or model while accounting for corresponding complexities and run-time issues associated with considering a more realistic or “true” workload for the device being tested or analyzed while preserving accuracy of the aging analysis and predictions. For example, the AWS algorithm may employ aging based models calibrated to the same circuit.
- A discussion of how different workloads demonstrate duty factor averaging over a course of the workload with respect to the degradation impact on circuit is provided below with reference to
FIGS. 3C and 3D . For example, referring toFIGS. 3C and 3D , each of workload profiles 350 a-350 d ofFIG. 3C have different duty factor (DF) workloads that, over an entirety of the workload, average to a similar duty factor value of 0.5.FIG. 3C provides example duty factors for workload profiles as applied to a circuit (for example, workload profiles applied to a gate input of a transistor under NBTI stress).FIG. 3D provides a graph showing corresponding simulated or estimated degradations (estimated degradations) associated with each of the workload profiles ofFIG. 3D . - More specifically, the workload profiles 350 a-350 d of
FIGS. 3C and 3D present a set of workload profiles which all have a fixed frequency f=1 GHz for the entire stress duration. Workload profiles 350 b, 350 c, and 350 d comprise of alternating segments of DF (0.2 and 0.8) but have a common mean DF=0.5 over the stress period, which is consistent with theworkload profile 350 a, which is fixed DF of 0.5.FIG. 3D shows that the four workload profiles 350 a-350 d generate estimated degradations 360 a-360 d, respectively. As shown, the workload profiles 350 a-350 d can cause distinctions in the resulting degradation estimations 360 a-360 d of the workloads on the circuit, even when a mean DF between the workload profiles 350 a-350 d is the same. For example, when the mean DF is 0.5, the individual workload profiles have a consistent or constant DF of 0.5 (for example, for theworkload profile 300 a) or a DF that alternates between different values but averages to 0.5, for example alternating between equal periods of 0.2 and 0.8 DFs (for example, the workload profiles 350 b-350 d). As the periods of the alternating DFs increases (for example, increases from alternating between 0.2 and 0.8 DF for 50s intervals to alternating 0.2 and 0.8 DF for 100s and/or 250s intervals) as shown inFIG. 3C , the corresponding degradation deviates more and more from the constant DF of 0.5 workload profile, as shown inFIG. 3D . Thus, while transient behavior of individual workload profiles 350 a-350 d may be different, the average DF of the workload profiles 350 a-350 d can be useful in projecting an overall trajectory of degradation of the device or circuit as shown in estimated degradations 360 a-360 d. However, an envelope of the degradation exists around the mean DF case, meaning that as the duration of the DF intervals decreases, for example into a scale of microseconds or nanoseconds (which may be more expected in real-world circuits, devices, and/or conditions) instead of seconds, the estimated degradation behavior becomes a better estimator of actual degradation of the electronic circuit. Based on such a workload averaging effect, the AWS algorithm can better perform real workload simulations as compared to previous technologies. In some implementations, the AWS algorithm may be applied to or simulate the digital waveform representing the workload for the circuit or device (or portions thereof) having high toggle-rate segments (meaning segments with the shorter DF periods, for example measured in microseconds and/or nanoseconds) while segments having toggle rates that fall below a threshold value can be simulated in another manner, such as the CA. In some embodiments, the AWS algorithm is applied to or simulates the entire digital waveform representing the workload, regardless of high or low toggle rate determinations. Adaptively analyzing and processing the digital waveform with the AWS algorithm may result in fewer simulations to obtain an end-point degradation estimation for the circuit or device, which further reduces run-time of the processing and/or analysis, as compared to the previous technologies. -
FIG. 4 provides a high level representation of a flowchart for amethod 400 of implementing a circuit aging model using the AWS algorithm described herein on a circuit for which aging information or degradation information is desired. Themethod 400 may be performed on a simulated representation or model (i.e., the circuit simulation 104) of the circuit. Themethod 400 includes multiple high level steps, some of which will be described with more detail with respect to aprocess flow 500 diagram ofFIG. 5 . Themethod 400 may be carried out, for example, by one or more computing components described herein, for example, the computing system described herein. In some instances, the steps or blocks of themethod 400 may occur in the sequential order presented below and inFIG. 4 or in a non-sequential order with additional or fewer steps than shown. - At
block 402, themethod 400 comprises identifying, in the workload signal, cycles of the workload signal. The workload signal may comprise multiple regions that correspond to one or more device programs (for example, the two distinct regions shown in theworkload signal 200 ofFIG. 2 ) for the device. The cycles of the workload signal may correspond to repeating sections of the waveform (for example, from one peak or valley to a next corresponding peak or valley, respectively, of the workload signal). In some embodiments, the different regions of the workload signal may be identified by different characteristics of the workload signal. For example, a frequency change point for the workload signal may indicate a change in the region for the workload signal or different program for the workload signal. As described in more detail with respect toFIG. 5 , the cycles of the workload signal may be collected in a buffer one cycle at a time (for example, incrementing the collected cycles one at a time) or at any other number of cycles at a time. - At
block 404, themethod 400 comprises grouping contiguous sets of cycles into a plurality of segments. Each set of cycles may correspond to a particular segment. The segments, as described in more detail below with respect toFIG. 5 , may each have a unique combination of segment parameters. The segment parameters may comprise a duty factor (DF), a frequency (FREQ), and a duration (DUR). Individual segments generated by or from continuous sets of cycles may be stored and or saved for later reference. For example, each segment of one or more portions of the workload signal may be analyzed when making a determination on or analyzing the degradation of the circuit. - At
block 406, themethod 400 comprises applying an aging model to the segments to simulate the aging for the circuit based on the workload of the circuit. In some embodiments, themethod 400 may use the segments in conjunction with the aging model to determine an amount of degradation for each of the segments as it applies to the circuit. - As introduced above,
FIG. 5 provides aprocess flow 500 diagram that further details sampling a stress waveform 508 (corresponding to the workload signal 202) to generatesegments 112 for use with an agingsimulator model 530. Similar to the blocks ofFIG. 4 , the blocks of theprocess flow 500 may be carried out, for example, by the computing system described herein. In some instances, the steps or blocks of theprocess flow 500 may occur in the sequential order presented below and inFIG. 5 or in a non-sequential order with additional or fewer steps than shown. - The
process flow 500 begins with receiving, at aninput 502, thestress waveform 508. Theinput 502 may receive one or more cycles of thestress waveform 508 for sampling. For example, when a single cycle of thestress waveform 508 is sampled, the sampled cycle of thestress waveform 508 may be stored in abuffer 505. Thebuffer 505 may begin with a counter k that is initialized to one. The sampled cycle of thestress waveform 508 from theinput 502 may be stored in thebuffer 505, and a period (for example, a length) of the sample cycle stored in thebuffer 505 may be compared to a threshold period atblock 510. If the period of thebuffer 505 is less than the threshold period, then the sampled cycle(s) stored in thebuffer 505 may be accumulated with additional sampled cycles of thestress waveform 508 from theinput 502. If the period of thebuffer 505 is greater than or equal to the threshold period, then the sampled cycle stored in thebuffer 505 may be saved as asegment 112, as described in further detail below. - When the sampled cycle in the buffer is accumulated with the cycle(s) in the accumulated cycles in the
buffer 505 at 515, the period of the accumulated sample(s) in thebuffer 505 may again be compared to the threshold period at 510. This process of accumulating additional sampled cycles of thestress waveform 508 in the buffer 505 (for example, one at a time) will continue until the period of the accumulated cycles in thebuffer 505 exceeds the threshold period at theblock 510 or the period of the sampled cycle exceeds the threshold period. In some embodiments, the threshold period will be set at a value such that variations with respect to segment parameters for segments generated based on each set of buffered cycles are close to or within threshold ranges of average values for the segment. - Once the period of the sampled cycle(s) in the
buffer 505 exceeds the threshold period, thebuffer 505 is flushed, the buffer counter k incremented by one, and the sampled cycles from thebuffer 505 are stored as a (unique)segment 112 in asegment storage 525. The computing system may determine values for the unique segment parameters for thesegment 112 stored in thesegment storage 525. In this manner, the computing system may continuously sample thestress waveform 508 to generate a number of segments for thestress waveform 508. For example, the entirety of thestress waveform 508 may be sampled in this manner to identify allsegments 112 of thesegment storage 525 that make up thestress waveform 508. In some embodiments, the segments generated based on sampling thestress waveform 508 may be representative of a digital waveform corresponding to thestress waveform 508. - In some embodiments, the number and characteristics of the samples that form each segment in the
segment storage 525 differ betweensegments 112; therefore, eachsegment 112 may have different segment parameters from every other segment in thesegment storage 525. For example, eachsegment 112 may have a different duty factor (DF) (for example, average duty factor for the segment) from eachother segment 112 in thesegment storage 525. In some instances, eachsegment 112 also has a different frequency (f) and/or duration (Δt) from eachother segment 112. The frequency value for eachsegment 112 may correspond to an average frequency for thatsegment 112, similar to the duty factor. Because eachsegment 112 of thesegment storage 525 is unique, the number ofsegments 527 in thesegment storage 525 may correspond to or represent a number of simulation points. The agingsimulator model 530 may apply an aging model to a bias and/or temperature input 529 (real or simulated) and the simulation points of the segment information from thesegments 112 in thesegment storage 525. Thus, theprocess flow 500 may sample the entirety of thestress waveform 508 to generate a plurality ofsegments 112 representative of a digital waveform corresponding to thestress waveform 508. Thesesegments 112, each having unique segment parameter values, may represent unique simulation points to which the agingsimulator model 530 is applied. In some embodiments, applying the aging simulator model to thesegments 112 from thesegment storage 525 generates results of degradation specific to the simulation point to which the agingsimulator model 530 is applied. Thus, by applying the agingsimulator model 530 to each of thesegments 112 in thesegment storage 525, the agingsimulator model 530 generates degradation values for each segment. - Because each
segment 112 in thesegment store 525 has a unique duty factor, each corresponding degradation value can be stored in a lookup table relative to the corresponding duty factor. Thus, the table can include a column of duty factor values and a corresponding column of degradation values associated with the duty factor value. For example,FIG. 6 shows a graph of adegradation plot 600 showing an envelope 602 (or effective degradation behavior) for a simulated electronic circuit and waveform combination (not shown). Thedegradation plot 600 shows stress times on the x-axis having times between zero and 2.5×10−4 seconds and degradation on the y-axis having values if atomic units or V. Thedegradation plot 600 also includes asimulated degradation plot 604 andprojections 606 along theenvelope 602. Theprojections 606 may correspond to extrapolated degradation values generated based on the linear relationship between the calculated short-term degradation values. Thesimulated degradation plot 604 may correspond to the plot generated from random sampling for a number of cycles of the workload. -
FIG. 6 also includes two lookup tables, a first lookup table 610 representing short-term aging of a single program cycle or a small number of program cycles for the simulated electronic circuit and a second lookup table 620 representing a longer-term aging of a lifetime for the simulated electronic circuit, where pre-characterization will only occur with a uniform duty cycle and frequency. As described above with respectFIG. 5 , the lookup table 610 can be populated based on sampling the waveform of the simulated electronic circuit and waveform combination to generate the segments with unique duty factors and then identifying corresponding degradation amounts or values for each unique segment. For example, the lookup table 610 may be populated with degradation amounts or values (for example, in amounts of change (ΔV) caused or resulting from the corresponding segment duty factor. Thus, thesegment 112 having the duty factor of 0.01 may have a ΔV of x while the segment having the duty factor of 0.2 may have a ΔV of y, and so forth. In some instances, while the duty factors ofdifferent segments 112 do not overlap, the ΔV degradation changes may be duplicated between one or more pairs of duty factors and segments. - The lookup table degradation values in the first lookup table 610 for the short-term duration can then be extrapolated into the long-term degradation values in the second lookup table 620. For example, based on the short term degradation value for a particular duty factor value, an analysis can be performed to determine how much or how many times each duty factor (i.e., segment) will be repeated over the lifetime of the simulated circuit. Based on the number of time each duty factor will be repeated in the lifetime of the simulated circuit (or other long term duration), the change in degradation from the short term lookup table 610 can be extrapolated to the change in degradation for the long term lookup table 620 for the corresponding duty factor value because of the linearity of the degradation and uniform duty factor with respect to the workload signal. The determination of number of times a duty factor is repeated over a particular amount of time or the lifetime of the simulated circuit can be determined using any practical means or methods. More specifically, by simulating only one or a few programs or scenarios, an effective DF (DFeff) can be extracted using table 610 and then mapped to the long-term degradation with the DFeff entry in table 620. For example, many application programs or scenarios have typical workload profiles that are repeated periodically over its lifetime. The long-term extrapolation method shown in
FIG. 6 uses the look-up table 610 (for short-term, i.e., one or a few program cycles) and look-up table 620 (for long-term degradation (e.g. 3 years)) as a function of uniform activity or DF. Then the simulated short-term degradation under real workload is interpolated to get the corresponding effective DF (DFeff) in table 610 which is mapped to long-term degradation with the corresponding DFeff entry in 620. Effectively, at the end of eachprojection 606, the degradation (i.e., the ΔVth in table 610) is identified from thegraph 600 and used to identify the corresponding DF, which becomes the effective DF. Then that effective DF can be mapped to the table 620 to identify the corresponding long-term degradation. - Thus, when the circuit experiences or runs a random program that generates a particular degradation waveform and this program is repeated, the computing system can perform the degradation simulation for segments generated from sets of cycles of the random program workload for one or a few of these programs cycles. The computing system can identify an effective duty factor for each generated segment based on the aging workload model to identify the short term (one or a few program cycles) degradation of the random program workload. This short-term degradation can then be extrapolated to identity the long-term degradation based on the uniform duty factor.
-
FIG. 7A shows a representation of thestress waveform 508 as it relates to differentrepeatable scenarios 706 and instances of a digital representation of thestress waveform 508. In some embodiments, the scenarios are generated based on aggregating a number of contiguous segments. In some embodiments, one or more of the scenarios or the number of contiguous segments correspond to aging models, for example based on start times of the scenarios. For example, the aging models may determine an amount of degradation caused by the scenarios based on when the scenario starts. In some instances, for each of the scenarios, one of the aging models is applied to the scenario to calculate aging for the device based on a pre-defined relationship between degradation of the circuit and the workload of the circuit characterized by values for a combination of scenario parameters. In some embodiments, the relationship is a linear or linearity based relationship. In some embodiments, the relationship is characterized by the scenario parameters. The combination of scenario parameters may comprise a scenario duty factor, a scenario frequency, and a scenario duration. In some embodiments, the scenario parameter values may be averages of the corresponding values for the segments that form the scenario. The individual segments within the scenarios may still maintain their particular values for the combination of segment parameters. As described above with respect toFIG. 5 , the computing system herein may samplestress waveform 508 by cycles of the stress waveform 508 (as described relative toFIG. 5 ) to generate one ormore segments 112. Thesegments 112 may be used to determine the degradation values for the circuit caused by thesegments 112 and extrapolate those short term values to long term values and/or a lifetime of the circuit. -
FIG. 7A shows how thesegments 112 generated from the cycles of thestress waveform 508 can correlate toscenarios 706. Ascenario 706 may comprise a collection of consecutive and/ornon-consecutive segments 112. In general, each selected scenario is repeated often and at least once during the duration of the potentially long (days, weeks or even years)overall stress waveform 508. Repeated scenarios, for example 706 a-1 and 706 a-2, may comprise thesame segments 112 in the same order every time they appear in thestress waveform 508, though, in general, parameters may be present in the scenario definition. In that case, depending on the specific parameter value, thesegments 112 in different instances of the same scenario may occur in different orders. Those orders may still be deterministically defined by the parameter values. TheFIG. 7A includes four different scenarios, ascenario # 1 706 a,scenario # 2 706 b,scenario # 3 706 c, andscenario # 4 706 d. In some instances, scenarios are formed based on established criteria/constraints, for example energy and/or power dissipation versus execution time as described in Francky Cathoor, et al., System-Scenario-based Design Principles and Applications, pp. 7-97 (2020), which is incorporated herein by reference. In general, the scenarios may be defined in an N-dimensional objective space where different metrics, assigned to separate objective axes are established, like energy, maximal power, footprint, throughput latency and so on. The meaningful/useful segment mappings (ordered sequences of segments on the execution platform including processor allocation and assignment) may be characterized in terms of their metrics and those who are sufficiently close to each other in terms of the distance (e.g. Manhattan distance) in the N-dimensional objective space will be clustered in the same scenario. Based on profiling of realistic applications, the expected order of scenario instances may then be established to arrive at the final scenario sequence. In the context of disclosed invention, an important metric to be included during the scenario clustering may be the amount of degradation due to aging on the platform for the associated segment mapping. Specifically,FIG. 7A shows that thescenario # 1 706 a includes at least eightsegments 112 a-112 h. Each of theother scenarios 706 may include one or more of a different set ofsegments 112, a different number ofsegments 112, or a different order of segments (based on the scenario parameters) 112. In view of the linearity between thestress waveform 508 and the degradation caused by or associated with the segments, each of the repeated scenarios (for example thescenarios 706 b-1 and 706 b-2) may have corresponding (or substantially corresponding) degradation values because the same scenarios should have the same impact (i.e., degradation and/or aging) on circuit degradation and aging analysis. For example, thescenario # 2,instance # 2 706 b-1 would be expected to have the same degradation value(s) asscenario # 1,instance # 2 706 b-2. Similarly, thescenario # 4,instance # 1 706 d-1 would be expected to have the same degradation value(s) asscenario # 4,instance # 2 706 d-2. As discussed herein, creatingscenarios 706 based on collections or sets ofsegments 112 may further simplify propagation or extrapolation of short-term degradation values to long-term periods, for example representing easily identifiable and repeating portions of thestress waveform 508. Thus, identifyingscenarios 706 and an associated degradation value can help improve speed of determination of the degradation and/or aging of the circuit caused by thestress waveform 508 over the lifetime of the circuit. - The
scenario # 2 706 b and thescenario # 4 706 d are repeated.Scenario # 2instance # 1 706 b-1 is shown on the left andscenario # 2instance # 2 706 b-2 is shown on the right.Scenario # 4instance # 1 706 d-1 is shown between thescenario # 2instance # 1 706 b-1 and thescenario # 1 706 a, while thescenario # 4instance # 2 706 d-2 is shown between thescenario # 3 706 c and thescenario # 2instance # 2 706 b-2. The first instance of thescenario # 2,instance # scenario # 2,instance # scenarios 706 shown inFIG. 7A , the degradation attributed to thescenarios 706 may be equal to the sum of: the degradation of thescenario 706 a, the degradation of thescenario 706 b multiplied by 2 (for 706 b-1 and 706 b-2), the degradation of thescenario 706 c, and the degradation of thescenario 706 d multiplied by 2 (for 706 d-1 and 706 d-2). Accordingly, thescenarios 706 can simplify the determination of thestress waveform 508 or a portion thereof. In some instances, the computing system evaluates the degradation of the circuit based on a set of aging models for a set of scenarios occurring in an arbitrary sequence over a duration of the digital waveform. - In some instances, when the
scenario 706 and/or corresponding instance occurs in the lifetime of the circuit impacts the degradation causes by thescenario 706. For example,FIG. 7B depicts agraph 700 showing how thescenarios 706 and instances ofFIG. 7A can have different impacts on a cumulative degradation of the circuit caused by thestress waveform 508. Thegraph 700 shows a time scale on the x-axis, specifically showing the sequence ofscenarios 706 fromFIG. 7A and an impact of thescenarios 706 fromFIG. 7A along the y-axis. Thegraph 700 also includes a line 710 representing the impact of the scenarios on the degradation of the circuit. - In some instances, as shown in
FIG. 7B and represented by the line 710, the repeatedscenarios 706 may have different impacts on the degradation of the circuit dependent on when the circuit experiences those particular scenarios. For example, thescenario # 2,instance # 1 706 b-1 may have asmaller impact 701 a on the degradation of the circuit than thescenario # 2,instance # 2 706 b-2impact 701 b. More specifically, theimpact 701 a is smaller than theimpact 701 b, as represented by the shorter length of theimpact 701 a along the y-axis as compared toimpact 701 b. Similarly, thescenario # 4,instance # 1 706 d-1 may have asimilar impact 702 a on the degradation of the circuit with thescenario # 4,instance # 2 706 d-2impact 702 b. More specifically, theimpact 702 a is similar to theimpact 702 b, as represented by the similar lengths of theimpact 702 a and theimpact 702 b along the y-axis. -
FIG. 7B also shows tables representing the impact (or change) of degradation ofparticular scenarios 706 as related to the initial condition of the degradation for the scenario. The degradation could be transistor level degradation or cell timing degradation. The tables are characterized by using a fixed amount of initial offset to the degradation parameter during simulation. For example, the table 710 a shows that when thescenario # 4 706 d starts at a degradation value of 0 mV, the impact of the scenario is 0.5, while thescenario # 4 706 d has an impact of 0.38 when it starts at a degradation value of 30 (for example, mV), and so forth. In some instances, the impact of thescenario 706 may increase consistently as the initial condition (for example, time when the scenario starts) increases, as shown in the table 710 b. Similarly, the impact of thescenario 706 may decrease consistently as the initial condition (for example, degradation amount or value when the scenario starts) increases, as shown in the table 710 a. Thus, the tables 710 a and 710 b shows how the impact of a particular scenario can change dependent on when in the degradation the scenario occurs. For example, as shown in table 710 a, as the degradation initial condition increases (meaning that as the amount of degradation that exists increases with respect to when the scenario is run, the further impact that the scenario has on the degradation decreases (from 0.5 at the initial condition of 0 to 0.35 at the initial condition of 40 mV). Alternatively, or additionally, the impact of thescenario 706 on the degradation may fluctuate (increase, decrease, and/or stay the same) as the initial condition of degradation increases. The tables 710 working with a parameterized approach may be applied when thestress waveform 508 comprises multiple scenarios being applied in arbitrary sequence. The size of the tables 710 may depend on a desired amount of granularity in the degradation estimation. However, if thestress waveform 508 only includes a single scenario, which keeps repeating over, then the short-long term projection look up tables described with respect toFIG. 6 may be applied to determine the degradation. - Furthermore, the systems and methods herein can apply the AWS algorithm beyond boundaries of alternating periods (or similar waveform regions) described above or corresponding numerical values. Such variability in application of the AWS algorithm to segments of varying characteristics (for example, DF, frequency, and the like) may improve compressibility and scalability along with efficiency and accuracy of predictions, as compared to the previous systems and methods. For example, the previous systems and methods grouped consecutive signal regions that feature a similar frequency and DF numbers and occupy a duration Δt. These approaches distinguish the intervals or groups based on the numerical value of its signal characteristics (for example, the frequency or DF). For example, if two cycles with different DFs (say 0.3 and 0.55) are separated beyond threshold amount limit (say, 0.1), those 2 cycles will have to be simulated in cycle-accurate manner, which will require longer simulation time.
FIG. 2 shows a comparison of the AWS algorithm as compared to previous systems and methods relative to the corresponding digital waveform. - In real-world applications, different circuits and devices may have expected workload profiles that have repeating portions. For example, certain application specific integrated circuits (ASICs) may have given applications that are repeated over time, for example, daily, weekly, monthly, annually, and so forth. Because the activities are repeated, degradation over a long term period can be extrapolated based on analysis of a shorter term period, where the degradation for the shorter term period is determined and then extrapolated for the long term period. These example time periods for small and long term periods are examples only, where the short term periods can be much shorter (for example, seconds or minutes).
- The methods and systems herein greatly improve the time required to run simulations to generate the degradation predictions described herein using groups of signal regions of the workload profile and/or digital waveform that extend beyond the boundaries of numerical values of a particular signal characteristic (for example, include multiple frequencies, DFs, and so forth). Over its lifetime, the chip (or circuit or device) operation may be divided into a number of recurring intervals (RIs). One or more of these RIs may be repeated one or more times over the lifetime of the chip. Thus, the repeated RI may be identical or substantially identical or about identical with one another. One or more programs may run (at least in part) over a given RI. The workload signal for each of the programs may be split into one or more segments such that each segment has definite and/or unique signal characteristics with respect to the degradation. As introduced above, splits between adjacent segments are not limited to requiring differences in numerical values between the segments, and a single segment may include signal portions of different frequencies and/or DFs.
-
FIG. 8 depicts a representative circuitlevel simulation flow 800 for workload dependent aging analysis for electronic circuits. Theflow 800 may indicate how the AWS algorithm described above can be implemented in front end design processes of electronic circuits and devices. For example, theflow 800 may employ static timing analysis (STA) to generate timing paths for the electronic circuits and devices. A reference library provides inputs to logic synthesis module and an STA module. The logic synthesis module has an output to a gate level simulation. The gate level simulation uses workload traces based on simulation and trace extraction to simulate an electronic circuit. Thewaveform compression generator 110, described above, generates a compressed waveform based on thesegments 112, for example using the AWS algorithm, which are then modeled and extrapolated by the degradation modeling andextrapolation 114, which may generate the lookup tables described above. The use of compressed waveforms (for example, as generated by the AWS algorithm) reduces time and computational overhead as compared to the full simulations performed by the previous technologies. The degradation modeling andextrapolation 114 will identify degradation values for each simulation point and populate the lookup tables based on the identified degradation values for particular duty factors. These lookup tables are stored in a transistor level degradation database, which is used by the STA module to generate the fresh and aged timing paths for the electronic circuit.Waveform compression generator 110 and the degradation modeling andextrapolation 114 may be performed individually for each component of the electronic circuit. The determined and propagated degradation values may be applied to the same components (for example, same components in the electronic circuit may experience same or similar degradation, so the degradation values for one component can apply to other same components in the circuit). Thus, the STA can be performed for the electric circuit using accurately calculated degradation values and not simply worst case or conservative degradation values. By populating the degradation database with accurately calculated degradation values for circuit components, the STA flow can remain generally the same with only the degradation information changing relative the remainder of the flow. For example, the components or processing in the block 810 may operate as a black box to theflow 800, where output from the gate level simulation, comprising specifics of the simulation, is provided to the black box block 810 and the degradation database is populated by the output of the black box block 810, where the degradation values output by the black box block 810 have improved accuracy as compared to those generated by the previous technologies - The STA is then able to utilize the degradation stored in the degradation as determined above in the front end design of the electronic circuit and/or device. Such a flow of
FIG. 8 can be integrated into or applied to components in an integrated chip (IC), for example as part of the discrete cosine transform (DCT) block(s) of the jpeg encoder shown inFIG. 9 .FIG. 9 shows a block diagram of the components for thejpeg encoder IC 900 including a number of DCT blocks. The DCT circuit may accept a 24-bit raw image file in an RGB format and perform image compression thereon. The DCT design may have approximately 140,000 gates when mapped using a commercial 28 nm standard cell library. The aging analysis, as introduced above with respect toFIGS. 4 and 5 , for over 30 k NOR2 gates in the DCT circuit design shows an expected correlation between the degradation of top and bottom transistors of the DCT circuit design. -
FIG. 10 provides aphysical flow 1000 that integrates aworkload analysis flow 1010 using the AWS algorithm and degradation modeling and extrapolation (corresponding to thedegradation model generator 108 ofFIG. 1 ) with a conventionaldigital design flow 1020 in the generation of a digital circuit design. Theflow 1000 shows that theworkload analysis flow 1010 with the AWS algorithm and corresponding degradation extrapolation integrates seamlessly with existing industry standard flows, for example the conventionaldigital design flow 1020. Theworkload analysis flow 1010 may comprise a functional block that indicates simulations and corresponding information. A timing derate factor block may comprise timing data factor data generated by the AWS algorithm and correspondingdegradation extrapolation block 108. The conventionaldigital design flow 1020 may comprise alogic design flow 1022 and aphysical design flow 1024, which comprises a place androute flow 1025. In some instances, the optimizations are performed during/after the routing stage of the place androute flow 1025. - The
block 1025 represents a place and route block which performs an actual physical implementation after logic design of thelogic design flow 1022 is complete. The input to theblock 1025 include a gate netlist obtained from logic synthesis of thelogic design flow 1022, a physical library (for example in a library exchange format (lef)) that comprises a specification for representing a physical layout of the digital circuit being designed by thedigital design flow 1020. Thisblock 1025 may comprise design constraints to do various optimizations, for example timing, area, and power. Theblock 1025 may be complete once static timing analysis (STA), similar to the STA discussion above, confirms timing closure or no timing violations exist for the designed digital circuit. In some instances, this process is performed iteratively. - In the
physical flow 1000, the AWS algorithm andcorresponding degradation extrapolation 108 can generate the one or more timing derate factors that are more accurate than those provided by existing technologies. These improved timing derate factors can enable improved routing of thephysical flow 1000 and help provide more realistic and accurate timing optimization of the ASIC. Thus, the AWS algorithm anddegradation modeling 108 can assist with routing and signoff of the ASIC flow. The AWS algorithm anddegradation extrapolation 108 thus enables improved margins in the ASIC flow, which can lead to faster timing sign off. Furthermore, because the margins are improved (i.e., reduced), fewer buffers and corresponding components may be required, thereby saving physical area in the ASIC and providing corresponding benefits. - The
workload analysis flow 1010 may comprise a gate level simulation, similar to the gate level simulation described above with respect toFIG. 8 . The gate level simulation may receive waveform information from a physical design tool, being configured to generate simulation data for one or more components of the digital circuit design. Theworkload analysis flow 1010 may further comprise a circuit degradation and extrapolation tool. The circuit degradation and extrapolation tool may receive the simulation data from the gate level simulation, being configured to generate optimization information comprising timing derate factors that are provided back to the physical design tool for final circuit routing. As shown inFIG. 10 , the gate level simulation further receives circuit information from the physical design tool. The physical design too may include a place and route tool. In some instances, the place and route tool includes a circuit routing tool and the optimization information is provided directly to the final circuit routing. The physical design tool may also receive a gate netlist from theblock 1022, a specification representing a physical layout of the digital circuit design from a library, and design constraints from a logic design tool of thephysical design flow 1024. In some instance, the digital circuit design is a design for an application specific integrated circuit (ASIC). -
FIG. 11 provides an example of aflow 1100 of an in-situ mitigation monitor incorporating the AWS algorithm and degradation modeling and extrapolation introduced above. The in situ monitor may assist with mitigation of circuit or device aging. The in situ monitor may be placed in a path that is expected to have timing violations in its lifetime. For example, the in situ monitors can set a flag when a timing violation is expected or predicted in the path in which the in situ monitor is placed. The AWS algorithm and degradation modeling and extrapolation can be integrated with such critical paths to enable adjustment of timing of the path in which the in situ monitor is placed to avoid the predicted timing violation. The abstraction 1104 may be generated by thewaveform compression generator 110, and the projection 1106 may be generated by the degradation modeling andextrapolation 114 ofFIG. 1 . In combination, the abstractions and the projections can be used in the in situ monitors. Thus, the disclosed technology can improve in situ monitoring, enabling correcting one or more parameters or aspects of a chip or circuit while in operation. - As introduced above, the disclosed technology enables computing systems to apply the AWS algorithm based waveform compression of the workload signal and corresponding degradation modeling and extrapolation. These computing systems implementing the waveform compression and degradation value generation described herein operate more efficiently than those implementing the previous technologies and generate degradation values that are more accurate than corresponding results of the previous technologies. For example, the timing analysis performed by the
flow 800 using the AWS compression and the degradation modeling and extrapolation described above may result significant reduction in timing violations for circuits that are modeled with the disclosed technology as compared to previous technologies. The workload dependent approach of the disclosed technology may reduce the timing violations by greater than 30% as compared to the previous technologies. By providing more accurate degradation and aging predictions for electronic circuits, the electronic circuits can be designed with improved characteristics. For example, the reduction in timing violations described above enables electronic circuit design for circuits having more margin. Furthermore, the improvements in processing time (for example, the reduced time and overhead required to identify the degradation values for the electronic circuit using the disclosed technology) enables improved STA, for example by theflow 800. Accordingly, a more complete STA can be performed for the workload signal based on the compressed waveform as generated by the waveform compression generator 110 (i.e., the segments 112) from the AWS algorithm for the whole lifetime of the circuit. The degradation modeling andextrapolation 114 provides results that create more margin for the circuit in a shorter amount of time, enabling improved circuit design in shorter time periods. Thus, the AWS algorithm and corresponding degradation modeling and extrapolation can improve predicted or estimated front end circuit design flows as well as physical ASIC flows and in situ monitors. - In some embodiments, the various modules described herein may be implemented by either hardware or software. For example, the
degradation model generator 108 may be implemented by either hardware or software. Software modules may be stored on a component of a corresponding device itself (for example, a local memory or a mass storage device), or on computer readable storage media or other component separate from or remote to the device and in communication with the device. - The computing systems described herein may comprise, for example, a computer that is IBM, Macintosh, or Linux/Unix compatible or a server or workstation or a mobile computing device operating on any corresponding operating system. In some embodiments, the computing system interfaces with a smart phone, a personal digital assistant, a kiosk, a tablet, a smart watch, a car console, or a media player. In some embodiments, the computing system may comprise more than one of these devices. In some embodiments, the computing system includes one or more central processing units (“CPUs” or processors), I/O interfaces and devices, memory, a mass storage device, a multimedia device, a user interface module, and an internal bus.
- The CPU may control operation of the device. The CPU may also be referred to as a processor. The processor may comprise or be a component of a processing system implemented with one or more processors. The one or more processors may be implemented with any combination of general-purpose microprocessors, microcontrollers, digital signal processors (“DSPs”), field programmable gate array (“FPGAs”), programmable logic devices (“PLDs”), controllers, state machines, gated logic, discrete hardware components, dedicated hardware finite state machines, or any other suitable entities that can perform calculations or other manipulations of information.
- The I/O interface may comprise a keypad, a microphone, a touchpad, a speaker, and/or a display, or any other commonly available input/output (“I/O”) devices and interfaces. The I/O interface may include any element or component that conveys information to the user of the device (for example, a client or customer, a vendor, the entity hosting the virtual environment and selling items, or another entity) and/or receives input from the user. In one embodiment, the I/O interface includes one or more display devices, such as a monitor, that allows the visual presentation of data (for example, the virtual environment) to the client. More particularly, the display device provides for the presentation of GUIs, virtual environments, application software data, websites, web apps, and multimedia presentations, for example.
- In some embodiments, the I/O interface may provide a communication interface to various external devices. For example, the computing system is electronically coupled to a network, which comprises one or more of a LAN, WAN, and/or the Internet. Accordingly, the I/O interface includes an interface allowing for communication with the network, for example, via a wired communication port, a wireless communication port, or combination thereof. The network may allow various computing devices and/or other electronic devices to communicate with each other via wired or wireless communication links.
- The memory, which includes one or both of read-only memory (ROM) and random access memory (“RAM”), may provide instructions and data to the processor. For example, data received via inputs received by one or more components of the device may be stored in the memory. A portion of the memory may also include non-volatile random access memory (“NVRAM”). The processor typically performs logical and arithmetic operations based on program instructions stored within the memory. The instructions in the memory may be executable to implement the methods described herein. In some embodiments, the memory may be configured as a database and may store information that is received via the user interface module or the I/O interfaces and devices.
- The computing system may also include the mass storage device for storing software or information (for example, the generated segments, generated lookup tables, received workload signals, and so forth). Software shall be construed broadly to mean any type of instructions, whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise. Instructions may include code (for example, in source code format, binary code format, executable code format, or any other suitable format of code). The instructions, when executed by the one or more processors, cause the processing system to perform the various functions described herein. Accordingly, the computing system may include, for example, hardware, firmware, and software, or any combination therein. The mass storage device may comprise a hard drive, diskette, solid-state drive, or optical media storage device. In some embodiments, the mass storage device may be structured such that the data stored therein is easily manipulated and parsed.
- The bus may couple the various components of the computing system. The bus may include a data bus, for example, as well as a power bus, a control signal bus, and a status signal bus in addition to the data bus. In different embodiments, the bus could be implemented in Peripheral Component Interconnect (“PCP”), Microchannel, Small Computer System Interface (“SCSI”), Industrial Standard Architecture (“ISA”) and Extended ISA (“EISA”) architectures, for example. In addition, the functionality provided for in the components and modules of the computing system may be combined into fewer components and modules or further separated into additional components and modules than described herein.
- All of the methods and processes described above may be embodied in, and fully automated via, software code modules executed by one or more computers or processors. The code modules may be stored in any type of non-transitory computer-readable medium or other computer storage device. Some or all of the methods may alternatively be embodied in specialized computer hardware.
- Conditional language such as, among others, “can,” “could,” “might” or “may,” unless specifically stated otherwise, are otherwise understood within the context as used in general to present that certain embodiments include, while other embodiments do not include, certain features, elements and/or steps. Thus, such conditional language is not generally intended to imply that features, elements and/or steps are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding, with or without author input or prompting, whether these features, elements and/or steps are included or are to be performed in any particular embodiment.
- Disjunctive language such as the phrase “at least one of X, Y or Z,” unless specifically stated otherwise, is otherwise understood with the context as used in general to present that an item, term, etc., may be either X, Y or Z, or any combination thereof (e.g., X, Y and/or Z). Thus, such disjunctive language is not generally intended to, and should not, imply that certain embodiments require at least one of X, at least one of Y or at least one of Z to each be present.
- Unless otherwise explicitly stated, articles such as ‘a’ or ‘an’ should generally be interpreted to include one or more described items. Accordingly, phrases such as “a device configured to” are intended to include one or more recited devices. Such one or more recited devices can also be collectively configured to carry out the stated recitations. For example, “a processor configured to carry out recitations A, B and C” can include a first processor configured to carry out recitation A working in conjunction with a second processor configured to carry out recitations B and C.
- Any routine descriptions, elements or blocks in the flow diagrams described herein and/or depicted in the attached figures should be understood as potentially representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or elements in the routine. Alternate implementations are included within the scope of the embodiments described herein in which elements or functions may be deleted, or executed out of order from that shown or discussed, including substantially synchronously or in reverse order, depending on the functionality involved as would be understood by those skilled in the art.
- It should be emphasized that many variations and modifications may be made to the above-described embodiments, the elements of which are to be understood as being among other acceptable examples. All such modifications and variations are intended to be included herein within the scope of this disclosure and protected by the following claims.
Claims (18)
1. A method of simulating device aging based on a digital waveform representative of a workload of an electronic device, the method comprising:
grouping contiguous sets of cycles into a plurality of segments, each set of cycles corresponding to a segment, wherein each segment has values for a combination of segment parameters that are unique from each of the other segments and a start point that is separated from a start point of an adjacent segment by a pre-defined distance criterion,
wherein grouping the contiguous sets of cycles into the plurality of segments comprises, for each segment:
sampling one or more sequential cycles of the workload,
generating the segment based on the sampled contiguous cycles having a period exceeding a threshold period, and
determining the values for the combination of segment parameters; and
applying an aging model to the segments to simulate the aging for the programmable device based on the workload, wherein the segments are a representation of the digital waveform.
2. The method of claim 1 , wherein the distance criterion is based on a number of cycles in a segment having a period exceeding the threshold period, and wherein the combination of segment parameters comprises a duty factor (DF), a frequency (f), and a time duration (Δt) for each segment.
3. The method of claim 1 , further comprising clustering contiguous segments into a set of scenarios that correspond to aging models based on start times of the scenarios.
4. The method of claim 3 , wherein, when one of the scenarios repeats itself a number of times consecutively, one of the aging models is applied to the repeating scenario to calculate aging for the device based on a pre-defined relationship between degradation of the device and the workload of the device characterized by values for a combination of scenario parameters, wherein the combination of scenario parameters comprises a scenario DF, a scenario f and a scenario Δt for each scenario and wherein the values for the combination of scenario parameters are determined based on an effective DF for the scenario.
5. The method of claim 4 , wherein the pre-defined relationship includes a linear relationship between the degradation of the device and the workload of the device and is characterized by one of the segment DF and the segment f and each of the segment DF and the segment f is representative of the digital waveform segment.
6. The method of claim 3 , wherein a number of different scenarios is repeated at least once over the duration of the digital waveform, and wherein the degradation of each of the different scenarios is stored in a first lookup table relative to an initial condition of the degradation.
7. The method of claim 1 , wherein the DF, the f, and the Δt of the combination of segment parameters for the segment are averaged for the sampled cycles of the digital waveform that form the segment.
8. The method of claim 1 , wherein applying the aging model comprises accessing look up tables and using the values for the combinations of segment parameter values to simulate short-term and long-term aging for the device.
9. The method of claim 1 , wherein grouping the contiguous sets of cycles into the plurality of segments further comprises, for each segment:
determining that the period of the sampled sequential cycles does not exceed the threshold period;
aggregating one or more additional sequential cycles with the sampled sequential cycles based on the determination that the period does not exceed the threshold period;
determining that the period of the aggregated additional sequential cycles with the sampled sequential cycles exceeds the threshold period; and
generating the segment based on the sampled contiguous cycles and the additional sequential cycles.
10. The method of claim 1 , further comprising evaluating the degradation of the device based on a set of aging models for a set of scenarios occurring in an arbitrary sequence over a duration of the digital waveform.
11. A method of generating signal information simulating device aging based on a digital waveform representative of a workload of the device, the method comprising:
initializing a memory buffer for storage of a segment of the digital waveform;
incrementally accumulating additional cycles of the workload in the segment in the memory buffer until a period of the segment is greater than a threshold period;
determining that the period of the segment is greater than the threshold period;
determining each of a duty factor, a frequency, and a duration of the segment;
storing the duty factor, frequency, and duration in a lookup table; and
applying the lookup table to simulate the device aging with respect to the digital waveform.
12. A system for simulating device aging based on a digital waveform representative of a workload of an electronic device, the system comprising:
one or more processors configured to execute instructions; and
a non-transitory, computer readable medium configured to store the instructions that, when executed by the processor, cause the processors to:
group contiguous sets of cycles into a plurality of segments, each set of cycles corresponding to a segment, wherein each segment has values for a combination of segment parameters that are unique from each of the other segments and a start point that is separated from a start point of an adjacent segment by a pre-defined distance criterion,
wherein the instructions that cause the processors to group the contiguous sets of cycles into the plurality of segments further cause the processors to, for each segment:
sample one or more sequential cycles of the workload,
generate the segment based on the sampled contiguous cycles having a period exceeding a threshold period, and
determine the values for the combination of segment parameters; and
apply an aging model to the segments to simulate the aging for the programmable device based on the workload, wherein the segments are a representation of the digital waveform.
13. A workload analyzer for digital circuit design optimization, comprising:
a gate level simulation, receiving waveform information from a physical design tool, being configured to generate simulation data for one or more components of the digital circuit design; and
a circuit degradation and extrapolation tool, receiving the simulation data from the gate level simulation, being configured to generate optimization information comprising timing derate factors that are provided back to the physical design tool for final circuit routing.
14. The workload analyzer of claim 13 , wherein the gate level simulation further receives circuit information from the physical design tool.
15. The workload analyzer of claim 13 , wherein the physical design tool includes a place and route tool.
16. The workload analyzer of claim 15 , wherein the place and route tool includes a circuit routing tool and the optimization information is provided directly to the final circuit routing.
17. The workload analyzer of claim 13 , wherein the physical design tool receives a gate netlist, a specification representing a physical layout of the digital circuit design, and design constraints from a logic design tool.
18. The workload analyzer of claim 13 , wherein the digital circuit design is a design for an application specific integrated circuit (ASIC).
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/039,571 US20220100939A1 (en) | 2020-09-30 | 2020-09-30 | System and method of simulating aging in device circuits |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/039,571 US20220100939A1 (en) | 2020-09-30 | 2020-09-30 | System and method of simulating aging in device circuits |
Publications (1)
Publication Number | Publication Date |
---|---|
US20220100939A1 true US20220100939A1 (en) | 2022-03-31 |
Family
ID=80823708
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/039,571 Pending US20220100939A1 (en) | 2020-09-30 | 2020-09-30 | System and method of simulating aging in device circuits |
Country Status (1)
Country | Link |
---|---|
US (1) | US20220100939A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11442100B2 (en) * | 2020-10-28 | 2022-09-13 | International Business Machines Corporation | Signal detection and monitoring |
US20230066843A1 (en) * | 2021-08-31 | 2023-03-02 | Dell Products L.P. | Automated causal analysis of issues affecting workloads executing in an information technology infrastructure |
CN115879405A (en) * | 2023-02-24 | 2023-03-31 | 湖南遥光科技有限公司 | Circuit performance detection method, computer storage medium and terminal device |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160283629A1 (en) * | 2015-03-27 | 2016-09-29 | Imec Vzw | Complexity-reduced simulation of circuit reliability |
US20180284177A1 (en) * | 2017-03-31 | 2018-10-04 | Commissariat à l'Energie Atomique et aux Energies Alternatives | Method and device for estimating circuit aging |
US10621494B2 (en) * | 2017-11-08 | 2020-04-14 | Samsung Electronics Co., Ltd. | System and method for circuit simulation based on recurrent neural networks |
US11408932B2 (en) * | 2018-01-08 | 2022-08-09 | Proteantecs Ltd. | Integrated circuit workload, temperature and/or subthreshold leakage sensor |
-
2020
- 2020-09-30 US US17/039,571 patent/US20220100939A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160283629A1 (en) * | 2015-03-27 | 2016-09-29 | Imec Vzw | Complexity-reduced simulation of circuit reliability |
US20180284177A1 (en) * | 2017-03-31 | 2018-10-04 | Commissariat à l'Energie Atomique et aux Energies Alternatives | Method and device for estimating circuit aging |
US10621494B2 (en) * | 2017-11-08 | 2020-04-14 | Samsung Electronics Co., Ltd. | System and method for circuit simulation based on recurrent neural networks |
US11408932B2 (en) * | 2018-01-08 | 2022-08-09 | Proteantecs Ltd. | Integrated circuit workload, temperature and/or subthreshold leakage sensor |
Non-Patent Citations (4)
Title |
---|
Duch, L., et al. "Analysis of Functional Errors Produced by Long-Term Workload-Dependent BTI Degradation in Ultralow Power Processors" IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 28, no. 10 (July 2020) (Year: 2020) * |
Duch, Loris "Hardware / Software Architectural and Technological Exploration for Energy-Efficient and Reliable Biomedical Devices" Thesis, Ecole Polytechnique Federale De Lausanne (2018) (Year: 2018) * |
Pour Aryan, N., et al. "From an Analytic NBTI Device Model to Reliability Assessment of Complex Digital Circuits" IEEE 20th Int'l On-Line Testing Symp., pp. 19-24 (2014) available from <https://ieeexplore.ieee.org/abstract/document/6873666> (Year: 2014) * |
Yang, Z., et al. "Workload-aware failure prediction method for VLSI devices using an LUT based approach" IEEE Int'l Instrumentation & Measurement Tech. Conf. (2018) available from <https://ieeexplore.ieee.org/abstract/document/8409562> (Year: 2018) * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11442100B2 (en) * | 2020-10-28 | 2022-09-13 | International Business Machines Corporation | Signal detection and monitoring |
US20230066843A1 (en) * | 2021-08-31 | 2023-03-02 | Dell Products L.P. | Automated causal analysis of issues affecting workloads executing in an information technology infrastructure |
CN115879405A (en) * | 2023-02-24 | 2023-03-31 | 湖南遥光科技有限公司 | Circuit performance detection method, computer storage medium and terminal device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220100939A1 (en) | System and method of simulating aging in device circuits | |
TWI796494B (en) | Efficient integrated circuit simulation and testing | |
JP3925471B2 (en) | Method and system for efficiently performing RTL power estimation | |
EP1366415B1 (en) | Method and apparatus for a statistically based estimate of embedded software execution time | |
Blome et al. | Self-calibrating online wearout detection | |
US8966420B2 (en) | Estimating delay deterioration due to device degradation in integrated circuits | |
US10699049B2 (en) | System design using accurate performance models | |
US10423742B2 (en) | Method to perform full accuracy hierarchical block level timing analysis with parameterized chip level contexts | |
US11636246B2 (en) | Systems and methods for predicting and managing power and energy use of semiconductor devices | |
US20150025857A1 (en) | Statistical power estimation | |
US9183333B2 (en) | Generalized moment based approach for variation aware timing analysis | |
Firouzi et al. | Statistical analysis of BTI in the presence of process-induced voltage and temperature variations | |
Schirner et al. | Quantitative analysis of the speed/accuracy trade-off in transaction level modeling | |
Luiz et al. | Multisize sliding window in workload estimation for dynamic power management | |
US10318676B2 (en) | Techniques for statistical frequency enhancement of statically timed designs | |
Bobrek et al. | Stochastic contention level simulation for single-chip heterogeneous multiprocessors | |
Paim et al. | A framework for crossing temperature-induced timing errors underlying hardware accelerators to the algorithm and application layers | |
JP5040625B2 (en) | LSI power estimation method and apparatus | |
Moghaddasi et al. | Aging-aware instruction-level statistical dynamic timing analysis for embedded processors | |
US10963026B2 (en) | Digital signal transition counters for digital integrated circuits | |
Cherupalli et al. | Scalable N-worst algorithms for dynamic timing and activity analysis | |
Wang et al. | On the simulation of NBTI-induced performance degradation considering arbitrary temperature and voltage variations | |
US10830800B1 (en) | Subcircuit physical level power monitoring technology for real-time hardware systems and simulators | |
Duggirala et al. | On the theory of stochastic processors | |
Mishra et al. | Fast & accurate methodology for aging incorporation in circuits using adaptive waveform splitting (AWS) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: IMEC VZW, BELGIUM Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MISHRA, SUBRAT;WECKX, PIETER;CATTHOOR, FRANCKY;AND OTHERS;SIGNING DATES FROM 20200928 TO 20200929;REEL/FRAME:055202/0858 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |