CN110069892A - A kind of FPGA pin assignment design method and device - Google Patents

A kind of FPGA pin assignment design method and device Download PDF

Info

Publication number
CN110069892A
CN110069892A CN201910379084.7A CN201910379084A CN110069892A CN 110069892 A CN110069892 A CN 110069892A CN 201910379084 A CN201910379084 A CN 201910379084A CN 110069892 A CN110069892 A CN 110069892A
Authority
CN
China
Prior art keywords
port
pin
fpga
data structure
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910379084.7A
Other languages
Chinese (zh)
Other versions
CN110069892B (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.)
Shandong Inspur Scientific Research Institute Co Ltd
Original Assignee
Shandong Inspur Artificial Intelligence Research Institute 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 Shandong Inspur Artificial Intelligence Research Institute Co Ltd filed Critical Shandong Inspur Artificial Intelligence Research Institute Co Ltd
Priority to CN201910379084.7A priority Critical patent/CN110069892B/en
Publication of CN110069892A publication Critical patent/CN110069892A/en
Application granted granted Critical
Publication of CN110069892B publication Critical patent/CN110069892B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The present invention provides a kind of FPGA pin assignment design method and devices, this method comprises: determining design top layer input/output port message file, device usable pins message file corresponding with the model of used FPGA;It runs FPGA pin figure template database and generates script to read both of these documents, to generate the FPGA pin figure template database for graphic interface distribution FPGA pin;Operation have graphical interfaces FPGA pin assignment software, by the file of the database, design top layer input/output port FPGA pin assignment situation, shown with graphical interfaces;Operation according to outside based on graphical interfaces is modified the distribution condition and is updated into the file of above-mentioned database, to complete the design of FPGA pin assignment.First automation carries out pin predistribution, then artificial requirement-based progress pin assignment adjustment, so that artificial investment greatly reduces, therefore this programme can be improved FPGA design efficiency.

Description

