摘要 |
A method for operating a FPGA to compute a function whose optimum represents the preferred partitioning of a graph having a plurality of vertices connected by edges. The FPGA is configured to provide a partition state register having a plurality of cells. Each cell corresponds to one of the vertices in the graph and is used to store a number indicative of the partition to which the corresponding vertex is currently assigned. The algorithm for determining the optimum partition computes a cost function having two components. The assignment of the vertices to the various partitions is made such that this cost function is minimized. For any given assignment of the vertices, the FPGA computes the cost function using two circuits that are configured from the FPGA. The first circuit computes the number of edges that connect vertices belonging to different partitions. The second circuit computes a number that represents the extent to which the various partitions differ from one another in size. The ideal partitioning is that which minimizes a weighted sum of these computed numbers. Special circuits for generating random numbers and binary vectors having a controllable number of randomly placed ones therein are also described.
|