CN109670253B - Method for randomly and uniformly distributing two objects in specified rectangular area - Google Patents

Method for randomly and uniformly distributing two objects in specified rectangular area Download PDF

Info

Publication number
CN109670253B
CN109670253B CN201811600146.4A CN201811600146A CN109670253B CN 109670253 B CN109670253 B CN 109670253B CN 201811600146 A CN201811600146 A CN 201811600146A CN 109670253 B CN109670253 B CN 109670253B
Authority
CN
China
Prior art keywords
objects
randomly
placing
rectangular area
calculating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811600146.4A
Other languages
Chinese (zh)
Other versions
CN109670253A (en
Inventor
李田
张通
李起宏
王明英
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Huada Jiutian Technology Co.,Ltd.
Original Assignee
Huada Empyrean Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huada Empyrean Software Co Ltd filed Critical Huada Empyrean Software Co Ltd
Priority to CN201811600146.4A priority Critical patent/CN109670253B/en
Publication of CN109670253A publication Critical patent/CN109670253A/en
Application granted granted Critical
Publication of CN109670253B publication Critical patent/CN109670253B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level

Abstract

The invention provides a method for randomly and uniformly distributing two objects in a specified rectangular area, which comprises the following steps: selecting rectangular areas of two objects which are randomly and uniformly distributed; respectively acquiring paths and numbers of two objects and the minimum distance between adjacent objects; calculating the position where the object can be placed; two objects are respectively and randomly and uniformly placed. The method of the invention overcomes the condition that the common random distribution is likely to be gathered together, combines the random distribution and the uniform distribution, improves the accuracy of the uniform random distribution and the success rate.

Description

Method for randomly and uniformly distributing two objects in specified rectangular area
Technical Field
The invention relates to the field of layout design, in particular to a method for randomly and uniformly distributing two objects in a specified rectangular area, which enables a layout design engineer to automatically draw a layout in which the two objects are randomly and uniformly distributed in the specified rectangular area.
Background
In the current field of integrated circuit layout design, a difficult problem is often faced, namely, for a specified pattern, the pattern is randomly and uniformly distributed in a specified area (for example, the layout design of photo spacers in the field of flat panel display design). Generally, designers generally arrange the patterns regularly and uniformly by manually drawing, and then manually and randomly modify the patterns in the patterns. Such a method has two major disadvantages: 1) randomness and uniformity can not be compatible; 2) the efficiency is low.
Random means irregular for a human, and when faced with large scale graphics rendering, irregular tends to bring enormous workload. And the great design effort of designers is also consumed when the uniformity is required to be ensured manually. Therefore, the random and uniform arrangement of the graphs is realized through electronic aided design automation, the method has a great significance, the working efficiency of designers can be obviously improved, and the layout designers are liberated from complicated and low-efficiency repeated labor.
Disclosure of Invention
In order to solve the defects of the prior art, the invention aims to provide a method for randomly and uniformly distributing two objects in a specified rectangular area, and the random and uniform distribution of the two objects in the specified rectangular area is automatically realized.
In order to achieve the above object, the present invention provides a method for randomly and uniformly distributing two objects in a specified rectangular area, comprising the following steps:
selecting rectangular areas of two objects which are randomly and uniformly distributed;
respectively acquiring paths and numbers of two objects and the minimum distance between adjacent objects;
calculating the position where the object can be placed;
two objects are respectively and randomly and uniformly placed.
Further, the step of respectively obtaining the paths, the numbers, and the minimum distances between the two objects further includes the steps of:
determining the path of the first object through Main PS Lib, Main PS Cell and Main PS View;
determining the Number of the first objects through the Main PS Number;
determining the path of the second object through Sub PS Lib, Sub PS Cell and Sub PS View;
determining the Number of the second objects through Sub PS Number;
the minimum distance between two adjacent objects is determined by PS Space.
Further, the step of calculating the placeable position of the object further comprises the steps of:
dividing a rectangular area in which two selected objects are randomly and uniformly distributed into n first parts; the n is the number of the objects with the smaller number in the two objects;
calculating the number of the objects with more number in each first part according to the number of the objects with more number, and dividing each first part into m second parts, wherein m is the number of the objects with more number in each first part;
and taking the width and the height of a larger object in the two objects and the minimum distance between the adjacent objects, and dividing each second part into a plurality of third parts according to the width and the height and the minimum distance between the adjacent objects to be used as the positions for placing the objects.
Further, the step of randomly and uniformly placing the two objects respectively further comprises the following steps:
placing a small number of objects: firstly, randomly calculating a certain first part of a specified rectangular area, wherein each first part can only appear once, and if the first part already appears, randomly calculating the first part again until an undisplayed first part appears; then a second part of the first part is randomly calculated, and finally a third part of the second part is randomly calculated, and the object is placed on the second part; and repeating the step of placing the objects with less number, and sequentially placing all the objects.
Put the more object of number: randomly calculating a certain first part of the designated rectangular area, and then randomly calculating a certain second part of the first part, wherein each second part can only appear once, and if the second part already appears, the second part needs to be randomly calculated again until an undisplayed second part appears; finally, a third part of the second part is randomly calculated, and the object is placed on the third part; and repeating the step of placing the objects with a large number, and sequentially placing all the objects.
To achieve the above object, the present invention further provides a computer readable storage medium, on which computer instructions are stored, which when executed perform the steps of the above method for randomly and uniformly distributing two objects in a specified rectangular area.
Additional features and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention.
Drawings
The accompanying drawings are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description serve to explain the principles of the invention and not to limit the invention. In the drawings:
FIG. 1 is a flow chart of a method according to the present invention for randomly and uniformly distributing two objects within a specified rectangular area;
FIG. 2 is a schematic diagram of selecting a rectangular region according to an embodiment of the present invention;
FIG. 3 is a schematic diagram of a data entry interface according to an embodiment of the present invention;
FIG. 4 is a graph illustrating the results of a random uniform distribution according to an embodiment of the present invention.
Detailed Description
The preferred embodiments of the present invention will be described in conjunction with the accompanying drawings, and it will be understood that they are described herein for the purpose of illustration and explanation and not limitation.
Fig. 1 is a flowchart of a method for randomly and uniformly distributing two objects in a designated rectangular area according to the present invention, and the method for randomly and uniformly distributing two objects in a designated rectangular area according to the present invention will be described in detail with reference to fig. 1.
First, in step 101, a region in which two objects are randomly and uniformly distributed is selected.
In this step, it should be noted that the selected distribution area should be a rectangular area. If the selected distribution area is a non-rectangular area, the procedure is ended. If the selected distribution area is a rectangular area, the next step is continued.
FIG. 2 is a schematic diagram of selecting a rectangular region according to an embodiment of the present invention. The rectangular area shown in fig. 2 satisfies the application condition of the present invention.
At step 102, correlation data for two objects is obtained.
After the rectangular area is selected, the system opens an input interface for a user to input the related data of the two objects to be distributed. The relevant data for two objects includes: the path and number M of the first object; the path and number N of the second object; the minimum distance dmin between adjacent objects.
The system judges before opening the input interface, whether the data input by opening the interface last time is stored is judged, and if the data is stored, the opened interface reloads the stored data for the user to modify; if not, a new input interface will be opened for user input.
After a user modifies or inputs data, clicking a storage button, judging whether paths including two objects are correct or not, whether the number is larger than zero or not and whether the minimum distance is larger than zero according to the input of the user, and if any one of the judgment results is that the data is unreasonable, giving a corresponding prompt to prompt the user that the data input is unreasonable; if the data is reasonable, continue to the next step.
In step 103, the positions where the objects can be placed are calculated.
The calculation of the placeable position of the object specifically comprises the following steps:
a) dividing the specified rectangular area into N first parts according to the number (min (M, N)) of the objects with the smaller number of the two objects, wherein N = min (M, N);
b) it is possible to calculate on average how many objects per first part there should be, based on the number of more objects, so as to subdivide each first part into m second parts, where
m=max(M,N)/n;
c) The width and height of the larger of the two objects and the minimum distance between adjacent objects are taken, each second part is subdivided into smaller parts according to the width and height and the minimum distance between adjacent objects, and the smaller parts are called as third parts, and the third parts are the positions where the objects can be placed.
After the positions of the objects which can be placed are calculated, whether all the objects can be placed at all the position points needs to be verified, if all the objects cannot be placed, a corresponding prompt is given, and the process is ended; if all objects can be placed, the next step will be continued.
In the invention, after the reasonability of the data is verified, whether all objects can be placed needs to be verified. The rationality of the verification data is only to verify whether the data input by the interface is reasonable or not, and whether enough placing positions are available for placing all the objects can be verified only through the calculation.
In step 104, the two objects are randomly and uniformly placed, respectively.
In this step, a small number of objects are placed first, and then a large number of objects are placed.
For objects with a small number of objects to be placed, the specific method comprises the following steps: randomly calculating a certain first part of the designated rectangular area, wherein each first part can only appear once, and if the first part already appears, randomly calculating a certain first part of the designated rectangular area again until an undisplayed first part appears; then a second part of the first part is randomly calculated, and finally a third part of the second part is randomly calculated, and the object is placed. Repeating the steps and placing all the objects in sequence.
For placing objects with more numbers, the specific method is as follows: first, a certain first part of the designated rectangular area is randomly calculated, then a certain second part of the first part is randomly calculated, each second part can only appear once, if the second part already appears, a certain second part of the first part needs to be randomly calculated again until an undisplayed second part appears. And finally, randomly calculating a third part of the second part, and putting the object on the third part. Repeating the steps and placing all the objects in sequence.
Examples
FIG. 3 is a schematic diagram of a data entry interface according to an embodiment of the present invention. As shown in fig. 3, the relevant data of two objects are input from the interface and data calculation and position placement are performed.
1) Data for a first object is input.
a) Determining the path of the first object through Main PS Lib, Main PS Cell and Main PS View;
b) the Number of the first objects is determined by the Main PS Number.
2) Data for a second object is input.
a) Determining the path of the second object through Sub PS Lib, Sub PS Cell and Sub PS View;
b) the Number of the second kind of objects is determined by Sub PS Number.
3) The minimum distance between two adjacent objects.
a) And determining the minimum distance between two adjacent objects through the PS Space, namely, the distance between any two objects on the final distribution result is greater than or equal to the value of the PS Space.
4) Clicking OK or Aply to store the data of the interface, and calculating and placing according to the data. Clicking the OK interface will close, and clicking the Apply interface will not close.
5) Clicking on Cancel closes the interface.
FIG. 4 is a graph illustrating the results of a random uniform distribution according to an embodiment of the present invention. As can be seen from fig. 4, both objects are randomly uniform within the rectangular area, and do not cluster together.
The present invention further provides a computer-readable storage medium, on which computer instructions are stored, and when the computer instructions are executed, the steps of the above-mentioned two methods for randomly and uniformly distributing two objects in a specified rectangular area are performed, and the methods for randomly and uniformly distributing two objects in a specified rectangular area are described in the foregoing description, and are not repeated.
The invention has the following advantages: 1) the condition that common random distribution is likely to be gathered together is overcome, and the randomness and the uniformity are both achieved; 2) the work flow is simplified, so that the work of an engineer is simpler and more convenient, and the labor cost is reduced; 3) the working efficiency is greatly improved, millions of big data cannot be completed before, and the scheme can be completed in only a few minutes; 4) the scheme has an automatic error detection mechanism, improves the accuracy of uniform random distribution and improves the success rate; for example: the two objects, the number of which is 51209 and 1843534 respectively, can be placed in only 5 minutes and 40 seconds.
Those of ordinary skill in the art will understand that: although the present invention has been described in detail with reference to the foregoing embodiments, it will be apparent to those skilled in the art that changes may be made in the embodiments and/or equivalents thereof without departing from the spirit and scope of the invention. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (2)

