The techniques described herein relate generally to producing a switch-level circuit model for automatic test pattern generation.
Semiconductor chips may be tested to verify their operation. Testing of semiconductor chips entails applying numerous combinations of signal patterns by a testing device. Given the complexity of modern integrated circuits, the number of patterns that need to be tested may be in the thousands, hundreds of thousands or more. Automatic test pattern generation refers to generating the various permutations of test patterns to thoroughly test a chip. Test pattern generation relies on models of the on-chip circuitry to produce the appropriate test patterns for detecting various faults.
Some embodiments relate to circuit modeling method for automatic test pattern generation. An analog circuit representation of a circuit is received. A switch-level representation of the circuit is produced by replacing analog circuit elements of the analog circuit representation with switches and modeling faults in the circuit as switches.
Some embodiments relate to a non-transitory computer readable storage medium, which, when executed, perform such a method.
Some embodiments relate to an apparatus comprising a processor and a non-transitory computer readable storage medium, which, when executed, perform such a method.
The foregoing summary is provided by way of illustration and is not intended to be limiting.
In the drawings, each identical or nearly identical component that is illustrated in various figures is represented by a like reference character. For purposes of clarity, not every component may be labeled in every drawing. The drawings are not necessarily drawn to scale, with emphasis instead being placed on illustrating various aspects of the techniques and devices described herein.
The techniques described herein relate to fault models that can be used to produce test patterns to test a digital circuit. The present inventor has recognized and appreciated that prior models either failed to capture behaviors of the digital circuit that needed to be tested, or required excessive processing capabilities due to models that required extensive analog simulations. “Gate level” fault models have been used to model logic gates for the purposes of test pattern generation. However, as technology progresses and transistor sizes continue to decrease, analog circuit effects become more prominent, and gate level fault models may not be sufficient to account for various types of faults. As a result, the test patterns that are generated are not designed to test for such faults, and chips may not be adequately tested.
To address this problem, analog circuit simulations have been used to provide higher modelling accuracy. However, performing analog circuit simulations to model a complex modern integrated circuit may be prohibitive in computational complexity, and may take weeks or months to perform. In some embodiments, switch-level fault models can have improved accuracy over gate level fault models and reduced computational complexity with respect to analog circuit simulations.
Digital circuit designers may take advantage of defined libraries of cells. A “cell” may be a basic digital circuit building block such as a multiplexer, logic gate, etc. Rather than designing such building blocks from scratch each time they are needed, a circuit designer may select an appropriate cell from the library having suitable characteristics such as output drive capability, power consumption, area, etc. In order to appropriately test digital circuits, a fault model may be generated for each cell in the library. A fault model is a representation of the cell that takes into account the possibility of various types of faults at a number of locations within the cell. Examples of fault types that may be taken into account include inputs or outputs stuck at logic-0 or 1, for example. For instance, if a multiplexer has three inputs and one output, a gate level model of the multiplexer may take into account the possibility that one or more of the inputs or output is stuck at logic-0 or 1. Based on such a model, automatic test pattern generation may generate a sequence of test signals to test whether an instance of a multiplexer has these faults. However, it has been appreciated that such a gate-level model does not take into account all the faults that may occur within the cell, particularly as transistors become smaller in size and analog circuit effects become more prominent. Accordingly, a more accurate model is needed.
The inventor has recognized and appreciated that performing the analog circuit simulations is a bottleneck, and can take weeks or months to run for all the cells in library. The “Testbench generator” block generates all possible input conditions. For example, a 4-input cell would result in 32 2-cycle patterns being generated. A single cell library with 3 corners, 200 cells, average 32 patterns per cell, 200 defects per cell, and 3 parameters per defect would result in 11,520,000 SPICE runs. At 2 seconds per SPICE run, it would take 267.7 days to process the library. To process the library in 7 days, 38 SPICE licenses would be needed to run 38 jobs in parallel in the computing farm.
One example of a circuit representation is a netlist. A netlist may include a textual representation of a circuit, such as the circuit components included and their interconnections. A netlist may be used by analog circuit simulation tools, such as SPICE, for example, to perform simulations with various input parameters. An analog circuit representation may be a netlist that describes the interconnections between analog circuit elements such as capacitors, resistors and transistors. In some embodiments, converting an analog circuit representation may include replacing the capacitors and resistors in the analog circuit representation with switches, as mentioned above. If an analog circuit representation includes a netlist, converting the netlist into a switch-level representation can be performed by replacing the netlist representation of the resistors and capacitors with switches. As an example, the text in the netlist representing resistors and capacitors may be replaced with text representing switches having their inputs tied to a suitable logic level. In some embodiments, the conversion may be performed automatically by software having instructions, which, when executed, replace the text in the netlist representing resistors and capacitors with text representing switches having their inputs tied to a predetermined logic level. A similar conversion may be performed for faults represented as resistors or capacitors. A more detailed example of converting an analog circuit representation into a switch-level circuit representation will now be described.
As mentioned above, a netlist may represent electrical devices with terminals connected together by nets. For standard digital cells, the analog circuit netlist may include transistors, resistors, and capacitors. Transistors have 3 functional terminals (drain, gate, and source) with the 4th non-functional terminal (bulk) tied to a power supply rail. Wiring parasitics in the layout are extracted as 2-terminal resistors and capacitors. Each device has additional parameters that govern their electrical behavior which is used for accurate analog circuit simulation of the standard cell.
The SPICE netlist can be converted to a simplified switch-level netlist as follows. Each transistor is converted to a logic switch of the same type (ignoring the bulk terminal). Each resistor is converted to an NMOS switch whose gate is tied to logic 1. Each capacitor is converted to an NMOS switch whose gate is tied to logic 0. The nets' mapping is unchanged and connects switch terminals in the switch-level netlist.
Table 2 shows netlist conversion of the NAND2 cell from SPICE to switch-level. Although SPICE analog parameters are ignored, switches have discrete conductance and nets have discrete capacitance strength values that govern their digital behavior in the switch-level simulation of the standard cell. Strength values are assigned according to the design style's operating principle. Eight strength values are sufficient to capture the behavior of most digital design styles. In the switch-level algebra defined by Bryant, the strongest input strength ω is assigned to power supply rails while the weakest strength λ is the algebra's NULL element. For digital CMOS circuits, NMOS and PMOS switches have the same conductance strength γ2. Resistor and capacitor switches have conductance strength γ3 (for defect modeling). All nets have capacitance strength κ2, except for cell outputs which are assigned κ3. Cell inputs are assigned ω. The eight strength values and ordering from strongest to weakest are:
Various types of defects are associated with the electrical devices in SPICE. A “stuck-open” transistor is unable to turn on fully as in the normal case. A “stuck-closed” transistor is unable to turn off fully as in the normal case. An “open” wire segment in the layout means higher than normal resistance in the corresponding parasitic resistor. A “short” between two distinct wire segments in the layout means a resistive bridge across the terminals of the corresponding parasitic capacitor.
Equivalent switch-level defects may be obtained as follows. A “stuck-open” transistor maps to a switch that cannot conduct signal between drain & source. Above this is referred to as a switch stuck-open fault. A “stuck-closed” transistor maps to a switch that cannot cut off drain-source signal conduction. Above this is referred to as a switch stuck-closed fault. An “open” parasitic resistor maps to a stuck-open fault of the corresponding NMOS switch whose gate is tied to logic-1. A “short” across a parasitic capacitor maps to a stuck-closed fault of the corresponding NMOS switch whose gate is tied to logic 0. Note that analog defects can have a range of parameter values (for example, parameter values {1 ohm, 1 K-ohm, 1 M-ohm} for a resistive short defect). The corresponding switch-level defects do not need such parameter values since their purpose is to serve as seed objectives for switch-level test generation (SL-ATPG).
Referring again to
This application describes techniques that can drastically reduce the expensive analog fault simulation currently used to create cell-aware fault models. By exploiting low-power properties of common CMOS designs, most defects in the transistor-level netlist containing parasitics can be represented by just two canonical fault classes. Using circuit analysis, we show that faulty behaviors are completely predictable as the defect resistance parameter value varies from zero to infinity, thus eliminating the need for circuit simulation at multiple parameter values. The two canonical fault classes can be modeled by transistor switch stuck-open and stuck-closed faults. Rather than enumerating the full combination cell input patterns to search for defect detection conditions by analog fault simulation, switch-level test generation can obtain those input conditions directly, thereby reducing significantly the role of analog simulation to that of ranking conditions in terms of detection effectiveness.
The digital portion of today's complex system-on-chip (SoC) is predominantly constructed from a technology library of pre-defined standard cells using an automated RTL-to-GDS tools-chain flow. Each cell implements a logic function offered in a variety of output drive configurations. Cell functions range from simple to complex and cover both combinational and sequential behaviors. The logic synthesis tool maps the design's RTL description to a netlist of interconnected standard cells. Additional tools then perform further optimizations on the netlist to meet area, timing, power, and test goals as the design implementation is transformed into physical mask layers for fabrication.
For testing, scan design-for-test (DFT) methodology enables automatic test pattern generation (ATPG) to target faults defined on the cell I/O pins and interconnecting nets. Typical fault models include stuck-at (SAF), transition delay (TDF), and interconnect bridges. Motivated to achieve even higher quality, cell-aware testing (CAT) has been introduced recently to enhance coverage of defects occurring inside standard cells. Even though each standard cell is implemented by transistors, previous ATPG tools could only work with a functionally equivalent Boolean gate-level representation of the same cell. Thus for CAT, defects occurring at the transistor-level have to be somehow mapped to the gate-level. Such a task has been described as technology-dependent CAT view generation.
During CAT view generation, each defect is injected into the cell's SPICE netlist and analog simulation is performed to find all cell input conditions that could produce a SAF or TDF effect at one or more cell outputs. The set of input conditions and output fault effects then becomes the so-called user-defined fault model (UDFM) which is passed to gate-level ATPG for full-chip processing. At the gate-level. UDFM extends existing SAF and TDF models by introducing logic constraints on additional cell input pins to better reflect knowledge about how each internal defect in the transistor implementation can affect the cell's outward behavior.
Even though CAT view generation for a technology library is a one-time characterization effort, it still involves massive analog fault simulation runs that could take weeks to complete; or require an inordinate number of SPICE simulator licenses for parallel runs that ties up valuable computing resources needed for other design tasks. Furthermore, UDFM is a digital abstraction of analog fault effects, meaning much of the accurate details from analog simulation are not transferred because it would be impractical for the gate-level ATPG tool to fully consider them when design sizes are in the millions of gates. However, some analog information may be useful to improve the effectiveness of generated patterns. Lastly, for certain types of defects, stand-alone cell characterization may be inaccurate because the analog simulation fails to account for design context dependency at cell instance pins. This last point will be elaborated further in Section II-B.
This application addresses the deficiencies of CAT view generation identified above. Relying on two basic properties of CMOS standard-cell designs, it is shown that defects in the transistor channel-connected network can be grouped into two broad classes. All defects in the same class share a common test strategy and the same circuit model can be used to characterize defect behaviors by varying a single resistance parameter over its full range of values. Moreover, at most a single analog simulation at an extreme resistance value is sufficient to determine the defect's maximum impact under a particular input condition. By comparing maximum impacts, input conditions can be ranked in terms of their detection effectiveness. Such rankings can guide decision-making during gate-level ATPG.
In some embodiments, switch-level ATPG (SL-ATPG) is applied to reason about the underlying switching logic and to quickly identify all defect-detecting input conditions. In gate-level design, ATPG replaced stand-alone trial-and-error fault simulation because ATPG algorithms used knowledge of logic structures to efficiently search for useful input patterns. Similarly, SL-ATPG working on a simplified model of the transistor circuit is orders-of-magnitude more efficient than analog fault simulation of all enumerated input conditions along with transient analysis to check for defect detection. In searching for useful input conditions, defects in a class can be represented by stuck-open/off or stuck-closed/on switches for targeting by SL-ATPG. In the overall flow to generate CAT view, SL-ATPG may not replace analog fault simulation entirely, but it can take over those tasks that do not require analog circuit-level details. For example, SL-ATPG can quickly determine when conditions to sensitize a defect are logically impossible due to reconvergent fanout (most cell input ports fan out to NMOS and PMOS transistors that converge to the same channel-connected CMOS switch network). Analog fault simulation will need to try all enumerated conditions before reaching the same conclusion.
In this Appendix we use an AOI22 standard cell from a 16-nm FinFET technology library to convey the main ideas, which are further demonstrated by experimental results obtained from SL-ATPG and analog simulation. Section II introduces terminology and elaborates on key concepts related to switch-level modeling and testing. Sections III and IV analyze the canonical classes of “open” and “short” faults respectively, leading to insights that can make CAT view generation more efficient.
The basic transistor used in CMOS circuits is a three-terminal device. The gate (g) terminal controls current flow in the channel between source (s) and drain (d) terminals. Logically, the transistor is modeled as an ideal switch where for NMOS(PMOS),g=1(0) enables bidirectional signal flow in the channel, and g=0(1) cuts off signal flow. The following discussion uses the switch-level schematic of the AOI22 CMOS cell in
In simulating design behavior. CCNs form a natural partitioning where signal changes flow from one CCN to the next via strictly unidirectional switch g inputs. Within a CCN, signals flowing across bidirectional channels are controlled by g inputs and an iterative algorithm is used to simultaneously solve for multiple node states. When one CCN feeds another via switch g inputs, a key aspect is that behaviors in the downstream CCN do not affect the upstream CCN unless there are explicit feedback signal paths in the design netlist.
The single CCN example in
The formation of design-dependent CCN has significant implications on the accuracy of CAT view generation for certain defect types. Consider the case of PortBridge defect. In
Defects that remain strictly within the same CCN have minimal or manageable design context dependencies associated with CCN output nodes. These may include: Open, Bridge, Tleak. and Tdrive. The rest of this Appendix will focus on these defect types.
Abstracting from the continuous domain to the discrete, switch-level modeling allows fast analysis of digital MOS circuit operation at the transistor level without incurring the full expense of analog simulation. The model captures important aspects such as bidirectional signal flow, relative conductance/capacitive strengths, charge storage/sharing, and robust timing behavior. By both extending formal switch-level algebra to handle decision choices and adapting PODEM ATPG's efficient branch-and-bound search strategy and heuristics, a SL-ATPG algorithm was developed to target switch stuck-open and stuck-closed faults. For stuck-open faults, the SL-ATPG tool can generate patterns spanning multiple time frames (up to a user-specified maximum) that are robust against corruption by timing hazards and charge-sharing.
The recent development of CAT has revived much interest to detect cell internal defects via more efficient test generation schemes. A common strategy among these works is to leverage existing Boolean algebraic methods by transformations into the gate-level domain preserving essential aspects of defect behaviors to be tested. However, these transformations assume fully complementary NMOS and PMOS switch network implementation of CMOS gates, which encounters practical limitations when cells employ alternative structures such as pass-switch logic. More subtle CCN behaviors affecting test quality may be lost in the translation as well. SL-ATPG is a more general and viable alternative that can handle a broader range of design situations with better implementation fidelity. With the exponential advance in computing power over the past thirty years. SL-ATPG can easily cope with circuit complexity at the scope of library cells or a few merged CCNs.
Though originally designed to target functional switches. SL-ATPG can readily treat faults associated with passive interconnects and parasitic R/C elements. For example, to model an open wire, replace the wire by a virtual NMOS switch whose channel s/d terminals match the two wire ends and tie the g terminal to logic-1 (normally always conducting). The open wire is then equivalent to the switch stuck-open fault. Similarly to model a bridge between two nodes, insert a virtual NMOS switch whose channel connects the two nodes and tie the g terminal to logic-0 (normally always disconnected). The bridge is then equivalent to the switch stuck-closed fault.
In
The switch-level model assigns discrete and ranked capacitive strength levels. κ3>κ2>κ1, to each non-power node. When two nodes storing different logic values are connected by a switch, the node with the higher strength will dominate and propagate its value to the other node. In the previous SL-ATPG experiment, all non-power nodes are assigned κ2. Assigning κ3 to node Y will prevent corruption by charge-sharing at output Y. To assess worst-case charge-sharing. Y was lowered to κ2 for another SL-ATPG run with cycle count increased to 3 to allow extra “non-conflict” initializations of internal nodes. The result shows that 4 faults (locations 9, 10, 24, 25) became untestable, 11 faults (locations 1, 2, 7, 8, 11, 13, 14, 15, 20, 22, 23) required robust 3-cycle patterns, and 10 faults (locations 3, 4, 5, 6, 12, 16, 17, 18, 19, 21) remained robustly testable by 2-cycle patterns. These experiments demonstrate the benefit of SL-ATPG to quickly evaluate charge-sharing vulnerabilities. To do the same in analog simulation will increase the number of runs by a factor equal to all possible node initialization combinations, making it an untenable proposition.
In the first run with PMOS switches (numbered 1-4) weakened to γ1,16 faults (numbered 5-8, 10, 12-22) are detected. In the second run with NMOS switches (numbered 5-8) weakened to γ1,12 faults (numbered 1-4, 9-11, 13-15, 19-20) are detected. All generated patterns are 1-cycle and the consolidated fault coverage is 100% and 6 faults (numbered 10, 13, 14, 15, 19, 20) can be detected both times. As there are no known Boolean-based approaches to test all arbitrary bridging faults between CCN nodes. SL-ATPG offers an effective practical solution.
Two key properties of low-power digital CMOS designs enable grouping of defects within a CCN into two canonical classes for general treatment. The properties hold true for any CCN implementing a combinational function.
P1—In steady state, all CCN outputs are always driven from either Vdd or Gnd; never both; never floating.
P2—In steady state, there is never a conducting path between Vdd and Gnd in the CCN.
Clearly, fully complementary NMOS and PMOS switch network implementations satisfy these properties. But these properties also hold true for all static CMOS designs including those that use pass-switch logic. The following sections analyze the two canonical fault classes referred to as “CCN-open” and “CCN-short”.
In the well-established 2-cycle scheme to test a CMOS transistor stuck-open fault, cycle-1 bypasses the faulty switch to initialize a CCN output to a known value, then cycle-2 drives the opposite value onto the output exclusively through the stuck-open switch. The fault is detected as a SAF in cycle-2 because in the faulty circuit, the output capacitor could not be charged or discharged thus retaining the initialized value. If TDF detection at the output is allowed, then we can extend this scheme to check for a delayed output transition time. i.e., slower capacitor charge/discharge rate in the faulty circuit. Since charge/discharge rate is proportional to the path's RC time constant, all defects along the path that increases resistance potentially can also be detected. These CCN-open defects comprise Tdrive and Open from which are physically associated with transistors and interconnect parasitic resistors respectively.
CCN-open testing can be characterized by the simple RC circuit model shown in
Embedded in R is the defect resistance ρ ranging from a minimum value (no defect) to infinity (fully open). By CMOS design property P1, there are two possible cases:
C1—The defect is sensitized by a path charging the output to Vdd. Therefore, the 2-cycle test pattern must make Vo=1, i.e., Vi=0(Gnd) and Vi=1(Vdd).
C2—The defect is sensitized by a path discharging the output to Gnd. Therefore, the 2-cycle test pattern must make Vo=10, i.e., Vi=1(Vdd) and Vi=0(Gnd).
Plots of Vo (t) are shown for both cases in
K1—TDF is the UDFM for all CCN-open defects since a transition is required and the floating SAF is just a special case of TDF where the delay is “forever”.
K2—CCN-open defects can be detected by transition patterns targeting proxy switch stuck-open faults.
K3—There is no need for analog simulation if SL-ATPG in K2 can find all robust multi-cycle transition patterns.
Regarding key point K3, analog simulation could have a role to preferentially rank patterns obtained by SL-ATPG. Since the actual value of defect resistance is unknown, one could choose a single moderately large p value to simulate each pattern with. By comparing delay size impact, patterns can be ranked for gate-level ATPG to choose, favoring those with the largest impact to enhance test effectiveness.
Lastly, in the CCN-open circuit model, output capacitance C does depend on design context in the form of instance-specific external fanout connections. However, the key conclusions drawn from CCN-open analysis do not depend on the actual value of C
Within the CCN-open class, defects associated with interconnect parasitic resistors deserve extra attention. In the extracted SPICE netlist of AOI122 cell, interconnect-related capacitors and resistors number 478 and 29 respectively. All are defect candidates taking up a large proportion of analog fault simulation time for that cell.
Consider interconnect open fault #13 in
CCN-short defects comprise Tleak and Bridge which are physically associated with transistors and interconnect parasitic capacitors, respectively. For a defect bridging two nodes inside a CCN, a necessary test condition is for the two nodes to be at opposite states; otherwise the defect's presence will not be apparent. Given opposite node states, the presence of the defect will create a conduction path between Vdd and Gnd. Along the path composed of resistors, nodes will have divided voltage values. For voltage detection of the defect at a CCN output, there needs to be an observable signal path from a node on the Vdd-Gnd path to that output.
The RC circuit model in
By CMOS design property P2, the defect cannot exist in Ro; otherwise Ro and Rd constitutes a non-faulty Vdd to Gnd path. By CMOS design property P1 the defect exists either in Ru or in Rd to enable a path to Vdd or Grind that should be normally non-conducting. There are two cases to consider:
C3—Defect is in Rd. The 2-cycle test pattern must make Vo=01. i.e., discharge output capacitor C in cycle-1 so that Vi=0(Gnd). In cycle-2, charge C to Vdd while the defect creates a sneak discharge path to Gnd.
C4—Defect is in Ru. The 2-cycle test pattern must make Vo=10, i.e., charge output capacitor C in cycle-1 so that Vi=1(Vdd). In cycle-2, discharge C to Gnd while the defect creates a sneak charging path from Vdd.
Plots of Vo(t) are shown for both cases in
K4—2-cycle TDF is the UDFM for all CCN-short defects that covers the full range of p starting from zero. 1-cycle SAF UDFM holds for a much limited p range.
K5—CCN-short defects can be detected by transition patterns targeting proxy switch stuck-closed faults. Since SL-ATPG generates a 1-cycle pattern for such faults, a prior initialization cycle needs to be added to create a transition pattern. Robust transition is unnecessary as the output is driven in both cycles.
K6—Only one analog simulation is needed with ρ=0 to determine if SAF UDFM is possible. Vf must fall below (rise above) 0-threshold (1-threshold) for SA0 (SA1). The gap between Vf and the threshold can be a metric for pattern ranking—larger is better.
For CCN-short, besides design context dependency at output capacitance C, receiving gates may have different digital interpretations of a Vf that lies between 0- and 1-thresholds. This is an issue only for 1-cycle SAF UDFM, but not for 2-cycle TDF because with the latter, any significant delay to reach expected 1 or 0 is sufficient for fault detection.
By circuit analysis, we showed how CCN defects can be easily characterized and detected by SL-ATPG without incurring expensive analog fault simulation. To deploy SL-ATPG for CAT view generation, it needs to be modified to search for all useful input conditions rather than the normal practice of “stop on first detect”. Early pruning in PODEM search means the generated UDFM can contain more don't-cares which should help reduce gate-level CAT pattern count. Finally, more efficient SL-ATPG opens up the opportunity to consider multiple cell-internal defects and generation of instance-specific CAT views based on design context.
In some embodiments, techniques described herein may be carried out using one or more computing devices. Embodiments are not limited to operating with any particular type of computing device.
Computing device 1000 may also include a network input/output (I/O) interface 1005 via which the computing device may communicate with other computing devices (e.g., over a network), and may also include one or more user I/O interfaces 1007, via which the computing device may provide output to and receive input from a user. The user I/O interfaces may include devices such as a keyboard, a mouse, a microphone, a display device (e.g., a monitor or touch screen), speakers, a camera, and/or various other types of I/O devices.
The above-described embodiments can be implemented in any of numerous ways. For example, the embodiments may be implemented using hardware, software or a combination thereof. When implemented in software, the software code can be executed on any suitable processor (e.g., a microprocessor) or collection of processors, whether provided in a single computing device or distributed among multiple computing devices. It should be appreciated that any component or collection of components that perform the functions described above can be generically considered as one or more controllers that control the above-discussed functions. The one or more controllers can be implemented in numerous ways, such as with dedicated hardware, or with general purpose hardware (e.g., one or more processors) that is programmed using microcode or software to perform the functions recited above.
In this respect, it should be appreciated that one implementation of the embodiments described herein comprises at least one computer-readable storage medium (e.g., RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or other tangible, non-transitory computer-readable storage medium) encoded with a computer program (i.e., a plurality of executable instructions) that, when executed on one or more processors, performs the above-discussed functions of one or more embodiments. The computer-readable medium may be transportable such that the program stored thereon can be loaded onto any computing device to implement aspects of the techniques discussed herein. In addition, it should be appreciated that the reference to a computer program which, when executed, performs any of the above-discussed functions, is not limited to an application program running on a host computer. Rather, the terms computer program and software are used herein in a generic sense to reference any type of computer code (e.g., application software, firmware, microcode, or any other form of computer instruction) that can be employed to program one or more processors to implement aspects of the techniques discussed herein.
Various aspects of the present invention may be used alone, in combination, or in a variety of arrangements not specifically discussed in the embodiments described in the foregoing and is therefore not limited in its application to the details and arrangement of components set forth in the foregoing description or illustrated in the drawings. For example, aspects described in one embodiment may be combined in any manner with aspects described in other embodiments.
Also, the invention may be embodied as a method, of which an example has been provided. The acts performed as part of the method may be ordered in any suitable way. Accordingly, embodiments may be constructed in which acts are performed in an order different than illustrated, which may include performing some acts simultaneously, even though shown as sequential acts in illustrative embodiments.
Use of ordinal terms such as “first,” “second,” “third,” etc., in the claims to modify a claim element does not by itself connote any priority, precedence, or order of one claim element over another or the temporal order in which acts of a method are performed, but are used merely as labels to distinguish one claim element having a certain name from another element having a same name (but for use of the ordinal term) to distinguish the claim elements.
Also, the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. The use of “including,” “comprising,” or “having,” “containing,” “involving,” and variations thereof herein, is meant to encompass the items listed thereafter and equivalents thereof as well as additional items.
This application claims the benefit of U.S. Provisional Application No. 62/381,040, titled “Efficient Cell-Aware Fault Modeling by Switch-Level Test Generation,” filed on Aug. 30, 2016, which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
62381040 | Aug 2016 | US |