CN101226481B - Method, device and system for loading field programmable gate array - Google Patents
Method, device and system for loading field programmable gate array Download PDFInfo
- Publication number
- CN101226481B CN101226481B CN2008100335508A CN200810033550A CN101226481B CN 101226481 B CN101226481 B CN 101226481B CN 2008100335508 A CN2008100335508 A CN 2008100335508A CN 200810033550 A CN200810033550 A CN 200810033550A CN 101226481 B CN101226481 B CN 101226481B
- Authority
- CN
- China
- Prior art keywords
- data
- bit wide
- fpga
- loading
- integer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Logic Circuits (AREA)
- Stored Programmes (AREA)
Abstract
The invention discloses a method for loading field programmable gate array, a relative device and a system, wherein the method comprises receiving data of preset bit width by an electric programmable logic device (EPLD), while the data bit width of the preset bit width being the biggest accessing port bit width supported by the CPU and the EPLD; and the bit width of the preset bit width being integral N times of the bit width of a data loading port of field programmable gate array (FPGA), dividing the received data of preset bit width into N data by the EPLD, wherein the bit width of each data is the bit width of the FPGA data loading port, loading the divided data into FPGA in integral N times; loading the divided data to the FPGA for integral N times by the FPLD. The invention reduces the access times of CPU on external devices when loads FPGA and reduces FPGA loading time.
Description
Technical field
The present invention relates to communication technical field, relate in particular to a kind of method, Apparatus and system of loading field programmable gate array.
Background technology
Wireless communication devices has requirement to the total system cold start-up time usually, FPGA (Field-Programmable Gate Array on the common veneer, field programmable gate array) the code file size has more than several megabits, the FPGA code when single board starting by CPU (Central Processing Unit, central processing unit) is loaded into FPGA, the time that loads is according to CPU load port speed, and FPGA scale difference, generally need several seconds to tens seconds long time, can become the veneer bottom software critical bottleneck of start-up time during this period of time.
In the prior art, the loading of FPGA can be referring to Fig. 1, FPGA loading interface signal comprises data, clock, control signal, these signals are by EPLD (Electrically Programmable Logic Device, the electrically programmable logical device) provides, CPU operates loading data, clock, the control signal register of controlling among the EPLD by 8 Asynchronous communications ports, realizes the input collection and output simulation of load signal.
In research and practice process to prior art, the inventor finds that there is following problem at least in prior art: byte of every loading, needing to visit peripheral hardware at least for CPU3 time just can finish, peripheral hardware of CPU visit simultaneously need consume at least two bus cycles, and peripheral bus speed is generally 50MHz or 100MHz, therefore loading velocity is slow, and the time consuming time is long.For example, CPU loads the file of a byte to FPGA, at first CPU will write a load document byte to EPLD loading data register, EPLD sends this byte to the FPGA load port, CPU writes one time 0 to loading clock register then, writes one time 1 again, and EPLD just can provide one and load rising edge clock like this, therefore simulating a rising edge clock need operate twice, one byte of EPLD register and just be loaded into FPGA.
Summary of the invention
The technical matters that the embodiment of the invention will solve provides a kind of method, Apparatus and system of loading field programmable gate array, can improve the speed that loads when loading the FPGA code.
For solving the problems of the technologies described above, the embodiment of the invention is achieved through the following technical solutions:
The embodiment of the invention provides a kind of method of loading field programmable gate array on the one hand, comprising:
Electrically programmable logical device EPLD receives the data of default bit wide, and this default bit wide is the maximum access port bit wide of being supported between CPU and the EPLD; The data bit width of described default bit wide be on-site programmable gate array FPGA data load port bit wide Integer N doubly;
The data of the described default bit wide that EPLD will receive are divided into an Integer N data, and wherein the bit wide of each data is the bit wide of described FPGA data load port;
The inferior FPGA that is loaded into of data branch Integer N after EPLD will divide.
The embodiment of the invention also provides a kind of device of loading field programmable gate array on the other hand, comprising:
Receiving element is used to receive the data of presetting bit wide, and this default bit wide is the maximum access port bit wide of being supported between central processing unit CPU and this receiving element; The data bit width of described default bit wide be FPGA data load port bit wide Integer N doubly;
Division unit, the data that are used for the default bit wide that will receive are divided into an Integer N data, and wherein the bit wide of each data is the bit wide of FPGA data load port;
Loading unit is used for the inferior FPGA that is loaded into of the data branch Integer N after dividing.
The embodiment of the invention also provides a kind of system of loading field programmable gate array, comprising:
CPU (central processing unit) is used to send the data of presetting bit wide, and described default bit wide is handled the maximum access port bit wide of being supported between processing unit and the electrically programmable logical block for these central authorities; The data bit width of described default bit wide be FPGA data load port bit wide Integer N doubly;
The electrically programmable logical block, the data that are used to receive the data of the default bit wide that CPU (central processing unit) sends and will preset bit wide are divided into an Integer N data, with the inferior fpga logic unit that is loaded into of the data branch Integer N after the division;
The fpga logic unit is used to receive electrically programmable logical block loaded data.
Above technical scheme as can be seen, when CPU loads FPGA, the default Integer N that the bit wide of CPU visit FPGA data becomes FPGA data load port bit wide by FPGA data load port bit wide doubly, therefore the FPGA loading takies CPU visit peripheral hardware number of times and reduces to default Integer N/one, has shortened the time that loads FPGA.
Description of drawings
The FPGA loaded in parallel schematic diagram that Fig. 1 provides for prior art of the present invention;
The method flow diagram that Fig. 2 provides for the embodiment of the invention one;
The device synoptic diagram that Fig. 3 provides for the embodiment of the invention two;
The system schematic that Fig. 4 provides for the embodiment of the invention three.
Embodiment
The embodiment of the invention provides a kind of method, Apparatus and system of loading field programmable gate array, is used for the FPGA code is loaded into FPGA by CPU when single board starting process, improves the speed that loads FPGA, and avoids losing of loading data.
In order to make technical scheme of the present invention clearer, enumerate embodiment below and be elaborated:
Referring to Fig. 2, the method flow diagram for the embodiment of the invention one provides comprises:
S101:EPLD receives the data of default bit wide.In the present embodiment, should default bit wide be the maximum access port bit wide of being supported between CPU and the EPLD, and the Integer N that this default bit wide is a FPGA data load port bit wide doubly, for example the maximum access port bit wide of being supported between CPU and the EPLD is 16, FPGA data load port bit wide is 8, and then default bit wide is 16.
The data of the default bit wide that S102:EPLD will receive are divided into an Integer N data.Default bit wide be FPGA data load port bit wide Integer N doubly, the bit wide of dividing each data of back is bit wides of FPGA data load port.For example, EPLD is divided into the data of 16 bit wides of step S101 reception the data of 28 bit wides.
S103: the inferior FPGA that is loaded into of the data branch Integer N after will dividing.For example, EPLD before receiving the data of next 16 bit wides, EPLD with the data of 28 bit wides of step S102 gained at twice clock be loaded into FPGA.
In the present embodiment, in the interval of the double loading data of CPU, FPGA loads clock and is provided automatically by EPLD, in each clock period the data load after the division is arrived FPGA.
Embodiment one as can be seen because CPU is when loading FPGA, CPU has increased the bit wide of EPLD loading data operation registers, such as changing 16 visits into by original 8, the load time is reduced to 1/2nd like this; FPGA loads clock and is provided automatically by EPLD, has reduced the number of times that FPGA loads the CPU visit peripheral hardware that takies, reduce to 1 time by 3 times, so the load time is reduced to 1/3rd; And, in CPU writes the interval of loading data for twice, EPLD will load into FPGA to 16 Bit datas that last time, CPU brought, could guarantee like this that loading data is uncovered loses, the shortest time in the time interval of twice write data register of CPU needs CPU8 machine cycle at least, and EPLD finishes re-loaded rising edge clock and only needs 2 EPLD work clock cycles, therefore can avoid losing of loading data.
Referring to Fig. 3, the device synoptic diagram for the embodiment of the invention two provides comprises:
Receiving element 201 is used to receive the data of presetting bit wide, and this default bit wide is the maximum bit wide that 201 of receiving elements can receive data, and the Integer N that this data bit width of presetting bit wide is a FPGA data load port bit wide doubly.For example, the maximum bit wide that 201 of receiving elements can receive data is 16, and FPGA data load port bit wide is 8, and then default bit wide is 16.
Loading unit 203 is used for the inferior FPGA that is loaded into of the data branch Integer N after division unit 202 divisions.For example, EPLD before receiving the data of next 16 bit wides, EPLD with the data of 28 bit wides of division unit 202 gained at twice clock be loaded into FPGA.
Wherein, described device also comprises:
Referring to Fig. 4, the system schematic for the embodiment of the invention three provides comprises: CPU (central processing unit) 301, electrically programmable logical block 302, fpga logic unit 303.
CPU (central processing unit) 301, be used to send the data of default bit wide, should default bit wide be the maximum access port bit wide of being supported between CPU (central processing unit) 301 and the electrically programmable logical block 302, and the Integer N that this default bit wide is fpga logic unit 303 loading data port bit wides doubly, for example the maximum access port bit wide of being supported between CPU (central processing unit) 301 and the electrically programmable logical block 302 is 16, fpga logic unit 303 loading data port bit wides are 8, and then default bit wide is 16.
Electrically programmable logical block 302 is used to receive the data of the default bit wide that CPU (central processing unit) 301 sends and the data of the default bit wide that will receive are divided into an Integer N data, with the inferior fpga logic unit 303 that is loaded into of the data branch Integer N after the division.
Fpga logic unit 303 is used to receive electrically programmable logical block 302 loaded data.
Wherein, described system also comprises:
Clock unit, be used to provide the clock of electrically programmable logical block loading data, data after electrically programmable logical block 302 will be divided in each clock period are loaded into FPGA, and this clock unit can integrate with described electrically programmable logical block 302.
In the present embodiment, the port bit wide between described CPU (central processing unit) 301 and the described electrically programmable logical block 302 is 16, and the bit wide of fpga logic unit 303 loading data ports is 8.
Above embodiment as can be seen, when CPU loads FPGA, CPU becomes default integer to FPGA data load operation registers and conducts interviews, and FPGA loads clock and is supplied with automatically by EPLD, and no longer realize by the clock register of CPU operation EPLD, therefore reduce the number of times of CPU visit peripheral hardware when loading FPGA, shortened the time that loads FPGA.
One of ordinary skill in the art will appreciate that all or part of step that realizes in the foregoing description method is to instruct relevant hardware to finish by program, this program can be stored in a kind of computer-readable recording medium.
The above-mentioned storage medium of mentioning can be a ROM (read-only memory), disk or CD etc.
More than method, the Apparatus and system of a kind of loading field programmable gate array provided by the present invention is described in detail, for one of ordinary skill in the art, thought according to the embodiment of the invention, part in specific embodiments and applications all can change, in sum, this description should not be construed as limitation of the present invention.
Claims (8)
1. the method for a loading field programmable gate array is characterized in that, comprising:
Electrically programmable logical device EPLD receives the data of default bit wide, and this default bit wide is the maximum access port bit wide of being supported between CPU and the EPLD; The data bit width of described default bit wide be on-site programmable gate array FPGA data load port bit wide Integer N doubly;
The data of the described default bit wide that EPLD will receive are divided into an Integer N data, and wherein the bit wide of each data is the bit wide of described FPGA data load port;
The inferior FPGA that is loaded into of data branch Integer N after EPLD will divide.
2. method according to claim 1 is characterized in that, the data branch Integer N after described EPLD will divide is inferior to be loaded into FPGA, comprising:
The clock that EPLD provides according to self, data after will dividing in each clock period are loaded into FPGA.
3. according to the method shown in the claim 1, it is characterized in that described default bit wide is 16, described FPGA data load port bit wide is 8.
4. the device of a loading field programmable gate array is characterized in that, comprising:
Receiving element is used to receive the data of presetting bit wide, and this default bit wide is the maximum access port bit wide of being supported between central processing unit CPU and this receiving element; The data bit width of described default bit wide be FPGA data load port bit wide Integer N doubly;
Division unit, the data that are used for the described default bit wide that will receive are divided into an Integer N data, and wherein the bit wide of each data is the bit wide of described FPGA data load port;
Loading unit is used for the inferior FPGA that is loaded into of the described data branch Integer N after dividing.
5. device according to claim 4 is characterized in that, described device also comprises:
Clock unit is used to provide the clock that loads the data after described division unit is divided, and data after described loading unit will be divided in each clock period are loaded into FPGA.
6. the system of a loading field programmable gate array is characterized in that, comprising:
CPU (central processing unit) is used to send the data of presetting bit wide, and described default bit wide is handled the maximum access port bit wide of being supported between processing unit and the electrically programmable logical block for these central authorities; The data bit width of described default bit wide be FPGA data load port bit wide Integer N doubly;
The electrically programmable logical block is used to receive the data of the default bit wide that described CPU (central processing unit) sends and data that will described default bit wide and is divided into an Integer N data, with the inferior fpga logic unit that is loaded into of the described data branch Integer N after the division;
The fpga logic unit is used to receive described electrically programmable logical block loaded data.
7. system according to claim 6 is characterized in that, described system also comprises:
Clock unit is provided by described electrically programmable logical block, is used to provide the clock of described electrically programmable logical block loading data, and data after described electrically programmable logical block will be divided in each clock period are loaded into FPGA.
8. system according to claim 6 is characterized in that, the port bit wide between described CPU (central processing unit) and the described electrically programmable logical block is 16, and the bit wide of described fpga logic cell data load port is 8.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100335508A CN101226481B (en) | 2008-02-02 | 2008-02-02 | Method, device and system for loading field programmable gate array |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100335508A CN101226481B (en) | 2008-02-02 | 2008-02-02 | Method, device and system for loading field programmable gate array |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101226481A CN101226481A (en) | 2008-07-23 |
CN101226481B true CN101226481B (en) | 2011-05-18 |
Family
ID=39858496
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100335508A Active CN101226481B (en) | 2008-02-02 | 2008-02-02 | Method, device and system for loading field programmable gate array |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101226481B (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103780250B (en) * | 2014-01-21 | 2016-09-14 | 中国电子科技集团公司第五十八研究所 | Change speed gear box circuit and the method for work thereof of data bit width is changed in high-speed transceiver |
CN106843982B (en) * | 2017-02-08 | 2020-11-20 | 广州致远电子有限公司 | Data processing method and device based on FPGA |
CN112231269B (en) * | 2020-09-29 | 2024-08-27 | 深圳宏芯宇电子股份有限公司 | Multiprocessor system data processing method and multiprocessor system |
-
2008
- 2008-02-02 CN CN2008100335508A patent/CN101226481B/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN101226481A (en) | 2008-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102023942B (en) | SPI (Serial Peripheral Interface) peripheral access device and method | |
CN108228492B (en) | Multi-channel DDR interleaving control method and device | |
US9673824B2 (en) | Techniques and circuitry for configuring and calibrating an integrated circuit | |
US9543996B2 (en) | Method and system for initializing RF module through non-volatile control | |
CN103915119A (en) | Data storage device and flash memory control method | |
US11379402B2 (en) | Secondary device detection using a synchronous interface | |
CN101226481B (en) | Method, device and system for loading field programmable gate array | |
CN110495100A (en) | Memory interface, sequential control method and storage system | |
CN116685943A (en) | Self-dispatch threading in programmable atomic units | |
CN111679728B (en) | Data reading method and device | |
US20050055489A1 (en) | Bridge circuit for use in retiming in a semiconductor integrated circuit | |
US11379401B2 (en) | Deferred communications over a synchronous interface | |
US11960734B2 (en) | Logic fabric based on microsector infrastructure with data register having scan registers | |
US12057836B2 (en) | Logic fabric based on microsector infrastructure | |
Tarrillo et al. | Dynamic partial reconfiguration manager | |
US9503096B1 (en) | Multiple-layer configuration storage for runtime reconfigurable systems | |
CN101587467B (en) | A reconfigurable information transmitting engine for reconfigurable computing framework | |
CN104636151A (en) | FPGA chip configuration structure and configuration method based on application memorizers | |
US11650876B2 (en) | Payload parity protection for a synchronous interface | |
EP1607879A1 (en) | Memory interleaving in a computer system | |
CN110083567A (en) | A kind of chip architecture | |
WO2021208805A1 (en) | Configuration method for logical address space of hardware single board, device, and storage medium | |
US7443886B1 (en) | Communication protocol system and method | |
CN114003544A (en) | Control chip, workload proving system and transmission method | |
US9853644B2 (en) | Multiple-layer configuration storage for runtime reconfigurable systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |