1. A beverage preparation system comprising: a first machine for preparing and dispensing a first beverage via a first outlet onto a beverage dispensing area for positioning a cup or mug; a second machine for preparing and dispensing a second beverage via a second beverage outlet, wherein the first and the second machine are both operable in a standalone configuration, the second machine being disconnectably connected to the first machine and separable therefrom; and;
the first and second machines, when connected, are configurable so that the second outlet is positioned or positionable adjacent to the first outlet to dispense the second beverage onto the beverage dispensing area and into a cup or mug in position for collecting the first beverage from the first beverage outlet.
2. The system of claim 1, wherein the second machine comprises a milk supply arrangement comprising a cooling cavity containing a milk tank.
3. The system of claim 2, wherein the second machine comprises an arrangement for frothing andor heating milk from the milk supply arrangement.
4. The system of claim 3, wherein the second machine comprises a collector reservoir for collecting a cleaning liquid circulated through the frothing andor heating arrangement.
5. The system of claim 1, wherein the second beverage outlet is movable between an operative position for dispensing the second beverage onto the beverage dispensing area and a distant position.
6. The system of claim 5, wherein the second outlet is movable manually into the operative position.
7. The system of claim 5, wherein the second outlet is movable automatically into the operative position.
8. The system of claim 5, wherein the second machine comprises an actuator for automatically returning the second outlet from the operative position into the distant position.
9. The system of claim 1, wherein the first and second machines are directly or indirectly rigidly connected by a disconnectable mechanical link.
10. The system of claim 1, wherein the first machine comprises a first control module for controlling preparation of the first beverage and wherein the second machine comprises a second control module for controlling the preparation of said second beverage, the first and second control modules being in direct or indirect data-communication when the second machine is connected to the first machine.
11. The system of claim 10, wherein the first and second control modules are in data-communication to coordinate dispensing of the first and second beverages via the first and second outlets.
12. The system of claim 11, wherein the first and second control modules are arranged to coordinate and dispense the first and second beverages on a single user-request of a combined beverage of the first and second beverages.
13. The system of claim 11, wherein the first and second control modules are arranged to provide information to a user via a user-interface that is integrated either in the first machine or in the second machine.
14. The system of claim 1, wherein at least one of the first and second machines are configured for beverage preparation and dispensing when the first and second machines are disconnected.
15. A second machine for preparing a second beverage and for use with a first machine and second machine comprising:
a control module and a second outlet for dispensing a second beverage onto a beverage dispensing area for positioning a user-recipient; and
a connector disconnectably connectable to the first machine for preparing and delivering a first beverage, the first machine having a first control module;
the second control module is arranged to be in data-communication with the first module to coordinate and dispense the first and second beverages on a single user-request of a combined beverage of the first and second beverages.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A method of generating a clock distribution network on an integrated circuit comprising the steps of:
determining an allowable placement region for each of at least one clock tree leaf element;
grouping said at least one clock tree leaf element into at least one cluster; and
placing said at least one clock tree leaf element at a location within said allowable placement region wherein a cost function is minimized.
2. The method as recited in claim 1, wherein said allowable placement region is formed by intersecting a plurality of sub-regions.
3. The method as recited in claim 2, wherein at least one of said sub-regions that generates an allowable placement region for a given clock tree leaf element is determined based on a slack of a connection of said given clock tree leaf element.
4. The method as recited in claim 3, wherein said at least one of said sub-regions is generated using a binary search.
5. The method as recited in claim 2, wherein at least one of said sub-regions that generates an allowable placement region for a given clock tree leaf element is based on at least one congestion value.
6. The method as recited in claim 5, wherein said congestion value is selected from the group consisting of a placement congestion value, a wiring congestion value, a power congestion value, and any combination thereof.
7. The method as recited in claim 1, further comprising determining final placement locations for a plurality of sinks in a clock distribution network of an integrated circuit chip, comprising the steps of:
a) starting at a root net of a clock tree, determining a final placement location within an allowable placement region for at least one element of a first level of said sinks coupled to said root net while minimizing a cost function;
b) selecting at least one element of a second level of said sinks coupled to said at least one element of said first level of sinks, and determining for said element of said second level of sinks a final placement location within its allowable placement regions while minimizing the cost function; and
c) repeating step b) for elements of subsequent levels of sinks until a last level of sinks is reached.
8. The method of claim 7 further comprising the step of placing the elements of the last level of sinks at positions within their allowable placement regions to minimize the total wire length between the elements of the last level of sinks.
9. The method of claim 8 wherein said elements of said last level of sinks are latches.
10. The method as recited in claim 1 further comprising the step of removing blockages from said allowable placement regions.
11. The method as recited in claim 10, wherein removing said blockages from said allowable placement regions comprises the steps of:
identifying blockages which are respectively superimposed on allowable placement regions; and
redefining said respective allowable placement regions as said allowable placement regions from which their respective superimposed blockages have been subtracted.
12. The method as recited in claim 1 further comprising the step of removing congested regions from said allowable placement regions.
13. The method of claim 1, wherein said clock distribution network includes at least one first clocked element driving at least one second clocked element, and wherein said method further comprises the steps of:
d) determining allowable placement regions for each of said at least one first and second clocked elements;
e) assigning a final placement location for said at least one first clocked element within said allowable placement region of said at least one first clocked element; and
f) assigning a final placement location for said at least one second clocked element within said allowable placement region of said at least second clocked element, wherein said final placement location of said at least one second clocked element is based on said final placement location of said least one first clocked element.
14. The method of claim 1, wherein said allowable placement region for said at least one clock tree leaf element includes an initial placement location of said at least one clock tree leaf element.
15. The method of claim 3, wherein said at least one sub-region is determined based on the slack of said connection of said given clock tree leaf element including only locations at which said given clock tree leaf element can be placed without reducing said slack by more than a computed allowable slack reduction value.
16. The method of claim 15, wherein said computed allowable slack reduction value is one-half of said slack.
17. The method of claim 15, wherein said allowable slack reduction values are computed for a plurality of clock tree leaf element connections in an order that is determined by slacks of said plurality of clock tree leaf element connections.
18. A method of generating allowable placement regions in a clock distribution network of an integrated circuit (IC) chip comprising the steps of:
a) allocating the entire IC chip area to an allowable placement region of at least one clock tree leaf element having at least one non-clock port;
b) determining a sub-region associated with at least one of said non-clock ports of said clock tree leaf element;
c) redefining said clock tree leaf element allowable placement region to be an intersection of said clock tree leaf element allowable placement region with said sub-region;
d) generating a list of congested regions and subtracting congested regions from said allowable placement region; and
e) generating a list of blockage regions and subtracting blockage regions from said allowable placement region.
19. The method as recited in claim 2, wherein each of said intersected sub-regions is related to a constraint on said clocked element.
20. The method as recited in claim 19, wherein intersecting said allowable placement regions comprises the steps of:
a) forming a region for each connection of said clocked element within which timing requirements between said clocked element and its connection are satisfied and, if they cannot be satisfied, within which they are not worsened; and
b) forming a region that avoids placing said clocked element at a location that causes local circuit or wiring density requirements to exceed a predetermined limit.
21. The method as recited in claim 20, wherein in step a) at least one of said regions is shaped as a diamond having 90\xb0 angles, and wherein all the points on said diamond are equidistant from the center of a Manhattan space.
22. The method as recited in claim 20 wherein in step b) said regions have arbitrary shapes.
23. The method as recited in claim 1, wherein said grouping of said clock tree leaf elements into clusters is based on said allowed placement regions of said clock tree leaf elements.
24. The method as recited in claim 23, wherein each of said clusters is driven by a respective clock net, and each clock tree leaf element that has been clustered is moved to a point of its allowed placement region that minimizes the amount of wire for said respective clock net, thereby reducing power consumption.
25. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for generating a clock distribution network on an integrated circuit, said method steps comprising:
determining an allowable placement region for each of at least one clock tree leaf element;
grouping said at least one clock tree leaf element into at least one cluster; and
placing said at least one clock tree leaf element at a location within said allowable placement region wherein a cost function is minimized.