DETAILED ACTION
This office action addresses Applicant’s response filed on 10 June 2025. Claims 1-8, 10-18, 20, and 21 are pending.
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 1-8, 10-18, and 20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Foreman (US 2017/0161415) in view of Fung (US 7,254,789) or Tsai (US 2014/0189634), Han (US 10,643,019), Mottaez (US 2012/0030642), Shrivastava (US 8,701,063), and Sircar (US 8,875,082).
Regarding claim 1, Foreman discloses a method for performing Static Timing Analysis (STA) in which STA scenarios are compressed (¶16), the method comprising:
identifying a plurality of operational scenarios, each operational scenario associated with a set of conditions (¶24);
determining operational status for at least one operational feature under the set of conditions associated with the plurality of operational scenarios (¶24);
dividing operational scenarios into live views that are of a type that is updated in response to changes made to a design to fix timing violations and static views that are of a type that is captured without updating the static view in response to changes made to the design to fix timing violations, the static views being captured before fixes are implemented to remove the timing violations (¶¶24, 27, 28);
determining margins associated with operational features within at least one scenario of a static view based on differences between operation features of the static views and the live views and transferring information from the at least one scenario of a static view to the live view via application of one of the margins, the information including timing information timing of signals traveling through the plurality of paths of the IC design that are part of the static view, therein timing violation and ECO data from scenarios associated with the static views and live views are contained in the live views, therein allowing timing violations held in the static views to be fixed (¶¶24, 26, 28, 40).
Foreman does not appear to explicitly disclose merging live views to form a merged live view. Fung (col. 15, lines 1-15) and/or Tsai (¶¶52, 53) disclose these limitations. The application of Fung and/or Tsai to Foreman suggests determining worst case corners (as taught by Foreman), merging the worst case corners (as taught by Fung and/or Tsai), and then providing the merged corner for optimization with an applied margin (as taught by Foreman). It would have been obvious to persons having ordinary skill in the art before the effective filing date of the application to combine the teachings of Foreman, Fung, and/or Tsai, because doing so would have involved merely the routine use of a known technique to improve similar devices in the same way to achieve the predictable results of consolidating worst case information for optimization. KSR Int’l Co. v. Teleflex Inc., 82 U.S.P.Q.2d 1385, 1396. Foreman discloses determining worst case corners for further optimization and timing analysis. Fung and Tsai teach that worst case corners should be merged. The teachings of Fung and Tsai are directly applicable to Foreman in the same way, so that Foreman would similarly merge worst case corners for optimization so that worst case information is consolidated.
Persons having ordinary skill in the art would understand Foreman’s corners to correspond to views, as taught by Han (col. 3, lines 25-26), and would further understand Foreman’s selected worst corners to correspond to the claimed live views, and unselected corners to correspond to the claimed static views, as also taught by Han (col. 2, lines 28-33). It would have been obvious to persons having ordinary skill in the art before the effective filing date of the application to combine the teachings of Foreman, Fung, Tsai, and Han, because doing so would have involved merely the routine use of a known technique to improve similar devices in the same way to achieve the predictable results of reducing runtime of timing optimization. KSR Int’l Co. v. Teleflex Inc., 82 U.S.P.Q.2d 1385, 1396. Foreman teaches determining a subset of corners to perform timing optimization. Persons having ordinary skill in the art would understand Foreman’s corners to be views, and the selected subset of corners to be live views and the other corners to be static views, as taught by Han. The teachings of Han are directly applicable to Foreman in the same way, so that Foreman would determine a subset of live views for timing optimization to reduce runtime.
If Foreman is found to be unclear regarding live views updated in response to changes and static views that are not, the static views being captured before fixes are implemented to remove the timing violations, Mottaez also discloses that live views are of a type that is updated in response to changes made to a design to fix timing violations and static views are of a type that is captured without updating the static view in response to changes made to the design to fix timing violations, the static views being captured before fixes are implemented to remove the timing violations (¶¶77-80). The combination of Foreman and Mottaez suggests dividing operational scenarios into live and static views, and only further analyzing the live scenarios (as taught by Foreman), so that when a design is modified during optimization, circuit information is updated only in the live scenarios (as taught by Mottaez).
It would have been obvious to persons having ordinary skill in the art before the effective filing date of the application to combine the teachings of Foreman, Tsai, Han, and Mottaez, because doing so would have involved merely the routine use of a known technique to improve similar devices in the same way to reduce the amount of information that is updated when a design is modified. KSR Int’l Co. v. Teleflex Inc., 82 U.S.P.Q.2d 1385, 1396. Foreman discloses dividing scenarios into live and static views, such that only live scenarios are analyzed during design optimizations. Mottaez provides explicit disclosure that when a design is modified during optimization, information is updated only for some scenarios. The teachings of Mottaez are directly applicable to Foreman in the same way, so that Foreman would similarly update the live scenarios when a design is modified during optimization.
If Foreman is found to be unclear regarding transferring information from the at least one scenario of a static view to the live view via application of one of the margins, the information including timing information timing of signals traveling through the plurality of paths of the IC design that are part of the static view, therein timing violation and ECO data from scenarios associated with the static views and live views are contained in the live views, therein allowing timing violations held in the static views to be fixed, Shrivastava discloses the same (Abstract; col. 6, lines 30-42); Shrivastava also discloses dividing operational scenarios into live views that are of a type that is updated in response to changes made to a design to fix timing violations and static views that are of a type that is captured without updating the static view in response to changes made to the design to fix timing violations, the static views being captured before fixes are implemented to remove the timing violations (col. 7, lines 36-50).
Specifically, Foreman already discloses applying a margin to the worst corner(s) to capture other corners around the worst corner, based on the slack differences between the corners, and timing optimization is performed using the worst corner(s) having the applied margin (¶¶26, 28, 40). Thus, Foreman clearly discloses “transferring information from the at least one scenario of a static view to the live view through the application of one of the margins, therein allowing timing violations held in the static views to be fixed”, since Foreman’s worst corner(s) (live views) used for timing optimization have a margin applied to cover other corners (static views) based on their slack differences. Shrivastava provides even more explicit disclosure of these features, in which a dominant scenario has a margin applied to cover non-dominant scenarios, thus allowing optimization to be performed only using the dominant scenarios but still covering the timing violation and ECO data of the non-dominant scenario. Furthermore, Fig. 5 of Applicant’s drawings illustrates these limitations, where the merged live view has a U2/D slack of -1, which doesn’t account for the U2/D slack of -4 in the static view, so a margin of -3 is applied to U2/D of the merged live view, so that the merged live view now covers the static view. Both Foreman and Shrivastava do this; applying the margin in both cases causes the selected worst/dominant view to cover other views, so that analyzing the selected worst/dominant view with the applied margin accounts for data of the unselected views (Foreman ¶¶24, 26, 40; Shrivastava col. 6, lines 30-42).
It would have been obvious to persons having ordinary skill in the art before the effective filing date of the application to combine the teachings of Foreman, Fung, Tsai, Han, Mottaez, and Shrivastava, because doing so would have involved merely the routine use of a known technique to improve similar devices in the same way to achieve the predictable results of covering non-selected views during timing optimization using a reduced number of views. KSR Int’l Co. v. Teleflex Inc., 82 U.S.P.Q.2d 1385, 1396. Foreman discloses applying margins to selected worst corners to cover other corners, based on slack differences between the corners. Persons having ordinary skill in the art would understand that the margin allows timing optimization using the worst corners to also account for other (non-selected) corners which are not used in timing optimization, as more explicitly taught by Shrivastava. The teachings of Shrivastava are directly applicable to Foreman in the same way, so that Foreman would similarly apply a margin to views selected for timing optimization so that non-selected views are still covered by the optimization.
If Foreman is found to be unclear regarding ECO, Sircar discloses the same (Fig. 3; col. 13, lines 24-35). As would be recognized by persons having ordinary skill in the art, Sircar states that ECO data includes the timing information such as slack, slew, etc. disclose by Foreman, Fung, Tsai, Han, Mottaez, and Shrivastava. It would have been obvious to persons having ordinary skill in the art before the effective filing date of the application to combine the teachings of Foreman, Fung, Tsai, Han, Mottaez, Shrivastava and Sircar, because doing so would have involved merely the routine combination of known elements according to known techniques to produce merely the predictable results of storing timing information for timing optimization. KSR Int’l Co. v. Teleflex Inc., 82 U.S.P.Q.2d 1385, 1395. Foreman, Fung, Tsai, Han, Mottaez, and Shrivastava all teach timing information, such as slack, slew, etc. that is used for timing optimization and correction. Sircar teaches that such timing information ECO data stored in an ECO database for timing optimization and correction. The teachings of Sircar are directly applicable to Foreman, Fung, Tsai, Han, Mottaez, and Shrivastava so that they would similarly store timing information in an ECO database to allow access for timing optimization and correction.
Regarding claim 2, Foreman discloses that the at least one of the set of conditions comprises operational conditions (¶24).
Regarding claim 3, Foreman discloses that the operational conditions comprise at least temperature conditions (¶24).
Regarding claim 4, Foreman discloses that the at least one of the operational conditions comprises process conditions (¶24).
Regarding claim 5, Foreman discloses that the process conditions comprise process variations (¶29).
Regarding claim 6, Foreman discloses that the at least one operational feature comprises timing of signals over paths of an integrated circuit (¶24).
Regarding claim 7, Foreman discloses that the timing of signals over paths of an integrated circuit comprises timing slack (¶24).
Regarding claim 8, Foreman discloses that the dividing of the operational scenarios into the live views and the static views comprises determining which scenarios are updated on the fly and which are not updated as fixes are made (¶28).
If Foreman is found to be unclear regarding live views updated in response to changes and static views that are not, Mottaez also discloses that live views are updated in response to changes made to a design to fix timing violations and static views are captured without updating the static view in response to changes made to the design to fix timing violations (¶80). The combination of Foreman and Mottaez suggests dividing operational scenarios into live and static views, and only further analyzing the live scenarios (as taught by Foreman), so that when a design is modified during optimization, circuit information is updated only in the live scenarios (as taught by Mottaez). Motivation to combine remains consistent with claim 1.
Regarding claim 10, Foreman does not appear to explicitly disclose that a set of live view scenarios are merged to form merged live views by determining worst cases for each operational feature within the set of live views; Tsai discloses these features (¶52). Motivation to combine remains consistent with claim 1.
Regarding claim 11, Foreman discloses a system for performing Static Timing Analysis in which STA scenarios are compressed (¶16) comprising a memory storing instructions and a processor, coupled with the memory and to execute the instructions, the instructions when executed cause the processor to (¶¶53, 58):
identify a plurality of operational scenarios, each associated with a unique set of conditions (¶24);
determine operational status for a plurality of operational features under the unique set of conditions associated with the plurality of operational scenarios (¶24);
divide operational scenarios, based on one or more defined criteria, into live views that are of a type that is updated in response to changes made to a design to fix timing violations and static views that are of a type that is captured without updating the static view in response to changes made to the design to fix timing violations, the static views being captured before fixes are implemented to remove the timing violations (¶¶24, 27, 28);
determine margins associated with operational features within at least one scenario of a static view based on differences between operation features of the static views and the live views and transfer information from the at least one scenario of a static view to the merged live view through application of the margin, the information including timing information timing of signals traveling through the plurality of paths and the IC design that are part of the static view; therein timing violation and ECO data from scenarios associated with the static views and live view are contained in the live views, therein allowing the timing violations in the scenarios held in the static views to be fixed (¶¶24, 26, 28, 40).
Foreman does not appear to explicitly disclose merging live views to form a merged live view. Fung (col. 15, lines 1-15) and/or Tsai (¶¶52, 53) disclose these limitations. The application of Fung and/or Tsai to Foreman suggests determining worst case corners (as taught by Foreman), merging the worst case corners (as taught by Fung and/or Tsai), and then providing the merged corner for optimization with an applied margin (as taught by Foreman). Motivation to combine remains consistent with claim 1.
Persons having ordinary skill in the art would understand Foreman’s corners to correspond to views, as taught by Han (col. 3, lines 25-26), and would further understand Foreman’s selected worst corners to correspond to the claimed live views, and unselected corners to correspond to the claimed static views, as also taught by Han (col. 2, lines 28-33). Motivation to combine remains consistent with claim 1.
If Foreman is found to be unclear regarding live views updated in response to changes and static views that are not, the static views being captured before fixes are implemented to remove the timing violations, Mottaez also discloses that live views are of a type that is updated in response to changes made to a design to fix timing violations and static views are of a type that is captured without updating the static view in response to changes made to the design to fix timing violations, the static views being captured before fixes are implemented to remove the timing violations (¶¶77-80). The combination of Foreman and Mottaez suggests dividing operational scenarios into live and static views, and only further analyzing the live scenarios (as taught by Foreman), so that when a design is modified during optimization, circuit information is updated only in the live scenarios (as taught by Mottaez). Motivation to combine remains consistent with claim 1.
If Foreman is found to be unclear regarding transferring information from the at least one scenario of a static view to the merged live view through application of the margin, the information including timing information timing of signals traveling through the plurality of paths and the IC design that are part of the static view; therein timing violation and ECO data from scenarios associated with the static views and live view are contained in the live views, therein allowing the timing violations in the scenarios held in the static views to be fixed, Shrivastava discloses the same (Abstract; col. 6, lines 30-42); Shrivastava also discloses dividing operational scenarios into live views that are of a type that is updated in response to changes made to a design to fix timing violations and static views that are of a type that is captured without updating the static view in response to changes made to the design to fix timing violations, the static views being captured before fixes are implemented to remove the timing violations (col. 7, lines 36-50).
Specifically, Foreman already discloses applying a margin to the worst corner(s) to capture other corners around the worst corner, based on the slack differences between the corners, and timing optimization is performed using the worst corner(s) having the applied margin (¶¶26, 28, 40). Thus, Foreman clearly discloses “transferring information from the at least one scenario of a static view to the live view through the application of one of the margins, therein allowing timing violations held in the static views to be fixed”, since Foreman’s worst corner(s) (live views) used for timing optimization have a margin applied to cover other corners (static views) based on their slack differences. Shrivastava provides even more explicit disclosure of such a feature, in which a dominant scenario has a margin applied to cover non-dominant scenarios, thus allowing optimization to be performed only using the dominant scenarios but still covering the timing violation and ECO data of the non-dominant scenario. Furthermore, Fig. 5 of Applicant’s drawings illustrates these limitations, where the merged live view has a U2/D slack of -1, which doesn’t account for the U2/D slack of -4 in the static view, so a margin of -3 is applied to U2/D of the merged live view, so that the merged live view now covers the static view. Both Foreman and Shrivastava do this; applying the margin in both cases causes the selected worst/dominant view to cover other views, so that analyzing the selected worst/dominant view with the applied margin accounts for data of the unselected views (Foreman ¶¶24, 26, 40; Shrivastava col. 6, lines 30-42). Motivation to combine remains consistent with claim 1.
If Foreman is found to be unclear regarding ECO, Sircar discloses the same (Fig. 3; col. 13, lines 24-35). As would be recognized by persons having ordinary skill in the art, Sircar states that ECO data includes the timing information such as slack, slew, etc. disclose by Foreman, Fung, Tsai, Han, Mottaez, and Shrivastava. Motivation to combine remains consistent with claim 1.
Claim 12-18 and 20 are directed to systems for performing the methods of claims 2-8 and 10, and are rejected under the same reasoning.
Claim(s) 21 is/are rejected under 35 U.S.C. 103 as being unpatentable over Foreman in view of Fung, Tsai, Han, Mottaez, Shrivastava, Sircar, and Oh (US 2016/0085901).
Regarding claim 21, Foreman discloses a non-transitory computer readable medium comprising stored instructions, which when executed by a processor, cause the processor to (¶53):
identify a plurality of operational scenarios with at least one operational condition (¶24);
determine operational status for a plurality of operational features under the conditions associated with the plurality of operational scenarios (¶24);
divide, based on one or more defined criteria, operational scenarios into live views that are of a type that is updated in response to changes made to a design to fix timing violations and static views that are of a type that is captured without updating the static view in response to changes made to the design to fix timing violations, the static views being captured before fixes are implemented to remove the timing violations (¶¶24, 27, 28);
determine margins associated with operational features within at least one scenario of a static view based on differences between operation features of the static views and the live views and transfer timing information, associated with the margins, from the static views to a merged live view so that the timing violations of the static views are contained in live views (¶¶24, 26, 28, 40); and
provide information from which a circuit is to be fabricated based on parameters that have been adjusted to fix violations based on the information transferred from the at least one scenario of the static view (¶2), the timing information including timing information timing of signals traveling through the plurality of paths of the IC design that are part of the static view, therein timing violation and ECO data from scenarios associated with the static views and live views are contained in the live views, therein allowing timing violations held in the static views to be fixed (¶¶24, 26, 28, 40), and
change the design to fix the timing violations, based on the view to which the margins were applied, causing the timing violations in the live and the static views to be fixed while preventing any ping pong effect between the live and the static views (¶¶15, 16, 28, 40).
Foreman does not appear to explicitly disclose merging live views to form a merged live view. Fung (col. 15, lines 1-15) and/or Tsai (¶¶52, 53) disclose these limitations. The application of Fung and/or Tsai to Foreman suggests determining worst case corners (as taught by Foreman), merging the worst case corners (as taught by Fung and/or Tsai), and then providing the merged corner for optimization with an applied margin (as taught by Foreman). Motivation to combine remains consistent with claim 1.
Persons having ordinary skill in the art would understand Foreman’s corners to correspond to views, as taught by Han (col. 3, lines 25-26), and would further understand Foreman’s selected worst corners to correspond to the claimed live views, and unselected corners to correspond to the claimed static views, as also taught by Han (col. 2, lines 28-33). Motivation to combine remains consistent with claim 1.
If Foreman is found to be unclear regarding live views updated in response to changes and static views that are not, the static views being captured before fixes are implemented to remove the timing violations, Mottaez also discloses that live views are of a type that is updated in response to changes made to a design to fix timing violations and static views are of a type that is captured without updating the static view in response to changes made to the design to fix timing violations, the static views being captured before fixes are implemented to remove the timing violations (¶¶77-80), and that timing violations in the live and static views are fixed while preventing any ping pong effect between the live and the static views (¶40). The combination of Foreman and Mottaez suggests dividing operational scenarios into live and static views, and only further analyzing the live scenarios (as taught by Foreman), so that when a design is modified during optimization, circuit information is updated only in the live scenarios (as taught by Mottaez). Motivation to combine remains consistent with claim 1.
If Foreman is found to be unclear regarding transferring information associated with the margins from the static views to the merged live view so that the timing information of the static views are contained in live views, the timing information including timing information of signals traveling through the plurality of paths of the IC design that are part of the static view, therein timing violation and ECO data from scenarios associated with the static views and live views are contained in the live views, therein allowing timing violations held in the static views to be fixed, Shrivastava discloses the same (Abstract; col. 6, lines 30-42); Shrivastava also discloses dividing operational scenarios into live views that are of a type that is updated in response to changes made to a design to fix timing violations and static views that are of a type that is captured without updating the static view in response to changes made to the design to fix timing violations, the static views being captured before fixes are implemented to remove the timing violations (col. 7, lines 36-50).
Specifically, Foreman already discloses applying a margin to the worst corner(s) to capture other corners around the worst corner, based on the slack differences between the corners, and timing optimization is performed using the worst corner(s) having the applied margin (¶¶26, 28). Thus, Foreman clearly discloses “transferring information from the at least one scenario of a static view to the live view through the application of one of the margins, therein allowing timing violations held in the static views to be fixed”, since Foreman’s worst corner(s) (live views) used for timing optimization have a margin applied to cover other corners (static views) based on their slack differences. Shrivastava provides even more explicit disclosure of such a feature, in which a dominant scenario has a margin applied to cover non-dominant scenarios, thus allowing optimization to be performed only using the dominant scenarios but still covering the timing violation and ECO data of the non-dominant scenario. Furthermore, Fig. 5 of Applicant’s drawings illustrates these limitations, where the merged live view has a U2/D slack of -1, which doesn’t account for the U2/D slack of -4 in the static view, so a margin of -3 is applied to U2/D of the merged live view, so that the merged live view now covers the static view. Both Foreman and Shrivastava do this; applying the margin in both cases causes the selected worst/dominant view to cover other views, so that analyzing the selected worst/dominant view with the applied margin accounts for data of the unselected views (Foreman ¶¶24, 26, 40; Shrivastava col. 6, lines 30-42). Motivation to combine remains consistent with claim 1.
If Foreman is found to be unclear regarding ECO, Sircar discloses the same (Fig. 3; col. 13, lines 24-35). As would be recognized by persons having ordinary skill in the art, Sircar states that ECO data includes the timing information such as slack, slew, etc. disclose by Foreman, Fung, Tsai, Han, Mottaez, and Shrivastava. Motivation to combine remains consistent with claim 1.
If Foreman is found to be unclear regarding fabricating a circuit based on parameters that have been adjusted to fix violations, Oh discloses the same (Fig. 2A; ¶53). It would have been obvious to persons having ordinary skill in the art before the effective filing date of the application to combine the teachings of Foreman, Fung, Tsai, Han, Mottaez, Shrivastava, Sircar, and Oh, because doing so would have involved merely the routine combination of known elements according to known techniques to produce merely the predictable results of fabricating designs without timing violations. KSR Int’l Co. v. Teleflex Inc., 82 U.S.P.Q.2d 1385, 1395. Foreman discloses a circuit fabrication process including timing analysis to identify violations. Oh discloses fixing violations by adjusting design parameters and fabricating the design. The teachings of Oh are directly applicable to Foreman in the same way, so that Foreman’s fabrication process would similarly fix violations so that that fabricated circuit is functional.
Response to Arguments
Applicant's arguments filed 10 June 2025 have been fully considered but they are not persuasive.
Applicant asserts that the Foreman and Han fail to disclose “classifying views as static and live, and taking different courses of action for each”. Remarks 11. The examiner disagrees. As discussed in the rejections above, Foreman selects a set of worst corners which are then passed to the optimization engine. Similarly, Han teaches pruning the number of views to be analyzed down to a set of dominant views in order to improve computational efficiency and runtime. Both Foreman’s worst corners and Han’s dominant views constitute the claimed ‘live views’, and the unselected corners/views in each case constitute the claimed ‘static views’, because in both cases the selected sets are the ones used for optimizing/changing the design, while the unselected sets are not. Applicant attempts to distinguish the claimed ‘views’ from the prior art by suggesting that Han’s treatment of “view or corner” refers to different embodiments and that even if Han used the term view or corner interchangeably, there is no motivation for others to do the same. Neither argument is credible, and Applicant fails to define the claimed views in any way that would distinguish them from the corners/views taught by Foreman and Han. The term “view” is conventionally used in the art of circuit design to refer to combinations of operating conditions, such as corners. Contrary to Applicant’s assertions, Han clearly does not treat corners and views in separate embodiments; col. 3, lines 25-44 states:
Additionally, as part of a design process, various operating conditions (e.g. “corners” or “views”) are considered. Operation at the different views may be modeled, and changes to the design made to optimize the operation across different views. Such views may, for example, include voltage conditions, temperature conditions, interconnect conditions, or other such conditions. Additionally, testing for these conditions may be checked for each operating mode (e.g. power saving, high performance, standby, etc.). An example embodiment may include three voltage condition corners (e.g. high, low, and typical), three temperature conditions (e.g. high, low, and typical), and five interconnect conditions (e.g. maximum capacitance, minimum capacitance, maximum resistance times capacitance (RC), maximum RC, and typical), which would be 45 views (e.g. 3×5×3). In systems with additional condition types and additional numbers of options for each condition type, the total number of views to be considered may be many hundreds or thousands of views. Analyzing a design for such large numbers of views may be a resource intensive process.
(emphasis added). The cited portion of Han clearly uses both corners and views to refer to sets of operating conditions, which are then used for further circuit analysis and/or modification. Applicant’s assertion that there is “no motivation” for others to use “views” and “corners” the way Han does is both incorrect - since Han is merely using the conventional art-accepted meanings - and besides the point, because the meaning of a term is not a question of ‘motivation’. Furthermore, even assuming, arguendo, that the terms “view” and “corner” were not interchangeable, the claims would still be unpatentable over the combination of Foreman and Han, since Han teaches using selecting a subset of dominant views for optimization in order to improve computational efficiency and runtime, which would improve Foreman in the same way.
Applicant further attempts to distinguish the claimed live views from Han’s dominant views by asserting that Han’s dominant views are a small set that meets relevant criteria, whereas the claimed live and static views are not defined by their respective sizes. Id. The reason that Han’s dominant views constitute the claimed live views is not their size, but because the dominant views are a pruned subset of views which are then used as the views for further analysis/optimization. The entire point of both Foreman’s and Han’s corner/view selection is to select a subset of conditions that are used for subsequent design flow, which is exactly what the claimed live views are. As discussed in the rejections above, Mottaez even provides further explicit disclosure of only updating the selected subset, which persons having ordinary skill in the art would understand to already be in Foreman and Han, since a goal of selecting the subset of conditions is to reduce the number of conditions that need to be analyzed. There is simply no difference between the claimed live/static views and what is disclosed in the prior art.
Applicant further asserts that Foreman’s disclosure of “two forms of analysis is not a disclosure of a live view and a static view”, and that “the two methods of analysis are never disclosed to be mixed with one another”. Remarks 12. Applicant is misreading the rejection. The examiner does not equate Foreman’s analysis types to the claimed live and static views. Foreman’s selected worst corners are the lives, and the unselected corners are the static views.
Applicant asserts that Foreman’s worst corners are not a subset because “Foreman never uses the term subset and does not refer to the at least one worst corner as a subset”. Remarks 12. The examiner disagrees. Even without use of the word subset, Foreman’s disclosure is clear that the worst corners are a subset. Foreman explicitly performs corner selection (¶¶16, 28) and applies margins so that the selected corners also cover other corners (¶¶26, 28). The examiner can see no other way to read Foreman’s disclosure of “applying a margin to the at least one worst timing corner” than that the “at least one worst timing corner” is a subset; if it were not, there would be no other corners to cover with the margin.
Applicant asserts that although Foreman discloses performing subsequent analysis using the at least one worst timing corner, Foreman does not specify what is updated and what is not updated. Remarks 13. The examiner disagrees. References are considered for what they would teach or suggest to persons having ordinary skill in the art. Foreman selects corners to use for subsequent analysis, which indicates that the selected corners are the ones that are updated; to assume otherwise would suggest that persons having ordinary skill in the art would go through the process of selecting corners for further analysis, but then just update all corners, whether selected or not, for some reason. Furthermore, Mottaez explicitly discloses only updating the selected corners, so even assuming, arguendo, that Applicant was correct about Foreman, the limitation at issue would still be taught by the combination of prior art.
Applicant reiterates the assertion that Tsai teaches away from Foreman, and disagrees with the examiner’s response that the portion of Tsai that Applicant reads as teaching away actually provides a strong motivation for improving Foreman. Instead, Applicant asserts, one must use synthetic corners or worst timing corners, rather than doing both, and combining Tsai with Foreman would alter how Foreman works and would only be arrived at by impermissible hindsight. Remarks 14. The examiner disagrees. There is no incompatibility between Tsai and Foreman, because Tsai’s synthetic corner is built from the worst delays across multiple corners, which are Foreman’s selected the worst corners; the synthetic corner thus combines the delays from Foreman’s worst corners. Rather than teaching away, Foreman is well-suited to combination with Tsai, because Foreman determines the worst corners that are combined into Tsai’s synthetic corner. The combination also does not change how Foreman operates, because Foreman selects at least one worst corner for further analysis/optimization, and the application of Tsai to Foreman simply combines the worst corners into a synthetic corner. The improved process still uses the timing data from the worst corners for further analysis, and retains the advantages of considering selected worst corners. Nevertheless, in the interest of advancing prosecution, the Fung references has also been included.
Applicant asserts that Foreman fails to teach transferring information through applying the margin. Remarks 16. The examiner disagrees. Foreman explicitly states that the margin allows a selected corner to also covers other corners, which is exactly what Applicant’s margin is as well; Shrivastava also discloses the same. There is no reasonable interpretation of ‘transferring information through applying a margin’ that would include Applicant’s disclosed margin but exclude Foreman’s or Shrivastava’s; again, the explicit, stated application of the margin is so that a selected worst corner also covers other corners. Applicant further asserts that since Foreman already uses the worst corner, there cannot be any timing information to transfer through the margin, since the worst corner already has the worst timing. Id. However, different paths may have different worst corners, so applying a margin to a selected worst corner for a given path allows it to cover other corners that have worse timing on other paths. Similarly, Applicant asserts that Tsai’s synthetic corner already uses the worst timing for each path and so would not need margins. Remarks 17. Tsai also builds the synthetic corner from a subset of corners, such as parasitic corners or temperature corners, rather than all corners, and so, again, would still have use for a margin to cover other corners.
Applicant asserts that Mottaez teaches away from the merged live view because Mottaez’s ¶41 criticizes approaches that model all scenarios concurrently and construct optimal solutions under constraints of all scenarios. Remarks 18. The examiner disagrees. The cited portion of Mottaez is explaining why a reduced number of scenarios should be selected for analysis instead of analyzing all scenarios, which applies to Foreman, Tsai, Han, Shrivastava, etc. The prior art broadly aims to reduce the number of conditions that have to be analyzed by selecting subsets of conditions, and Mottaez is explaining the disadvantages of approaches that don’t do this and instead analyze all scenarios.
The claims have been amended to require that the information transferred from a static view to the merged live view through application of a margin includes timing of signals traveling through each of the plurality of paths of the IC design and ECO data, which Applicant asserts are not taught by the prior art of record. Remarks 20. The examiner disagrees. The transfer of timing information and ECO data through application of the margin simply means that applying the margin to the merged live view allows the merged live view to also cover the static view. Fig. 5 of Applicant’s drawings illustrates these limitations, where the merged live view has a U2/D slack of -1, which doesn’t account for the U2/D slack of -4 in the static view, so a margin of -3 is applied to U2/D of the merged live view, so that the merged live view now covers the static view. Both Foreman and Shrivastava already do this; applying the margin in both cases causes the selected worst/dominant view to cover other views, so that analyzing the selected worst/dominant view with the applied margin accounts for data of the unselected views (Foreman ¶¶24, 26, 40; Shrivastava col. 6, lines 30-42).
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ARIC LIN whose telephone number is (571)270-3090. The examiner can normally be reached M-F 07:30-17:00 ET.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Jack Chiang can be reached at 571-272-7483. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
18 September 2025
/ARIC LIN/ Examiner, Art Unit 2851
/JACK CHIANG/ Supervisory Patent Examiner, Art Unit 2851