Method and apparatus for testing evolvable configuration bitstreams
First Claim
1. A method for evolving configuration bitstreams for a programmable logic device, comprising:
- providing a test circuit to be implemented on the programmable logic device;
creating a population of configuration bitstreams, each bitstream implementing the test circuit and having a selected portion that is evolvable; and
evolving respective selected portions of the configuration bitstreams until at least one predetermined criterion is met.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for evolving configuration bitstreams for a programmable logic device are disclosed. A plurality of data structures having respective sets of data are established. From the sets of data, respective configuration bitstreams are generated, wherein the sets of data are mapped to positions in the bitstreams. The configuration bitstreams are then evaluated for relative suitability to meet predetermined criteria when deployed on a programmable logic device. From the relative suitability of the configuration bitstreams, next-generation data for the data structures are generated using a genetic algorithm applied to sets of data. In the various embodiments, the configuration bitstreams eliminate resource contentions, selectively eliminate asynchronous behavior, include built-in test circuits, and are relocatable. Multiple populations of configuration bitstreams can evolve in parallel over a network.
57 Citations
23 Claims
-
1. A method for evolving configuration bitstreams for a programmable logic device, comprising:
-
providing a test circuit to be implemented on the programmable logic device;
creating a population of configuration bitstreams, each bitstream implementing the test circuit and having a selected portion that is evolvable; and
evolving respective selected portions of the configuration bitstreams until at least one predetermined criterion is met. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
assigning respective weight values to the reproductive methods; and
probabilistically selecting the reproductive methods in accordance with the respective weight values.
-
-
12. The method of claim 11, wherein the reproductive methods include elitism, mutation, cross-over, and copy.
-
13. A method for evolving configuration bitstreams for a programmable logic device, comprising:
-
providing a test circuit to be implemented on the programmable logic device;
establishing chromosome data structures having data associated with programming resources of the programmable logic device;
creating respective configuration bitstreams from data of the chromosome data structures and the test circuit;
evaluating the respective configuration bitstreams that include the test circuit for relative suitability to meet predetermined criteria when deployed on a programmable logic device;
evolving data in the chromosome data structures based on the relative suitability; and
repeating the steps of creating, evaluating, and evolving until at least one predetermined criterion is met. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
programming a first set of resources of the device;
wherein the data of the chromosome data structures are comprised of gene codes associated with a second set of programmable resources of the device, wherein the first set of resources is different from the second set of resources.
-
-
17. The method of claim 13, wherein the test circuit implements a memory and a circuit for providing test vectors.
-
18. The method of claim 13, further comprising evolving data in the chromosome data structures using a plurality of reproductive methods.
-
19. The method of claim 18, further comprising:
-
assigning respective weight values to the reproductive methods; and
probabilistically selecting the reproductive methods in accordance with the respective weight values.
-
-
20. The method of claim 18, wherein the reproductive methods include elitism, mutation, cross-over, and copy.
-
21. An apparatus for evolving configuration bitstreams for a programmable logic device, comprising:
-
means for providing a test circuit to be implemented on the programmable logic device;
means for establishing chromosome data structures having data associated with programming resources of the programmable logic device;
means for creating respective configuration bitstreams from data of the chromosome data structures and the test circuit;
means for evaluating the respective configuration bitstreams that include the test circuit for relative suitability to meet predetermined criteria when deployed on a programmable logic device; and
means for evolving data in the chromosome data structures based on the relative suitability until at least one predetermined criterion is met.
-
-
22. A method for evolving configuration bitstreams for a programmable logic device, comprising:
-
creating respective configuration bitstreams on a data processing system;
downloading the configuration bitstreams from the data processing system to the device, where the device is at a location remote from the data processing system;
operating the device using the bitstream downloaded to the device;
reading back data from the device to the data processing system; and
evolving the configuration bitstreams until at least one predetermined criterion is met.
-
-
23. An apparatus for evolving configuration bitstreams for a programmable logic device, comprising:
-
means for establishing chromosome data structures having data associated with programming resources of an area of the programmable logic device;
means for creating respective configuration bitstreams from data of the chromosome data structures;
means for evolving data in the chromosome data structures based on relative suitability until at least one predetermined criterion is met;
means for downloading the configuration bitstreams to the device via a network; and
means for evaluating the respective configuration bitstreams for relative suitability to meet predetermined criteria when deployed on a programmable logic device.
-
Specification