CN102103186A - Debug method of FPGA and equipment thereof - Google Patents
Debug method of FPGA and equipment thereof Download PDFInfo
- Publication number
- CN102103186A CN102103186A CN2009102004203A CN200910200420A CN102103186A CN 102103186 A CN102103186 A CN 102103186A CN 2009102004203 A CN2009102004203 A CN 2009102004203A CN 200910200420 A CN200910200420 A CN 200910200420A CN 102103186 A CN102103186 A CN 102103186A
- Authority
- CN
- China
- Prior art keywords
- fpga
- configuration data
- cpld
- flash memory
- cpu
- 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.)
- Pending
Links
Images
Abstract
The invention discloses a debug method of a field-programmable gate array (FPGA) and equipment thereof, wherein the method comprise the steps of: using a complex programmable logic device (CPLD) to store FPGA configuration data in a flash memory before the starting of a central processing unit (CPU); and using the CPLD to establish an effective channel between the FPGA and the flash memory to ensure that the FPGA can obtain the configuration data for debug through the effective channel. According to the above technical proposal, the FPGA can fast obtain the configuration data, required by the debug thereof, through the CPLD before the starting of the CPU so as to start the debug at a faster speed without waiting for the completeness of the CPU starting.
Description
Technical field
The present invention is broadly directed to the debugging field of hardware, more specifically, relates to a kind of FPGA adjustment method and equipment thereof.
Background technology
Generally speaking, in hardware development, the developer starts the back at CPU and uses this CPU burning flash memory (flash).Fig. 4 shows the synoptic diagram of this adjustment method, as shown in Figure 4, after CPU410 starts, flash memory 420 is fired, and then the configuration data in the flash memory 420 is written into field programmable gate array (FPGA) 430, thereby can debugs FPGA.Often need long time yet CPU is started, thereby have influence on the debugging progress of system.
Therefore need a kind of method of accelerating system debug.
Summary of the invention
Embodiments of the present invention disclose a kind of FPGA adjustment method and equipment thereof, to address the above problem.
According to an aspect of the present invention, proposed a kind of on-site programmable gate array FPGA adjustment method, having comprised: before CPU starts, the FPGA configuration data has been stored in the flash memory by complex programmable logic device (CPLD); Described CPLD sets up the effective passage between FPGA and the described flash memory, is used for debugging so that described FPGA can obtain described configuration data by described effective passage.
According to a further aspect in the invention, proposed the system of a kind of FPGA of being used for debugging, having comprised: flash memory is used to store the configuration data of FPGA; CPLD is used to set up the effective passage between FPGA and the described flash memory, is used for debugging so that described FPGA can obtain described configuration data by described effective passage.
By above-mentioned technical scheme, before CPU started, FPGA obtained the required configuration data of its debugging soon by CPLD, thereby can begin debugging quickly, and needn't the waiting for CPU startup finish.
Description of drawings
In conjunction with the accompanying drawings embodiments of the present invention are described in detail, can understand the present invention better, wherein:
Fig. 1 shows the block scheme according to the FPGA debug system of embodiment of the present invention;
Fig. 2 shows the process flow diagram according to the FPGA adjustment method of embodiment of the present invention;
Fig. 3 shows according to embodiment of the present invention, and JTAG is to the realization synoptic diagram of parallel flash.
Fig. 4 shows the process flow diagram according to the FPGA adjustment method of prior art.
Embodiment
To a preferred embodiment of the present invention will be described in detail, having omitted in the description process is unnecessary details and function for the present invention with reference to the accompanying drawings, obscures to prevent that the understanding of the present invention from causing.
Fig. 1 shows a kind of system that FPGA is debugged of being used for, and comprises flash memory 110, is used to store the configuration data of FPGA 140; CPLD (CPLD) 120 is used for setting up the effective passage between FPGA 140 and the flash memory 110 before CPU 130 starts, so that FPGA 140 can obtain the used configuration data of debugging by this effective passage.
Wherein, CPLD 120 inner parsings and buffer memory FPGA configuration data.
CPLD 120 also can have parallel or SPI flash controller function, is used for flash memory 110 is connected and controls.
This debug system also can comprise computing machine 150 (as, PC (PC)), is used for by being loaded in CPLD120 under the configuration data of JTAG (JTAG) cable with FPGA 140.In addition, PC 150 also is used to dispose CPLD 120.
Though above with the formal description of the functional module of separating the message processing apparatus of the embodiment of the invention, but each assembly shown in Fig. 1 can realize with a plurality of devices in actual applications, and a plurality of assemblies that illustrate also can be integrated in chip piece or the equipment in actual applications.This message processing apparatus also can comprise any unit and the device that is used for other purpose.
Be described below in conjunction with the process flow diagram of Fig. 2 workflow FPGA debug system shown in Figure 1.
In step 210, before the CPU 130 of veneer started, PC 150 downloaded CPLD configuration data and FPGA configuration data to CPLD 120 by the JTAG cable.
In step 220, CPLD 120 is configured according to the CPLD configuration data, and the valid data of inner parsing and buffer memory JTAG chain, promptly is written into the valid data of JTAG chain, to extract the configuration data of FPGA 140.
In step 230, after being written into successfully, the parallel or SPI flash memory control function in the CPLD 120 writes flash memory 110 with the configuration data of FPGA 140.
Fig. 3 shows the realization synoptic diagram of JTAG to parallel flash memory 110.As shown in Figure 3, the JTAG chain that 121 couples of PC of state machine among the CPLD 120 150 send is resolved, the FPGA configuration data that parses is deposited with in the data register 122, and under the control of control signal state machine 124, this FPGA configuration data (FLASH_DATA) is write in the indicated flash memory 110 of address date (FLASH_ADDR) in the address register 123.In addition, FLASH_WE, FLASH_OE and FLASH_CE are the control signals to flash memory 110, and its concrete function is conventionally known to one of skill in the art.
In step 240, FPGA 140 reads FPGA configuration data in the flash memory 110 by CPLD.
At this moment, CPLD 120 disposes FPGA 140 with subordinate serial or the parallel mode of subordinate.
In step 250, FPGA 140 debugs based on this configuration data.
Can be by the parallel of CPLD 120 or Serial Peripheral Interface (SPI) (SPI) flash controller function visit flash memory 110.Between has bridge joint to come data speed is carried out self-adaptation.
After CPLD 120 was written into successfully, FPGA 140 obtained configuration data via CPLD 120 from flash memory 110, finished and need not waiting for CPU 130 startups, and this has greatly quickened the process of system debug.
After CPU 130 starts, also use this method to visit flash memory 110 with the repeatedly startup of support CPU130 and subordinate serial or the parallel configuration of subordinate of FPGA 140.The configuration speed of this method depends on the characteristic of CPLD 120 and flash memory 110.Its detailed calculated is as follows:
Wherein, t
CoThe clock that is the register of CPLD 120 arrives the time of output, t
SuBe the register Time Created of CPLD120, t
FlashIt is the access time of flash memory 110.The typical rate of standard paralleling flash memory equipment be 60ns to 120ns, t
CoAnd t
SuCan use producer's instrument of FPGA 140 to obtain.
In the present embodiment, can realize this solution by Lattice MachXO equipment.It is the Virtex-6 of Xilinx company that flash memory 110 adopts S29GL512P, the FPGA 140 of Spansion company.Before CPU 130 starts, use the Isp VM System instrument among the PC to download two set of configuration data, one group of configuration that is used for CPLD MachXO, another group is the bit file that is used for flash memory 110 configurations.Before CPU 130 started, all other subsystems began debugging by the configuration data that obtains from flash memory 110.
In embodiments of the present invention, before CPU 130 started, FPGA 140 obtained the required configuration data of its debugging soon by CPLD120, thereby can begin debugging quickly, and needn't waiting for CPU 130 startups finish.
Those skilled in the art should be easy to recognize, can realize the different step of said method by programmed computer.At this, some embodiments comprise equally machine readable or computer-readable program storage device (as, digital data storage medium) and the coding machine can carry out or the executable programmed instruction of computing machine, wherein, some or all steps of said method are carried out in this instruction.For example, program storage device can be number storage, magnetic storage medium (as Disk and tape), hardware or the readable digital data storage medium of light.Embodiment comprises the programmed computer of the described step of carrying out said method equally.
Description and accompanying drawing only illustrate principle of the present invention.Therefore should be appreciated that those skilled in the art can advise different structures,, embodied principle of the present invention and be included within its spirit and scope though these different structures are not clearly described herein or illustrated.In addition, all examples of herein mentioning mainly only are used for teaching purpose clearly helping the design of reader understanding's principle of the present invention and promotion this area that the inventor was contributed, and should be interpreted as not being the restriction to these specific examples of mentioning and condition.In addition, all statement and specific examples thereof of mentioning principle of the present invention, aspect and embodiment comprise its equivalent interior herein.
Top description only is used to realize embodiments of the present invention; it should be appreciated by those skilled in the art; the any modification or partial replacement that is not departing from the scope of the present invention; all should belong to claim of the present invention and come restricted portion; therefore, protection scope of the present invention should be as the criterion with the protection domain of claims.
Claims (6)
1. on-site programmable gate array FPGA adjustment method comprises:
Before CPU starts, the FPGA configuration data is stored in the flash memory by complex programmable logic device (CPLD);
Described CPLD sets up the effective passage between FPGA and the described flash memory, is used for debugging so that described FPGA can obtain described configuration data by described effective passage.
2. method according to claim 1, wherein, store the FPGA configuration data in the flash memory into by CPLD and to comprise:
By JTAG JTAG cable CPLD configuration data and described FPGA configuration data are downloaded to described CPLD;
Described CPLD is configured according to described CPLD configuration data, and inner the parsing and the described FPGA configuration data of buffer memory; And
Described FPGA configuration data is write described flash memory.
3. method according to claim 2 also comprises:
Described FPGA reads described FPGA configuration data in the flash memory by CPLD;
Described CPLD disposes described FPGA with subordinate serial or the parallel mode of subordinate;
Described FPGA debugs according to the configuration data that is obtained.
4. one kind is used for the system that FPGA debugs, and comprising:
Flash memory is used to store the configuration data of FPGA;
CPLD is used to set up the effective passage between FPGA and the described flash memory, is used for debugging so that described FPGA can obtain described configuration data by described effective passage.
5. system according to claim 4 also comprises:
Computing machine is used for will being loaded in described CPLD under the FPGA configuration data by the JTAG cable;
Described CPLD also is used for being configured according to described CPLD configuration data, the inner parsing and the described FPGA configuration data of buffer memory, and described FPGA configuration data is write described flash memory.
6. system according to claim 4, wherein, described CPLD also comprises parallel or SPI flash controller function, is used for flash memory is connected and controls.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102004203A CN102103186A (en) | 2009-12-18 | 2009-12-18 | Debug method of FPGA and equipment thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102004203A CN102103186A (en) | 2009-12-18 | 2009-12-18 | Debug method of FPGA and equipment thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102103186A true CN102103186A (en) | 2011-06-22 |
Family
ID=44156109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102004203A Pending CN102103186A (en) | 2009-12-18 | 2009-12-18 | Debug method of FPGA and equipment thereof |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102103186A (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102841305A (en) * | 2011-07-11 | 2012-12-26 | 北京飘石科技有限公司 | System and method for debugging FPGA (field programmable gate array) in real time |
CN104239090A (en) * | 2014-07-15 | 2014-12-24 | 上海微小卫星工程中心 | FPGA (Field Programmable Gate Array)-based on-orbit reconfiguration system and method for satellite on-board computer |
CN104363141A (en) * | 2014-11-25 | 2015-02-18 | 浪潮(北京)电子信息产业有限公司 | FPGA verification method and system based on processor system |
CN104598354A (en) * | 2015-02-15 | 2015-05-06 | 浪潮电子信息产业股份有限公司 | Debugging method and device special for FPGA of high-end fault-tolerant computer based on hardware and software architecture |
CN107577216A (en) * | 2017-08-03 | 2018-01-12 | 郑州云海信息技术有限公司 | A kind of method that debugging signal is captured outside FPGA platform upper piece |
CN107885508A (en) * | 2016-09-29 | 2018-04-06 | 中兴通讯股份有限公司 | A kind of Device Programming method and system |
CN110968539A (en) * | 2018-09-28 | 2020-04-07 | 方一信息科技(上海)有限公司 | FPGA pin expansion method for multi-channel flash memory device |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1804651A (en) * | 2006-01-19 | 2006-07-19 | 中兴通讯股份有限公司 | Circuit board fault self-positioning device and method based on programmable logic device |
CN200976140Y (en) * | 2005-04-29 | 2007-11-14 | 美国凹凸微系有限公司 | System for updating on-site programmable gate array bit files |
CN101158868A (en) * | 2007-09-21 | 2008-04-09 | 江苏金智科技股份有限公司 | Double locomotive data interchange module based on bus low pressure differential signal transmission |
CN101183139A (en) * | 2007-11-02 | 2008-05-21 | 中兴通讯股份有限公司 | Board based on JTAG interface and design method thereof |
US20080116919A1 (en) * | 2006-11-21 | 2008-05-22 | Yu Li | Fpga and method and system for configuring and debugging a fpga |
CN101369001A (en) * | 2008-10-17 | 2009-02-18 | 北京星网锐捷网络技术有限公司 | Apparatus used for debugging programmable chip and field programmable gate array chip |
-
2009
- 2009-12-18 CN CN2009102004203A patent/CN102103186A/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN200976140Y (en) * | 2005-04-29 | 2007-11-14 | 美国凹凸微系有限公司 | System for updating on-site programmable gate array bit files |
CN1804651A (en) * | 2006-01-19 | 2006-07-19 | 中兴通讯股份有限公司 | Circuit board fault self-positioning device and method based on programmable logic device |
US20080116919A1 (en) * | 2006-11-21 | 2008-05-22 | Yu Li | Fpga and method and system for configuring and debugging a fpga |
CN101158868A (en) * | 2007-09-21 | 2008-04-09 | 江苏金智科技股份有限公司 | Double locomotive data interchange module based on bus low pressure differential signal transmission |
CN101183139A (en) * | 2007-11-02 | 2008-05-21 | 中兴通讯股份有限公司 | Board based on JTAG interface and design method thereof |
CN101369001A (en) * | 2008-10-17 | 2009-02-18 | 北京星网锐捷网络技术有限公司 | Apparatus used for debugging programmable chip and field programmable gate array chip |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102841305A (en) * | 2011-07-11 | 2012-12-26 | 北京飘石科技有限公司 | System and method for debugging FPGA (field programmable gate array) in real time |
CN104239090A (en) * | 2014-07-15 | 2014-12-24 | 上海微小卫星工程中心 | FPGA (Field Programmable Gate Array)-based on-orbit reconfiguration system and method for satellite on-board computer |
CN104239090B (en) * | 2014-07-15 | 2017-12-22 | 上海微小卫星工程中心 | A kind of in-orbit reconfiguration system of satellite house keeping computer and method based on FPGA |
CN104363141A (en) * | 2014-11-25 | 2015-02-18 | 浪潮(北京)电子信息产业有限公司 | FPGA verification method and system based on processor system |
CN104363141B (en) * | 2014-11-25 | 2017-12-12 | 浪潮(北京)电子信息产业有限公司 | A kind of FPGA verification methods and system based on processor system |
CN104598354A (en) * | 2015-02-15 | 2015-05-06 | 浪潮电子信息产业股份有限公司 | Debugging method and device special for FPGA of high-end fault-tolerant computer based on hardware and software architecture |
CN107885508A (en) * | 2016-09-29 | 2018-04-06 | 中兴通讯股份有限公司 | A kind of Device Programming method and system |
CN107577216A (en) * | 2017-08-03 | 2018-01-12 | 郑州云海信息技术有限公司 | A kind of method that debugging signal is captured outside FPGA platform upper piece |
CN110968539A (en) * | 2018-09-28 | 2020-04-07 | 方一信息科技(上海)有限公司 | FPGA pin expansion method for multi-channel flash memory device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102103186A (en) | Debug method of FPGA and equipment thereof | |
CN104951334B (en) | FPGA biplate QSPI flash program loading method | |
CN101504692B (en) | System and method for validating and testing on-chip system | |
US9495492B1 (en) | Implementing synchronous triggers for waveform capture in an FPGA prototyping system | |
JP2009510568A5 (en) | ||
EP3105682A1 (en) | Integrated controller for training memory physical layer interface | |
JP5039698B2 (en) | Debugging and testing method and system using replicated logic | |
CN102053850A (en) | Method for on-line FPGA logic upgrade | |
US10713144B2 (en) | Virtual processor enabling real-time in situ disassembly and debugging in SoC environment | |
CN107633867B (en) | SPI flash memory test system and method based on FT4222 | |
TW201346574A (en) | PSMI using at-speed scan capture | |
CN111427794A (en) | Method, system and medium for accelerating simulation of storage component netlist | |
JP2006507586A (en) | Apparatus and method for analyzing embedded system | |
CN104536774B (en) | Chip software method for burn-recording | |
CN110569162B (en) | Automatic testing method and device for FPGA in communication field | |
KR102384962B1 (en) | Semiconductor memory device | |
CN104461796B (en) | JTAG debugging modules and adjustment method for embedded 8051CPU | |
CN105320583A (en) | UVM (universal verification methodology) based write-only register verification test platform and verification method | |
US20140189448A1 (en) | Decreasing power supply demand during bist initializations | |
CN102565683A (en) | Generation and verification method of test vector | |
US20210124810A1 (en) | Method of debugging hardware and firmware of data storage | |
CN101206613A (en) | High speed basic input/output system debug card | |
US8917566B2 (en) | Bypass structure for a memory device and method to reduce unknown test values | |
JP2005108007A (en) | Lsi design verification apparatus and lsi design verification method | |
CN103927210A (en) | FPGA loading system based on CPLD |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110622 |