Claims Analysis
Total Claims: 24
Claim 1
Independent Claim
135 words
A method for generating a sequence of instructions for design verification of a processor, the method comprising the following steps: (a) receiving a network having a plurality of sites and various paths connecting each site to a plurality of associated destination sites, each site having a plurality of associated processor instructions, and each path available to a given site having an associated weighting; (b) designating an initial site within the network as a current site; (c) selecting one available instruction from the current site and inserting that instruction sequentially in a diagnostic file; (d) selecting one of the paths connected to the current site and designating the destination on that path as the current site; and (e) repeating Steps b thru d until a predetermined number of instructions have been inserted in the diagnostic file.
Claim 2
Independent Claim
135 words
A method for generating a sequence of instructions for design verification of a processor, the method comprising the following steps: (a) receiving a network having a plurality of sites and various paths connecting each site to a plurality of associated destination sites, each site having a plurality of associated processor instructions, and each path available to a given site having an associated weighting; (b) designating an initial site within the network as a current site; (c) selecting one available instruction from the current site and inserting that instruction sequentially in a diagnostic file; (d) selecting one of the paths connected to the current site and designating the destination on that path as the current site; and (e) repeating Steps b thru d until a predetermined number of instructions have been inserted in the diagnostic file.
Claim 3
Dependent Claim
25 words
The method of claim 1 wherein the step of selecting one instruction includes a step of randomly selecting an available instruction in the current site.
Claim 4
Dependent Claim
32 words
The method of claim 1 wherein the step of selecting a path is performed by selecting an available path based upon the weighting associated with each path available to the current site.
Claim 5
Dependent Claim
41 words
The method of claim 1 further comprising a step of introducing one or more control functions in the sequence of instructions, the control functions selected from the group consisting of branch offsets, pipeline bypass control, loop control, and processor cache control.
Claim 6
Dependent Claim
70 words
The method of claim 1 further comprising the following steps: running the diagnostic file on an architectural model providing a functional representation of the processor; running the diagnostic file on a processor design model providing a structural representation of the processor; and comparing results of the runs on the architectural and processor design models, wherein a discrepancy in the results indicates the presence of a bug in the processor design.
Claim 7
Dependent Claim
23 words
The method of claim 1 further comprising a step of selecting one or parameters associated with certain instructions associated with the network sites.
Claim 8
Independent Claim
185 words
A method of detecting bugs in a processor design, the method comprising the following steps: (a) preparing a first generation of networks, each having a plurality of sites and various connections connecting each site to a plurality of associated destination sites, each site having a plurality of associated processor instructions, and each connection available to a given site having an associated weighting; (b) for each network, traversing a network path between the sites by repeatedly selecting a current site, selecting one available instruction from the current site, inserting that instruction sequentially in a diagnostic file, selecting one of the paths connected to the current site and designating the destination on that path as the current site; (c) performing step b until predetermined numbers of instructions have been inserted in the diagnostic files of each network; (d) running the diagnostic file on a processor or processor design and noting any sequences of instructions which uncover bugs in the processor design; and (e) preparing a new generation of networks which contain the network sites corresponding to the sequences of instructions which uncovered bugs in the processor design.
Claim 9
Independent Claim
185 words
A method of detecting bugs in a processor design, the method comprising the following steps: (a) preparing a first generation of networks, each having a plurality of sites and various connections connecting each site to a plurality of associated destination sites, each site having a plurality of associated processor instructions, and each connection available to a given site having an associated weighting; (b) for each network, traversing a network path between the sites by repeatedly selecting a current site, selecting one available instruction from the current site, inserting that instruction sequentially in a diagnostic file, selecting one of the paths connected to the current site and designating the destination on that path as the current site; (c) performing step b until predetermined numbers of instructions have been inserted in the diagnostic files of each network; (d) running the diagnostic file on a processor or processor design and noting any sequences of instructions which uncover bugs in the processor design; and (e) preparing a new generation of networks which contain the network sites corresponding to the sequences of instructions which uncovered bugs in the processor design.
Claim 10
Dependent Claim
32 words
The method of claim 7 wherein the step of preparing a new generation of networks includes a step of reinforcing the connection's network sites leading to sequences of instructions which uncover bugs.
Claim 11
Dependent Claim
32 words
The method of claim 7 wherein the step of preparing a new generation of networks includes a step of identifying clusters of sites which correspond to sequences of instructions which uncover bugs.
Claim 12
Dependent Claim
28 words
The method of claim 9 further comprising a step of adding the clusters to one or more new networks which are used in the new generation of networks.
Claim 13
Dependent Claim
54 words
The method of claim 9 further comprising the steps of: arranging representations of the clusters in a plurality of sequences; mixing the plurality of sequences by one or more genetic operations to provide genetically modified sequences; and filling the new generation of networks with clusters in an order provided by the genetically modified sequences.
Claim 14
Dependent Claim
31 words
The method claim 11 wherein the step of mixing the plurality of sequences includes mixing by one or more genetic operations selected from the group consisting of reproduction, cross-over, and mutation.
Claim 15
Independent Claim
114 words
A system for generating a sequence of machine instruction for testing a processor of the type having a pipeline for processing a sequence of instructions, the system comprising: a compiler residing in a computer system and executed by said computer system to prepare a network of sites each having a local state corresponding to one or more specified machine instructions and each interconnected to other sites by connections; and a generator implemented in said computer system to produce a diagnostic file containing the sequence of processor machine instructions by moving from site-to-site via the connections on the network and at each site randomly selecting one of the instructions associated with that site's local state.
Claim 16
Independent Claim
114 words
A system for generating a sequence of machine instruction for testing a processor of the type having a pipeline for processing a sequence of instructions, the system comprising: a compiler residing in a computer system and executed by said computer system to prepare a network of sites each having a local state corresponding to one or more specified machine instructions and each interconnected to other sites by connections; and a generator implemented in said computer system to produce a diagnostic file containing the sequence of processor machine instructions by moving from site-to-site via the connections on the network and at each site randomly selecting one of the instructions associated with that site's local state.
Claim 17
Dependent Claim
78 words
The system of claim 13 further comprising: an architectural model for running the sequence of machine instructions and providing the functional capabilities of the processor; a processor design for running the sequence of machine instructions and providing the logical structure of the processor; and a comparator for comparing results generated when the architectural model and processor design run the sequence of machine instructions, such that a bug in the processor is found when the results do not agree.
Claim 18
Dependent Claim
37 words
The system of claim 14 wherein each site contains multiple connections with other sites and the connections each have a weighting reflecting the probability that the connection will be selected by the generator when moving from site-to-site.
Claim 19
Dependent Claim
52 words
The system of claim 15 further comprising means for increasing the relative weightings of connections between those sites corresponding to a sequence of instructions which uncovers a bug in the processor, such that a new network is produced which is used by the generator to produce a second sequence of machine instructions.
Claim 20
Dependent Claim
71 words
The system of claim 14 further comprising: (a) means for retrieving a cluster of sites from a network which produced a sequence of machine instructions which uncovered a bug; (b) a genetic operator for combining clusters from multiple networks as specified in step (a) to form a sequence of clusters; and (c) a coverage operator for producing a new network from the clusters of sites contained in the sequence of clusters.
Claim 21
Dependent Claim
37 words
The system of claim 17 wherein the genetic operator combines state files to produce a new generation state file to be used with the new network by the generator to produce a new sequence of machine instructions.
Claim 22
Dependent Claim
28 words
The system of claim 13 wherein the compiler generates a network file containing an arrangement of sites within the network from a template written in a computer language.
Claim 23
Dependent Claim
33 words
The system of claim 19 wherein the compiler also converts the template into a state file containing global states which apply to each site and which limit fields associated with the machine instructions.
Claim 24
Dependent Claim
30 words
The system of claim 13 wherein each local state contains machine instructions that are functionally related to one another and the machine instructions in each local state are mutually exclusive.