CN106445880B - A kind of acceleration wiring method - Google Patents

A kind of acceleration wiring method Download PDF

Info

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
Application number
CN201610807065.6A
Other languages
Chinese (zh)
Other versions
CN106445880A (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.)
Jing Wei Qi Li (Beijing) Technology Co., Ltd.
Original Assignee
Jing Wei Qi Li (beijing) Technology 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 Jing Wei Qi Li (beijing) Technology Co Ltd filed Critical Jing Wei Qi Li (beijing) Technology Co Ltd
Priority to CN201610807065.6A priority Critical patent/CN106445880B/en
Publication of CN106445880A publication Critical patent/CN106445880A/en
Application granted granted Critical
Publication of CN106445880B publication Critical patent/CN106445880B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex 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

A kind of acceleration wiring method
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.
CN201610807065.6A 2016-09-06 2016-09-06 A kind of acceleration wiring method Active CN106445880B (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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