A kind of FPGA pin assignment design method and device
Technical field
The present invention relates to field of computer technology, in particular to a kind of FPGA pin assignment design method and device.
Background technique
Currently, electronic information technology industry development is rapid, and it is higher and higher for the performance requirement of special chip, in integrated electricity While road technique improves rapidly, the complexity of integrated circuit is in exponential increase, and the development & production period substantially extends, cannot be fine The changeable market demand of adaptation.FPGA (Field-Programmable Gate Array, field programmable gate array) is mentioned A kind of method that can flexibly realize circuit has been supplied, the contradiction between research and development of products period and properties of product is balanced.But due to Many functions are all concentrated in one piece of FPGA, cause FPGA pin number huge.
Currently, during FPGA engineering Code Design, due to the placement position of input/output port be have it is interrelated , different port has different level demands, and there are many classifications to meet different port needs, port pinout for FPGA pin Distribution file needs are manually write manually entirely, therefore when modification Front-end Design code, placement-and-routing, input/output port adjustment etc. When, staff needs repeatedly modification FPGA pin assignment file.
As it can be seen that this FPGA pin assignment design process is cumbersome and repeats, frequently, a large amount of time is wasted, FPGA is set Count low efficiency.
Summary of the invention
The present invention provides a kind of FPGA pin assignment design method and devices, can be improved FPGA design efficiency.
In order to achieve the above object, the present invention is achieved through the following technical solutions:
On the one hand, the present invention provides a kind of FPGA pin assignment design methods, comprising:
S1: design top layer input/output port message file is determined, and determining corresponding with the model of used FPGA Device usable pins message file;
S2: the FPGA pin figure template database that operation writes in advance generates script, to read the design top layer Input/output port message file and the device usable pins message file distribute FPGA for graphic interface to generate The FPGA pin figure template database of pin;
S3: the FPGA pin assignment software with graphical interfaces that operation writes in advance, by the FPGA pinouts In the file of shape template database, top layer input/output port FPGA pin assignment situation is designed, is shown with graphical interfaces;
S4: the operation according to outside based on the graphical interfaces is modified the design top layer input/output port FPGA and is drawn Foot distribution condition;
S5: it by the modified design top layer input/output port FPGA pin assignment situation, updates and arrives the FPGA In the file of pin figure template database, to complete the design of FPGA pin assignment.
Further, the file content of the design top layer input/output port message file, comprising: the name of port set Whether word, port set type, port set level, port set allow separation, any one in the name of port, port additional levels Kind is a variety of;
The file content of the device usable pins message file, comprising: pin BANK number, pin type in BANK, Any one or more in Pin description information, pin numbering.
Further, the S2 includes: the FPGA pin figure template database generation script that operation writes in advance, with Execute operations described below:
The file content of the design top layer input/output port message file is retrieved, to be single with port set Position establish level one data structure, secondary data structure is established as unit of port, wherein any level one data structure include to A few secondary data structure, any level one data structure preserve the information of Single port group, and any secondary data structure is equal Preserve the information of Single port;
The file content of the device usable pins message file is retrieved, to establish level-one as unit of BANK Data structure establishes secondary data structure as unit of device usable pins, wherein any level one data structure includes at least One secondary data structure, any level one data structure preserve the information of a BANK, and any secondary data structure saves There is the information of a device usable pins;
By searching for established data structure, port set is ranked up;
According to port set ranking results, successively retrieval meets the pin of each port requirements, in each port set Each port carries out pin predistribution, and the pin assignment situation of each port is corresponded to the secondary data for being stored in each port In structure;
The call format of graphics template database, the data structure that will be obtained are directed to according to the FPGA pin assignment software In data-printing output, with generate for graphic interface distribution FPGA pin FPGA pin figure template database.
Further, the file content to the device usable pins message file is retrieved, comprising: using just Then expression formula retrieves the file content of the device usable pins message file.
Further, described by searching for established data structure, port set is ranked up, comprising: according to default Port set ordering rule port set is ranked up by searching for established data structure so that preceding port of sorting Priority of the priority of group not less than the posterior port set that sorts;
Accordingly, the successively retrieval meets the pins of each port requirements, comprising: according to priority from it is high to low, BANK number is from down to high sequence, and successively retrieval meets the pin of each port requirements.
Further, the data-printing output in the data structure that will be obtained, comprising: printf function is used, it will Data-printing output in obtained data structure.
Further, after completion FPGA pin assignment design, further comprise: according to the FPGA pinouts The file of shape template database is generated for this unbound document of the XDC of VIVADO or for this unbound document of the UCF of ISE.
On the other hand, the present invention provides a kind of FPGA pin assignments to design device, comprising:
Determination unit, for determining design top layer input/output port message file, and determination with used FPGA's The corresponding device usable pins message file of model;
Running unit generates script for running the FPGA pin figure template database write in advance, to read Design top layer input/output port message file and the device usable pins message file are stated, is used for graphical boundary to generate The FPGA pin figure template database of face distribution FPGA pin;
Processing unit will be described for running the FPGA pin assignment software with graphical interfaces write in advance In the file of FPGA pin figure template database, top layer input/output port FPGA pin assignment situation is designed, with figure circle Face is shown;Operation according to outside based on the graphical interfaces is modified the design top layer input/output port FPGA and is drawn Foot distribution condition;By the modified design top layer input/output port FPGA pin assignment situation, updates and arrive the FPGA In the file of pin figure template database, to complete the design of FPGA pin assignment.
Further, the file content of the design top layer input/output port message file, comprising: the name of port set Whether word, port set type, port set level, port set allow separation, any one in the name of port, port additional levels Kind is a variety of;
The file content of the device usable pins message file, comprising: pin BANK number, pin type in BANK, Any one or more in Pin description information, pin numbering.
Further, the running unit is generated for running the FPGA pin figure template database write in advance Script, to execute operations described below: the file content of the design top layer input/output port message file is retrieved, thus Level one data structure is established as unit of port set, secondary data structure is established as unit of port, wherein any level one data Structure includes at least one secondary data structure, and any level one data structure preserves the information of Single port group, and any two Grade data structure preserves the information of Single port;The file content of the device usable pins message file is retrieved, To establish level one data structure as unit of BANK, secondary data structure is established as unit of device usable pins, wherein appoint One level one data structure includes at least one secondary data structure, and any level one data structure preserves the letter of a BANK Breath, any secondary data structure preserve the information of a device usable pins;By searching for established data structure, opposite end Mouth group is ranked up;According to port set ranking results, successively retrieval meets the pin of each port requirements, to each port set Interior each port carries out pin predistribution, and the pin assignment situation of each port is corresponded to the second level for being stored in each port In data structure;The call format of graphics template database, the data that will be obtained are directed to according to the FPGA pin assignment software Data-printing output in structure, to generate the FPGA pin figure template data for graphic interface distribution FPGA pin Library.
Further, the running unit, for using regular expression, to the device usable pins message file File content is retrieved.
Further, the running unit is used for according to preset port set ordering rule, by searching for established number According to structure, port set is ranked up, so that the priority for the preceding port set that sorts is not less than the posterior port set that sorts Priority;According to priority from high to low, BANK number from down to high sequence, successively retrieval meets drawing for each port requirements Foot.
Further, the running unit, for using printf function, by the data-printing in obtained data structure Output.
Further, which designs device further include: generation unit, for according to the FPGA pinouts The file of shape template database is generated for this unbound document of the XDC of VIVADO or for this unbound document of the UCF of ISE.
The present invention provides a kind of FPGA pin assignment design method and devices, this method comprises: determining that design top layer is defeated Enter output port message file, device usable pins message file corresponding with the model of used FPGA;Operation FPGA draws Foot graphics template database generates script to read both of these documents, to generate for graphic interface distribution FPGA pin FPGA pin figure template database;Operation has the FPGA pin assignment software of graphical interfaces, by the file of the database In, design top layer input/output port FPGA pin assignment situation, shown with graphical interfaces;Figure circle is based on according to outside The operation in face is modified the distribution condition and is updated into the file of above-mentioned database, to complete the design of FPGA pin assignment.First certainly Dynamicization carries out pin predistribution, then artificial requirement-based progress pin assignment adjustment, so that artificial investment greatly reduces, therefore energy of the present invention Enough improve FPGA design efficiency.
Detailed description of the invention
In order to more clearly explain the embodiment of the invention or the technical proposal in the existing technology, to embodiment or will show below There is attached drawing needed in technical description to be briefly described, it should be apparent that, the accompanying drawings in the following description is the present invention Some embodiments for those of ordinary skill in the art without creative efforts, can also basis These attached drawings obtain other attached drawings.
Fig. 1 is a kind of flow chart for FPGA pin assignment design method that one embodiment of the invention provides;
Fig. 2 is the flow chart for another FPGA pin assignment design method that one embodiment of the invention provides;
Fig. 3 is a kind of schematic diagram for graphical interfaces that one embodiment of the invention provides;
Fig. 4 is the schematic diagram for another graphical interfaces that one embodiment of the invention provides;
Fig. 5 is a kind of schematic diagram for FPGA pin assignment design device that one embodiment of the invention provides;
Fig. 6 is the schematic diagram for another FPGA pin assignment design device that one embodiment of the invention provides.
Specific embodiment
In order to make the object, technical scheme and advantages of the embodiment of the invention clearer, below in conjunction with the embodiment of the present invention In attached drawing, technical scheme in the embodiment of the invention is clearly and completely described, it is clear that described embodiment is A part of the embodiment of the present invention, instead of all the embodiments, based on the embodiments of the present invention, those of ordinary skill in the art Every other embodiment obtained without making creative work, shall fall within the protection scope of the present invention.
As shown in Figure 1, may include following step the embodiment of the invention provides a kind of FPGA pin assignment design method It is rapid:
Step 101: determining design top layer input/output port message file, and the determining model phase with used FPGA Corresponding device usable pins message file.
Step 102: the FPGA pin figure template database that operation writes in advance generates script, to read the design Top layer input/output port message file and the device usable pins message file distribute to generate for graphic interface The FPGA pin figure template database of FPGA pin.
Step 103: the FPGA pin assignment software with graphical interfaces that operation writes in advance draws the FPGA In the file of foot graphics template database, top layer input/output port FPGA pin assignment situation is designed, is carried out with graphical interfaces Display.
Step 104: the design top layer input/output port is modified in the operation according to outside based on the graphical interfaces FPGA pin assignment situation.
Step 105: the modified design top layer input/output port FPGA pin assignment situation is updated to described In the file of FPGA pin figure template database, to complete the design of FPGA pin assignment.
The embodiment of the invention provides a kind of FPGA pin assignment design methods, this method comprises: determining that design top layer is defeated Enter output port message file, device usable pins message file corresponding with the model of used FPGA;Operation FPGA draws Foot graphics template database generates script to read both of these documents, to generate for graphic interface distribution FPGA pin FPGA pin figure template database;Operation has the FPGA pin assignment software of graphical interfaces, by the file of the database In, design top layer input/output port FPGA pin assignment situation, shown with graphical interfaces;Figure circle is based on according to outside The operation in face is modified the distribution condition and is updated into the file of above-mentioned database, to complete the design of FPGA pin assignment.First certainly Dynamicization carries out pin predistribution, then artificial requirement-based progress pin assignment adjustment, so that artificial investment greatly reduces, therefore the present invention is real Applying example can be improved FPGA design efficiency.
In detail, the distribution between pin assignment, that is, several input/output ports and several FPGA pins, in this way, please referring to Step 101 is stated, needs to predefine port information and pinout information.
For example, in an embodiment of the invention, the file content of the design top layer input/output port message file, Include: whether name, port set type, port set level, the port set of port set allow separation, the name of port, port attached It is powered on any one or more in flat.
For example, in an embodiment of the invention, the file content of the device usable pins message file, comprising: draw Foot BANK number, pin type in BANK, Pin description information, any one or more in pin numbering.
In detail, Xilinx is a supplier of programmable logic total solution.In an embodiment of the invention, It, can in order to illustrate a kind of determining device when this pin assignment design method is applied to the project using Xilinx FPGA design With the possibility implementation of pinout information file, so, in above-mentioned steps 101, the model phase of the determination and used FPGA Corresponding device usable pins message file, comprising: according to the model of used FPGA, used in document from Xilinx device, Obtain encapsulation corresponding to the model and pin (Packaging and Pinouts) information, and according to the encapsulation got and Pinout information establishes device usable pins message file.
Above-mentioned steps 102 are please referred to, needs to write FPGA pin figure template database in advance and generates script, use the foot Originally the FPGA pin figure template database for graphic interface distribution FPGA pin can be generated.
In detail, the script file can be used tcl (Tool Command Language, Tool Command Language), Python etc. is realized.In detail, Python is a kind of computer programming language.
In an embodiment of the invention, the possibility implementation of database is generated in order to illustrate a kind of Run Script, So the step 102 includes: the FPGA pin figure template database generation script that operation writes in advance, under executing State operation:
The file content of the design top layer input/output port message file is retrieved, to be single with port set Position establish level one data structure, secondary data structure is established as unit of port, wherein any level one data structure include to A few secondary data structure, any level one data structure preserve the information of Single port group, and any secondary data structure is equal Preserve the information of Single port;
The file content of the device usable pins message file is retrieved, to establish level-one as unit of BANK Data structure establishes secondary data structure as unit of device usable pins, wherein any level one data structure includes at least One secondary data structure, any level one data structure preserve the information of a BANK, and any secondary data structure saves There is the information of a device usable pins;
By searching for established data structure, port set is ranked up;
According to port set ranking results, successively retrieval meets the pin of each port requirements, in each port set Each port carries out pin predistribution, and the pin assignment situation of each port is corresponded to the secondary data for being stored in each port In structure;
The call format of graphics template database, the data structure that will be obtained are directed to according to the FPGA pin assignment software In data-printing output, with generate for graphic interface distribution FPGA pin FPGA pin figure template database.
In detail, the information of port set may include the name of port set, port set type, port set level, port set Whether allow to separate etc..
In detail, the information of port may include the name of port, port additional electrical equality.
In detail, the information of BANK may include pin BANK number, pin type etc. in BANK.For example, drawing in BANK Pin class type is HP type or HR type, or still GTH type.
In detail, the information of device usable pins may include Pin description information, pin numbering etc..
In detail, by generating this FPGA pin figure template database, be equivalent to complete automation pin divide in advance Match.In the embodiment of the present invention, automation pin predistribution is carried out according to default allocation rule first, it later can be through graphical interfaces This predistribution result is shown to user, so that user on demand can artificially adjust pin assignment.Referring to FIG. 2, i.e. It can be the example of a graphical interfaces.This example can be for the example after predistribution, or any adjustment of user Example afterwards.
Referring to FIG. 2, interface example shown in Fig. 2 shows current pin assignment situation from top layer.It is shown in Fig. 2 several For the button block of BANK, show the type of the BANK on each button block, for example can be HP, HR, GTH etc.;Type The number of back is the number of BANK;In subsequent first square brackets, the number before "/" is the used number of pins of BANK, Total number of pins that number after "/" is BANK;Number in subsequent second square brackets is that user's expectation is placed on the BANK's Residue does not complete the pin number of distribution.
For example, total number of pins of a BANK is 30, but user expects to have 40 pins and is put into the BANK, in this way, It is successfully put into the BANK in 30 wherein, another 10 when be put into the BANK not successfully, second square brackets of button block In number be 10.
When clicking any button block for BANK, next graphical interfaces can be entered, to draw to each under the BANK Foot is shown, for example, content shown in Fig. 3 can be for next graphical interfaces.
In Fig. 2, bottom is there are also remaining button block and completes distribution button block.The number shown on remaining button block is institute There is unallocated pin number, the detailed name letter of all unallocated pins can be shown in next graphical interfaces by clicking the button block Breath.After being assigned, user can click completion distribution button block, thus automatic production constraint file.
Referring to FIG. 3, the number after byte can be the number of each byte in BANK.Number in circle is that pin exists Number in byte, it is round after number in rectangle frame be pin name.Each circle is corresponding with Single port, if therefore the end Mouth is currently unallocated pin, then is empty in the rectangle frame of back.
Fig. 3 is shown at intermediate region, and user's expectation is placed on the pinout information of remaining unallocated pin in the BANK.Herein Number is consistent in the pin number of display, with second square brackets of the button block of the BANK.
Remaining IO number, i.e. total surplus pin number are shown at Fig. 3 lower zone, it can be for residue in other all BANK not Distribute the summation of pin number.It clicks the button, can also show all unallocated pinout informations in region above.
Referring to FIG. 3, top can have been distributed to the button block point of I/O pin when user needs to manually adjust pin assignment Firmly and it is dragged to lower section unassigned zone, the button block point of any I/O pin in the unassigned zone of lower section can also be lived and is dragged to In one rectangle frame of top, pin assignment is completed.
Based on above content, in embodiments of the present invention, further, when executing pin predistribution, if there is can not The input/output port that pin assignment is completed according to predetermined policy can then be abandoned carrying out pin assignment to the input/output port. For example, referring to FIG. 3, if an input/output port does not carry out pin assignment, the rectangle frame on the corresponding round right side in the port In be empty.In this way, user manually can carry out pin assignment to the port on demand, such as can be by a pin in the intermediate region Fig. 3 Button block, drag in the rectangle frame on the corresponding round right side in the port, taking human as the matching relationship established between the two.
In detail, when Run Script, regular expression can be used to carry out information retrieval, use priority sequence carries out pin Predistribution carries out result printing using printf function.
Therefore, it is based on above content, it is in an embodiment of the invention, described to the device usable pins message file File content retrieved, comprising: use regular expression, to the file content of the device usable pins message file into Row retrieval.
It is in an embodiment of the invention, described by searching for established data structure based on above content, to port Group is ranked up, comprising: according to preset port set ordering rule, by searching for established data structure, to port set into Row sequence, so that priority of the priority for the preceding port set that sorts not less than the posterior port set that sorts;
Accordingly, the successively retrieval meets the pins of each port requirements, comprising: according to priority from it is high to low, BANK number is from down to high sequence, and successively retrieval meets the pin of each port requirements.
For example, can require port set not allows the highest priority of separation, and remaining port set can be according to required Pin BANK byte orderings, for example, the priority of HP type pin is higher than the priority of HR type pin.
Based on above content, in an embodiment of the invention, the data-printing in the data structure that will be obtained is defeated Out, comprising: use printf function, the data-printing in obtained data structure is exported.
Above-mentioned steps 103 are please referred to, need to write FPGA pin assignment software in advance.It, can be by FPGA using the software In pin figure template database file, it is aobvious with graphical interfaces to design top layer input/output port FPGA pin assignment situation Show.In this way, user can operate graphic interface, to modify pin assignment on demand.
In detail, Visual Basic language can be used to write software.
Above-mentioned steps 104 are please referred to, after being shown with graphical interfaces, user pre-allocates situation by observing existing pin, It is allocated adjustment using graphical interfaces as needed, with complete design top layer input/output port pin assignment.Certainly, please join Above-mentioned steps 105 are examined, the pin allocation information of change is automatically updated to arrive FPGA pin figure template database file.
In detail, user can freely adjust the position of each FPGA pin before ultimately generating file, to realize most Excellent FPGA pin assignment.
After completing pin assignment, the XDC for VIVADO software or the UCF constraint text for ISE are produced as needed Part.Therefore, in an embodiment of the invention, after the step 105, further comprise: according to the FPGA pinouts The file of shape template database is generated for this unbound document of the XDC of VIVADO or for this unbound document of the UCF of ISE.
Unbound document based on generation can carry out the practical operation of FPGA pin assignment under corresponding the integration environment.
In detail, VIVADO software is an integrated design enviroment of FPGA manufacturer publication, XDC (Xilinx Design It Constraints) is its unbound document.
In detail, ISE (Integrated Software Environment, integrated software conditions with micro) is Xilinx company Hardware design tool, UCF be its unbound document.
Based on above-mentioned full content it is found that one embodiment of the invention can be soft by using automatized script and graphical interfaces Part, according to design top layer input/output port message file and device usable pins message file, automation is generated and is used for The XDC of VIVADO software or UCF unbound document for ISE.When design modification Front-end Design code, port level standard, end Mouth name, port number etc., when so that needing to modify port pinout distribution file, it is only necessary to re-call automatized script, make FPGA pin assignment is carried out with graphic interface software, generates new port pinout distribution file.In this way, greatly improved The efficiency of FPGA design, accelerates project process.
In conclusion this FPGA pin assignment design based on graphical interfaces provided in an embodiment of the present invention, Ke Yishi For using the project of Xilinx FPGA design, it can be achieved that automation predistribution pin, is divided based on graphic interface adjustment pin Match, is automatically performed the generation of pin assignment unbound document, improves the automatization level of FPGA design, reduce mistake caused by manual operation Accidentally, accelerate project development progress.
As shown in figure 4, one embodiment of the invention provides another FPGA pin assignment design method, to be applied to make For project with Xilinx FPGA design, specifically includes the following steps:
Step 401: using Python, write FPGA pin figure template database and generate script.
Step 402: using Visual Basic language, write the FPGA pin assignment software with graphical interfaces.
Step 403: determining design top layer input/output port message file.
In the embodiment of the present invention, the file content of this file includes: the name of port set, port set type, port set Whether level, port set allow separation, the name of port, port additional levels.
Step 404: being obtained corresponding to the model according to the model of used FPGA from Xilinx device using in document Encapsulation and pinout information establish device usable pins message file and according to the encapsulation and pinout information got.
In the embodiment of the present invention, the file content of this file includes: pin BANK number, pin type in BANK, draws Foot description information, pin numbering.
Step 405: operation FPGA pin figure template database generates script, to execute step 406 to step 410.
Step 406: the file content of design top layer input/output port message file being retrieved, thus with port set Level one data structure is established for unit, secondary data structure is established as unit of port, wherein any level one data structure is wrapped Containing at least one secondary data structure, any level one data structure preserves the information of Single port group, any secondary data knot Structure preserves the information of Single port.
Step 407: regular expression is used, the file content of device usable pins message file is retrieved, thus Level one data structure is established as unit of BANK, secondary data structure is established as unit of device usable pins, wherein Ren Yiyi Grade data structure includes at least one secondary data structure, and any level one data structure preserves the information of a BANK, is appointed One secondary data structure preserves the information of a device usable pins.
Step 408: according to preset port set ordering rule, by searching for established data structure, to port set into Row sequence, so that priority of the priority for the preceding port set that sorts not less than the posterior port set that sorts.
Step 409: according to port set ranking results, according to priority from high to low, BANK number from down to high sequence, Successively retrieval meets the pin of each port requirements, to carry out pin predistribution to each port in each port set, and will The pin assignment situation correspondence of each port is stored in the secondary data structure of each port.
Step 410: being directed to the call format of graphics template database according to FPGA pin assignment software, use printf letter Number exports the data-printing in obtained data structure, is drawn with generating for the FPGA of graphic interface distribution FPGA pin Foot graphics template database.
Step 411: operation has the FPGA pin assignment software of graphical interfaces, by FPGA pin figure template database File in, design top layer input/output port FPGA pin assignment situation, shown with graphical interfaces.
Step 412: the operation according to outside based on graphical interfaces, modification design top layer input/output port FPGA pin point With situation.
Step 413: by modified design top layer input/output port FPGA pin assignment situation, updating and arrive FPGA pin In the file of graphics template database, to complete the design of FPGA pin assignment.
Step 414: according to the file of FPGA pin figure template database, generating and be used for this constraint of the XDC of VIVADO File.
This FPGA pin assignment design method described in the embodiment of the present invention, easy to implement, process is simple, efficiently steady It is fixed, it can substantially shorten the time of manual compiling port pinout distribution file, improve FPGA design efficiency.Certainly, because of artificial behaviour Work greatly reduces, therefore correspondingly reduces the easy bring mistake of manual operation institute.
As shown in figure 5, one embodiment of the invention provides a kind of FPGA pin assignment design device, may include:
Determination unit 501, for determining design top layer input/output port message file, and determining and used FPGA The corresponding device usable pins message file of model;
Running unit 502 generates script for running the FPGA pin figure template database write in advance, to read The design top layer input/output port message file and the device usable pins message file, to generate for graphical The FPGA pin figure template database of interfacial distribution FPGA pin;
Processing unit 503, for running the FPGA pin assignment software with graphical interfaces write in advance, by institute It states in the file of FPGA pin figure template database, design top layer input/output port FPGA pin assignment situation, with figure Interface is shown;The design top layer input/output port FPGA is modified in operation according to outside based on the graphical interfaces Pin assignment situation;The modified design top layer input/output port FPGA pin assignment situation is updated to described In the file of FPGA pin figure template database, to complete the design of FPGA pin assignment.
In an embodiment of the invention, the file content of the design top layer input/output port message file, comprising: Whether name, port set type, port set level, the port set of port set allow separation, the name of port, port additional levels In any one or more;
The file content of the device usable pins message file, comprising: pin BANK number, pin type in BANK, Any one or more in Pin description information, pin numbering.
In an embodiment of the invention, the running unit 502, for running the FPGA pin figure write in advance Template database generates script, to execute operations described below: in the file of the design top layer input/output port message file Appearance is retrieved, to establish level one data structure as unit of port set, secondary data structure is established as unit of port, In, any level one data structure includes at least one secondary data structure, and any level one data structure preserves Single port The information of group, any secondary data structure preserve the information of Single port;To the text of the device usable pins message file Part content is retrieved, to establish level one data structure as unit of BANK, establishes second level as unit of device usable pins Data structure, wherein any level one data structure includes at least one secondary data structure, and any level one data structure is protected There is the information of a BANK, any secondary data structure preserves the information of a device usable pins;By searching for establishing Data structure, port set is ranked up;According to port set ranking results, successively retrieval meets drawing for each port requirements Foot to carry out pin predistribution to each port in each port set, and the pin assignment situation of each port is corresponded to and is protected There are in the secondary data structure of each port;The format of graphics template database is directed to according to the FPGA pin assignment software It is required that the data-printing in obtained data structure is exported, to generate the FPGA for graphic interface distribution FPGA pin Pin figure template database.
In an embodiment of the invention, the running unit 502 can to the device for using regular expression It is retrieved with the file content of pinout information file.
In an embodiment of the invention, the running unit 502, for leading to according to preset port set ordering rule It crosses and searches established data structure, port set is ranked up, so that the priority for the preceding port set that sorts is not less than row The priority of the posterior port set of sequence;According to priority from high to low, BANK number from down to high sequence, successively retrieval meets The pin of each port requirements.
In an embodiment of the invention, the running unit 502, for using printf function, the data that will be obtained Data-printing output in structure.
In an embodiment of the invention, referring to FIG. 6, FPGA pin assignment design device can also include: to generate Unit 601 generates for the file according to the FPGA pin figure template database and is used for this constraint of the XDC of VIVADO File or for this unbound document of the UCF of ISE.
The contents such as the information exchange between each unit, implementation procedure in above-mentioned apparatus, due to implementing with the method for the present invention Example is based on same design, and for details, please refer to the description in the embodiment of the method for the present invention, and details are not described herein again.
In conclusion the embodiment of the present invention have it is at least following the utility model has the advantages that
1, in the embodiment of the present invention, design top layer input/output port message file, the model with used FPGA are determined Corresponding device usable pins message file;Operation FPGA pin figure template database generates script to read the two texts Part, to generate the FPGA pin figure template database for graphic interface distribution FPGA pin;Operation has figure circle The FPGA pin assignment software in face, by the file of the database, design top layer input/output port FPGA pin assignment feelings Condition is shown with graphical interfaces;Operation according to outside based on graphical interfaces is modified the distribution condition and is updated to above-mentioned number According in the file in library, designed with completing FPGA pin assignment.First automation carries out pin predistribution, then artificial requirement-based carry out pin Distribution adjustment, so that artificial investment greatly reduces, therefore the embodiment of the present invention can be improved FPGA design efficiency.
2, one embodiment of the invention can be by using automatized script and graphic interface software, according to design top layer input Output port message file and device usable pins message file, automation generate the XDC for VIVADO software or are used for ISE UCF unbound document.When design modification Front-end Design code, port level standard, port name, port number etc., so that needing When modifying port pinout distribution file, it is only necessary to re-call automatized script, carry out FPGA using graphic interface software and draw Foot distribution generates new port pinout distribution file.In this way, the efficiency of FPGA design greatly improved, project is accelerated Progress.
3, it is provided in an embodiment of the present invention this based on graphical interfaces FPGA pin assignment design, can be adapted for using The project of Xilinx FPGA design is, it can be achieved that automation predistribution pin, adjusts pin assignment based on graphic interface, automatically It completes pin assignment unbound document to generate, improves the automatization level of FPGA design, reduce mistake caused by manual operation, accelerate Project development progress.
4, this FPGA pin assignment design method described in the embodiment of the present invention, easy to implement, process is simple, efficiently steady It is fixed, it can substantially shorten the time of manual compiling port pinout distribution file, improve FPGA design efficiency.Certainly, because of artificial behaviour Work greatly reduces, therefore correspondingly reduces the easy bring mistake of manual operation institute.
It should be noted that, in this document, such as first and second etc relational terms are used merely to an entity Or operation is distinguished with another entity or operation, is existed without necessarily requiring or implying between these entities or operation Any actual relationship or order.Moreover, the terms "include", "comprise" or its any other variant be intended to it is non- It is exclusive to include, so that the process, method, article or equipment for including a series of elements not only includes those elements, It but also including other elements that are not explicitly listed, or further include solid by this process, method, article or equipment Some elements.In the absence of more restrictions, the element limited by sentence " including one ", is not arranged Except there is also other identical factors in the process, method, article or apparatus that includes the element.
Those of ordinary skill in the art will appreciate that: realize that all or part of the steps of above method embodiment can pass through The relevant hardware of program instruction is completed, and program above-mentioned can store in computer-readable storage medium, the program When being executed, step including the steps of the foregoing method embodiments is executed;And storage medium above-mentioned includes: ROM, RAM, magnetic disk or light In the various media that can store program code such as disk.
Finally, it should be noted that the foregoing is merely presently preferred embodiments of the present invention, it is merely to illustrate skill of the invention Art scheme, is not intended to limit the scope of the present invention.Any modification for being made all within the spirits and principles of the present invention, Equivalent replacement, improvement etc., are included within the scope of protection of the present invention.

