WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Method and apparatus for recording and rearranging representations of objects in a model of a group of objects located using a co-ordinate system    
United States Patent4829446   
Link to this pagehttp://www.wikipatents.com/4829446.html
Inventor(s)Draney; Marlow R. (Orem, UT)
AbstractThe invention is a method and an apparatus for recording geometries as representations of objects, located using a coordinate system. A record is created that may be altered to change the locations of geometries with respect to the coordinate system and the record of the locations of other geometries is automatically changed so that the locations of the geometries first altered do not conflict with the locations of the other geometries. The invention accomplishes the objective by recording the locations of certain geometries (relative geometries) relative to the locations of certain other geometries (located geometries). The location of at least one locater geometry is designated. The location of the locator geometry is recorded in a datafile. The location of a relative geometry is designated relative to a previously located locater geometry. The relative location of the relative geometry is recorded in an instruction file, and the location of the relative geometry with respect to the coordinate system is recorded in the datafile. There may be more than one relative geometry. The geometries may be defined by points, such as vertices of polygons. In that case, the location of selected vertices defining the relative geometery may be defined relative to selected vertices in locater geometries.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 4829446
Method and apparatus for recording and rearranging representations of

     objects in a model of a group of objects located using a co-ordinate

     system - US Patent 4829446 Drawing
Method and apparatus for recording and rearranging representations of objects in a model of a group of objects located using a co-ordinate system
Inventor     Draney; Marlow R. (Orem, UT)
Owner/Assignee     Caeco, Inc. (Orem, UT)
Patent assignment
All assignments
Publication Date     May 9, 1989
Application Number     06/940,774
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     December 12, 1986
US Classification     716/11 345/619 382/293 703/2
Int'l Classification     G06F 015/60 G06F 015/40
Examiner     Lall; Parshotam S.
Assistant Examiner     Teska; Kevin J.
Attorney/Law Firm     Hale and Dorr
Address
Parent Case    
Priority Data    
USPTO Field of Search     364/300 364/488 364/489 364/490 364/491 364/518 364/521 364/522 340/723 340/724 340/731 382/47 382/48 382/49 382/44
Patent Tags     recording rearranging representations of objects model group objects located co-ordinate
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
4703321
Barker
345/619
Oct,1987

[0 after 0 votes]
4700317
Watanabe
706/45
Oct,1987

[0 after 0 votes]
4698779
Holden
358/1.18
Oct,1987

[0 after 0 votes]
4686629
Noto
716/9
Aug,1987

[0 after 0 votes]
4675830
Hawkins
345/666
Jun,1987

[0 after 0 votes]
4656603
Dunn
715/835
Apr,1987

[0 after 0 votes]
4630219
DiGiacomo
716/9
Dec,1986

[0 after 0 votes]
4581710
Hasselmeier
358/1.17
Apr,1986

[0 after 0 votes]
4554625
Otten
700/171
Nov,1985

[0 after 0 votes]
4545070
Miyagawa
382/282
Oct,1985

[0 after 0 votes]
4513438
Graham
382/134
Apr,1985

[0 after 0 votes]
4484347
Kashioka
382/296
Nov,1984

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


Having thus described the invention, I claim:

1. A method for recording, as representations of objects, geometries which are located using a coordinate system, comprising the steps of:

a. designating the location with respect to said coordinate system of at least one of said geometries;

b. recording, in an instruction file a record associated with each said at least one geometry for which a location has been designated, each record including the location with respect to said coordinate system of said at least one geometry;

c. with respect to at least one other geometry, designating as associated a previously designated geometry for which a record has been recorded, said previously designated geometry being a locater geometry;

d. designating the location of each said other geometry relative to said associated locater geometry, said other geometry being a relative geometry; and

e. recording in said instruction file a record associated with each said relative geometry, said record including the location of said relative geometry relative to said associated locater geometry.

2. The method of claim 1, further comprising the step of recording, in a datafile, a record associated with each said geometry, each said record including the location with respect to said coordinate system of said geometry.

3. The method of claim 2 further comprising the step of storing said instruction file in a permanent medium.

4. The method of claim 2 further wherein said geometries are defined at least in part with respect to at least one point wherein said designating the location of each at least one geometry step comprises the step of sequentially designating the locations of each point defining said at least one geometry.

5. The method of claim 4 wherein said recording in said datafile step comprises the step of recording a record identifying each point and the location of each point.

6. The method of claim 5 wherein said designating as associated a geometry step comprises the step of designating, for each said relative geometry, at least one of said points defining said locater geometry, said point being an associated locater point.

7. The method of claim 6 wherein said associated locater point designating step comprises the step of, for each point defining said relative geometry, designating as corresponding an associated locater point, each said point defining said relative geometry being a relative point.

8. The method of claim 7 wherein said coordinate system is an x-y Cartesian coordinate system, further wherein said recording in an instruction file the relative location step, for each relative point, comprises the steps of:

a. retrieving from said datafile the location with respect to said coordinate system of said corresponding, associated locater point;

b. calculating a displacement in the Cartesian x direction between said relative point and said corresponding, associated locater point;

c. calculating a displacement in the Cartesian y direction between said relative point and said corresponding, associated locater point; and

d. creating a command in said instruction file identifying said corresponding, associated locater point and specifying the calculated displacements in the Cartesian x and y directions between said relative point and said corresponding, associated locater point.

9. The method of claim 7 wherein said recording in an instruction file the relative location step, for each relative point, comprises the steps of:

a. retrieving from said datafile the location with respect to said coordinate system of said corresponding, associated locater point;

b. calculating a displacement between said relative point and said corresponding, associated locater point; and

c. recording a command in said instruction file identifying said corresponding, associated locater point and specifying the displacement between said relative point and said corresponding, associated locater point.

10. The method of claim 9 wherein said calculating the displacement step comprises the steps of:

a. calculating the magnitude of the displacement between said relative point and said corresponding, associated locater point; and

b. calculating the direction of the displacement between said relative point and said corresponding, associated locater point.

11. A method for recording, as representations of objects, geometries defined, at least in part, with respect to at least one point which is located using a coordinate system, comprising the steps of:

a. designating the location with respect to said coordinate system of at least one of said geometries by sequentially designating the locations of each said defining point;

b. recording in an instruction file a record associated with each said at least one geometry for which a location has been designated, each record including the location with respect to said coordinate system of each said defining point of said at least one geometry;

c. with respect to at least one other geometry, designating as associated at least one of said defining point of said previously designated geometry for which a record has been recorded, said defining point being a locater point and said previously designated geometry being a locater geometry;

d. designating the location of each said other geometry relative to at least one associated locater point, said other geometry being a relative geometry; and

e. recording in said instruction file a record associated with each said relative geometry, said record including the location with respect to said coordinate system of said relative geometry.

12. The method of claim 11, further comprising the step of recording, in a datafile, a record associated with each said defining point, each record including the location with respect to said coordinate system of said point.

13. The method of claim 12 wherein said coordinate system is an x-y Cartesian coordinate system, further wherein, for each point defining said relative geometry, each said point defining said relative geometry being a relative point, said recording in an instruction file the relative location step comprises the steps of:

a. designating as corresponding an associated locater point;

b. retrieving from said datafile the location with respect to said coordinate system of said corresponding, associated locater point;

c. calculating a displacement in the Cartesian x direction between said relative point and said corresponding, associated locater point;

d. calculating a displacement in the Cartesian y direction between said relative point and said corresponding, associated locater point;

e. creating a command in said instruction file identifying said corresponding, associated locater point and specifying the calculated displacements in the Cartesian x and y directions between said relative point and said corresponding, associated locater point.

14. The method of claim 12 wherein, for each point defining said relative geometry, each said point defining said relative geometry being a relative point, said recording in an instruction file the relative location step, comprises the steps of:

a. designating as corresponding an associated locater point;

b. retrieving from said datafile the location with respect to said coordinate system of said corresponding, associated locater point;

c. calculating a displacement between said relative point and said corresponding, associated locater point; and

d. recording a command in said instruction file identifying said corresponding, associated locater point and specifying the calculated displacement between said locater point and said corresponding, associated locater point.

15. The method of claim -4 further comprising the steps of:

a. altering the location included in the record associated with at least one locater geometry; and

b. executing the instructions in the instruction file as instructions for recording, as representations of objects, the geometries, whereby the relative displacement between each altered locater geometry and the relative geometry with respect to which the altered locater geometry is associated remains unchanged.

16. An apparatus for recording, as representations of objects, geometries which are located using a coordinate system, comprising:

a. means for designating the location with respect to said coordinate system of at least one of said geometries;

b. means for recording, in an instruction file, a record associated with each said at least one geometry for which a location has been designated, each record including the location with respect to said coordinate system of said at least one geometry;

c. means for, with respect to at least one other geometry, designating as associated a previously designated geometry for which a record has been recorded, said previously designated geometry being a locater geometry;

