CN107315863A - Layout optimization method and device, terminal and storage medium - Google Patents

Layout optimization method and device, terminal and storage medium Download PDF

Info

Publication number
CN107315863A
CN107315863A CN201710439297.5A CN201710439297A CN107315863A CN 107315863 A CN107315863 A CN 107315863A CN 201710439297 A CN201710439297 A CN 201710439297A CN 107315863 A CN107315863 A CN 107315863A
Authority
CN
China
Prior art keywords
optimization
design netlist
copied
series analysis
layout
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.)
Granted
Application number
CN201710439297.5A
Other languages
Chinese (zh)
Other versions
CN107315863B (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 Guowei Electronics Co Ltd
Shenzhen State Micro Electronics Co Ltd
Original Assignee
ShenZhen Guowei Electronics 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 ShenZhen Guowei Electronics Co Ltd filed Critical ShenZhen Guowei Electronics Co Ltd
Priority to CN201710439297.5A priority Critical patent/CN107315863B/en
Publication of CN107315863A publication Critical patent/CN107315863A/en
Application granted granted Critical
Publication of CN107315863B publication Critical patent/CN107315863B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis

Abstract

The embodiments of the invention provide a kind of layout optimization method and device, terminal and storage medium, by analyzing existing design netlist, obtain critical path, after being replicated to the example in critical path, ad-hoc location is inserted, the relaxation value between example in critical path can be reduced, improve the layout effect of design netlist, realize to a certain extent and existing design netlist is optimized, enhance the usage experience of user.

Description

Layout optimization method and device, terminal and storage medium
Technical field
The present invention relates to FPGA (Field-Programmable Gate Array, field programmable gate array) field, especially It is related to a kind of layout optimization method and device, terminal and storage medium.
Background technology
Fpga chip possesses huge use in electronic market and dived due to having the advantages that power and flexibility Power, except there is strict functional requirement to chip hardware framework, for the matched electronic design automation software used There is higher performance requirement.But, because the country starts late to the research and development of programmable chip, cause presently relevant forward position Technology and product are monopolized by foreign countries, thus the development in the field is in passive state, is unfavorable for domestic independent research electricity The development in sub- market.
The software kit of programmable chip is that (Electronic Design Automation, Electronic Design is certainly based on EDA Dynamicization) technology supported, and can be referred to as eda software.The application that eda software is mainly obtained to user using hardware description language Design is analyzed, and then and then further logic synthesis is laid out wiring, is finally successfully generated bit stream and downloads to chip On, realize user function.
Wherein placement-and-routing is the most important process part of eda software, and it determines that the design of user is made on chip Logic unit numbers and cabling mode, also design the satisfaction of sequential.This is also that the prevailing quality for weighing eda software performance refers to Mark.User mainly by technological requirement and user's timing requirements, constraint requirements etc., is first designed used patrol by placement-and-routing Volume unit is rationally placed, then by the line between decision logic unit how cabling, placement-and-routing will expire as much as possible Functional requirement and timing requirements of the sufficient user to design.
The content of the invention
The embodiments of the invention provide a kind of layout optimization method and device, terminal and storage medium, with to a certain degree Upper realization is optimized to existing design netlist.
On the one hand there is provided a kind of layout optimization method, including:
Treat optimization design netlist to be analyzed, obtain critical path;
Example in critical path is traveled through, example to be copied is determined;
The insertion position of example to be copied is calculated according to preset algorithm;
Corresponding insertion position is inserted into after example to be copied is replicated, optimization design netlist is generated.
Further, treat optimization design netlist to be analyzed, obtaining critical path includes:
Calculate each path in design netlist to be optimized walks wire delay;
Worst loose value is determined according to the length of delay of design netlist to be optimized;
Worst loose value is modified, it is determined that screening threshold value;
Path of the wire delay more than screening threshold value will be walked, critical path is used as.
Further, the insertion position for calculating example to be copied according to preset algorithm includes:
The terminal example driven according to example to be copied, determines border box;
Border box is divided, sub- box is determined;
It regard the predeterminated position in sub- box where terminal example as the insertion position of example to be copied.
Further, corresponding insertion position is inserted into after example to be copied is replicated, generation optimization design netlist includes:
Treat copy instances to be replicated, generate copy instances;
Copy instances are inserted into corresponding insertion position;
Obtain the driving example of example to be copied;
Connection driving example, copy instances and terminal example.
Further, in addition to:
Treat optimization design netlist and carry out overall Time-Series analysis, the Time-Series analysis result before output optimization;
Overall Time-Series analysis, the Time-Series analysis result after output optimization are carried out to optimization design netlist;
Judge the Time-Series analysis result after optimization whether better than the Time-Series analysis result before optimization;
If so, then exporting optimization design netlist;
If it is not, then rollback optimization design netlist is to design netlist to be optimized.
On the one hand, present invention provides a kind of layout optimization device, including:
Acquisition module, is analyzed for treating optimization design netlist, obtains critical path;
Determining module, for being traveled through to the example in critical path, determines example to be copied;
Computing module, the insertion position for calculating example to be copied according to preset algorithm;
Optimization module, for being inserted into corresponding insertion position after example to be copied is replicated, generates optimization design netlist.
Further, acquisition module is used for:
Calculate each path in design netlist to be optimized walks wire delay;
Worst loose value is determined according to the length of delay of design netlist to be optimized;
Worst loose value is modified, it is determined that screening threshold value;
Path of the wire delay more than screening threshold value will be walked, critical path is used as.
Further, computing module is used for:
The terminal example driven according to example to be copied, determines border box;
Border box is divided, sub- box is determined;
It regard the predeterminated position in sub- box where terminal example as the insertion position of example to be copied.
Further, optimization module is used for:
Treat copy instances to be replicated, generate copy instances;
Copy instances are inserted into corresponding insertion position;
Obtain the driving example of example to be copied;
Connection driving example, copy instances and terminal example.
Further, optimization module is additionally operable to:
Treat optimization design netlist and carry out overall Time-Series analysis, the Time-Series analysis result before output optimization;
Overall Time-Series analysis, the Time-Series analysis result after output optimization are carried out to optimization design netlist;
Judge the Time-Series analysis result after optimization whether better than the Time-Series analysis result before optimization;
If so, then exporting optimization design netlist;
If it is not, then rollback optimization design netlist is to design netlist to be optimized.
On the one hand there is provided a kind of terminal, including:Processor, memory and store on a memory and can be in processor The placement optimization program of upper operation, realizes the layout optimization method that the present invention is provided when placement optimization program is executed by processor Step.
On the other hand there is provided a kind of computer-readable recording medium, it is characterised in that on computer-readable recording medium Be stored with placement optimization program, the step of layout optimization method that the present invention is provided is realized when placement optimization program is performed.
The beneficial effect of the embodiment of the present invention:
The embodiments of the invention provide a kind of layout optimization method and device, terminal and storage medium, by existing Design netlist is analyzed, and obtains critical path, after being replicated to the example in critical path, inserts ad-hoc location, The relaxation value between example in critical path can be reduced, improves the layout effect of design netlist, realizes to a certain extent Existing design netlist is optimized, the usage experience of user is enhanced.
Brief description of the drawings
The structured flowchart for the layout optimization device that Fig. 1 provides for first embodiment of the invention;
The flow chart for the layout optimization method that Fig. 2 provides for first embodiment of the invention;
The structure chart for the terminal that Fig. 3 provides for first embodiment of the invention;
The flow chart for the layout optimization method that Fig. 4 provides for second embodiment of the invention;
Fig. 5 is the layout optimization comparative result figure that second embodiment of the invention is related to;
Fig. 6 is that the sub- box that second embodiment of the invention is related to divides schematic diagram;
Fig. 7 is that the example that second embodiment of the invention is related to replicates the effect diagram after insertion;
The flow chart for the layout optimization method that Fig. 8 provides for third embodiment of the invention;
The critical path traversal direction schematic diagram that Fig. 9 provides for third embodiment of the invention;
Figure 10 divides schematic diagram for the sub- box that third embodiment of the invention is provided;
Figure 11 is the first partial schematic diagram for the former design netlist that third embodiment of the invention is related to;
Figure 12 is the first partial schematic diagram for the new design netlist that third embodiment of the invention is related to;
Figure 13 is the schematic diagram for the copy instances insertion position that third embodiment of the invention is related to;
Figure 14 is second of partial schematic diagram of the former design netlist that third embodiment of the invention is related to;
Figure 15 is second of partial schematic diagram of the new design netlist that third embodiment of the invention is related to.
Embodiment
Below in conjunction with the accompanying drawing in the embodiment of the present invention, the technical scheme in the embodiment of the present invention is carried out clear, complete Site preparation is described, it is clear that described embodiment is a part of embodiment in the present invention, rather than whole embodiments.It is based on Embodiment in the present invention, it is every other that those of ordinary skill in the art are obtained under the premise of creative work is not made Embodiment, belongs to the scope of protection of the invention.
Further annotation explanation is now made to the present invention by way of embodiment combination accompanying drawing.
First embodiment:
The structured flowchart for the layout optimization device that Fig. 1 provides for first embodiment of the invention, as shown in Figure 1, the present embodiment The layout optimization device of offer includes:
Acquisition module 11, is analyzed for treating optimization design netlist, obtains critical path;
Determining module 12, for being traveled through to the example in critical path, determines example to be copied;
Computing module 13, the insertion position for calculating example to be copied according to preset algorithm;
Optimization module 14, for being inserted into corresponding insertion position after example to be copied is replicated, generates optimization design net Table.
In certain embodiments, the acquisition module 11 in above-described embodiment is used for:
Calculate each path in design netlist to be optimized walks wire delay;
Worst loose value is determined according to the length of delay of design netlist to be optimized;
Worst loose value is modified, it is determined that screening threshold value;
Path of the wire delay more than screening threshold value will be walked, critical path is used as.
In certain embodiments, the computing module 13 in above-described embodiment is used for:
The terminal example driven according to example to be copied, determines border box;
Border box is divided, sub- box is determined;
It regard the predeterminated position in sub- box where terminal example as the insertion position of example to be copied.
In certain embodiments, the optimization module 14 in above-described embodiment is used for:
Treat copy instances to be replicated, generate copy instances;
Copy instances are inserted into corresponding insertion position;
Obtain the driving example of example to be copied;
Connection driving example, copy instances and terminal example.
In certain embodiments, the optimization module 14 in above-described embodiment is additionally operable to:
Treat optimization design netlist and carry out overall Time-Series analysis, the Time-Series analysis result before output optimization;
Overall Time-Series analysis, the Time-Series analysis result after output optimization are carried out to optimization design netlist;
Judge the Time-Series analysis result after optimization whether better than the Time-Series analysis result before optimization;
If so, then exporting optimization design netlist;
If it is not, then rollback optimization design netlist is to design netlist to be optimized.
The flow chart for the layout optimization method that Fig. 2 provides for first embodiment of the invention, as shown in Figure 2, the present embodiment is carried The layout optimization method of confession, including:
S201:Treat optimization design netlist to be analyzed, obtain critical path;
S202:Example in critical path is traveled through, example to be copied is determined;
S203:The insertion position of example to be copied is calculated according to preset algorithm;
S204:Corresponding insertion position is inserted into after example to be copied is replicated, optimization design netlist is generated.
In certain embodiments, the optimization design netlist for the treatment of in above-described embodiment is analyzed, and obtains critical path bag Include:
Calculate each path in design netlist to be optimized walks wire delay;
Worst loose value is determined according to the length of delay of design netlist to be optimized;
Worst loose value is modified, it is determined that screening threshold value;
Path of the wire delay more than screening threshold value will be walked, critical path is used as.
In certain embodiments, the insertion position for calculating example to be copied according to preset algorithm in above-described embodiment is wrapped Include:
The terminal example driven according to example to be copied, determines border box;
Border box is divided, sub- box is determined;
It regard the predeterminated position in sub- box where terminal example as the insertion position of example to be copied.
In certain embodiments, corresponding insertion position will be inserted into after example to be copied duplication in above-described embodiment, Generation optimization design netlist includes:
Treat copy instances to be replicated, generate copy instances;
Copy instances are inserted into corresponding insertion position;
Obtain the driving example of example to be copied;
Connection driving example, copy instances and terminal example.
In certain embodiments, the layout optimization method in above-described embodiment also includes:
Treat optimization design netlist and carry out overall Time-Series analysis, the Time-Series analysis result before output optimization;
Overall Time-Series analysis, the Time-Series analysis result after output optimization are carried out to optimization design netlist;
Judge the Time-Series analysis result after optimization whether better than the Time-Series analysis result before optimization;
If so, then exporting optimization design netlist;
If it is not, then rollback optimization design netlist is to design netlist to be optimized.
The structure chart for the terminal that Fig. 3 provides for first embodiment of the invention;From the figure 3, it may be seen that the terminal that the present embodiment is provided Including:Processor 31, memory 32, communication bus 33 and it is stored in the layout that can be run on memory 32 and on processor 31 Optimization program, the step of layout optimization method that the present invention is provided is realized when placement optimization program is executed by processor;Wherein,
Communication bus 33 is used to realize the connection communication between processor 31, memory 32;
Processor 31 is used to perform the program stored in memory 32, to realize following steps:
Treat optimization design netlist to be analyzed, obtain critical path;
Example in critical path is traveled through, example to be copied is determined;
The insertion position of example to be copied is calculated according to preset algorithm;
Corresponding insertion position is inserted into after example to be copied is replicated, optimization design netlist is generated.
In certain embodiments, processor 31 is used to perform the program stored in memory 32, to realize following steps:
Calculate each path in design netlist to be optimized walks wire delay;
Worst loose value is determined according to the length of delay of design netlist to be optimized;
Worst loose value is modified, it is determined that screening threshold value;
Path of the wire delay more than screening threshold value will be walked, critical path is used as.
In certain embodiments, processor 31 is used to perform the program stored in memory 32, to realize following steps:
The terminal example driven according to example to be copied, determines border box;
Border box is divided, sub- box is determined;
It regard the predeterminated position in sub- box where terminal example as the insertion position of example to be copied.
In certain embodiments, processor 31 is used to perform the program stored in memory 32, to realize following steps:
Treat copy instances to be replicated, generate copy instances;
Copy instances are inserted into corresponding insertion position;
Obtain the driving example of example to be copied;
Connection driving example, copy instances and terminal example.
In certain embodiments, processor 31 is used to perform the program stored in memory 32, to realize following steps:
Treat optimization design netlist and carry out overall Time-Series analysis, the Time-Series analysis result before output optimization;
Overall Time-Series analysis, the Time-Series analysis result after output optimization are carried out to optimization design netlist;
Judge the Time-Series analysis result after optimization whether better than the Time-Series analysis result before optimization;
If so, then exporting optimization design netlist;
If it is not, then rollback optimization design netlist is to design netlist to be optimized.
In certain embodiments, present invention also offers a kind of computer-readable recording medium, computer-readable storage medium Matter is stored with one or more program, and one or more program is performed, to realize following steps:
Treat optimization design netlist to be analyzed, obtain critical path;
Example in critical path is traveled through, example to be copied is determined;
The insertion position of example to be copied is calculated according to preset algorithm;
Corresponding insertion position is inserted into after example to be copied is replicated, optimization design netlist is generated.
In certain embodiments, one or more program in above-described embodiment is performed, to realize following steps:
Calculate each path in design netlist to be optimized walks wire delay;
Worst loose value is determined according to the length of delay of design netlist to be optimized;
Worst loose value is modified, it is determined that screening threshold value;
Path of the wire delay more than screening threshold value will be walked, critical path is used as.
In certain embodiments, one or more program in above-described embodiment is performed, to realize following steps:
The terminal example driven according to example to be copied, determines border box;
Border box is divided, sub- box is determined;
It regard the predeterminated position in sub- box where terminal example as the insertion position of example to be copied.
In certain embodiments, one or more program in above-described embodiment is performed, to realize following steps:
Treat copy instances to be replicated, generate copy instances;
Copy instances are inserted into corresponding insertion position;
Obtain the driving example of example to be copied;
Connection driving example, copy instances and terminal example.
In certain embodiments, one or more program in above-described embodiment is performed, to realize following steps:
Treat optimization design netlist and carry out overall Time-Series analysis, the Time-Series analysis result before output optimization;
Overall Time-Series analysis, the Time-Series analysis result after output optimization are carried out to optimization design netlist;
Judge the Time-Series analysis result after optimization whether better than the Time-Series analysis result before optimization;
If so, then exporting optimization design netlist;
If it is not, then rollback optimization design netlist is to design netlist to be optimized.
In conjunction with concrete application scene, further annotation explanation is done to the present invention.
Second example:
This example is directed to placement algorithm, based on the placement algorithm of current main flow, and the logic unit used design is abstract to be Instance (example).
As shown in (1) in Fig. 5, when some instance output is ined succession multiple instance, and the latter instance is put When seated position is distributed farther out, after placement, a optimum position is generally between which, and now e and c may be farther out from a , may result in herein walk that wire delay is larger, sequential is poor, and to such path, the application is referred to as critical Paths (critical path).
This example is directed to such case, in the case where not changing former logic premise, middle a is replicated, and be inserted into design In netlist, rationally placed, obtained as shown in (2) in Fig. 5 by Timing driver, actual a to c and e distance are shorter, b Cabling with d to a is more direct, so as to effectively improve sequential.
Specifically, this example need to meet user's design timing requirements as far as possible for placement-and-routing's module of eda software Reality, proposes a kind of instance replication methods in the middle of main flow placement-and-routing flow, improves former layout result, More conducively the wiring processing in later stage, further improves sequential as far as possible, so as to reach the optimal purpose of user's design sequential.
As shown in figure 4, the layout optimization method that the present embodiment is provided comprises the following steps:
S401:Travel through example;
The present embodiment is first by slack (relaxation) value sizes and the standard of pin level (pin grade) height to critical path Instance on footpath is ranked up.By slack values all critical paths of traversal processing from small to large, and it is crucial for same Instances on path, traversal processing is carried out by the critical level (crucial grade) of their own from low to high.
S402:Bounding box (border box);
As the net that some pin (pin) is driven in single instance or group (groups of multiple instance formation) Whether when (network) includes critical paths and non-critical paths, being weighed using bounding box can be with Change netlist connection by the present embodiment, reduce critical paths.Bounding box size is according to above-mentioned All loaders are (whole on the critical net (with critical path identical meanings) that instance or group are driven Point example) position determined.Analyzed by introducing threshold decision bounding box size:When bounding box are more than When threshold value, show all loaders distributions on the critical net that above-mentioned instance or group are driven It is larger, then carry out the optimization processing of this programme.
S403:Copy instances;
According to bounding box size cases, book copying is carried out to the instance for driving critical nets, and Be reinserted into design netlist, according to the demand of timing (sequential), different duplication drivings it is different be located at critical Loaders on net.In actual applications, the group in not all critical path can be replicated, in the present embodiment, Replication processes are only carried out to sizeable group, excessive group is not suitable for carrying out replication processes.
During replicating instance and updating design netlist, advance for doing connecing for rewiring (rewiring) Mouthful, rewiring is to reach to improve the purpose of sequential by changing some specific instance of design netlist annexation.
S404:Zoning;
Region division is carried out to bounding box, zoning size is constant value, and zoning is not more than in theory The 1/2 of bounding box, but the value also needs to determine by the way that a large amount of designs of analysis are final.Zoning can be referred to as cell (sub- box), each cell size is fixed, and these realities can be indexed by the instance coordinates on critical net Which cell is examples be located in the range of, specifically, as shown in Figure 6.
In figure 6, overstriking cabling is critical paths, the area of the loaders distributions more than instance a Domain is bounding box, and hatched boxes are the region divided to bounding box.The instance of duplication need to drawn The position that sequential can be allowed to be optimal is searched out in the range of subregion.Cell box in theory can not be too small, it is to avoid planning region It is inside excessively crowded, cause duplication instance not place.In some cases, adjacent cell box can be merged, multiple Instance processed can find more position candidates.
S405:Replicate instance placement;
Replicating instance position can be limited in above-mentioned zoning cell, place flow with being put in detailed placement The processing for putting instance is similar, as shown in Figure 7:Solid node be by instance a carry out replicate and rationally placement after New instance (i.e. copy instances).New instance addition changes the cabling situation between netlist, compared to shown in Fig. 6 Netlist, cabling between instance more directly, it is brief, so as to effectively eliminate the critical paths that original netlist is present.
S406:Sequential judgment criteria;
After duplication instance is added in netlist and is placed on optimum position, judge whether sequential makes moderate progress. If sequential does not obtain improvement after processing, it is necessary to which result is retracted.
The present embodiment optimizes layout result by being changed to former design netlist, is beneficial to later stage wiring processing, can have Effect improves the sequential of final design, meets functional requirement and timing requirements of the user to design.
3rd embodiment:
As shown in figure 8, the layout optimization method that the present embodiment is provided comprises the following steps:
S801:Collect instances;
Design netlist is traveled through, the instance that slack values are less than worst slack (worst relaxation value)+margin is entered Row is collected into container.Wherein, worst slack are determined by former design netlist, and margin is then a constant value.
S802:Instances sorts;
Ordering rule is as follows:
1st, instance is ranked up from small to large by slack values, it is therefore intended that by same critical path Instance arranged adjacents, and the less critical path of priority treatment slack values.
2nd, for the instance in same critical path, by the critical pin of instance level in itself It is ranked up from low to high, it is therefore intended that instance relatively low priority treatment pin level, optimization efficiency can be improved.
S808:Travel through instances;
After being ranked up the instance of container, according to the traversal direction shown in Fig. 9, start to carry out instance time Go through processing.
S804:Obtain bounding box;
Bounding box are that the loaders positions on all critical nets driven according to instance are determined Fixed.Concrete operations are as follows:
1st, judge whether the loader on the critical net that the instance is driven is processed;
2nd, each loader and driver Euclidean distance are calculated respectively, and if distance value is less than 4, the loader is not Process;
3rd, then calculate and then count remaining pending loaders numbers.This is just carried out when number is more than 1 The processing of scheme.
By traveling through above-mentioned loaders, its floorplan coordinate (x, y) is obtained, then obtain by the Add operations of BBox classes Obtain bounding box.
S805:Obtain cell box (sub- box);
In order to allow adjacent loader to be in same cell box as far as possible, the quantity that need to be replicated is reduced, and prevent Excessively crowded in box, Cell box size is planned to the 1/4 or 1/9 of bounding box.By being drawn to bounding box Get multiple equivalent cell box, record each cell box (x_min, x_max, y_min, y_max) and index Information.As shown in Figure 10, a, b and c are critical loades, it is assumed that each cell box width is high be respectively width and Height, pending critical loaders coordinates are (x, y), then the cell box indexes that the node is located at are (x/ width,y/height).According to the above method, it can calculate which cell box critical loaders are located at respectively, By cell box and the critical loaders formation mapping relations in the box, while by former example a driver pin With each cell box critical loaders pins formation mapping relations.
S806:Replicate instance;
The each cell box that there is critical loaders of traversal, can distribute each box a duplication Instance, and this replicates all critical that instance can be as new driver drivings in same cell box loaders.Replicating obtained instance can be inserted into existing netlist in the case where not changing former logic premise, and first put it Put.Concrete operations are as follows:
Former design netlist as shown in figure 11, if at present to instance a replicate two parts, respectively instance a ' and A ", and be inserted into above-mentioned netlist, allow a ' to drive instance c and d;A " driving examples e.Examples detailed above is critical Inst, is connected by critical pins (key pin) between them.
If instance a ' are inserted and placed:
1st, original instance a drivers, is obtained by collecting the input pins of instance a in itself.
2nd, former instance a drivers and instance a ' are attached.
3rd, instance c and d and a are disconnected, and a ' and instance c and d are attached by newly-built new net.
4th, a ' is placed on some legal position.
New netlist is obtained, as shown in figure 12.
The new instance storages that can obtain duplication in processing procedure in a reservoir, are easy to post-processing.
S807:Place and replicate instances;
The flow for placing duplication instance is similar with detailed placement, mainly includes:
(1) the critical loaders coordinate average values only chosen positioned at same cell box are used as candidate seed;
(2) replicate instance can placement region be limited in the range of cell box;
(3) in the range of cell box, replicate instance can candidate seed in itself and around carry out examination put;
(4) it is based on the basis of Time-Series analysis, the optimal placement location of sequential can be found by replicating instance.But if , will be multiple, it is necessary to which the instance on the non-critical path in position candidate is squeezed away when cell box placement spaces are excessively crowded Instance processed is placed.
(5) instance for the non-critical path being squeezed away is placed, preceding summary ensures the slack of itself at present Value can not be deteriorated.
As shown in figure 13, in Cell box, hollow node is critical loaders (crucial terminal), solid section Point is candidate seed, and shaded nodes represent non-critical loader (non-key terminal).Replicating instance can be from time Seed selection finds placement location toward external diffusion.When being necessarily required to select the position at blue node, i.e., by non-critical Loader is moved out in other positions.
S808:Time-Series analysis;
Time-Series analysis is the sole criterion for verifying the present embodiment treatment effect.Time-Series analysis is embodied in three aspects:
1st, place during replicating instance, for the ease of doing Time-Series analysis, mainly first take former example to carry out examination and put, When found during the optimal position of sequence, instance will be replicated and be placed on the position, on former instance recovery to script position.When Sequence is analyzed as follows:
For design netlist as shown in figure 14, if replication processing is carried out to Figure 14 instance a, its In, a and b are in critical path, obtain new netlist as shown in figure 15, in fig .15, and instance a examinations are placed on into a ' positions Put, by based on analysis;
The outside delay (length of delay) of three sections of connections and instance inside delay obtain instance new slack values.
If the 2, processing failure is, it is necessary to which current result is retracted.
3rd, after the completion of the processing of all critical paths, overall Time-Series analysis is carried out, whether judged result is improved.
S809:As a result retract;
As a result rollback operation will mainly replicate instance and be removed from existing netlist.Rollback operation is as follows:
1st, each duplication instance is traveled through, its connection with the other instances of netlist is disconnected.
The 2nd, all critical loaders are recovered to the connection of script.
In summary, by the implementation of the embodiment of the present invention, at least there is following beneficial effect:
The embodiments of the invention provide a kind of layout optimization method and device, terminal and storage medium, by existing Design netlist is analyzed, and obtains critical path, after being replicated to the example in critical path, inserts ad-hoc location, The relaxation value between example in critical path can be reduced, improves the layout effect of design netlist, realizes to a certain extent Existing design netlist is optimized, the usage experience of user is enhanced.
It should be understood by those skilled in the art that, embodiments of the invention can be provided as method, system or computer program Product.Therefore, the shape of the embodiment in terms of the present invention can use hardware embodiment, software implementation or combine software and hardware Formula.Moreover, the present invention can be used can use storage in one or more computers for wherein including computer usable program code The form for the computer program product that medium is implemented on (including but is not limited to magnetic disk storage and optical memory etc.).
The present invention is the flow with reference to method according to embodiments of the present invention, equipment (system) and computer program product Figure and/or block diagram are described.It should be understood that can be by every first-class in computer program instructions implementation process figure and/or block diagram Journey and/or the flow in square frame and flow chart and/or block diagram and/or the combination of square frame.These computer programs can be provided The processor of all-purpose computer, special-purpose computer, Embedded Processor or other programmable data processing devices is instructed to produce A raw machine so that produced by the instruction of computer or the computing device of other programmable data processing devices for real The device for the function of being specified in present one flow of flow chart or one square frame of multiple flows and/or block diagram or multiple square frames.
These computer program instructions, which may be alternatively stored in, can guide computer or other programmable data processing devices with spy Determine in the computer-readable memory that mode works so that the instruction being stored in the computer-readable memory, which is produced, to be included referring to Make the manufacture of device, the command device realize in one flow of flow chart or multiple flows and/or one square frame of block diagram or The function of being specified in multiple square frames.
These computer program instructions can be also loaded into computer or other programmable data processing devices so that in meter Series of operation steps is performed on calculation machine or other programmable devices to produce computer implemented processing, thus in computer or The instruction performed on other programmable devices is provided for realizing in one flow of flow chart or multiple flows and/or block diagram one The step of function of being specified in individual square frame or multiple square frames.
It the above is only the embodiment of the present invention, any formal limitation not done to the present invention, it is every According to the present invention technical spirit embodiment of above is made any simple modification, equivalent variations, with reference to or modify, still Belong to the protection domain of technical solution of the present invention.

Claims (12)

1. a kind of layout optimization method, including:
Treat optimization design netlist to be analyzed, obtain critical path;
Example in the critical path is traveled through, example to be copied is determined;
The insertion position of the example to be copied is calculated according to preset algorithm;
Corresponding insertion position is inserted into after the example to be copied is replicated, optimization design netlist is generated.
2. layout optimization method as claimed in claim 1, it is characterised in that the optimization design netlist for the treatment of is analyzed, Obtaining critical path includes:
Calculate each path in the design netlist to be optimized walks wire delay;
Worst loose value is determined according to the length of delay of the design netlist to be optimized;
The worst loose value is modified, it is determined that screening threshold value;
Wire delay will be walked and be more than the path for screening threshold value, the critical path is used as.
3. layout optimization method as claimed in claim 1, it is characterised in that described to calculate described to be copied according to preset algorithm The insertion position of example includes:
The terminal example driven according to the example to be copied, determines border box;
The border box is divided, sub- box is determined;
It regard the predeterminated position in sub- box where the terminal example as the insertion position of the example to be copied.
4. layout optimization method as claimed in claim 1, it is characterised in that described to be inserted after the example duplication to be copied To corresponding insertion position, generation optimization design netlist includes:
The example to be copied is replicated, copy instances are generated;
The copy instances are inserted into corresponding insertion position;
Obtain the driving example of the example to be copied;
Connection driving example, copy instances and terminal example.
5. the layout optimization method as described in any one of Claims 1-4, it is characterised in that also include:
Overall Time-Series analysis, the Time-Series analysis result before output optimization are carried out to the design netlist to be optimized;
Overall Time-Series analysis, the Time-Series analysis result after output optimization are carried out to the optimization design netlist;
Judge whether the Time-Series analysis result after the optimization is better than the Time-Series analysis result before the optimization;
If so, then exporting the optimization design netlist;
If it is not, the optimization design netlist that then retracts is to the design netlist to be optimized.
6. a kind of layout optimization device, including:
Acquisition module, is analyzed for treating optimization design netlist, obtains critical path;
Determining module, for being traveled through to the example in the critical path, determines example to be copied;
Computing module, the insertion position for calculating the example to be copied according to preset algorithm;
Optimization module, for being inserted into corresponding insertion position after the example to be copied is replicated, generates optimization design netlist.
7. layout optimization device as claimed in claim 6, it is characterised in that the acquisition module is used for:
Calculate each path in the design netlist to be optimized walks wire delay;
Worst loose value is determined according to the length of delay of the design netlist to be optimized;
The worst loose value is modified, it is determined that screening threshold value;
Wire delay will be walked and be more than the path for screening threshold value, the critical path is used as.
8. layout optimization device as claimed in claim 6, it is characterised in that the computing module is used for:
The terminal example driven according to the example to be copied, determines border box;
The border box is divided, sub- box is determined;
It regard the predeterminated position in sub- box where the terminal example as the insertion position of the example to be copied.
9. layout optimization device as claimed in claim 6, it is characterised in that the optimization module is used for:
The example to be copied is replicated, copy instances are generated;
The copy instances are inserted into corresponding insertion position;
Obtain the driving example of the example to be copied;
Connection driving example, copy instances and terminal example.
10. the layout optimization device as described in any one of claim 6 to 9, it is characterised in that the optimization module is additionally operable to:
Overall Time-Series analysis, the Time-Series analysis result before output optimization are carried out to the design netlist to be optimized;
Overall Time-Series analysis, the Time-Series analysis result after output optimization are carried out to the optimization design netlist;
Judge whether the Time-Series analysis result after the optimization is better than the Time-Series analysis result before the optimization;
If so, then exporting the optimization design netlist;
If it is not, the optimization design netlist that then retracts is to the design netlist to be optimized.
11. a kind of terminal, including:Processor, memory and it is stored on the memory and can runs on the processor Placement optimization program, the placement optimization program by during the computing device realize such as any one of claim 1 to 5 institute The step of layout optimization method stated.
12. a kind of computer-readable recording medium, it is characterised in that the layout that is stored with the computer-readable recording medium is excellent Change program, the layout optimization method as any one of claim 1 to 5 is realized when the placement optimization program is performed Step.
CN201710439297.5A 2017-06-12 2017-06-12 Layout optimization method and device, terminal and storage medium Active CN107315863B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710439297.5A CN107315863B (en) 2017-06-12 2017-06-12 Layout optimization method and device, terminal and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710439297.5A CN107315863B (en) 2017-06-12 2017-06-12 Layout optimization method and device, terminal and storage medium

Publications (2)

Publication Number Publication Date
CN107315863A true CN107315863A (en) 2017-11-03
CN107315863B CN107315863B (en) 2021-01-08

Family

ID=60183980

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710439297.5A Active CN107315863B (en) 2017-06-12 2017-06-12 Layout optimization method and device, terminal and storage medium

Country Status (1)

Country Link
CN (1) CN107315863B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110598235A (en) * 2019-06-25 2019-12-20 眸芯科技(上海)有限公司 Method and system for repairing time sequence violation in chip design
CN111400995A (en) * 2018-12-25 2020-07-10 上海安路信息科技有限公司 Layout optimization method and layout optimization system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050034091A1 (en) * 2003-08-08 2005-02-10 Ywh-Pyng Harn Post-placement timing optimization of IC layout
CN101187958A (en) * 2006-11-20 2008-05-28 国际商业机器公司 Method and system for generating integrated electronic circuit layout pattern
CN101809576A (en) * 2007-07-23 2010-08-18 新思公司 Architectural physical synthesis
CN105335232A (en) * 2015-09-21 2016-02-17 湖南中森通信科技有限公司 Time sequence multiplexing-based FPGA resource optimization scheme
CN105808795A (en) * 2014-12-29 2016-07-27 京微雅格(北京)科技有限公司 FPGA chip global placement optimization method based on temporal constraint

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050034091A1 (en) * 2003-08-08 2005-02-10 Ywh-Pyng Harn Post-placement timing optimization of IC layout
CN101187958A (en) * 2006-11-20 2008-05-28 国际商业机器公司 Method and system for generating integrated electronic circuit layout pattern
CN101809576A (en) * 2007-07-23 2010-08-18 新思公司 Architectural physical synthesis
CN105808795A (en) * 2014-12-29 2016-07-27 京微雅格(北京)科技有限公司 FPGA chip global placement optimization method based on temporal constraint
CN105335232A (en) * 2015-09-21 2016-02-17 湖南中森通信科技有限公司 Time sequence multiplexing-based FPGA resource optimization scheme

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111400995A (en) * 2018-12-25 2020-07-10 上海安路信息科技有限公司 Layout optimization method and layout optimization system
CN111400995B (en) * 2018-12-25 2021-01-08 上海安路信息科技有限公司 Layout optimization method and layout optimization system
CN110598235A (en) * 2019-06-25 2019-12-20 眸芯科技(上海)有限公司 Method and system for repairing time sequence violation in chip design
CN110598235B (en) * 2019-06-25 2023-04-18 眸芯科技(上海)有限公司 Method and system for repairing time sequence violation in chip design

Also Published As

Publication number Publication date
CN107315863B (en) 2021-01-08

Similar Documents

Publication Publication Date Title
US9852253B2 (en) Automated layout for integrated circuits with nonstandard cells
Chen et al. NTUplace3: An analytical placer for large-scale mixed-size designs with preplaced blocks and density constraints
Li et al. Routability-driven placement and white space allocation
Chen et al. A high-quality mixed-size analytical placer considering preplaced blocks and density constraints
Pattison et al. GPlace: A congestion-aware placement tool for ultrascale FPGAs
US9443050B2 (en) Low-voltage swing circuit modifications
CN106503282A (en) When the increment register of IC design resets
Alpert et al. Placement: Hot or not?
CN106682268A (en) Programmable logic device configuration method and equipment
CN107315863A (en) Layout optimization method and device, terminal and storage medium
Hsu et al. Multi-layer global routing considering via and wire capacities
CN1408092A (en) Behavioral-synthesis electronic design automation tool business-to-business application service provider
CN112257368A (en) Clock layout method, device, EDA tool and computer readable storage medium
He et al. Ripple 2.0: Improved movement of cells in routability-driven placement
Hsu et al. Multilayer global routing with via and wire capacity considerations
CN107944183A (en) Creation method, device, computer equipment and the medium of FPGA top layer netlists
Kao et al. Cross point assignment with global rerouting for general-architecture designs
Ward et al. Structure-aware placement techniques for designs with datapaths
Zhou et al. Supervised-learning congestion predictor for routability-driven global routing
CN114492282A (en) Through signal line layout processing method and device, chip and storage medium
Zang et al. ATLAS: A two-level layer-aware scheme for routing with cell movement
Zhu et al. A robust global routing engine with high-accuracy cell movement under advanced constraints
Chu ABOUT THIS CHAPTER
Singhar et al. Optimizing Mixed Size & Large Scale Block Placement Using Greedy Approach
Minz et al. Layer assignment for reliable system-on-package

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