Claims
- 1. A method of facilitating processing of models in a distributed environment, said method comprising:
obtaining a plurality of partition groups of a model to be processed, said plurality of partition groups corresponding to a plurality of clock domains; and adjusting a partition group of one clock domain to include at least a portion of another partition group of another clock domain, wherein communication between said partition group to be processed on at least one processor of the distributed environment and said another partition group to be processed on at least one other processor of the distributed environment is across at least one synchronous clock boundary.
- 2. The method of claim 1, wherein one or more asynchronous clock boundaries used to communicate across a network between said partition group and said another partition group are eliminated.
- 3. The method of claim 1, wherein said adjusting comprises moving at least one partition of said another partition group to said partition group.
- 4. The method of claim 1, wherein said adjusting further comprises combining said partition group with at least one other partition group to provide a combined partition group, said combined partition group to include the at least a portion of the another partition group.
- 5. The method of claim 1, wherein said adjusting comprises determining which domain of the one clock domain and the another clock domain is an optimal clock domain, and wherein the another partition group corresponds to the optimal clock domain.
- 6. The method of claim 5, wherein the determining comprises selecting from the one clock domain and the another clock domain the clock domain that has at least one of a highest number of interfaces and a slower frequency.
- 7. The method of claim 6, wherein said selecting comprises selecting the clock domain with the slower frequency, when the number of interfaces for the one clock domain and the another clock domain are equal.
- 8. The method of claim 1, wherein said adjusting comprises adjusting multiple partition groups, wherein communication between one or more partition groups of the multiple partition groups and at least one of one or more other partition groups of the multiple partition groups and one or more partition groups of the plurality of the partition groups across at least one network of the distributed environment is across synchronous clock boundaries.
- 9. The method of claim 1, wherein said obtaining comprises partitioning the model into the plurality of partition groups.
- 10. The method of claim 9, wherein said partitioning comprises:
partitioning the model into a plurality of units of logic; combining the plurality of units of logic into multiple partitions; and grouping the multiple partitions into the plurality of partition groups, said grouping being based on clock domains.
- 11. The method of claim 1, further comprising exchanging data between said one partition group and said another partition group on at least one latch boundary.
- 12. The method of claim 11, further comprises deriving an exchange point to be used in exchanging the data.
- 13. The method of claim 1, further comprising exchanging data between said one partition group and said another partition group at a defined time, said defined time being based, at least in part, on a delay time automatically calibrated during processing of said model.
- 14. The method of claim 1, wherein processing of the model comprises simulating the model in the distributed environment.
- 15. The method of claim 14, wherein said model is to be simulated using event simulation.
- 16. The method of claim 14, wherein global management associated with a global simulation time used during simulation of said model is facilitated.
- 17. The method of claim 16, wherein the global management is reduced to indicating to at least one processor of the distributed environment the global simulation time.
- 18. The method of claim 16, wherein progression to the global simulation time is managed locally.
- 19. The method of claim 1, further comprising assigning said partition group of said one clock domain to said at least one processor and said another partition group of said another clock domain to said at least one other processor.
- 20. The method of claim 1, wherein said model comprises functionality of a chip.
- 21. The method of claim 20, wherein said model includes other logic to be processed, and said method further comprises partitioning the other logic of the model to facilitate processing.
- 22. A method of managing partition groups of a model, said method comprising:
obtaining a plurality of partition groups of a model, said plurality of partition groups corresponding to a plurality of clock domains; selecting from the plurality of clock domains an optimal clock domain; combining multiple partition groups of the plurality of partition groups into one or more combined groups; and providing at least a portion of a partition group corresponding to the optimal clock domain to at least one combined group of the one or more combined groups.
- 23. The method of claim 22, wherein the multiple partition groups to be combined exclude the partition group corresponding to the optimal clock domain.
- 24. The method of claim 22, wherein a combined group of the one or more combined groups comprises at least two partition groups that interface with one another.
- 25. The method of claim 22, wherein the providing comprises moving at least one partition of the partition group corresponding to the optimal clock domain to the at least one combined group.
- 26. The method of claim 22, wherein at least one combined group of the one or more combined groups and the partition group corresponding to the optimal clock domain are to be processed on a plurality of processors, and wherein communication between the at least one combined group and the partition group corresponding to the optimal clock domain is across one or more synchronous clock boundaries.
- 27. The method of claim 26, further comprising exchanging data between at least one combined group of the one or more combined groups and the partition group corresponding to the optimal clock domain on at least one latch boundary.
- 28. The method of claim 27, further comprising deriving an exchange point to be used in exchanging the data.
- 29. The method of claim 22, wherein said model is to be simulated in a distributed environment.
- 30. A method of managing partition groups of a model, said method comprising:
obtaining a plurality of partition groups of a model, said plurality of partition groups corresponding to a plurality of clock domains; and adjusting one or more partition groups of the plurality of partition groups, wherein said adjusting for a partition group of the one or more partition groups includes moving at least a portion of a partition group of the plurality of partition groups to the partition group of the one or more partition groups.
- 31. The method of claim 30, wherein the at least a portion of the partition group being moved is of a partition group that interfaces with the partition group being adjusted.
- 32. The method of claim 30, wherein the partition group having the at least a portion being moved has a slower clock frequency than the partition group receiving the at least a portion.
- 33. The method of claim 30, wherein the at least a portion of the partition group being moved is of a partition group corresponding to an optimal clock domain of the plurality of clock domains.
- 34. The method of claim 30, wherein the plurality of partition groups are to be processed on a plurality of processors, and wherein communication between partition groups on different processors is across one or more synchronous clock boundaries.
- 35. The method of claim 34, further comprising exchanging data between at least two partition groups of the plurality of partition groups on at least one latch boundary.
- 36. The method of claim 35, further comprising deriving an exchange point to be used in exchanging the data.
- 37. The method of claim 30, wherein said model is to be simulated in a distributed environment.
- 38. A system of facilitating processing of models in a distributed environment, said system comprising:
a plurality of partition groups of a model to be processed, said plurality of partition groups corresponding to a plurality of clock domains; and means for adjusting a partition group of one clock domain to include at least a portion of another partition group of another clock domain, wherein communication between said partition group to be processed on at least one processor of the distributed environment and said another partition group to be processed on at least one other processor of the distributed environment is across at least one synchronous clock boundary.
- 39. The system of claim 38, wherein one or more asynchronous clock boundaries used to communicate across a network between said partition group and said another partition group are eliminated.
- 40. The system of claim 38, wherein said means for adjusting comprises means for moving at least one partition of said another partition group to said partition group.
- 41. The system of claim 38, wherein said means for adjusting further comprises means for combining said partition group with at least one other partition group to provide a combined partition group, said combined partition group to include the at least a portion of the another partition group.
- 42. The system of claim 38, wherein said means for adjusting comprises means for determining which domain of the one clock domain and the another clock domain is an optimal clock domain, and wherein the another partition group corresponds to the optimal clock domain.
- 43. The system of claim 42, wherein the means for determining comprises means for selecting from the one clock domain and the another clock domain the clock domain that has at least one of a highest number of interfaces and a slower frequency.
- 44. The system of claim 43, wherein said means for selecting comprises means for selecting the clock domain with the slower frequency, when the number of interfaces for the one clock domain and the another clock domain are equal.
- 45. The system of claim 38, wherein said means for adjusting comprises means for adjusting multiple partition groups, wherein communication between one or more partition groups of the multiple partition groups and at least one of one or more other partition groups of the multiple partition groups and one or more partition groups of the plurality of the partition groups across at least one network of the distributed environment is across synchronous clock boundaries.
- 46. The system of claim 38, further comprising means for partitioning the model into the plurality of partition groups.
- 47. The system of claim 46, wherein said means for partitioning comprises:
means for partitioning the model into a plurality of units of logic; means for combining the plurality of units of logic into multiple partitions; and means for grouping the multiple partitions into the plurality of partition groups, said grouping being based on clock domains.
- 48. The system of claim 38, further comprising means for exchanging data between said one partition group and said another partition group on at least one latch boundary.
- 49. The system of claim 48, further comprising means for deriving an exchange point to be used in exchanging the data.
- 50. The system of claim 48, further comprising means for exchanging data between said one partition group and said another partition group at a defined time, said defined time being based, at least in part, on a delay time automatically calibrated during processing of said model.
- 51. The system of claim 38, wherein processing of the model comprises simulating the model in the distributed environment.
- 52. The system of claim 51, wherein said model is to be simulated using event simulation.
- 53. The system of claim 51, wherein global management associated with a global simulation time used during simulation of said model is facilitated.
- 54. The system of claim 53, wherein the global management is reduced to indicating to at least one processor of the distributed environment the global simulation time.
- 55. The system of claim 53, wherein progression to the global simulation time is managed locally.
- 56. The system of claim 38, further comprising means for assigning said partition group of said one clock domain to said at least one processor and said another partition group of said another clock domain to said at least one other processor.
- 57. The system of claim 38, wherein said model comprises functionality of a chip.
- 58. The system of claim 57, wherein said model includes other logic to be processed, and said system further comprises means for partitioning the other logic of the model to facilitate processing.
- 59. A system of managing partition groups of a model, said system comprising:
a plurality of partition groups of a model, said plurality of partition groups corresponding to a plurality of clock domains; means for selecting from the plurality of clock domains an optimal clock domain; means for combining multiple partition groups of the plurality of partition groups into one or more combined groups; and means for providing at least a portion of a partition group corresponding to the optimal clock domain to at least one combined group of the one or more combined groups.
- 60. The system of claim 59, wherein the multiple partition groups to be combined exclude the partition group corresponding to the optimal clock domain.
- 61. The system of claim 59, wherein a combined group of the one or more combined groups comprises at least two partition groups that interface with one another.
- 62. The system of claim 59, wherein the means for providing comprises means for moving at least one partition of the partition group corresponding to the optimal clock domain to the at least one combined group.
- 63. The system of claim 59, wherein at least one combined group of the one or more combined groups and the partition group corresponding to the optimal clock domain are to be processed on a plurality of processors, and wherein communication between the at least one combined group and the partition group corresponding to the optimal clock domain is across one or more synchronous clock boundaries.
- 64. The system of claim 63, further comprising means for exchanging data between at least one combined group of the one or more combined groups and the partition group corresponding to the optimal clock domain on at least one latch boundary.
- 65. The system of claim 64, further comprising means for deriving an exchange point to be used in exchanging the data.
- 66. The system of claim 59, wherein said model is to be simulated in a distributed environment.
- 67. A system of managing partition groups of a model, said system comprising:
a plurality of partition groups of a model, said plurality of partition groups corresponding to a plurality of clock domains; and means for adjusting one or more partition groups of the plurality of partition groups, wherein said means for adjusting for a partition group of the one or more partition groups includes means for moving at least a portion of a partition group of the plurality of partition groups to the partition group of the one or more partition groups.
- 68. The system of claim 67, wherein the at least a portion of the partition group being moved is of a partition group that interfaces with the partition group being adjusted.
- 69. The system of claim 67, wherein the partition group having the at least a portion being moved has a slower clock frequency than the partition group receiving the at least a portion.
- 70. The system of claim 67, wherein the at least a portion of the partition group being moved is of a partition group corresponding to an optimal clock domain of the plurality of clock domains.
- 71. The system of claim 67, wherein the plurality of partition groups are to be processed on a plurality of processors, and wherein communication between partition groups on different processors is across one or more synchronous clock boundaries.
- 72. The system of claim 71, further comprising means for exchanging data between at least two partition groups of the plurality of partition groups on at least one latch boundary.
- 73. The system of claim 72, further comprising means for deriving an exchange point to be used in exchanging the data.
- 74. The system of claim 67, wherein said model is to be simulated in a distributed environment.
- 75. A system of facilitating processing of models in a distributed environment, said system comprising:
a plurality of partition groups of a model to be processed, said plurality of partition groups corresponding to a plurality of clock domains; and at least one processor to adjust a partition group of one clock domain to include at least a portion of another partition group of another clock domain, wherein communication between said partition group to be processed on at least one processor of the distributed environment and said another partition group to be processed on at least one other processor of the distributed environment is across at least one synchronous clock boundary.
- 76. A system of managing partition groups of a model, said system comprising:
a plurality of partition groups of a model, said plurality of partition groups corresponding to a plurality of clock domains; at least one processor to combine multiple partition groups of the plurality of partition groups into one or more combined groups; and at least one processor to provide at least a portion of a partition group corresponding to an optimal clock domain to at least one combined group of the one or more combined groups.
- 77. A system of managing partition groups of a model, said system comprising:
a plurality of partition groups of a model, said plurality of partition groups corresponding to a plurality of clock domains; and at least one processor to adjust one or more partition groups of the plurality of partition groups, wherein the adjusting for a partition group of the one or more partition groups includes moving at least a portion of a partition group of the plurality of partition groups to the partition group of the one or more partition groups.
- 78. At least one program storage device readable by a machine tangibly embodying at least one program of instructions executable by the machine to perform a method of facilitating processing of models in a distributed environment, said method comprising:
obtaining a plurality of partition groups of a model to be processed, said plurality of partition groups corresponding to a plurality of clock domains; and adjusting a partition group of one clock domain to include at least a portion of another partition group of another clock domain, wherein communication between said partition group to be processed on at least one processor of the distributed environment and said another partition group to be processed on at least one other processor of the distributed environment is across at least one synchronous clock boundary.
- 79. The at least one program storage device of claim 78, wherein one or more asynchronous clock boundaries used to communicate across a network between said partition group and said another partition group are eliminated.
- 80. The at least one program storage device of claim 78, wherein said adjusting comprises moving at least one partition of said another partition group to said partition group.
- 81. The at least one program storage device of claim 78, wherein said adjusting further comprises combining said partition group with at least one other partition group to provide a combined partition group, said combined partition group to include the at least a portion of the another partition group.
- 82. The at least one program storage device of claim 78, wherein said adjusting comprises determining which domain of the one clock domain and the another clock domain is an optimal clock domain, and wherein the another partition group corresponds to the optimal clock domain.
- 83. The at least one program storage device of claim 82, wherein the determining comprises selecting from the one clock domain and the another clock domain the clock domain that has at least one of a highest number of interfaces and a slower frequency.
- 84. The at least one program storage device of claim 83, wherein said selecting comprises selecting the clock domain with the slower frequency, when the number of interfaces for the one clock domain and the another clock domain are equal.
- 85. The at least one program storage device of claim 78, wherein said adjusting comprises adjusting multiple partition groups, wherein communication between one or more partition groups of the multiple partition groups and at least one of one or more other partition groups of the multiple partition groups and one or more partition groups of the plurality of the partition groups across at least one network of the distributed environment is across synchronous clock boundaries.
- 86. The at least one program storage device of claim 78, wherein said obtaining comprises partitioning the model into the plurality of partition groups.
- 87. The at least one program storage device of claim 86, wherein said partitioning comprises:
partitioning the model into a plurality of units of logic; combining the plurality of units of logic into multiple partitions; and grouping the multiple partitions into the plurality of partition groups, said grouping being based on clock domains.
- 88. The at least one program storage device of claim 78, wherein said method further comprises exchanging data between said one partition group and said another partition group on at least one latch boundary.
- 89. The at least one program storage device of claim 88, wherein said method further comprises deriving an exchange point to be used in exchanging the data.
- 90. The at least one program storage device of claim 88, wherein said method further comprises exchanging data between said one partition group and said another partition group at a defined time, said defined time being based, at least in part, on a delay time automatically calibrated during processing of said model.
- 91. The at least one program storage device of claim 78, wherein processing of the model comprises simulating the model in the distributed environment.
- 92. The at least one program storage device of claim 91, wherein said model is to be simulated using event simulation.
- 93. The at least one program storage device of claim 91, wherein global management associated with a global simulation time used during simulation of said model is facilitated.
- 94. The at least one program storage device of claim 93, wherein the global management is reduced to indicating to at least one processor of the distributed environment the global simulation time.
- 95. The at least one program storage device of claim 93, wherein progression to the global simulation time is managed locally.
- 96. The at least one program storage device of claim 78, wherein said method further comprises assigning said partition group of said one clock domain to said at least one processor and said another partition group of said another clock domain to said at least one other processor.
- 97. The at least one program storage device of claim 78, wherein said model comprises functionality of a chip.
- 98. The at least one program storage device of claim 97, wherein said model includes other logic to be processed, and said method further comprises partitioning the other logic of the model to facilitate processing.
- 99. At least one program storage device readable by a machine tangibly embodying at least one program of instructions executable by the machine to perform a method of managing partition groups of a model, said method comprising:
obtaining a plurality of partition groups of a model, said plurality of partition groups corresponding to a plurality of clock domains; selecting from the plurality of clock domains an optimal clock domain; combining multiple partition groups of the plurality of partition groups into one or more combined groups; and providing at least a portion of a partition group corresponding to the optimal clock domain to at least one combined group of the one or more combined groups.
- 100. The at least one program storage device of claim 99, wherein the multiple partition groups to be combined exclude the partition group corresponding to the optimal clock domain.
- 101. The at least one program storage device of claim 99, wherein a combined group of the one or more combined groups comprises at least two partition groups that interface with one another.
- 102. The at least one program storage device of claim 99, wherein the providing comprises moving at least one partition of the partition group corresponding to the optimal clock domain to the at least one combined group.
- 103. The at least one program storage device of claim 99, wherein at least one combined group of the one or more combined groups and the partition group corresponding to the optimal clock domain are to be processed on a plurality of processors, and wherein communication between the at least one combined group and the partition group corresponding to the optimal clock domain is across one or more synchronous clock boundaries.
- 104. The at least one program storage device of claim 103, wherein said method further comprises exchanging data between at least one combined group of the one or more combined groups and the partition group corresponding to the optimal clock domain on at least one latch boundary.
- 105. The at least one program storage device of claim 104, wherein said method further comprises deriving an exchange point to be used in exchanging the data.
- 106. The at least one program storage device of claim 99, wherein said model is to be simulated in a distributed environment.
- 107. At least one program storage device readable by a machine tangibly embodying at least one program of instructions executable by the machine to perform a method of managing partition groups of a model, said method comprising:
obtaining a plurality of partition groups of a model, said plurality of partition groups corresponding to a plurality of clock domains; and adjusting one or more partition groups of the plurality of partition groups, wherein said adjusting for a partition group of the one or more partition groups includes moving at least a portion of a partition group of the plurality of partition groups to the partition group of the one or more partition groups.
- 108. The at least one program storage device of claim 107, wherein the at least a portion of the partition group being moved is of a partition group that interfaces with the partition group being adjusted.
- 109. The at least one program storage device of claim 107, wherein the partition group having the at least a portion being moved has a slower clock frequency than the partition group receiving the at least a portion.
- 110. The at least one program storage device of claim 107, wherein the at least a portion of the partition group being moved is of a partition group corresponding to an optimal clock domain of the plurality of clock domains.
- 111. The at least one program storage device of claim 107, wherein the plurality of partition groups are to be processed on a plurality of processors, and wherein communication between partition groups on different processors is across one or more synchronous clock boundaries.
- 112. The at least one program storage device of claim 111, wherein said method further comprises exchanging data between at least two partition groups of the plurality of partition groups on at least one latch boundary.
- 113. The at least one program storage device of claim 112, wherein said method further comprises deriving an exchange point to be used in exchanging the data.
- 114. The at least one program storage device of claim 107, wherein said model is to be simulated in a distributed environment.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application contains subject matter which is related to the subject matter of the following applications, each of which is assigned to the same assignee as this application and filed on the same day as this application. Each of the below listed applications is hereby incorporated herein by reference in its entirety:
[0002] “COUPLER INTERFACE FOR FACILITATING DISTRIBUTED SIMULATION OF A PARTITIONED LOGIC DESIGN”, Mellors et al., Ser. No. ______, (IBM Docket No. POU920010087US1), filed herewith; and
[0003] “PARTITIONING A MODEL INTO A PLURALITY OF INDEPENDENT PARTITIONS TO BE PROCESSED WITHIN A DISTRIBUTED ENVIRONMENT”, Rich et al., Ser. No. ______, (IBM Docket No. POU920010127US1), filed herewith.