d. means for designating the location of each said other geometry relative to said associated locater geometry, said other geometry being a relative geometry; and

e. means for recording in said instruction file a record associated with each said relative geometry, said record including the location of said relative geometry relative to said associated locator geometry.

17. The apparatus of claim 16, further comprising means for recording, in a datafile, a record associated with each said geometry, each said record including the location with respect to said coordinate system of said geometry.

18. The apparatus of claim 17 further comprising means for storing said instruction file in a permanent medium.

19. The apparatus of claim 17 further wherein said geometries are defined, at least in part, with respect to at least one point wherein said means for designating the location of each at least one geometry comprises means for sequentially designating the locations of each of the point defining said at least one geometry.

20. An apparatus for recording, as representations of objects, geometries defined, at least in part with respect to at least one point, which is located using a coordinate system, comprising:

a. means for designating the location with respect to said coordinate system of at least one of said geometries using means for sequentially designating the locations of each said defining point;

b. means for recording in an instruction file a record associated with each said at least one geometry for which a location has been designated, each record including the location with respect to said coordinate system of each said defining point of said at least one geometry;

c. means for, with respect to at least one other geometry, designating as associated at least one of said defining points of said previously designated geometry for which a record has been recorded, said defining point being a locater point and said previously designated geometry being a locater geometry;

d. means for designating the location of each said other geometry relative to at least one associated locater point, said geometry being a relative geometry; and

e. means for recording, in said instruction file, a record associated with each said relative geometry, said record including the location with respect to said coordinate system of said relative geometry.

21. A method for a user to interactively record, as representations of objects constituting elements making up a semiconductor chip having at least one layer, geometries, defined, at least in part, with respect to at least one point, which is located using a coordinate system, comprising the steps of:

a. designating the location with respect to the coordinate system of at least one of the geometries by sequentially designating the locations of each defining point;

b. recording, in an instruction file, a record associated with each geometry for which a location has been designated, each record including the location with respect to the coordinate system of each defining point of the geometry;

c. with respect to at least one other geometry; designating as associated at least one of the defining points of a previously designated geometry for which a record has been recorded, the defining point being a locater point and the previously designated geometry being a locater geometry;

d. designating the location of each other geometry relative to at least one associated locater point, the geometry being a relative geometry;

e. recording in the instruction file a record associated with each relative geometry, the record including the location relative to the associated locater point of the relative geometry;

f. altering the location included in the record associated with at least one locater geometry and

g. executing the instructions in the instruction file as instructions for recording, as representations of objects, the geometries, whereby the relative displacement between each altered locater geometry and the relative geometry with respect to which the altered locater geometry is associated remains unchanged.

22. The method of claim 21, further comprising the step of recording, in a datafile, a record associated with each geometry, each record including the location with respect to the coordinate system of the geometry after conducting the step of executing the instructions in the instruction file, the datafile designated an executed macro datafile.

23. The method of claim 22 further comprising the steps of:

a. providing a means for a visible display;

b. displaying, upon the display means, a graphical representation of the coordinate system;

c. providing means for prompting the user to input instructions; and

d. providing means for accepting instructions input by the user.

24. The method of claim 23 wherein the step of providing instruction accepting means further comprise the step of providing means for locating a cursor with respect to the representation of the coordinate system.

25. The method of claim 24, wherein the step of designating the location of a locater geometry comprises the steps of:

a. inputting a user instruction by sequentially locating the cursor with respect to the coordinate system at the location of each point defining the locater geometry; and

b. displaying the locater geometry with the display means.

26. The method of claim 25, wherein spatial design rules exist with respect to the relative locations between relative geometries and locater geometries, further comprising the steps of:

a. evaluating the locations of the geometries to confirm conformance with the spatial design rules; and

b. conducting the following steps i-iii until confirming conformance with the spatial design rules:

i. altering the location included in the record associated with a locater geometry;

ii. executing the instructions in the instruction file as instructions for recording, as representations of objects, the geometries, whereby the relative displacement between each altered locater geometry and the relative geometry with respect to which the altered locater geometry is associated remains unchanged; and

iii. evaluating the locations of the geometries to confirm conformance with the spatial design rules.

27. The method of claim 26 wherein each evaluating the locations of geometries step comprises:

a. providing a real time design rule checker; and

b. running the real time design rule checker.

28. The method of claim 25 further comprising the steps of:

a. providing a process definition file containing records, each record defining a representation of a specified object type as a group of at least one object, each object of the group represented by a separate geometry, each separate geometry being a construct geometry; and

