Claims Analysis
Total Claims: 24
Claim 1
Independent Claim
154 words
A method for generating an instruction/data stream used to verify a hardware implementation of an integrated circuit design, the method comprising the steps of: receiving a plurality of templates, wherein each of the plurality of templates describes at least a partial behavior of the integrated circuit design for a respective instruction; receiving a plurality of register models, wherein the plurality of register models describe the operation of a plurality of registers within the integrated circuit design; receiving a plurality of exception events, wherein each of the plurality of exception events corresponds to a potentially problematic operation of the hardware implementation of the integrated circuit design; processing the plurality of templates, the plurality of register models, and the plurality of exception events to produce the instruction/data stream, wherein the instruction/data stream includes a plurality of events, and wherein an execution of the instruction/data stream by the hardware implementation verifies the operation of the hardware implementation.
Claim 2
Independent Claim
154 words
A method for generating an instruction/data stream used to verify a hardware implementation of an integrated circuit design, the method comprising the steps of: receiving a plurality of templates, wherein each of the plurality of templates describes at least a partial behavior of the integrated circuit design for a respective instruction; receiving a plurality of register models, wherein the plurality of register models describe the operation of a plurality of registers within the integrated circuit design; receiving a plurality of exception events, wherein each of the plurality of exception events corresponds to a potentially problematic operation of the hardware implementation of the integrated circuit design; processing the plurality of templates, the plurality of register models, and the plurality of exception events to produce the instruction/data stream, wherein the instruction/data stream includes a plurality of events, and wherein an execution of the instruction/data stream by the hardware implementation verifies the operation of the hardware implementation.
Claim 3
Dependent Claim
24 words
The method of claim 1, wherein the plurality of events of the instruction/data stream operate sequentially without intermediate reinitialization of the plurality of registers.
Claim 4
Dependent Claim
56 words
The method of claim 1: further comprising the step of receiving system element behavior, wherein system element behavior describes operation of system elements within the integrated circuit design; and wherein the step of processing the plurality of templates, the plurality of register models, and the plurality of exception events further includes processing the system element behavior.
Claim 5
Dependent Claim
49 words
The method of claim 3, wherein the system element behavior describes operations of system elements selected from the group consisting of at least memory management units, load/store units, cache memory units, receiver units, transmitter units, receiver/transmitter units, integer units, floating point units, coprocessors, arithmetic logic units, and input/output controllers.
Claim 6
Dependent Claim
25 words
The method of claim 1, wherein the plurality of register models includes a plurality of system register models and a plurality of general register models.
Claim 7
Dependent Claim
28 words
The method of claim 1, wherein the plurality of exception events includes a plurality of instruction based exception events and a plurality of hardware event based exception events.
Claim 8
Dependent Claim
18 words
The method of claim 1, wherein at least a plurality of the templates further include respective boundary conditions.
Claim 9
Dependent Claim
16 words
The method of claim 1, wherein the respective boundary conditions include operand values and pipeline sequences.
Claim 10
Dependent Claim
29 words
The method of claim 1, wherein the hardware implementation is selected from the group consisting of behavioral-level models, register-transfer-level models, resistor-transistor-level models, physical design file models, and silicon representations.
Claim 11
Dependent Claim
74 words
The method of claim 1, wherein processing includes, based upon user input: generating a sequence of instructions to initialize the hardware implementation to an initialized state; creating at least one instruction thread that verifies an operation of the hardware implementation for a respective template operating under a respective boundary condition; and creating at least one instruction thread that verifies contents of registers within the hardware implementation to verify the operation of the hardware implementation.
Claim 12
Dependent Claim
29 words
The method of claim 10, further comprising the step of creating instructions that cause the hardware implementation to compare actual resultants generated by the hardware implementation with expected resultants.
Claim 13
Independent Claim
206 words
A method for generating an instruction/data stream used to verify a hardware implementation of an integrated circuit design, the method comprising the steps of: receiving a plurality of templates, wherein each of the plurality of templates describes at least a partial behavior of the integrated circuit design for a respective instruction; receiving a plurality of register models, wherein the plurality of register models describe the operation of a plurality of registers within the integrated circuit design; receiving a plurality of exception events, wherein each of the plurality of exception events corresponds to a potentially problematic operation of the hardware implementation of the integrated circuit design; generating a sequence of instructions that, when executed, initialize the hardware implementation to an initialized state; generating a plurality of instructions that, when executed, perform verification of a partial state of the hardware implementation; generating a plurality of instruction threads based on at least one template, at least one register model, and at least one exception event, that, when executed, verify a portion of an operation of the hardware implementation for a respective template, a respective boundary condition, and a respective exception event; and creating a plurality of instruction threads that, when executed, verify contents of registers within the hardware implementation.
Claim 14
Independent Claim
206 words
A method for generating an instruction/data stream used to verify a hardware implementation of an integrated circuit design, the method comprising the steps of: receiving a plurality of templates, wherein each of the plurality of templates describes at least a partial behavior of the integrated circuit design for a respective instruction; receiving a plurality of register models, wherein the plurality of register models describe the operation of a plurality of registers within the integrated circuit design; receiving a plurality of exception events, wherein each of the plurality of exception events corresponds to a potentially problematic operation of the hardware implementation of the integrated circuit design; generating a sequence of instructions that, when executed, initialize the hardware implementation to an initialized state; generating a plurality of instructions that, when executed, perform verification of a partial state of the hardware implementation; generating a plurality of instruction threads based on at least one template, at least one register model, and at least one exception event, that, when executed, verify a portion of an operation of the hardware implementation for a respective template, a respective boundary condition, and a respective exception event; and creating a plurality of instruction threads that, when executed, verify contents of registers within the hardware implementation.
Claim 15
Dependent Claim
59 words
The method of claim 12, further comprising the steps of: receiving system element behavior, wherein system element behavior describes operation of system elements within the integrated circuit design; and generating a plurality of instruction threads based on the system element behavior that, when executed, verify a portion of an operation of the hardware implementation for a respective system element.
Claim 16
Dependent Claim
49 words
The method of claim 13, wherein the system element behavior describes operations of system elements selected from the group consisting of at least memory management units, load/store units, cache memory units, receiver units, transmitter units, receiver/transmitter units, integer units, floating point units, coprocessors, arithmetic logic units, and input/output controllers.
Claim 17
Dependent Claim
29 words
The method of claim 12, wherein the hardware implementation is selected from the group consisting of behavioral-level models, register-transfer-level models, resistor-transistor-level models, physical design file models, and silicon representations.
Claim 18
Dependent Claim
25 words
The method of claim 12, wherein the plurality of register models includes a plurality of system register models and a plurality of general register models.
Claim 19
Dependent Claim
28 words
The method of claim 12, wherein the plurality of exception events includes a plurality of instruction based exception events and a plurality of hardware event based exception events.
Claim 20
Dependent Claim
16 words
The method of claim 12, wherein the respective boundary conditions include operand values and pipeline sequences.
Claim 21
Independent Claim
204 words
An apparatus for generating an instruction/data stream used to verify a hardware implementation of an integrated circuit design comprising: a processor, wherein the processor processes instructions; a processor bus operably coupled to the processor; an input/output interface operably coupled to the processor bus, wherein the processor may control the flow of data through the input/output interface; memory operably coupled to the processor bus for storing data and instructions, wherein the memory stores instructions for: receiving a plurality of templates, wherein each of the plurality of templates describes at least a partial behavior of the integrated circuit design for a respective instruction; receiving a plurality of register models, wherein the plurality of register models describe the operation of a plurality of registers within the integrated circuit design; receiving a plurality of exception events, wherein each of the plurality of exception events corresponds to a potentially problematic operation of the hardware implementation of the integrated circuit design; processing the plurality of templates, the plurality of register models, and the plurality of exception events to produce the instruction/data stream, wherein the instruction/data stream includes a plurality of events, and wherein an execution of the instruction/data stream by the hardware implementation verifies the operation of the hardware implementation.
Claim 22
Independent Claim
204 words
An apparatus for generating an instruction/data stream used to verify a hardware implementation of an integrated circuit design comprising: a processor, wherein the processor processes instructions; a processor bus operably coupled to the processor; an input/output interface operably coupled to the processor bus, wherein the processor may control the flow of data through the input/output interface; memory operably coupled to the processor bus for storing data and instructions, wherein the memory stores instructions for: receiving a plurality of templates, wherein each of the plurality of templates describes at least a partial behavior of the integrated circuit design for a respective instruction; receiving a plurality of register models, wherein the plurality of register models describe the operation of a plurality of registers within the integrated circuit design; receiving a plurality of exception events, wherein each of the plurality of exception events corresponds to a potentially problematic operation of the hardware implementation of the integrated circuit design; processing the plurality of templates, the plurality of register models, and the plurality of exception events to produce the instruction/data stream, wherein the instruction/data stream includes a plurality of events, and wherein an execution of the instruction/data stream by the hardware implementation verifies the operation of the hardware implementation.
Claim 23
Dependent Claim
249 words
A computer readable storage device adapted for use with a digital computer such that the digital computer may read the computer readable storage device, wherein the computer readable storage device comprises: (a) a first plurality of storage locations, wherein the first plurality of storage locations store instructions for causing the digital computer to receive a plurality of templates, wherein each of the plurality of templates describes at least a partial behavior of the integrated circuit design for a respective instruction; (b) a second plurality of storage locations, wherein the second plurality of storage locations store instructions for causing the digital computer to receive a plurality of register models, wherein the plurality of register models describe the operation of a plurality of registers within the integrated circuit design; (c) a third plurality of storage locations, wherein the third plurality of storage locations store instructions for causing the digital computer to receive a plurality of exception events, wherein each of the plurality of exception events corresponds to a potentially problematic operation of the hardware implementation of the integrated circuit design; (d) a fourth plurality of storage locations, wherein the fourth plurality of storage locations store instructions for causing the digital computer to process the plurality of templates, the plurality of register models, and the plurality of exception events to produce the instruction/data stream, wherein the instruction/data stream includes a plurality of events, and wherein an execution of the instruction/data stream by the hardware implementation verifies the operation of the hardware implementation.
Claim 24
Dependent Claim
249 words
A computer readable storage device adapted for use with a digital computer such that the digital computer may read the computer readable storage device, wherein the computer readable storage device comprises: (a) a first plurality of storage locations, wherein the first plurality of storage locations store instructions for causing the digital computer to receive a plurality of templates, wherein each of the plurality of templates describes at least a partial behavior of the integrated circuit design for a respective instruction; (b) a second plurality of storage locations, wherein the second plurality of storage locations store instructions for causing the digital computer to receive a plurality of register models, wherein the plurality of register models describe the operation of a plurality of registers within the integrated circuit design; (c) a third plurality of storage locations, wherein the third plurality of storage locations store instructions for causing the digital computer to receive a plurality of exception events, wherein each of the plurality of exception events corresponds to a potentially problematic operation of the hardware implementation of the integrated circuit design; (d) a fourth plurality of storage locations, wherein the fourth plurality of storage locations store instructions for causing the digital computer to process the plurality of templates, the plurality of register models, and the plurality of exception events to produce the instruction/data stream, wherein the instruction/data stream includes a plurality of events, and wherein an execution of the instruction/data stream by the hardware implementation verifies the operation of the hardware implementation.