CN106445880B - A kind of acceleration wiring method - Google Patents
A kind of acceleration wiring method Download PDFInfo
- Publication number
- CN106445880B CN106445880B CN201610807065.6A CN201610807065A CN106445880B CN 106445880 B CN106445880 B CN 106445880B CN 201610807065 A CN201610807065 A CN 201610807065A CN 106445880 B CN106445880 B CN 106445880B
- Authority
- CN
- China
- Prior art keywords
- gauze
- current
- input
- output
- period
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
Abstract
The invention discloses a kind of acceleration wiring methods, which comprises the first gauze is taken out from First Input First Output according to the wiring of institute's wired network sequence;When determining the first gauze there are crowded, and when determining that the first gauze is fanned out to greater than the first predetermined threshold, then judges whether the current iteration period is the special iterative period;When determining the current iteration period is the special iterative period, then coiling again after the first gauze being taken out stitches;When determining the current iteration period is no special iteration cycle, judge whether current First Input First Output is empty queue;When current First Input First Output is non-empty queue, the second gauze is taken out from current First Input First Output, repeats the iterative process in current iteration period;When current First Input First Output is empty queue, terminate the iterative process in current iteration period.
Description
Technical field
The present invention relates to FPGA technology field more particularly to a kind of acceleration wiring methods.
Background technique
Traditional field programmable gate array (calculate by (Field-Programmable Gate Array, abbreviation FPGA) wiring
In method, due to being fanned out to gauze comprising height.It is fanned out to the number for the Subordinate module for referring to that module calls directly.And in FPGA, height fan
Out, then refer to that a functional module drives multiple functional modules.Just because of there is the high presence for being fanned out to gauze, thus for comprising
In general the gauze wiring that height is fanned out to will all devote a tremendous amount of time.In order to save the time of wiring, include in the prior art
A kind of Pathfinder algorithm.Pathfinder is a kind of current most popular Routing Algorithm, and core concept is changed in centre
Allow crowded generation (i.e. 2 or 2 or more gauzes occupy the same coiling resource) during generation, by constantly changing
In generation, is finally eliminated crowded.But this method suffers a disadvantage in that in wiring process, if being fanned out to big gauze and being fanned out to small
Gauze occur it is crowded when, it is to be fanned out to big gauze which gauze, which will not be determined in advance, which is to be fanned out to small gauze.So exist
After taking out stitches again coiling when, can be random to being fanned out to big gauze and be fanned out to coiling again after small one of gauze is taken out stitches,
Or coiling again after all being taken out stitches.Very big probability, which will so be had, can will be fanned out to after big gauze is taken out stitches again
Coiling.In this way, can then waste many time.But be then sometimes can will be fanned out to after small gauze is taken out stitches again around
Line, so that it may avoid being fanned out to big gauze and be fanned out to problem crowded between small gauze.Therefore, how to avoid as far as possible by
It is fanned out to coiling again after big gauze is taken out stitches, realizes and wiring is accelerated to be a problem to be solved.
Summary of the invention
To solve the above-mentioned problems, the present invention provides a kind of acceleration wiring method.The described method includes: according to institute's wired network
Wiring sequence the first gauze is taken out from First Input First Output, wherein the first gauze be relative to current First Input First Output
Included in other gauzes, the preferential gauze of wiring sequence;
When determining the first gauze there are crowded, and when determining that the first gauze is fanned out to greater than the first predetermined threshold, then judgement is worked as
Whether preceding iteration cycle is the special iterative period, wherein successively wired according to wiring sequence taking-up institute from First Input First Output
Each gauze in net is an iteration cycle, and the special iterative period refers to that there are fixed numbers passes with the first iteration cycle
The iteration cycle of system;
When determining the current iteration period is the special iterative period, then coiling again after the first gauze being taken out stitches;
Judge whether current First Input First Output is empty queue, and whether is sky team according to current First Input First Output
Column, execute different iterative process.
Preferably, judge the first gauze with the presence or absence of crowded further include: when determining that the first gauze is not present crowded, judgement
Whether current First Input First Output is empty queue;
And according to current First Input First Output whether be empty queue, execute different iterative process.
Preferably, when determine the first gauze there are it is crowded after, this method further include:
When determining that the first gauze is fanned out to less than the first predetermined threshold, then after directly the first gauze being taken out stitches again around
Line;
And again after coiling, judge whether current First Input First Output is sky team after the first gauze is taken out stitches
Column;
And according to current First Input First Output whether be empty queue, execute different iterative process.
Preferably, judge whether the current iteration period is the special iterative period, further includes: when determining that the current iteration period is
When no special iteration cycle, judge whether current First Input First Output is empty queue;
And according to current First Input First Output whether be empty queue, execute different iterative process.
It is further preferred that whether being empty queue according to current First Input First Output, different iterative process is executed, is wrapped
It includes:
When current First Input First Output is non-empty queue, the second gauze is taken out from current First Input First Output,
Repeating the iterative process in current iteration period, wherein the wiring of the second gauze sequence lags behind the first gauze, and prior to
The wiring sequence of other gauzes in current First Input First Output;
Alternatively,
When current First Input First Output is empty queue, terminate the iterative process in current iteration period.
It is further preferred that terminating the iteration in current iteration period when determining that current First Input First Output is empty queue
After process, this method further include:
Again institute's wired network is traversed;
When between two or more the gauze in institute's wired network there are it is crowded when, institute's wired network is added to elder generation
Enter first dequeue, into the following iteration period;
Alternatively,
When being not present crowded in institute's wired network, then it is cabled successfully.
It is further preferred that according to the wiring of institute's wired network sequence before taking out the first gauze in First Input First Output,
This method further include:
Institute's wired network is added in First Input First Output according to wiring sequence.
It is provided by the invention it is a kind of accelerate wiring method, when encounter gauze there are it is crowded when, first determine whether that the gauze is
It is no to be fanned out to gauze for height, and when determining the gauze is that height is fanned out to gauze, then need to judge whether the current iteration period is special
Iteration cycle can just be fanned out to gauze to height and carry out recoil of taking out stitches only at the special iterative period.If in no special iteration week
Phase then skips the gauze.If the gauze is that non-height is fanned out to gauze, recoil of taking out stitches is carried out to the gauze immediately.Purpose is to the greatest extent
Amount, which avoids being fanned out to height gauze, carries out recoil of taking out stitches, and to save the time for recoil of taking out stitches, promotes the cloth linear velocity of gauze, significantly
Shorten the runing time of wiring.
Detailed description of the invention
Fig. 1 is a kind of flow diagram for accelerating wiring method provided in an embodiment of the present invention;
Fig. 2 is another flow diagram for accelerating wiring method provided in an embodiment of the present invention.
Specific embodiment
Below by drawings and examples, technical scheme of the present invention will be described in further detail.
A kind of Fig. 1 acceleration wiring method flow diagram 100 provided in an embodiment of the present invention.As shown in the figure 1, this method packet
It includes:
Step 110, the first gauze is taken out from First Input First Output according to the wiring of institute's wired network sequence.
Specifically, taking out the first gauze from First Input First Output according to wiring sequence.It should be understood that First Line here
What net referred to is not first gauze being added in queue for refering in particular in sequence.But relative to current first in, first out
For other gauzes included in queue, the preferential gauze of wiring sequence.
Optionally, prior to step 110, this method can also include step 105 in fact, and institute's wired network is suitable according to being routed
Sequence is added sequentially in First Input First Output.
Step 120, when determining the first gauze there are crowded, and when determining that the first gauze is fanned out to greater than the first predetermined threshold,
Then judge whether the current iteration period is the special iterative period.
Specifically, when determine the first gauze there are it is crowded when, and it is indirect first gauze is taken out stitches after, carry out again
Coiling.But to judge whether being fanned out to for the first gauze is greater than the first predetermined threshold.The purpose of the way is to judge first
Whether gauze is that height is fanned out to gauze.When determining that the first gauze is fanned out to greater than the first predetermined threshold, it that is to say and determine the first gauze
After being fanned out to gauze for height, then need to judge whether the current iteration period is the special iterative period.Wherein, from First Input First Output
Each gauze in institute's wired network is successively taken out according to wiring sequence, is an iteration cycle.And what the special iterative period then referred to
It is that there are the iteration cycles of fixed numbers relationship with the first iteration cycle.Here fixed numbers relationship can for multiple proportion,
Consistent difference relationship etc..For example, be the special iterative period by the first iteration cycle, and the 6th iteration cycle is (assuming that current change
It is the special iterative period for the period, next iteration cycle after being spaced four iteration cycles is the special iterative period) it is special
Iteration cycle.Or the secondary iteration period is the special iterative period, and the 4th iteration cycle is similarly the special iterative period,
The iteration cycle for belonging to 2 multiple proportion is the special iterative period.
Step 130, when determine the current iteration period be the special iterative period when, then after the first gauze being taken out stitches again around
Line.
Specifically, in step 130, if it is determined that the first gauze is that height is fanned out to gauze, when in order to avoid iteration each time,
When encountering height and being fanned out to gauze, it will be fanned out to gauze to height and carry out recoil of taking out stitches, to save the time of gauze wiring.It can then advise
Only just height can be fanned out to gauze at the special iterative period calmly and taken out stitches, then carry out coiling again.Otherwise, temporarily right
It is without any processing that the height is fanned out to gauze.
Step 140, judge whether current First Input First Output is empty queue, and be according to current First Input First Output
No is empty queue, executes different iterative process.
In step 130, gauze is fanned out to height to take out stitches, and carry out again after coiling.It also needs to judge current
Whether whether First Input First Output is empty queue, and be sky according to current First Input First Output, executes different iterative process.
Specific iterative process may include: first to enter when current First Input First Output is non-empty queue from current
The second gauze is taken out in first dequeue, repeats step 110 to step 140, until current First Input First Output is empty team
When column, terminate whole iterative process in current iteration period.Wherein, the wiring sequence of the second gauze lags behind the cloth of the first gauze
Line sequence, but prior to the wiring sequence of other gauzes in current First Input First Output.
Optionally, if in the step 120, if it is determined that the first gauze is there is no crowded, then can then skip step
130, and directly execute step 140.
It is further alternative, if in the step 120, determining that the first gauze there are after crowded, determines that the first gauze is fanned out to
Less than the first predetermined threshold, then coiling again after then directly the first gauze can be taken out stitches.For predetermined less than first
For the gauze of threshold value, coiling again is carried out after directly taking out stitches, inherently is accelerating to be routed.And, it is also possible to directly avoid
It is subsequent have high be fanned out to the crowded of gauze.More save the time.Also, step 130 after this, is directly skipped, step is executed
Rapid 140.
Further alternative, after step 140, this method can also include step 150: traverse institute's wired network again.
When determining in wired network there are still between two or more gauze there are it is crowded when, institute is wired
Net rejoins in First Input First Output, and enters the following iteration period.Specific process such as step 110 is to step 150, here
It repeats no more.
And when being not present crowded in institute's wired network, then it is cabled successfully, terminates all processes.
Further, it before executing step 150, in order to avoid the indefinite execution of iteration is gone down, goes back in this way
It may include step 145, judge whether the current iteration period is greater than the second predetermined threshold, it is only pre- less than second in iteration cycle
When determining threshold value, then step 150 can be executed, otherwise, wiring terminates.
Can preferably to embody the temporal order that step 105-150 is executed in the present invention.The embodiment of the present invention also mentions
Another acceleration wiring method flow diagram has been supplied, it is specific as shown in Figure 2.Fig. 1 and Fig. 2 is the specific of performance this law invention
Implementation process, only the form of expression is different.But, it needs to illustrate in Fig. 2, as mentioned above it is possible, judgement
Whether first (two) gauze crowded, then be in order to illustrate the first gauze execute iterative process after, if First Input First Output is
Non-empty queue is then needed from current queue, is taken out the second gauze, is repeated the iterative process of step 110 to step 145.When
So, first and second here be not be on practical significance first and second, but in order to distinguish different gauzes for.
It is provided by the invention it is a kind of accelerate wiring method, when encounter gauze there are it is crowded when, first determine whether that the gauze is
It is no to be fanned out to gauze for height, and when determining the gauze is that height is fanned out to gauze, then need to judge whether the current iteration period is special
Iteration cycle can just be fanned out to gauze to height and carry out recoil of taking out stitches only at the special iterative period.If in no special iteration week
Phase then skips the gauze.If the gauze is that non-height is fanned out to gauze, recoil of taking out stitches is carried out to the gauze immediately.Purpose is to the greatest extent
Amount, which avoids being fanned out to height gauze, carries out recoil of taking out stitches, and to save the time for recoil of taking out stitches, promotes the cloth linear velocity of gauze, significantly
Shorten the runing time of wiring.
Professional should further appreciate that, described in conjunction with the examples disclosed in the embodiments of the present disclosure
Unit and algorithm steps, can be realized with electronic hardware, computer software, or a combination of the two, hard in order to clearly demonstrate
The interchangeability of part and software generally describes each exemplary composition and step according to function in the above description.
These functions are implemented in hardware or software actually, the specific application and design constraint depending on technical solution.
Professional technician can use different methods to achieve the described function each specific application, but this realization
It should not be considered as beyond the scope of the present invention.
The step of method described in conjunction with the examples disclosed in this document or algorithm, can be executed with hardware, processor
The combination of software module or the two is implemented.Software module can be placed in random access memory (RAM), memory, read-only memory
(ROM), electrically programmable ROM, electrically erasable ROM, register, hard disk, moveable magnetic disc, CD-ROM or technical field
In any other form of storage medium well known to interior.
Above-described specific embodiment has carried out further the purpose of the present invention, technical scheme and beneficial effects
It is described in detail, it should be understood that being not intended to limit the present invention the foregoing is merely a specific embodiment of the invention
Protection scope, all within the spirits and principles of the present invention, any modification, equivalent substitution, improvement and etc. done should all include
Within protection scope of the present invention.
Claims (6)
1. a kind of acceleration wiring method, which is characterized in that the described method includes:
The first gauze is taken out from First Input First Output according to the wiring of institute's wired network sequence, wherein the First Line net is opposite
Other gauzes included in current First Input First Output, the preferential gauze of wiring sequence;
When determining that first gauze there are crowded, and when determining that first gauze is fanned out to greater than the first predetermined threshold, then sentences
Whether the disconnected current iteration period is the special iterative period, wherein is successively taken according to wiring sequence from the First Input First Output
Each gauze in institute's wired network out is an iteration cycle, and the special iterative period refers to depositing with the first iteration cycle
In the iteration cycle of fixed numbers relationship;
When determining the current iteration period is the special iterative period, then coiling again after first gauze being taken out stitches;
Judge whether the current First Input First Output is empty queue, when the current First Input First Output is non-empty queue
When, the second gauze is taken out from the current First Input First Output, repeats the iterative process in current iteration period,
In, the wiring sequence of second gauze lags behind first gauze, and prior to other in current First Input First Output
The wiring sequence of gauze;Alternatively,
When the current First Input First Output is empty queue, terminate the iterative process in current iteration period.
2. the method according to claim 1, wherein the method also includes: when determining first gauze not
There are it is crowded when, judge whether the current First Input First Output is empty queue;
And according to the current First Input First Output whether be empty queue, execute different iterative process.
3. the method according to claim 1, wherein it is described when determine first gauze there are it is crowded after,
The method also includes:
When determining that first gauze is fanned out to less than the first predetermined threshold, then weight after directly first gauze being taken out stitches
New coiling;
And after first gauze is taken out stitches again after coiling, judge the current First Input First Output whether be
Empty queue;
And according to the current First Input First Output whether be empty queue, execute different iterative process.
4. judging whether the current iteration period is special iterative week the method according to claim 1, wherein described
Phase, further includes: when determining the current iteration period is no special iteration cycle, judge the current First Input First Output
It whether is empty queue;
And according to the current First Input First Output whether be empty queue, execute different iterative process.
5. the method according to claim 1, wherein the determination current First Input First Output is empty team
When column, after the iterative process for terminating the current iteration period, the method also includes:
Again institute's wired network is traversed;
When between two or more the gauze in institute's wired network there are it is crowded when, by institute's wired network be added
To the First Input First Output, into the following iteration period;
Alternatively,
When being not present crowded in institute's wired network, then it is cabled successfully.
6. according to the method described in claim 5, it is characterized in that, described first enter according to the wiring sequence of institute's wired network from described
Before taking out the first gauze in first dequeue, the method also includes:
Institute's wired network is added in the First Input First Output according to the wiring sequence.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610807065.6A CN106445880B (en) | 2016-09-06 | 2016-09-06 | A kind of acceleration wiring method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610807065.6A CN106445880B (en) | 2016-09-06 | 2016-09-06 | A kind of acceleration wiring method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106445880A CN106445880A (en) | 2017-02-22 |
CN106445880B true CN106445880B (en) | 2019-07-30 |
Family
ID=58165213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610807065.6A Active CN106445880B (en) | 2016-09-06 | 2016-09-06 | A kind of acceleration wiring method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106445880B (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5798936A (en) * | 1996-06-21 | 1998-08-25 | Avant| Corporation | Congestion-driven placement method and computer-implemented integrated-circuit design tool |
CN103136386A (en) * | 2011-11-25 | 2013-06-05 | 中国科学院微电子研究所 | Wiring method of field programmable gate array (FPGA) chip |
CN105069216A (en) * | 2015-07-31 | 2015-11-18 | 深圳市同创国芯电子有限公司 | FPGA routing method and apparatus |
-
2016
- 2016-09-06 CN CN201610807065.6A patent/CN106445880B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5798936A (en) * | 1996-06-21 | 1998-08-25 | Avant| Corporation | Congestion-driven placement method and computer-implemented integrated-circuit design tool |
CN103136386A (en) * | 2011-11-25 | 2013-06-05 | 中国科学院微电子研究所 | Wiring method of field programmable gate array (FPGA) chip |
CN105069216A (en) * | 2015-07-31 | 2015-11-18 | 深圳市同创国芯电子有限公司 | FPGA routing method and apparatus |
Non-Patent Citations (1)
Title |
---|
几种用于FPGA的新型有效混合布线算法;刘战;《中国优秀博士学位论文全文数据库》;20090215;全文 |
Also Published As
Publication number | Publication date |
---|---|
CN106445880A (en) | 2017-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110442462B (en) | Multithreading data transmission method and device in TEE system | |
CN107506234B (en) | Virtual machine scheduling method and device | |
CN103827818B (en) | FIFO loading instructions | |
JP6864746B2 (en) | Heterogeneous event queue | |
CN110597606B (en) | Cache-friendly user-level thread scheduling method | |
CN103262425A (en) | System and method for contention-free memory access | |
CN110347952A (en) | A kind of method, apparatus and computer equipment for opening the direct broadcasting room page | |
CN102984083B (en) | queue management method and device | |
CN106708497A (en) | Code executing method and device | |
CN108304272B (en) | Data IO request processing method and device | |
CN105493024B (en) | A kind of data threshold prediction technique and relevant apparatus | |
CN105677744A (en) | Method and apparatus for increasing service quality in file system | |
CN106445880B (en) | A kind of acceleration wiring method | |
CN109800074A (en) | Task data concurrently executes method, apparatus and electronic equipment | |
CN110188067A (en) | Coprocessor and its data processing accelerated method | |
Chlebus et al. | Maximum throughput of multiple access channels in adversarial environments | |
CN106325981A (en) | Method and device for task scheduling | |
CN109740115A (en) | A kind of method, device and equipment for realizing matrix multiplication operation | |
CN107277062A (en) | The method for parallel processing and device of packet | |
CN111415259A (en) | Transaction queuing method, device and storage medium | |
CN115269014A (en) | Instruction scheduling method, chip and electronic equipment | |
CN106156054B (en) | A kind of method and apparatus of loading page module | |
CN110069221B (en) | Data release method and device | |
CN109643307A (en) | Stream processing system and method | |
CN104767544B (en) | A kind of method and vector arithmetic unit for realizing descrambling and de-spreading |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20190103 Address after: 901-903, 9th Floor, Satellite Building, 63 Zhichun Road, Haidian District, Beijing Applicant after: Jing Wei Qi Li (Beijing) Technology Co., Ltd. Address before: 100080 Beijing Haidian A62, East of Building No. 27, Haidian Avenue, 4th Floor, A District, Haidian District Applicant before: Beijing deep science and Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |