Method and apparatus for functionally verifying a physical device under test
Claim Score by NHIP
Abstract
Method, apparatus, and computer readable medium for functionally verifying a physical device under test (DUT) is described. In one example, verification test data is generated for the physical DUT using a constraint-based random test generation process. For example, the architecture, structure, and/or content of the verification test data may be defined in response to constraint data and an input/output data model. A first portion of the verification test data is applied to the physical DUT. Output data is captured from the physical DUT in response to application of the first portion of the verification test data. A second portion of the verification test data is selected in response to the output data. Expected output data for the physical DUT associated with the verification test data may be generated and compared with the output data captured from the DUT to functionally verify the design of the DUT.

Term
Term ended
Projected expiry passed 10 January 2026, 0.7 years ago.
- Priority and filed
- Published
- Projected expiry
- Today
20 claims: 3 independent, 17 dependent
- 1Broadest claimClaim Score 73, broad(NHIP)A method of functionally verifying a physical device under test (DUT), comprising:generating verification test data for said physical DUT using a constraint-based random test generation process;applying a first portion of said verification test data to said physical DUT;capturing output data from said physical DUT in response to application of said first portion of said verification test data;and selecting a second portion of said verification test data in response to said output data.
- 8Apparatus for functionally verifying a physical device under test (DUT) coupled to a device driver system, comprising:a test generator configured to generate verification test data for said physical DUT using a constraint-based random test generation process;and a run-time system configured to receive output data produced by said DUT from said device driver system and to selectively provide at least a portion of said verification test data to said device driver system for application to said DUT in response to said output data.
- 14A computer readable medium having stored thereon instructions that, when executed by a computer, causes the computer to perform a method of functionally verifying a physical device under test (DUT), comprising:generating verification test data for said physical DUT using a constraint-based random test generation process;providing a first portion of said verification test data for application to said physical DUT;receiving output data from said physical DUT in response to application of said first portion of said verification test data;and selecting a second portion of said verification test data in response to said output data.
Independent claims3
37 paragraphs in 4 sections, as filed
BACKGROUND OF THE INVENTION
00011. Field of the Invention
0002The present invention generally relates to verifying circuit designs and, more particularly, to functionally verifying a physical device under test.
00032. Description of the Related Art
0004The field of electronic design automation (EDA) is well established. A number of software tools are used to describe a circuit at various levels of granularity or specificity. Such tools include gate level descriptions, which specify the circuit in very great detail, to high level descriptions written in hardware description languages (HDLs), such as VERILOG or VHDL. Design verification is the process of determining whether an integrated circuit, board, or system-level architecture, exactly implements the requirements defined by the specification of the architecture for that device. As designs become more complex, the likelihood of design errors increases and design verification becomes increasingly difficult and time consuming.
0005Presently, design verification for a device under test (DUT) is performed on a simulation model of the device. A conventional process of verifying a design through a simulation model of the device is aided by the availability of HDLs. The resultant simulated model of the device receives input stimuli in the form of test vectors, which may be a string of binary digits applied to the input of a circuit. The simulated model then produces results, which are checked against expected results for the particular design of the device. Since HDLs are typically not designed for actual verification, a verification engineer must write additional programming code to interface with the models described by these HDLs in order to perform design verification of the device.
0006In some cases, it is desirable to perform design verification on an actual, physical device (e.g., an integrated circuit). Verification of an actual device should not be confused with testing an actual device. Devices are conventionally tested after being manufactured to determine whether they are operative. As discussed above, design verification is the process of checking that a design functions according to the specification of the design. Verifying an actual device is more complex than verifying a simulation model of the device. Notably, the actual device runs many orders of magnitude faster than a simulation model of the device (e.g., on the order of a million times faster). Thus, the application of test vectors and analysis of the results becomes nontrivial. In addition, it is difficult and impractical to monitor the internal nodes of a design in the actual device, whereas such internal nodes are accessible in a simulation model.
0007Accordingly, there exists a need in the art for a method and apparatus for functionally verifying a physical device under test.
SUMMARY OF THE INVENTION
0008Method, apparatus, and computer readable medium for functionally verifying a physical device under test (DUT) is described. In one embodiment, verification test data is generated for the physical DUT using a constraint-based random test generation process. For example, the architecture, structure, and/or content of the verification test data may be defined in response to constraint data and an input/output data model. Such constraint data and input/output data model may be defined using a verification specific object oriented programming language. A first portion of the verification test data is applied to the physical DUT. Output data is captured from the physical DUT in response to application of the first portion of the verification test data. A second portion of the verification test data is selected in response to the output data. Expected output data for the physical DUT associated with the verification test data may be generated and compared with the output data captured from the DUT to functionally verify the design of the DUT.
BRIEF DESCRIPTION OF THE DRAWINGS
0009So that the manner in which the above recited features of the present invention can be understood in detail, a more particular description of the invention, briefly summarized above, may be had by reference to embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only typical embodiments of this invention and are therefore not to be considered limiting of its scope, for the invention may admit to other equally effective embodiments.
0010<figref idref="DRAWINGS">FIG. 1</figref> is a block diagram depicting an exemplary embodiment of a system for functionally verifying a physical device under test (DUT) in accordance with the invention;
0011<figref idref="DRAWINGS">FIG. 2</figref> is a flow diagram depicting an exemplary embodiment of a method of functionally verifying a physical DUT in accordance with the invention;
0012<figref idref="DRAWINGS">FIG. 3</figref> is a block diagram depicting an exemplary embodiment of a computer suitable for implementing the processes, methods, and systems described herein; and
0013<figref idref="DRAWINGS">FIG. 4</figref> is a block diagram depicting another exemplary embodiment of a system for functionally verifying a DUT in accordance with the invention.
0014To facilitate understanding, identical reference numerals have been used, wherever possible, to designate identical elements that are common to the figures.
DETAILED DESCRIPTION OF THE INVENTION
0015<figref idref="DRAWINGS">FIG. 1</figref> is a block diagram depicting an exemplary embodiment of a system <b>100</b> for functionally verifying a physical device under test (DUT) in accordance with the invention. The system <b>100</b> includes a verification engine <b>102</b>, a device driver system <b>108</b>, a display system <b>112</b>, and a DUT <b>110</b>. The verification engine <b>102</b> generates data to verify that the DUT <b>110</b> functions in accordance with its specification (referred to herein as “verification test data”). The verification engine <b>102</b> tests the DUT <b>110</b> by interfacing with the device driver system <b>108</b> to apply the verification test data to the DUT <b>110</b>. The DUT <b>110</b> processes the verification test data and produces verification test output data, which is provided to the verification engine <b>102</b> via the device driver system <b>108</b>. The verification engine <b>102</b> compares the verification test output data to expected output data and reports the results to the display system <b>112</b> for display to a user, such as a verification engineer.
0016In particular, the verification engine <b>102</b> includes a test generator <b>104</b> and a run-time system <b>106</b>. The test generator <b>104</b> receives constraint data <b>118</b> and an input/output (I/O) data model <b>120</b>. The test generator <b>104</b> creates verification test data in response to the constraint data <b>118</b> and the I/O data model <b>120</b>. The I/O data model <b>120</b> includes an architectural description of the I/O interface of the DUT <b>110</b>. The constraint data <b>118</b> includes one or more constraints for restricting the functional scope of the verification test data generated by the test generator <b>104</b>. Together, the I/O data model <b>120</b> and the constraint data <b>118</b> provide the architectural requirements and specific restrictions for the structure and content of the verification test data. The test generator <b>104</b> also generates expected output data for the verification test data (i.e., the data that is expected to be output by the DUT <b>110</b> after application of the verification test data).
0017For example, the DUT <b>110</b> may comprise a network processor or like type device for processing Ethernet traffic. A description of the I/O architecture of the device is provided by the I/O data model <b>120</b> (e.g., the number I/O ports configured to process data). The constraint data <b>118</b> is configured to constrain the structure of the verification test data (e.g., Ethernet frames) and the content of the verification test data (e.g., header and payload of the frames). The test generator <b>104</b> generates Ethernet traffic for functionally verifying the DUT <b>110</b> in accordance with the I/O data model <b>120</b> and the constraint data <b>118</b>.
0018In one embodiment, the verification test data includes a suite of specific verification test patterns to be applied to the DUT <b>110</b> to test the functionality thereof. The test generator <b>104</b> produces verification test patterns using a constraint-based random test generation process. Notably, the verification test patterns are randomly generated within the boundaries set forth by the I/O data model <b>120</b> and the constraint data <b>118</b>. A single verification test pattern may be generated to elicit verification test output data from the DUT <b>110</b>. Alternatively, a plurality of verification test patterns may be arranged sequentially to form a verification test pattern sequence. Verification test output data is obtained from the DUT <b>110</b> only after the complete verification test pattern sequence has been applied.
0019The test generator <b>104</b> can be constrained to generate verification test patterns for specific subsets of the functionality of the DUT <b>110</b>. Thus, some verification test patterns can focus on a specific feature in the design of the DUT <b>110</b>, which other verification test patterns can address broader functional scopes. For a more detailed understanding of a constraint-based random test generation process, the reader is referred to commonly-assigned U.S. Pat. 6,182,258, issued Jan. 30, 2001, which is incorporated by reference herein in its entirety.
0020The constraints <b>118</b> and the I/O data model <b>120</b> may be constructed using e code, which is the code language provided by the SPECMAN functional programming environment developed by Verisity Ltd. in Israel and available through Verisity Design, Inc. of Mountain View, Calif. The e code language is a hardware-oriented verification specific object-oriented programming language. Objects in this language are instances of “structs”, which contain a field and one or more functions or methods that operate on data stored within the field and interface with other objects. Constraints are declared in the context of a struct, and are used to impose constraints on the values generated for the fields of the struct. The constraint-based random test generation process employed by the test generator <b>104</b> fills the fields of the structs with random values. For a more detailed understanding of the e code language, the reader is referred to U.S. Pat. No. 6,182,258, referenced above.
0021The verification engine <b>102</b> provides the generated verification test data for application to the DUT <b>110</b> via the run-time system <b>106</b>. Notably, in some embodiments, the verification test data can be processed by the physical DUT <b>110</b> many orders of magnitude faster than it can be generated by the test generator <b>104</b>. In such cases, the verification engine <b>102</b> of the invention advantageously bridges the speed difference between the generation of the verification data and the processing of such data by the physical DUT <b>110</b>.
0022In particular, in one embodiment of the invention, the test generator <b>104</b> pre-computes the verification test data, which is stored in a database <b>116</b>. The database <b>116</b> may store a suite <b>117</b> of verification test patterns <b>132</b>. As described above, a plurality of the test patterns <b>132</b> may be grouped to form a sequence <b>134</b>. The suite <b>117</b> may include one or more of such sequences <b>134</b>. The test generator <b>104</b> also generates expected verification test output data, which is stored in the database <b>114</b>. After the suite <b>117</b> is generated and stored in the database <b>116</b>, the run-time system <b>106</b> controls the selection of verification test patterns <b>132</b> and/or sequences <b>134</b> for application to the DUT <b>110</b>. By pre-computing the verification data, the speed difference between the test generation process and processing of the DUT <b>110</b> is bridged. The run-time system <b>106</b> provides the selected verification test patterns <b>132</b> and/or sequences <b>134</b> to the device driver system <b>108</b> via the path <b>122</b>.
0023The device driver system <b>108</b> is configured to provide an interface between the run-time system <b>106</b> and the DUT <b>110</b> and to control application of verification test data to the DUT <b>110</b>. For example, the device driver system <b>108</b> may comprise various types of automatic test equipment (ATE) known in the art. Alternatively, the device driver system <b>108</b> may comprise more intelligent driver systems designed for testing particular devices. For example, if the DUT <b>110</b> is a network processor or the like for processing Ethernet traffic, the device driver system <b>108</b> may comprise an Ethernet traffic generator. The device driver system <b>108</b> physically applies the verification test data to the DUT <b>110</b> via path <b>126</b>. The DUT <b>110</b> processes the verification test data and produces output data. The device driver system <b>108</b> collects the output data via path <b>128</b>. The device driver system <b>108</b> then provides the output data to the run-time system <b>106</b> via path <b>124</b>.
0024The run-time system <b>106</b> may also provide control information to the DUT <b>110</b> directly via control path <b>130</b>. For example, the DUT <b>110</b> may be a video processor such the verification test data is a stream including a large portion of video data with intermittent control data. The run-time system <b>106</b> may apply the infrequently occurring control data portion of the stream to the DUT <b>110</b> directly via the path <b>130</b>. The video portion of the stream is applied to the DUT <b>110</b> using the device driver system <b>108</b>. The control information also may be pre-computed by the test generator <b>104</b>. Alternatively, since the control information occurs infrequently, the test generator <b>104</b> generate such control information “on-the-fly” as the DUT <b>110</b> is processing the bulk of the verification test data.
0025The run-time system <b>106</b> compares the output data produced by the DUT <b>110</b> with expected output data stored in the database <b>114</b>. The run-time system <b>106</b> may report the results of the comparison to the display system <b>112</b>. The display system <b>112</b> is configured to display the results to a user, such as a verification engineer. For example, the display system <b>112</b> may display the results to the user using a graphical user interface (GUI). In addition, upon receiving the output data produced by the DUT <b>110</b>, the run-time system <b>106</b> may controllably select additional verification test patterns <b>132</b> and/or sequences <b>134</b> for application to the DUT <b>110</b>. The additional verification test data is then applied to the DUT <b>110</b>, additional output data is returned and compared with the expected output data, and the results are reported to the display system <b>112</b>. This process may be repeated to apply various verification test patterns and/or verification test pattern sequences to the DUT <b>110</b> for functional verification of the design.
0026In another embodiment of the invention, the test generator <b>104</b> generates the verification test data in real-time while data is being processed by the DUT <b>110</b>. For example, the test generator <b>104</b> may provide verification test data to the run-time system <b>106</b> via a path <b>136</b>. In particular, the test generator <b>104</b> generates verification test data, which is then “expanded” by the run-time system <b>106</b> to compensate for the rate difference between test generation and processing of tests by the DUT <b>110</b>. For example, the run-time system <b>106</b> may be configured to repeat a generated test pattern or a sequence of test patterns in a loop until a new test pattern(s) is generated by the test generator <b>104</b>. Alternatively, the run-time system <b>106</b> may be configured to provide a pre-defined pattern or sequence (e.g., an idle pattern) to the DUT <b>110</b> while the test generator <b>104</b> generates new test pattern(s). In yet another alternative, the run-time system <b>106</b> may be configured to apply one or more pre-defined perturbations of a previously generated test pattern of sequence of test patterns while new test pattern(s) are being generated by the test generator <b>104</b>. In this manner, verification test data is continuously being applied to the DUT <b>110</b>, while the test generator <b>104</b> has time to generate new test patterns.
0027In another embodiment of the invention, the test generator <b>104</b> may comprise a plurality of generators for producing the verification test data in parallel. For example, the test generator <b>104</b> may be implemented using a plurality of computers operating in parallel. In such an embodiment, the test generator <b>104</b> may be configured with enough parallel test generation processes such that the verification test data may be applied to the DUT <b>110</b> in real-time, without the use of the rate-matching techniques discussed above. That is, the test generator <b>104</b> may be configured with sufficient parallel test generation processes such that verification test data is produced at a rate similar to the rate that the DUT <b>110</b> processes the data.
0028In another embodiment of the invention, the device driver system <b>108</b> may be a programmable generator that is programmed to generate particular test patterns using a command set. For example, the device driver system <b>108</b> may comprise an Ethernet traffic generator configured to generate Ethernet traffic patterns based on specific input commands. Thus, instead of generating test patterns, the test generator <b>104</b> may generate commands for controlling the device driver system <b>108</b>, which are coupled to the device driver system <b>108</b> through the run-time system <b>106</b>. The test generator <b>104</b> may pre-generate a set of commands for controlling the device driver system <b>108</b>. Alternatively, the test generator <b>104</b> may generate commands on-the-fly as the device driver system <b>108</b> is applying test patterns to the DUT <b>110</b>. In other words, the rate matching techniques discussed above (e.g., looping test patters, using an idle test pattern, using test pattern perturbations) are implemented by the device driver system <b>108</b> while the test generator <b>104</b> generates commands to control the device driver system <b>108</b>.
0029<figref idref="DRAWINGS">FIG. 2</figref> is a flow diagram depicting an exemplary embodiment of a method <b>200</b> of functionally verifying a physical DUT in accordance with the invention. The method <b>200</b> begins at step <b>202</b>. At step <b>204</b>, constraint data and an I/O data model for the DUT are received. In one embodiment, the constraint data and I/O data model may be constructed using e code as discussed above. At step <b>208</b>, a suite of verification test patterns is generated using a constraint-based random test generation process. The verification test pattern suite may include one or more verification test patterns and/or one or more verification test pattern sequences to be applied to the DUT for functional verification.
0030At step <b>210</b>, a verification test pattern or verification test pattern sequence is selected. At step <b>212</b>, the selected test pattern/sequence is applied to the DUT. At step <b>214</b>, output data produced by the DUT in response to the applied test pattern/sequence is captured. At step <b>216</b>, the captured output data is compared with expected output data associated with the selected test pattern/sequence. At step <b>218</b>, a determination is made as to whether more verification test patterns/sequences are to be applied. If not, the method <b>200</b> ends at step <b>222</b>. Otherwise, the method <b>200</b> proceeds to step <b>220</b>, where another verification test pattern or verification test pattern sequence is selected. For example, additional verification test patterns/sequences may be selected based on the output data captured from the DUT. The method <b>200</b> then returns to step <b>212</b>.
0031<figref idref="DRAWINGS">FIG. 3</figref> is a block diagram depicting an exemplary embodiment of a computer <b>300</b> suitable for implementing the processes, methods, and systems described herein. Elements that are the same or similar to those of <figref idref="DRAWINGS">FIG. 1</figref> are designated with identical reference numerals and are described in detail above. For example, the computer <b>300</b> may be used to implement the verification engine <b>102</b> of <figref idref="DRAWINGS">FIG. 1</figref>. The computer <b>300</b> includes a central processing unit (CPU) <b>301</b>, a memory <b>303</b>, various support circuits <b>304</b>, and an I/O interface <b>302</b>. The CPU <b>301</b> may be any type of microprocessor known in the art. The support circuits <b>304</b> for the CPU <b>301</b> include conventional cache, power supplies, clock circuits, data registers, I/O interfaces, and the like. The I/O interface <b>302</b> may be directly coupled to the memory <b>303</b> or coupled through the CPU <b>301</b>. The I/O interface <b>302</b> may be coupled to various input devices <b>312</b> and output devices <b>311</b>, such as a conventional keyboard, mouse, printer, display, and the like. The I/O interface <b>302</b> is also coupled to the device driver system <b>108</b> and the display system <b>112</b>.
0032The memory <b>303</b> may store all or portions of one or more programs and/or data to implement the processes, methods, and systems described herein. Notably, the memory <b>303</b> may store the constraint data <b>118</b>, the I/O data model <b>120</b>, the verification test suite <b>117</b>, and the expected output data <b>114</b>. The memory <b>303</b> may store one or more programs to implement the test generator <b>104</b> and the run-time system <b>106</b>. The computer <b>300</b> may be programmed with an operating system, which may be OS/2, Java Virtual Machine, Linux, Solaris, Unix, Windows, Windows95, Windows98, Windows NT, and Windows2000, WindowsME, and WindowsXP, among other known platforms. At least a portion of an operating system may be disposed in the memory <b>303</b>. The memory <b>303</b> may include one or more of the following random access memory, read only memory, magneto-resistive read/write memory, optical read/write memory, cache memory, magnetic read/write memory, and the like, as well as signal-bearing media as described below.
0033An aspect of the invention is implemented as a program product for use with a computer system. Program(s) of the program product defines functions of embodiments and can be contained on a variety of signal-bearing media, which include, but are not limited to: (i) information permanently stored on non-writable storage media (e.g., read-only memory devices within a computer such as CD-ROM or DVD-ROM disks readable by a CD-ROM drive or a DVD drive); (ii) alterable information stored on writable storage media (e.g., floppy disks within a diskette drive or hard-disk drive or read/writable CD or read/writable DVD); or (iii) information conveyed to a computer by a communications medium, such as through a computer or telephone network, including wireless communications. The latter embodiment specifically includes information downloaded from the Internet and other networks. Such signal-bearing media, when carrying computer-readable instructions that direct functions of the invention, represent embodiments of the invention.
0034For purposes of clarity by example, one or more aspects of the invention are disclosed as being implemented as a computer executing a software program. It is to be understood that the invention may be implemented in hardware, software, or a combination of hardware and software. Such implementations may include a number of processors independently executing various programs and dedicated hardware, such as ASICs. Notably, the functional components depicted in <figref idref="DRAWINGS">FIG. 1</figref> may be part of an emulation system, ATE, or other type of special purpose test equipment.
0035In particular, <figref idref="DRAWINGS">FIG. 4</figref> is a block diagram depicting another exemplary embodiment of a system <b>400</b> for functionally verifying a DUT in accordance with the invention. Elements of <figref idref="DRAWINGS">FIG. 4</figref> that are the same or similar to those of <figref idref="DRAWINGS">FIG. 1</figref> are designated with identical reference numerals and are described in detail above. The system <b>400</b> includes a host computer <b>404</b> and a hardware sub-system <b>402</b>. The host computer <b>404</b> includes an I/O interface <b>410</b>, the display system <b>112</b>, the test generator <b>104</b>, and a display <b>408</b>. The display system <b>112</b> is coupled to the display <b>408</b> for displaying test results to a user. The I/O interface <b>410</b> is coupled to the display system <b>112</b> and the test generator <b>104</b>. The test generator <b>104</b> may be implemented using software, as described above with respect to <figref idref="DRAWINGS">FIG. 3</figref>.
0036The hardware sub-system <b>402</b> includes a host interface <b>406</b>, memory <b>412</b>, and the runtime system <b>106</b>. The host interface <b>406</b> is coupled to the I/O interface <b>410</b> of the host computer <b>404</b> for receiving verification test data and expected result data generated by the test generator <b>104</b>, and for providing test result data to the host computer <b>404</b> for display on the display <b>408</b>. The expected result data <b>114</b> and the verification test data <b>116</b> are stored in the memory <b>412</b>. The runtime system <b>106</b> is in communication with the host interface <b>406</b> and the memory <b>412</b>. The runtime system <b>106</b> operates substantially as described above to apply verification test data to the DUT <b>110</b> through the device driver system <b>108</b>, and receive test result data in response thereto. The hardware sub-system <b>402</b> then provides the test result data to the host computer <b>404</b>.
0037While the foregoing is directed to embodiments of the present invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof, and the scope thereof is determined by the claims that follow.
Contents4
5 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US7694249B2 | Cited by | United States of America | Applicant |
| US2007083831A1 | Cited by | United States of America | Pre-grant |
| US8042086B2 | Cited by | United States of America | Search report |
| US2008263486A1 | Cited by | United States of America | Pre-grant |
| US10073938B2 | Cited by | United States of America | Search report |
| US10951508B2 | Cited by | United States of America | Search report |
| US2009164861A1 | Cited by | United States of America | Pre-grant |
| US8020124B2 | Cited by | United States of America | Applicant |
| US9576090B2 | Cited by | United States of America | Search report |
| US2013007330A1 | Cited by | United States of America | Pre-grant |
| WO2008064122A3 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| DE102007043267B4 | Cited by | Germany | Search report |
| US10922458B2 | Cited by | United States of America | Search report |
| US2018004879A1 | Cited by | United States of America | Pre-grant |
| WO2008064122A2 | Cited by | World Intellectual Property Organization (WIPO) | Search report |
| US2019215261A1 | Cited by | United States of America | Search report |
| DE102007043267A1 | Cited by | Germany | Search report |
| KR101648560B1 | Cited by | Republic of Korea | Search report |
| US2019215261A1 | Cited by | United States of America | Search report |
| US2010070648A1 | Cited by | United States of America | Pre-grant |
| US2014070800A1 | Cited by | United States of America | Pre-grant |
| US2010211935A1 | Cited by | United States of America | Pre-grant |
| US5400263A | Cites | United States of America | Pre-grant |
| US5859962A | Cites | United States of America | Pre-grant |
| US5933356A | Cites | United States of America | Pre-grant |
| US6226716B1 | Cites | United States of America | Pre-grant |
| US6367041B1 | Cites | United States of America | Pre-grant |
| US6480800B1 | Cites | United States of America | Pre-grant |
| US6751351B2 | Cites | United States of America | Pre-grant |
2 priority claims, no other members on record
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 9522605 | United States of America | A | |
| US20050095226 | – | – | – |
39 transactions on the USPTO file
Allowed without a rejection on record.
- Non-final rejections
- 0
- Final rejections
- 0
- RCEs
- 0
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Workflow - Request for RCE - FinishFRCE | FRCE | |
| Dispatch to FDCD1935 | D1935 | |
| Workflow - Request for RCE - FinishFRCE | FRCE | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Mail-Record Petition Decision of Granted to Withdraw from Issue - with assigned Patent NO.MP015 | MP015 | |
| Withdrawal Patent Case from IssueWFIS | WFIS | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Petition EnteredPET. | PET. | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Miscellaneous Incoming LetterLET. | LET. | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Correspondence Address ChangeC.ADB | C.ADB | |
| IFW TSS Processing by Tech Center CompleteTSSCOMP | TSSCOMP | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Application Is Now CompleteCOMP | COMP | |
| Application Return from OIPEWROIPE | WROIPE | |
| Application Return TO OIPEROIPE | ROIPE | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Cleared by OIPE CSRL194 | L194 | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Initial Exam Team nnIEXX | IEXX |
5 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Maintenance fee paymentMAFP | MAFP | |
| Fee paymentFPAY | FPAY | |
| Fee paymentFPAY | FPAY | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS |
Numbers
- Publication
- 20060242525
- Publication, DOCDB
- 2006242525
- Publication, EPODOC
- US2006242525
- Application
- 11095226
- Application, DOCDB
- 9522605
- Application, EPODOC
- US20050095226
Titles
- English
- Method and apparatus for functionally verifying a physical device under test
Classification
- CPC, 3
- G01R31/31704
- G06F11/263
- G06F30/33
- IPC, 2
- G01R31 28
- G06F11 00
- USPC, 2
- 714742000
- 714E11177