1. The method for randomly and uniformly distributing two objects in the specified rectangular area of the circuit layout comprises the following steps:
selecting rectangular areas of two objects which are randomly and uniformly distributed;
respectively obtaining paths and numbers of two objects and the minimum distance between the two adjacent objects, wherein the path of a first object is determined through Main PS Lib, Main PS Cell and Main PS View, the Number of the first object is determined through Main PS Number, the path of a second object is determined through Sub PS Lib, Sub PS Cell and Sub PS View, the Number of the second object is determined through Sub PS Number, and the minimum distance between the two adjacent objects is determined through PS Space;
calculating the position where the object can be placed;
respectively and randomly and uniformly placing two objects;
wherein, the step of calculating the placeable position of the object further comprises the following steps: dividing a rectangular area in which two selected objects are randomly and uniformly distributed into n first parts; the n is the number of the objects with the smaller number in the two objects; calculating the number of the objects with more number in each first part according to the number of the objects with more number, and dividing each first part into m second parts, wherein m is the number of the objects with more number in each first part; taking the width and the height of a larger object in the two objects and the minimum distance between the adjacent objects, and dividing each second part into a plurality of third parts according to the width and the height and the minimum distance between the adjacent objects as the positions for placing the objects;
wherein, the step of respectively and randomly and uniformly placing the two objects further comprises the following steps:
placing a small number of objects: firstly, randomly calculating a certain first part of a specified rectangular area, wherein each first part can only appear once, and if the first part already appears, randomly calculating the first part again until an undisplayed first part appears; then a second part of the first part is randomly calculated, and finally a third part of the second part is randomly calculated, and the object is placed on the second part; repeating the step of placing the objects with a small number, and placing all the objects in sequence;
put the more object of number: randomly calculating a certain first part of the designated rectangular area, and then randomly calculating a certain second part of the first part, wherein each second part can only appear once, and if the second part already appears, the second part needs to be randomly calculated again until an undisplayed second part appears; finally, a third part of the second part is randomly calculated, and the object is placed on the third part; and repeating the step of placing the objects with a large number, and sequentially placing all the objects.
2. A computer readable storage medium having stored thereon computer instructions, wherein said computer instructions when executed perform the steps of the method of randomly and uniformly distributing two objects within a specified rectangular area of a circuit layout as claimed in claim 1.
CN201811600146.4A 2018-12-26 2018-12-26 Method for randomly and uniformly distributing two objects in specified rectangular area Active CN109670253B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811600146.4A CN109670253B (en) 2018-12-26 2018-12-26 Method for randomly and uniformly distributing two objects in specified rectangular area

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811600146.4A CN109670253B (en) 2018-12-26 2018-12-26 Method for randomly and uniformly distributing two objects in specified rectangular area

