Legal claims defining the scope of protection, as filed with the USPTO.
1. A method for concurrently programming a plurality of in-system logic devices, the method comprising: (a) utilizing a cost function to determine a best grouping of said in-system logic devices that produces a most effective concurrent configuration time, wherein utilizing the cost function comprises calculating a total programming time for each grouping using a number of addresses to be configured in each device, a data register length for each device, and the programming latency time for each device; (b) selecting a group from the best grouping; (c) programming the devices of the selected group while bypassing all devices associated with non-selected groups; and repeating (b) and (c) until all of the plurality of in-system logic devices are fully programmed.
2. The method according to claim 1 , wherein utilizing the cost function further comprises calculating the total programming time for each grouping using a number of programming latency breaks per device.
3. The method according to claim 1 , wherein utilizing the cost function comprises utilizing the cost function to calculate a total programming time for each group of a grouping, and then adding the total programming times for each group of the grouping to calculate the total programming time for the grouping.
4. The method according to claim 3 , further comprising storing a best grouping and a best programming time, comparing the best programming time with the total programming time for each grouping, and replacing the best grouping with a selected grouping when the total programming time for the selected grouping is less than the best programming time.
5. The method according to claim 4 , further comprising replacing the best programming time with the total programming time of the selected grouping.
6. The method according to claim 1 , wherein utilizing the cost function comprises: (a) grouping devices with similar sized burn times; (b) in each burn time group, collecting devices with similar total number of addresses to configure; (c) in each burn time/address group adding a device to the group as long as the bit streaming rate multiplied by the number of bits to shift per program operation multiplied by an efficiency factor is less than the maximum burn time of the devices in the group; and repeating step (c) to create the groups.
7. The method according to claim 1 , wherein programming comprises: (a) determining the longest wait time of all of the devices of the selected group having unexhausted address space; (b) applying the longest wait time as the current wait time in programming the devices; and (c) repeating steps (a) and (b) until all of the devices are fully programmed.
8. A method for concurrently programming a plurality of in-system devices connected to a boundary scan chain, the method comprising: (a) grouping the plurality of devices into a plurality of groups such that each device is assigned to only one group, including utilizing a cost function to determine a best grouping from a set of possible groupings such that the best grouping produces a total programming time, as determined by the cost function, that is less than total programming times of all other groupings in the set of possible groupings, wherein utilizing the cost function comprises calculating a total programming time for each grouping using a number of addresses to be configured in each device, a data register length for each device, and the programming latency time for each device; (b) selecting a group from the grouping; (c) programming the devices of the selected group while bypassing all devices associated with non-selected groups; and repeating (b) and (c) for each group of the grouping.
9. The method according to claim 8 , wherein utilizing the cost function further comprises calculating the total programming time for each grouping using a number of programming latency breaks per device.
10. The method according to claim 8 , wherein utilizing the cost function comprises utilizing the cost function to calculate a total programming time for each group of a grouping, and then adding the total programming times for each group of the grouping to calculate the total programming time for the grouping.
11. The method according to claim 10 , further comprising storing the best grouping and a best programming time associated with the best grouping, comparing the best programming time with each subsequently calculated total programming time for each subsequent grouping, and replacing the best grouping with a selected grouping when the total programming time for the selected grouping is less than the stored best programming time.
12. The method according to claim 11 , further comprising replacing the best programming time with the total programming time of the selected grouping.
13. A method for concurrently programming a plurality of in-system devices connected to a boundary scan chain, the method comprising: (a) grouping the plurality of devices into a plurality of groups such that each device is assigned to only one group; (b) calculating a total programming time needed to program all groups of the grouping, including calculating the total programming time using a number of addresses to be configured in each device, a data register length for each device, and the programming latency time for each device; repeating (a) and (b) for a plurality of different groupings, and selecting a best grouping from the plurality of different groupings that has a lowest total programming time; and programming the plurality of devices by (c) selecting a group from the best grouping, (d) programming each device of the selected group while bypassing all other devices, and repeating (c) and (d) until all groups of the best grouping are programmed.
Unknown
May 24, 2005
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.