DETAILED ACTION
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claims 1-20 are presented for examination.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 7, 16, and 18 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
As to claims 7, 16, and 18, the feature of an “autoregression test” is unclear because the specification does not define the term or explain what operations constitute such a test. It is unclear if this refers to conventional regression testing, testing of an autoregressive model, or something else.
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.
Claims 1-3, 6, 8-15, 17, and 19-20 are rejected under 35 U.S.C. 103 as being unpatentable over Prikryl et al. (hereinafter PRIKRYL) (US 2024/0061984 A1) in view of TENACE (US 2024/0256240 A1), and further in view of Chen et al. (hereinafter CHEN) (US 2024/0020096 A1).
As to claim 1, PRIKRYL teaches a computer-implemented method comprising:
receiving, by a computing device, a request to generate a first virtual hardware interface (single processor model 104 and the optional design parameters 106 are used as input to the EDA tool 108 and upon receiving the single processor model 104 and the optional design parameters 106, the EDA tool 108 automatically generates programming tools, simulation tools, such as a simulator, a profiler, and a debugger, and a verification environment, etc.) ([0032]);
generating, by the computing device, the first virtual hardware interface, wherein the first virtual hardware interface is configured to emulate (via simulation) a hardware interface ([0032]; [0044]; [0051]; Figs 1-2);
generating, by the computing device, one or more scripts to test (via verification) the first virtual hardware interface ([0038]-[0039]; Figs 1-2);
determining, by the computing device, whether the one or more scripts have been successfully executed by the first virtual hardware interface (simulation, verification, etc.) ([0072]-[0077]);
receiving, by the computing device and based on a determination that the one or more scripts have been successfully executed (via verification) by the first virtual hardware interface, executable code, wherein the executable code (executable file 122) is configured to execute on the hardware interface ([0054]; [0070]-[0077]);
executing, by the first virtual hardware interface, the executable code (executable file 122) ([0070]-[0071]; Fig. 1);
determining, by the computing device, whether the executable code has been successfully executed by the first virtual hardware interface (executable file 122) ([0070]-[0077]; Fig. 1); and
logging (via a report), based on a determination that the executable code has been successfully executed (via verification evaluation unit 242, etc.) by the first virtual hardware interface, successful execution of the executable code on the first virtual hardware interface ([0060]; [0076]-[0079]; Fig. 2).
PRIKRYL does not teach:
generating, by the computing device and using a first generative artificial intelligence, the first virtual hardware interface, wherein the first virtual hardware interface is configured to emulate a hardware interface;
generating, by the computing device and using a second generative artificial intelligence, one or more scripts to test the first virtual hardware interface.
However, TENACE teaches a NL2RTL Neural Engine 122 that comprises a transformer/deep neural network, for generating RTL/HDL descriptions of desired hardware behavior from high-level natural-language input ([0015]-[0016]; [0021]; [0032]; claim 1; Fig. 1).
Furthermore, CHEN teaches Trained Machine Learning Model 305 for generating Computer Code Samples 306, wherein a computer-code sample may comprise a script ([0052]; [0082]; Fig. 3), and further teaches that unit tests may be generated by a machine-learning model and that the system may generate test cases and test code ([0063]; [0078]). CHEN further teaches that the machine-learning model may comprise a Generative Pre-trained Transformer (GPT) or other generative neural-network model, etc. ([0139]).
It would have been obvious to one of ordinary skill in the art to modify PRIKRYL to include the teachings of TENACE’s teachings of the claimed first generative artificial intelligence and CHEN’s teachings of the claimed second generative artificial intelligence, as described above. TENACE teaches its AI-enabled programming tools significantly reduce the time used to create a prototype for a project and provide positive effects on the development costs ([0013]). CHEN teaches that it allows for improved accuracy of code being written, automated testing that may help developers ensure that their code is functioning correctly catching bugs from the outset, improving efficiency, readability, optimization, and speed of development ([0078]). Therefore, it would have been obvious to one of ordinary skill in the art to combine the teachings of PRIKRYL, TENACE, and CHEN to obtain the broadest reasonable interpretation of claim 1.
As to claim 2, PRIKRYL teaches the computer-implemented method of claim 1, further comprising: receiving, by the computing device, second executable code; executing, by the first virtual hardware interface, the second executable code; determining, by the computing device, whether the second executable code has been successfully executed by the first virtual hardware interface; and generating, based on a determination that the second executable code has not been successfully executed by the first virtual hardware interface, an alert (fail report, etc.) ([0071]; [0076]-[0078]).
As to claim 3, PRIKRYL ([0076]) and CHEN ([0055]) teaches the computer-implemented method of claim 2, wherein the alert comprises at least one of: an indication of an error with the second executable code; or an indication of a hardware error.
As to claim 6, PRIKRYL teaches the computer-implemented method of claim 1, wherein the request to generate the first virtual hardware interface comprises at least one of: a hardware specification for the hardware interface; or a code commit for a software stack associated with the hardware interface ([0024]-[0027]).
As to claim 8, PRIKRYL teaches the computer-implemented method of claim 1, wherein the executable code comprises embedded software ([0040]; [0048]; [0054]; [0070]-[0071]).
As to claim 9, PRIKRYL ([0081]-[0082]; [0078]) in view of CHEN ([0052]; [0082]; Fig. 3; [0063]; [0078]) teaches the computer-implemented method of claim 1, further comprising: generating, using the first generative artificial intelligence, a second virtual hardware interface, wherein the second virtual hardware interface comprises an updated version of the hardware interface; generating, by the computing device and using the second generative artificial intelligence, one or more second scripts to test the second virtual hardware interface; determining, by the computing device, whether the one or more second scripts have been successfully executed by the second virtual hardware interface; and generating, using the first generative artificial intelligence and based on a determination that the one or more second scripts have not been successfully executed by the second virtual hardware interface, a third virtual hardware interface.
As to claim 10, PRIKRYL ([0081]-[0082]; [0078]) in view of CHEN ([0052]; [0082]; [0063]; [0078]; Fig. 3) teaches the computer-implemented method of claim 1, further comprises: integrating, prior to determining whether the one or more scripts have been successfully executed by the first virtual hardware interface, one or more hardware emulators into the first virtual hardware interface.
As to claim 11, it is rejected for the same reasons as stated in the rejection of claim 1.
As to claim 12, it is rejected for the same reasons as stated in the rejection of claims 2 and 3.
As to claim 13, PRIKRYL ([0027]; [0032]; [0081]-[0082]; [0078]) in view of TENACE ([0022) teaches the computing device of claim 11, wherein the instructions, when executed by the one or more processors, cause the computing device to: train the first generative artificial intelligence to generate one or more virtual hardware interfaces.
As to claim 14, PRIKRYL ([0038]; [0081]-[0082]; [0078]) in view of CHEN ([0050]-[0053]; [0082]-[0084]; [0063]; [0078]; Fig. 3) teaches the computing device of claim 11, wherein the instructions, when executed by the one or more processors, cause the computing device to: train the second generative artificial intelligence to generate scripts to test one or more virtual hardware interfaces.
As to claim 15, PRIKRYL teaches the computing device of claim 11, wherein the one or more scripts are configured to test one or more operating conditions of the hardware interface ([0038]-[0046]; [0051]; [0072]-[0076]).
As to claim 17, it is rejected for the same reasons as stated in the rejection of claim 1.
As to claim 19, it is rejected for the same reasons as stated in the rejection of claim 13.
As to claim 20, it is rejected for the same reasons as stated in the rejection of claim 10.
Allowable Subject Matter
Claims 4-5, 7, 16, and 18 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to KENNETH TANG whose telephone number is (571)272-3772. The examiner can normally be reached Monday-Friday 7AM-3PM.
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, Bradley Teets can be reached at 571-272-3338. 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.
/KENNETH TANG/Primary Examiner, Art Unit 2197