Claims (10)

1. a kind of field programmable gate array FPGA pin assignment design method characterized by comprising
S1: it determines design top layer input/output port message file, and determines device corresponding with the model of used FPGA Part usable pins message file;
S2: the FPGA pin figure template database that operation writes in advance generates script, to read the design top layer input Output port message file and the device usable pins message file distribute FPGA pin for graphic interface to generate FPGA pin figure template database;
S3: the FPGA pin assignment software with graphical interfaces that operation writes in advance, by the FPGA pin figure mould In the file of plate database, top layer input/output port FPGA pin assignment situation is designed, is shown with graphical interfaces;
S4: the design top layer input/output port FPGA pin point is modified in the operation according to outside based on the graphical interfaces With situation;
S5: it by the modified design top layer input/output port FPGA pin assignment situation, updates and arrives the FPGA pin In the file of graphics template database, to complete the design of FPGA pin assignment.
2. the method according to claim 1, wherein
The file content of the design top layer input/output port message file, comprising: the name of port set, port set type, Whether port set level, port set allow separation, any one or more in the name of port, port additional levels;
The file content of the device usable pins message file, comprising: pin type, pin in pin BANK number, BANK Any one or more in description information, pin numbering.
3. the method according to claim 1, wherein
The S2 includes: the FPGA pin figure template database generation script that operation writes in advance, to execute operations described below:
The file content of the design top layer input/output port message file is retrieved, to be built as unit of port set Vertical level one data structure, establishes secondary data structure, wherein any level one data structure includes at least one as unit of port A secondary data structure, any level one data structure preserve the information of Single port group, and any secondary data structure saves There is the information of Single port;
The file content of the device usable pins message file is retrieved, to establish level one data as unit of BANK Structure establishes secondary data structure as unit of device usable pins, wherein any level one data structure includes at least one Secondary data structure, any level one data structure preserve the information of a BANK, and any secondary data structure preserves one The information of device usable pins;
By searching for established data structure, port set is ranked up;
According to port set ranking results, successively retrieval meets the pin of each port requirements, to each in each port set Port carries out pin predistribution, and the pin assignment situation of each port is corresponded to the secondary data structure for being stored in each port In;
The call format of graphics template database is directed to according to the FPGA pin assignment software, it will be in obtained data structure Data-printing output, to generate the FPGA pin figure template database for graphic interface distribution FPGA pin.
4. according to the method described in claim 3, it is characterized in that,
The file content to the device usable pins message file is retrieved, comprising: regular expression is used, to institute The file content for stating device usable pins message file is retrieved;
And/or
It is described by searching for established data structure, port set is ranked up, comprising: according to preset port set sort advise Then, by searching for established data structure, port set is ranked up, so that the priority for the preceding port set that sorts is not small In the priority for the posterior port set that sorts;
Accordingly, the successively retrieval meets the pin of each port requirements, comprising: compiles according to priority from high to low, BANK Number from down to high sequence, successively retrieval meets the pin of each port requirements;
And/or
Data-printing output in the data structure that will be obtained, comprising: use printf function, the data structure that will be obtained In data-printing output.
5. according to claim 1 to any method in 4, which is characterized in that
After completion FPGA pin assignment design, further comprise:
According to the file of the FPGA pin figure template database, generates and be used for this unbound document of the XDC of VIVADO or use In this unbound document of the UCF of ISE.
6. a kind of field programmable gate array FPGA pin assignment designs device characterized by comprising
Determination unit, for determining design top layer input/output port message file, and the determining model with used FPGA Corresponding device usable pins message file;
Running unit generates script for running the FPGA pin figure template database write in advance, to set described in reading Top layer input/output port message file and the device usable pins message file are counted, to generate for graphic interface point FPGA pin figure template database with FPGA pin;
Processing unit, for running the FPGA pin assignment software with graphical interfaces write in advance, by the FPGA In the file of pin figure template database, design top layer input/output port FPGA pin assignment situation, with graphical interfaces into Row display;The design top layer input/output port FPGA pin point is modified in operation according to outside based on the graphical interfaces With situation;By the modified design top layer input/output port FPGA pin assignment situation, updates and arrive the FPGA pin In the file of graphics template database, to complete the design of FPGA pin assignment.
7. FPGA pin assignment according to claim 6 designs device, which is characterized in that
The file content of the design top layer input/output port message file, comprising: the name of port set, port set type, Whether port set level, port set allow separation, any one or more in the name of port, port additional levels;
The file content of the device usable pins message file, comprising: pin type, pin in pin BANK number, BANK Any one or more in description information, pin numbering.
8. FPGA pin assignment according to claim 6 designs device, which is characterized in that
The running unit generates script for running the FPGA pin figure template database write in advance, under executing It states operation: the file content of the design top layer input/output port message file is retrieved, to be single with port set Position establish level one data structure, secondary data structure is established as unit of port, wherein any level one data structure include to A few secondary data structure, any level one data structure preserve the information of Single port group, and any secondary data structure is equal Preserve the information of Single port;The file content of the device usable pins message file is retrieved, to be with BANK Unit establishes level one data structure, and secondary data structure is established as unit of device usable pins, wherein any level one data knot Structure includes at least one secondary data structure, and any level one data structure preserves the information of a BANK, any secondary number The information of a device usable pins is preserved according to structure;By searching for established data structure, port set is ranked up; According to port set ranking results, successively retrieval meets the pin of each port requirements, to each port in each port set Pin predistribution is carried out, and the pin assignment situation of each port correspondence is stored in the secondary data structure of each port; The call format of graphics template database is directed to according to the FPGA pin assignment software, by the data in obtained data structure Printout, to generate the FPGA pin figure template database for graphic interface distribution FPGA pin.
9. FPGA pin assignment according to claim 8 designs device, which is characterized in that
The running unit carries out the file content of the device usable pins message file for using regular expression Retrieval;
And/or
The running unit is used for according to preset port set ordering rule, by searching for established data structure, to port Group is ranked up, so that priority of the priority for the preceding port set that sorts not less than the posterior port set that sorts;According to excellent First grade is from high to low, BANK number from down to high sequence, and successively retrieval meets the pin of each port requirements;
And/or
The running unit exports the data-printing in obtained data structure for using printf function.
10. designing device according to the FPGA pin assignment any in claim 6 to 9, which is characterized in that
Further include: generation unit is generated for the file according to the FPGA pin figure template database for VIVADO's This unbound document of XDC or for this unbound document of the UCF of ISE.
CN201910379084.7A 2019-05-08 2019-05-08 FPGA pin allocation design method and device Active CN110069892B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910379084.7A CN110069892B (en) 2019-05-08 2019-05-08 FPGA pin allocation design method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910379084.7A CN110069892B (en) 2019-05-08 2019-05-08 FPGA pin allocation design method and device