b. for at least one located geometry, designating as associated an object type for which a record exists in the process definition file.

29. The method of claim 28 wherein the step of designating an object type comprises inputting a user instruction specifying the object type.

30. The method of claim 29, wherein the semiconductor chip has more than one layer and the providing a process definition file step comprises providing at least one record defining a representation of an object type, as a group of objects wherein at least two objects of the group are located on different layers of the semiconductor chip.

31. The method of claim 29, further comprising the step of, for each object having an associated object type, displaying the group of construct geometries.

32. The method of claim 31, further comprising providing means associated with said display means for displaying geometries representing objects located on different layers of the semiconductor chip.

33. The method of claim 25, wherein the step of designating an associated locater geometry comprises inputting a user instruction by locating the cursor at a location associated with the locater geometry.

34. The method of claim 33, wherein the step of designating the location of the relative geometry comprises the steps of:

a. inputting a user instruction by sequentially locating the cursor with respect to the coordinate system at the location of each point defining the relative geometry; and

b. displaying the relative geometry with the display means.

35. The method of claim 34 wherein the providing means for accepting instructions input from the user step comprises the step of providing a computer terminal keyboard.

36. The method of claim 35, wherein the providing means for accepting instructions input from the user step further comprises the step of providing a hand operated computer mouse, having at least one control input mechanism associated therewith.

37. A method for recording, as representations of objects, geometries which are located using a coordinate system, comprising the steps of:

a. designating the location with respect to said coordinate system of at least one of said geometries;

b. recording, in an instruction file a record associated with each said at least one geometry for which a location has been designated, each record including the location with respect to said coordinate system of said at least one geometry;

c. with respect to at least one other geometry, designating as associated a previously designated geometry for which a record has been recorded, said previously designated geometry being a locater geometry;

d. designating with an interactive graphics display the location of each said other geometry relative to said associated locater geometry, said other geometry being a relative geometry; and

e. recording in said instruction file a record associated with each said relative geometry, said record including the location of said relative geometry relative to said associated locater geometry.

38. An apparatus for recording, as representations of objects, geometries defined, at least in part with respect to at least one point, which is located using a coordinate system, comprising:

a. means for designating the location with respect to said coordinate system of at least one of said geometries using means for sequentially designating the locations of each said defining point;

b. means for recording in an instruction file a record associated with each said at least one geometry for which a location has been designated, each record including the location with respect to said coordinate system of each said defining point of said at least one geometry;

c. means for, with respect to at least one other geometry, designating as associated at least one of said defining points of said previously designated geometry for which a record has been recorded, said defining point being a locater point and said previously designated geometry being a locater geometry;

d. an interactive graphics display for designating the location of each said other geometry relative to at least one associated locater point, said geometry being a relative geometry; and

e. means for recording, in said instruction file, a record associated with each said relative geometry, said record including the location with respect to said coordinate system of said relative geometry.
 Description Submit all comments and votes
 


BACKGROUND OF THE INVENTION

This invention relates generally to the field of computer aided design of systems modeled by groups of objects located using a coordinate system and displayed, typically, on a computer monitor screen. As used below, "object" shall refer to an actual, real thing, including a zone of semi-conductor material, a printed logic symbol, a printed flow-chart box, a door or window in an architectural layout, etc. "Geometry" shall refer to a model or representation of an object located in a coordinate system. The model may be, for example, a data structure maintained in computer RAM or non-volatile memory. "Geometry" shall also refer to a representation of the object on a computer screen. In particular, the invention relates to a method and an apparatus for recording and automatically modifying the representation of geometries within the data structure, so that upon changing the size, shape, orientation or location of one geometry, other geometries automatically relocate to maintain preselected spatial relationships with the modified geometry, and with other geometries modified as a result of the modification to the first geometry.

Designers of different sorts of layouts now often use computers to aid the design. This type of design is known as "CAD" for "computer aided design". The term "CAE" refers to the related field of "computer aided engineering". Designers use CAE tools frequently in designing layouts for printed circuit boards, logic circuits, semiconductor chips, semiconductor mask-works, very large scale integrated circuits ("VLSI's"), architectural layouts, etc.

Typically, these tools accept input from the designer, either as cursor key strokes and/or mouse motions, or as a data file. The user's inputs define a growing group of geometries. Representations of the geometries are displayed on a computer screen as rectangles, circles, polygons, standard logic shapes, etc. Users of these CAE tools face problems when they want to change the size, shape, orientation or location of a geometry. In known devices, the data record described and keeps track of each geometry relative to the origin of a fixed coordinate system. The record(s) associated with each geometry is (are) independent of records of all other geometries. If a geometry is enlarged, so that its computer monitor representation overlaps another geometry, the user must manually move one or the other of the geometries to avoid the overlap. Similar problems can arise if the user reduces the size of the geometry, or changes the shape, orientation or location of a geometry.

In the field of semiconductor, chip design, a related and acute problem arises. Semiconductor chips are multi-layer devices, each layer including many objects, such as transistors, metal runs, load transistors and contacts. Some objects also occupy several layers, with different sized elements on each layer. In the chip design, not only must the designer insure that different elements do not collide or overlap, but the designer must also maintain minimum clearances between elements. The clearances are dictated by the physics governing the close location of very small electrical or semiconductor elements. These clearances must be maintained both between elements on the same layer, and between elements on different layers. Thus, even though change of a geometry location, etc., might not bring it into collision with another, the change might bring two geometries into an unacceptable proximity.

Many of the techniques of integrated circuit manufacture are photographic in nature. Actual hard copies of the layout are copied and reduced and then etched according to methods well known in the art. The hard copies may be generated by CAD equipment, using the same information that the designer used while designing the device. Thus, the problems encountered in designing an integrated circuit device also arise in connection with preparing the mask-works for their manufacture.

OBJECTS OF THE INVENTION

It is therefore an object of the invention to provide a method and an apparatus that permits maintaining preselected relative clearances between geometries even though some geometries are moved, enlarged, shrunken or reoriented. It is a further object of the invention to provide a method and an apparatus that permits easily testing several variations of a basic geometry layout, without having to manually replace each geometry due to relocation or alteration of one geometry upon which the locations of other geometries depend.

SUMMARY OF THE INVENTION

The method of the invention overcomes the problems of known methods by specifying the location of the geometries in the model according to both an absolute and a relative technique. The model may be stored on a permanent memory medium and may be used at a later time to generate representations of the group of objects. In this description, the permanent model will be referred to as the GEOMETRY LOCATION DATABASE. The relative positioning technique of the method features the steps of recording instructions for adding new geometries to the GEOMETRY LOCATION DATABASE according to the new geometry's relative distance from previously placed, geometries. The method features prompting the user to select the geometry or geometries from which he wishes to locate the new geometry as the user defines a new geometry. Below, points, vertices and geometries, from which other points, vertices or geometries are located, will be referred to as "locater points, vertices or geometries." Points, vertices or geometries that are located from locater points, vertices or geometries are referred to as "relative points, vertices or geometries." A geometry may also be a single point.

The user may also wish to locate a geometry relative to one of a set of locater vertices, where the chosen locater vertex has the greatest or least x or y coordinate of the set of locater vertices. The invention also provides this comparison locater vertex feature.

The method features generating a temporary table of records as the user generates instructions for creating geometries. The temporary table of records is referred to below as the GEOMETRY R-CELL VERTEX TABLE. The method features using the GEOMETRY R-CELL VERTEX TABLE to determine the locations of the relative vertices or geometries relative to the already placed locater vertices or geometries. With respect to groups of geometries bound together as a construct having geometries on multiple layers, the method features generating a GEOMETRY LOCATION DATABASE which includes all of the information necessary to generate a layer by layer graphic representation of the created construct. The graphic representation may be on a computer monitor, paper copy or mask work mask.

The apparatus of the invention for maintaining relative clearances between geometries even though some geometries are moved, enlarged, shrunken or reoriented, features an input device for accepting instructions from the user for locating geometries. The input device may include a mouse and mouse buttons, either combined with a keyboard and cursor keys, or alone. The mouse and cursor keys may be used to select items from menues of possible instructions.

The apparatus of the invention overcomes the problems of known devices by providing means for specifying the location of the geometries in the model according to both an absolute and a relative scheme. The apparatus permits specification of the location according to a relative scheme by providing means for recording instructions for adding new relative geometries to the GEOMETRY LOCATION DATABASE according to the new relative geometry's location from previously placed, selected locater geometries. When the user defines instructions for creating a new geometry, the apparatus prompts the user to select the locater vertex or geometry relative to which he wishes to locate the new geometry. The apparatus also includes circuitry that permits the comparison locater feature described above with respect to the method of the invention. The apparatus features circuitry for generating a GEOMETRY R-CELL VERTEX TABLE as the user generates instructions for creating geometries. The apparatus features means for using the GEOMETRY R-CELL VERTEX TABLE of records to compare the locations of the newly created geometries to the already located geometries relative to which the new relative geometry is located. With respect to groups of geometries located in multiple layers, the apparatus generates a GEOMETRY LOCATION DATABASE which includes all of the information necessary to generate a layer by layer graphic representation of the created groups of objects.

BRIEF DESCRIPTION OF THE FIGURES OF THE DRAWING

FIG. 1 comprised of FIGS. 1a-1c is a schematic representation of a simple MOS load transistor having an n.sup.+ path, a polysilicon path and a path on the buried contact layer.

FIG. 2 comprised of FIGS. 2a-2d is a schematic representation showing a known method for recording the location of geometries, and the effect upon the stored GEOMETRY LOCATION DATABASE and displayed geometries caused by stretching a placed geometry.

FIG. 3 comprised of FIGS. 3a-3d is a schematic representation showing the illustrated method of the invention for recording the location of geometries, and the effect upon the stored GEOMETRY LOCATION DATABASE and displayed geometries caused by stretching a placed geometry.

FIG. 4 is a general circuit diagram of a preferred embodiment of the apparatus of the invention.

FIG. 5 is a general flow diagram of a preferred embodiment of the method of the invention, representing the general steps of building a Macro instruction file, executing the Macro instruction file, and generating a graphical representation of the group of objects.

FIG. 6 comprised of FIGS. 6a-6c is a detailed flow diagram of a preferred embodiment of the method of the invention, representing the step of building a Macro file that provides instructions for creating a GEOMETRY R-CELL VERTEX TABLE and a GEOMETRY LOCATION DATABASE from which the locations and types of objects in the model can be determined.

FIG. 7 comprised of FIGS. 7a-7b is a detailed flow diagram of a preferred embodiment of the method of the invention, representing the step of recording placement of a vertex in a relative locater mode, while building a Macro file, such as would be built according to the flow diagram of FIG. 6.

FIG. 8 comprised of FIGS. 8a-8b is a detailed flow diagram of a preferred embodiment the method of the invention, representing the step of executing a Macro file, such as would be built according to the flow diagram of FIG. 6, to create a GEOMETRY LOCATION DATABASE from which the locations of types of objects can be determined.

FIGS. 9a and b are two representations of the GEOMETRY R-CELL VERTEX TABLE data structure, used in connection with building and executing a Macro file.

The apparatus and the method of the invention will be more easily understood by reference to the foregoing figures in connection with the discussion below.

DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT OF THE INVENTION

In accordance with the invention, the method and apparatus can be implemented in either hardware, software, or a combination of both. In the illustrated embodiment first discussed below, the method and apparatus of the invention have been implemented in a hardware configuration.

An object of the invention is to facilitate rearranging representations of objects defined using the coordinate system and displayed, for instance, on a computer monitor. FIG. 1 is a schematic representation of a multilayer object, a MOS transistor, by a group of geometries. In FIG. 1, a rectangular geometry 12 represents the n.sup.+ layer; a geometry 14 represents the polysilicon layer of the transistor; and a geometry 16 represents the buried contact window. FIG. 1b shows each of the layers superimposed in a geometry group 18 (the object), as the transistor might be represented on a display device of the apparatus of the invention, as shown in FIG. 4. In the actual device, the layers stack upon each other, as shown in the cross-sectional view (FIG. 1c) taken along the lines c--c of FIG. 1b.

FIG. 4 shows an apparatus 40 for recording and automatically rearranging representations of objects defined using a coordinate system. The apparatus includes a device 42 for accepting input from the designer. The input device typically includes a keyboard having cursor keys for directing the location of a cursor on a computer monitor, such as a display 46. The input device also typically includes a mouse, which mouse may include several special keys for sending preselected signals to a controller 44.

The input device 42 receives input commands from the user. These commands define locations on the screen that correspond to locations in the coordinate system where the user wishes to locate points (vertices) and geometries, commands identifying what type of a geometry the user wishes to be located at a certain location and commands identifying locater geometries or vertices from which the user wishes to locate the relative vertices and geometries. It should be noted that the user places points, but the points typically become associated into geometries defined by polygons and are thus frequently referred to below as vertices.

It is of course possible to define geometries by points and/or structures that are not vertices of polygons. For example, a circle may be defined by a central point and a radius, and a rectangle may be defined by a central point, a length and a width. The apparatus and method of the invention may be practiced by using these additional types of defining points or s