Publications (2)

Publication Number Publication Date
CN109670253A CN109670253A (en) 2019-04-23
CN109670253B true CN109670253B (en) 2020-09-11

Family

ID=66146207

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811600146.4A Active CN109670253B (en) 2018-12-26 2018-12-26 Method for randomly and uniformly distributing two objects in specified rectangular area

Country Status (1)

Country Link
CN (1) CN109670253B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1731255A (en) * 2005-08-22 2006-02-08 友达光电股份有限公司 Gap material arrangement method
CN102663169A (en) * 2012-03-21 2012-09-12 领佰思自动化科技(上海)有限公司 Method and system for design rule checking of integrated circuit layout
CN102707507A (en) * 2012-06-01 2012-10-03 深圳市华星光电技术有限公司 Liquid crystal display device
CN103018970A (en) * 2012-12-14 2013-04-03 京东方科技集团股份有限公司 Display substrate, liquid crystal display panel and liquid crystal display device
CN103902789A (en) * 2014-04-22 2014-07-02 上海华力微电子有限公司 Filling method of redundant graphs
CN106649894A (en) * 2015-10-28 2017-05-10 北京华大九天软件有限公司 Method for quickly generating device array in integrated circuit layout
CN108459857A (en) * 2018-03-02 2018-08-28 东南大学 A kind of interface aided design method and system calculated based on U.S. degree

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI331245B (en) * 2005-07-20 2010-10-01 Au Optronics Corp Flat display apparatus with predetermined arrangement of photo spacer and photo spacer arrangement method

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1731255A (en) * 2005-08-22 2006-02-08 友达光电股份有限公司 Gap material arrangement method
CN102663169A (en) * 2012-03-21 2012-09-12 领佰思自动化科技(上海)有限公司 Method and system for design rule checking of integrated circuit layout
CN102707507A (en) * 2012-06-01 2012-10-03 深圳市华星光电技术有限公司 Liquid crystal display device
CN103018970A (en) * 2012-12-14 2013-04-03 京东方科技集团股份有限公司 Display substrate, liquid crystal display panel and liquid crystal display device
CN103902789A (en) * 2014-04-22 2014-07-02 上海华力微电子有限公司 Filling method of redundant graphs
CN106649894A (en) * 2015-10-28 2017-05-10 北京华大九天软件有限公司 Method for quickly generating device array in integrated circuit layout
CN108459857A (en) * 2018-03-02 2018-08-28 东南大学 A kind of interface aided design method and system calculated based on U.S. degree