Publications (2)

Publication Number Publication Date
CN110069892A true CN110069892A (en) 2019-07-30
CN110069892B CN110069892B (en) 2023-07-25

Family

ID=67370337

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910379084.7A Active CN110069892B (en) 2019-05-08 2019-05-08 FPGA pin allocation design method and device

Country Status (1)

Country Link
CN (1) CN110069892B (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110489297A (en) * 2019-08-26 2019-11-22 山东浪潮人工智能研究院有限公司 A kind of FPGA debugging signal setting method based on graphical interfaces
CN110674069A (en) * 2019-09-26 2020-01-10 北京智芯微电子科技有限公司 Digital pin conversion circuit and method of chip and chip
CN111123084A (en) * 2019-12-11 2020-05-08 中国电子科技集团公司第二十研究所 TCL language-based digital circuit rapid test method
CN112650105A (en) * 2020-12-11 2021-04-13 类人思维(山东)智慧科技有限公司 Port management layer construction method, system, terminal and storage medium
CN114970437A (en) * 2022-07-28 2022-08-30 北京万龙精益科技有限公司 Signal network adjusting method for rearrangement of device pins in PCB
CN115374742A (en) * 2022-10-25 2022-11-22 广州市保伦电子有限公司 Method and device for pin package design of schematic diagram and storage medium
CN116128448A (en) * 2023-01-09 2023-05-16 苏州异格技术有限公司 Design data processing method and device for FPGA engineering project and electronic equipment
WO2024060926A1 (en) * 2022-09-21 2024-03-28 深圳市紫光同创电子有限公司 Constraint file import method and apparatus, device, and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105512425A (en) * 2015-12-25 2016-04-20 浪潮集团有限公司 Method for constructing IO PAD layout based on graphical interface
CN108052326A (en) * 2017-12-05 2018-05-18 北京工业大学 A kind of Xilinx FPGA support the implementation method of Arduino IDE exploitations

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105512425A (en) * 2015-12-25 2016-04-20 浪潮集团有限公司 Method for constructing IO PAD layout based on graphical interface
CN108052326A (en) * 2017-12-05 2018-05-18 北京工业大学 A kind of Xilinx FPGA support the implementation method of Arduino IDE exploitations

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110489297A (en) * 2019-08-26 2019-11-22 山东浪潮人工智能研究院有限公司 A kind of FPGA debugging signal setting method based on graphical interfaces
CN110489297B (en) * 2019-08-26 2023-07-25 山东浪潮科学研究院有限公司 FPGA debugging signal setting method based on graphical interface
CN110674069A (en) * 2019-09-26 2020-01-10 北京智芯微电子科技有限公司 Digital pin conversion circuit and method of chip and chip
CN111123084A (en) * 2019-12-11 2020-05-08 中国电子科技集团公司第二十研究所 TCL language-based digital circuit rapid test method
CN111123084B (en) * 2019-12-11 2022-03-01 中国电子科技集团公司第二十研究所 TCL language-based digital circuit rapid test method
CN112650105A (en) * 2020-12-11 2021-04-13 类人思维(山东)智慧科技有限公司 Port management layer construction method, system, terminal and storage medium
CN114970437A (en) * 2022-07-28 2022-08-30 北京万龙精益科技有限公司 Signal network adjusting method for rearrangement of device pins in PCB
WO2024060926A1 (en) * 2022-09-21 2024-03-28 深圳市紫光同创电子有限公司 Constraint file import method and apparatus, device, and storage medium
CN115374742A (en) * 2022-10-25 2022-11-22 广州市保伦电子有限公司 Method and device for pin package design of schematic diagram and storage medium
CN116128448A (en) * 2023-01-09 2023-05-16 苏州异格技术有限公司 Design data processing method and device for FPGA engineering project and electronic equipment
CN116128448B (en) * 2023-01-09 2023-10-17 苏州异格技术有限公司 Design data processing method and device for FPGA engineering project and electronic equipment

Also Published As

Publication number Publication date
CN110069892B (en) 2023-07-25

Similar Documents

Publication Publication Date Title
CN110069892A (en) A kind of FPGA pin assignment design method and device
CN104679488B (en) A kind of flow custom development platform and flow custom development approach
CN106599039B (en) Statistical representation method supporting free combination nesting of relational database data
CN108984712A (en) Counting method, equipment and readable storage medium storing program for executing are made based on business scenario
CN115658041B (en) Low-code enhanced service implementation method based on online service flow arrangement
US7926024B2 (en) Method and apparatus for managing complex processes
CN109636301A (en) Workflow configuration method, system, terminal and the readable storage medium storing program for executing of financial business
EP0560619A2 (en) Method and apparatus for designing computer programs for business
US20170139685A1 (en) Visual software modeling method to construct software views based on a software meta view
CN106485390A (en) The generation method of examination & approval stream and device
CN111796815A (en) Application of full-automatic visual software building platform
CN107506442A (en) The modeling method and device of a kind of model
CN113032633B (en) Method for customizing table by using reference data item
CN113886362A (en) Data storage system and storage method based on workflow engine and low-code platform
US7490312B1 (en) Partition-based incremental implementation flow for use with a programmable logic device
CN115170048B (en) Workflow realization method, system and medium based on model and rule
US20100058277A1 (en) Method and system for organizing data generated by electronic design automation tools
CN108268615A (en) A kind of data processing method, device and system
CN115469860B (en) Method and system for automatically generating demand-to-software field model based on instruction set
JP5289851B2 (en) Data management apparatus, data management method, program, and computer-readable recording medium
CN113688141B (en) Application function design method and software development platform
CN111079369B (en) Method for scaling instance by using variable parameterization unit
CN115081137A (en) Serialized modeling method under visual programming environment
CN108089871A (en) Automatic updating method of software, device, equipment and storage medium
CN112232743B (en) Method, device, terminal and storage medium for realizing customized matching of BOM

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
TA01 Transfer of patent application right

Effective date of registration: 20230626

Address after: 250100 building S02, No. 1036, Langchao Road, high tech Zone, Jinan City, Shandong Province

Applicant after: Shandong Inspur Scientific Research Institute Co.,Ltd.

Address before: North 6th floor, S05 building, Langchao Science Park, 1036 Langchao Road, hi tech Zone, Jinan City, Shandong Province, 250100

Applicant before: SHANDONG INSPUR ARTIFICIAL INTELLIGENCE RESEARCH INSTITUTE Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant