CN107315863A - Layout optimization method and device, terminal and storage medium - Google Patents
Layout optimization method and device, terminal and storage medium Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/3312—Timing 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
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.
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)
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)
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 |
-
2017
- 2017-06-12 CN CN201710439297.5A patent/CN107315863B/en active Active
Patent Citations (5)
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)
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 |