Also Published As

Publication number Publication date
CN109670253A (en) 2019-04-23

Similar Documents

Publication Publication Date Title
US8473271B2 (en) Fast photolithography process simulation to predict remaining resist thickness
Blanchet et al. Efficient rare-event simulation for the maximum of heavy-tailed random walks
US11625518B2 (en) Learning device, inference device, and learned model
US20140325480A1 (en) Software Regression Testing That Considers Historical Pass/Fail Events
JP2019003651A (en) System and method for key parameter identification, process model calibration and variability analysis in virtual semiconductor device fabrication environment
US11574095B2 (en) Simulation system for semiconductor process and simulation method thereof
Tafazzoli et al. N-Skart: A nonsequential skewness-and autoregression-adjusted batch-means procedure for simulation analysis
CN100533375C (en) Automatic layout method and automatic layout device
JP2019507405A (en) How to configure collaborative simulation for integrated systems
CN112115676B (en) Static voltage drop repairing method, device, equipment and storage medium
CN109670253B (en) Method for randomly and uniformly distributing two objects in specified rectangular area
CN116661856B (en) Data splicing system of EDA software
KR20220039522A (en) Method and apparatus for selecting the location of electric vehicle charging station
US8984468B1 (en) Method to adaptively calculate resistor mesh in IC designs
CN110209566B (en) Method and device for testing software
CN114676664B (en) Module layout method and device of chip, computer equipment and storage medium
CN116738892B (en) Flow field numerical simulation data protection method, system, equipment and medium
CN105281977B (en) A kind of intelligent behaviour method of testing and system based on binary tree algorithm
US20220391555A1 (en) Method and tool for designing a complex system
CN115145893B (en) Cluster online capacity expansion method, system, equipment and storage medium
WO2023004593A1 (en) Method for simulating circuit, medium, program product, and electronic device
CN103139441B (en) For the Evaluation on distribution device and method of image procossing
CN109657384B (en) Method for extracting TFT model parameters
KR20110045262A (en) System for Designing Architecture Engineering and Method for Using the Same
US20050240884A1 (en) Via spacing violation correction method, system and program product

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20210329

Address after: 518100 1001, building 5, Shenjiu science and Technology Pioneer Park, northwest, intersection of Taohua road and Binglang Road, Fubao community, Fubao street, Futian District, Shenzhen City, Guangdong Province

Patentee after: Shenzhen Huada Jiutian Technology Co.,Ltd.

Address before: 100102 floor 2, block a, No.2, lizezhong 2nd Road, Chaoyang District, Beijing

Patentee before: HUADA EMPYREAN SOFTWARE Co.,Ltd.

TR01 Transfer of patent right