1. A hinge mechanism for a portable device, the hinge mechanism comprising:
a base having a planar surface;
a sliding plate having a planar surface;
a revolving member located adjacent to a longitudinal edge of the base, the revolving member being capable of revolving and projecting from the base;
a dampener located in the base for restraining movement of the revolving member to retain the revolving member in its revolved and projected position;
a first joint for coupling the revolving member to the sliding plate, and
a plurality of guides arranged longitudinally and transversely in the sliding plate,
wherein in a first mode of operation, the sliding plate is slidable over the base in the longitudinal or transverse directions of the base while the planar surface of the sliding plate faces the planar surface of the base, the plurality of guides facilitates the sliding plate to slide over the respective longitudinal and transverse directions of the base by guiding the first joint to run along the longitudinal and transverse arrangements of the plurality of guides when the sliding plate is slid over the base,
wherein in a second mode of operation, the sliding plate is substantially slid over the base to a position in the transverse direction of the base, the sliding plate is pivotable about the longitudinal edge of the base to a configuration such that the planar surface of the sliding plate forms an oblique angle relative to the planar surface of the base, the revolving member being adapted to revolve and project from the base when the sliding plate is pivoted into the configuration.
2. The hinge mechanism as claimed in claim 1, wherein the plurality of guides comprises
a first rail located adjacent to a longitudinal side of the sliding plate and extending longitudinally in the sliding plate; and
a second rail located adjacent to a transverse side of the sliding plate and extending orthogonally from the first rail.
3. The hinge mechanism as claimed in claim 2, the hinge mechanism further comprising:
a second joint for coupling the sliding plate to the base, the second joint being adapted to be guided by the second rail when the hinge mechanism is sliding between two configurations.
4. The hinge mechanism as claimed in claim 3, wherein the second rail terminates with an opening at an edge of the sliding plate, the sliding plate being substantially slid over the base in the transverse direction of the base when the second joint is slide out of the second rails to the opening, and the opening being sufficiently wide so that the joint will not obstruct tilting of the sliding plate.
5. The hinge mechanism as claimed in claim 3, wherein the second joint is biased to resiliently hold the sliding plate and the base together.
6. The hinge mechanism as claimed in claim 1, wherein the dampener comprises one or more abutment members residing in the base, the one or more abutment members being arranged to resiliently press against a side of the revolving member to restrain its revolving movement when the sliding plate is pivoted into the configuration.
7. The hinge mechanism as claimed in claim 6, wherein the revolving member comprises one or more slots, and each abutment member comprises an abutting head, the abutting head being adapted for pressing resiliently against the revolving member and for sitting in the one or more slots to stop further revolving movement when the revolving member is substantially revolved.
8. The hinge mechanism as claimed in claim 7, wherein each of the one or more slots are so shaped to block further revolving movement when the revolving member is substantially revolved, and to guide the revolving member to revolve back to a configuration where the sliding plate is not pivoted.
9. The hinge mechanism as claimed in claim 1, wherein the revolving member comprises one or more side members for fitting on one or more corresponding guiding portions located in the base to guide the revolving movement of the revolving member when the revolving member revolves and projects from or is pushed back into the base.
10. The hinge mechanism as claimed in claim 1, the hinge mechanism further comprising:
a follower arm comprising an elongated apertured centre and a first end coupled to the joint,
the follower arm being adapted to hoop over a protrusion on the sliding plate such that the protrusion is inserted into the elongated apertured centre,
the follower arm being further adapted to rotate about the joint, and the protrusion of the sliding plate being adapted to slide along the elongated apertured centre when the sliding plate slides over the base along the longitudinal or transverse directions of the base.
11. The hinge mechanism as claimed in claim 1, wherein the first joint is biased to resiliently hold the sliding plate and the revolving member together.
12. The hinge mechanism as claimed in claim 1, wherein the joint comprises
a cam portion;
one or more biasing means; and
a teeth portion coupled to the one or more biasing means,
the cam portion being arranged to brush against the teeth portion at the time the sliding plate is sliding along the longitudinal or transverse directions of the base while facing the base,
the one or more biasing means being arranged to urge resilient movement of the sliding plate according to the profiles of the cam portion and the teeth portion.
13. A portable device comprising the hinge mechanism as claimed in claim 1.
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 computer-implemented method of placing spare cells in an integrated circuit design, comprising:
receiving a description of the integrated circuit design which includes at least one logic cone in a layout and a stability value associated with the logic cone, by executing first program instructions in a computer system;
assigning a desired spare cell utilization rate to the logic cone based on the stability value, by executing second program instructions in the computer system;
calculating an actual spare cell utilization rate for a bounding box of the logic cone, by executing third program instructions in the computer system;
determining that the actual spare cell utilization rate is less than the desired spare cell utilization rate, by executing fourth program instructions in the computer system;
computing additional area required in the bounding box for attaining the desired spare cell utilization rate, by executing fifth program instructions in the computer system; and
inserting, in the description of the integrated circuit design, one or more spare cells within the bounding box to completely fill the additional area, by executing sixth program instructions in the computer system.
2. The method of claim 1, further comprising deriving the stability value from historical information regarding the logic cone in at least one previous design iteration.
3. The method of claim 1 wherein the desired spare cell utilization rate is assigned using a table lookup.
4. The method of claim 1 wherein the actual spare cell utilization rate is a total area of all spare cells within the bounding box divided by an area of the bounding box.
5. The method of claim 1 wherein the description includes a plurality of logic cones in the layout with associated stability values, and further comprising iteratively repeating said assigning, calculating, determining, computing and inserting for each of the logic cones until a global spare cell utilization target is exceeded.
6. The method of claim 1 wherein the method is part of a placement directed synthesis, and further comprising early mode padding after completing said placement directed synthesis including spare cell placement.
7. A computer system comprising:
one or more processors which process program instructions;
a memory device connected to said one or more processors; and
program instructions residing in said memory device for placing spare cells in an integrated circuit design, by receiving a description of the integrated circuit design which includes at least one logic cone in a layout and a stability value associated with the logic cone, assigning a desired spare cell utilization rate to the logic cone based on the stability value, calculating an actual spare cell utilization rate for a bounding box of the logic cone, determining that the actual spare cell utilization rate is less than the desired spare cell utilization rate, computing additional area required in the bounding box for attaining the desired spare cell utilization rate, and inserting, in the description of the integrated circuit design, one or more spare cells within the bounding box to completely fill the additional area.
8. The computer system of claim 7 wherein the stability value is derived from historical information regarding the logic cone in at least one previous design iteration.
9. The computer system of claim 7 wherein the desired spare cell utilization rate is assigned using a table lookup.
10. The computer system of claim 7 wherein the actual spare cell utilization rate is a total area of all spare cells within the bounding box divided by an area of the bounding box.
11. The computer system of claim 7 wherein the description includes a plurality of logic cones in the layout with associated stability values, and further comprising iteratively repeating said assigning, calculating, determining, computing and inserting for each of the logic cones until a global spare cell utilization target is exceeded.
12. The computer system of claim 7 wherein the spare cell placement is part of a placement directed synthesis, and said program instructions further carry out early mode padding after completing said placement directed synthesis including spare cell placement.
13. A computer program product comprising:
a computer-readable storage medium; and
program instructions residing in said storage medium for placing spare cells in an integrated circuit design, by receiving a description of the integrated circuit design which includes at least one logic cone in a layout and a stability value associated with the logic cone, assigning a desired spare cell utilization rate to the logic cone based on the stability value, calculating an actual spare cell utilization rate for a bounding box of the logic cone, determining that the actual spare cell utilization rate is less than the desired spare cell utilization rate, computing additional area required in the bounding box for attaining the desired spare cell utilization rate, and inserting, in the description of the integrated circuit design, one or more spare cells within the bounding box to completely fill the additional area.
14. The computer program product of claim 13 wherein the stability value is derived from historical information regarding the logic cone in at least one previous design iteration.
15. The computer program product of claim 13 wherein the desired spare cell utilization rate is assigned using a table lookup.
16. The computer program product of claim 13 wherein the actual spare cell utilization rate is a total area of all spare cells within the bounding box divided by an area of the bounding box.
17. The computer program product of claim 13 wherein the description includes a plurality of logic cones in the layout with associated stability values, and further comprising iteratively repeating said assigning, calculating, determining, computing and inserting for each of the logic cones until a global spare cell utilization target is exceeded.
18. The computer program product of claim 13 wherein the spare cell placement is part of a placement directed synthesis, and said program instructions further carry out early mode padding after completing said placement directed synthesis including spare cell placement.
19. A method of integrated circuit design comprising:
placement directed synthesis including cone-based, stability-dependent spare cell insertion;
early mode padding after completion of said placement directed synthesis; and
design routing after completion of said early mode padding.
20. The method of claim 19 wherein said cone-based, stability-dependent spare cell insertion includes:
receiving a description of an integrated circuit design which includes at least one logic cone in a layout and a stability value associated with the logic cone;
assigning a desired spare cell utilization rate to the logic cone based on the stability value;
calculating an actual spare cell utilization rate for a bounding box of the logic cone;
determining that the actual spare cell utilization rate is less than the desired spare cell utilization rate;
computing additional area required in the bounding box for attaining the desired spare cell utilization rate; and
inserting, in the description of the integrated circuit design, one or more spare cells within the bounding box to completely fill the additional area.