[go: up one dir, main page]

CN104536755A - Reconstruction method and device for programmable logic device - Google Patents

Reconstruction method and device for programmable logic device Download PDF

Info

Publication number
CN104536755A
CN104536755A CN201410835994.9A CN201410835994A CN104536755A CN 104536755 A CN104536755 A CN 104536755A CN 201410835994 A CN201410835994 A CN 201410835994A CN 104536755 A CN104536755 A CN 104536755A
Authority
CN
China
Prior art keywords
programmable logic
elementary cell
reconfiguration
reconfigurable
bit stream
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
CN201410835994.9A
Other languages
Chinese (zh)
Other versions
CN104536755B (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.)
ShenZhen Guowei Electronics Co Ltd
Original Assignee
ShenZhen Guowei Electronics 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 ShenZhen Guowei Electronics Co Ltd filed Critical ShenZhen Guowei Electronics Co Ltd
Priority to CN201410835994.9A priority Critical patent/CN104536755B/en
Publication of CN104536755A publication Critical patent/CN104536755A/en
Priority to PCT/CN2015/097730 priority patent/WO2016107421A1/en
Application granted granted Critical
Publication of CN104536755B publication Critical patent/CN104536755B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Logic Circuits (AREA)
  • Stored Programmes (AREA)

Abstract

本发明了一种可编程逻辑器件重构方法及装置,该方法包括:确定可编程逻辑器件的待重构资源区;将待重构资源区划分为至少一个基本单元,基本单元包括至少一个可重构器件;分别对各基本单元进行重构。通过本发明的实施,根据需要确定可编程逻辑器件中的待重构资源区,并且其划分为基本单元,分别对各基本单元进行重构,实现了以基本单元为最小重构单元的重构技术,与现有以基本器件为最小重构单元的重构技术相比,最小重构范围增大,重构时所需要的控制信号及数据流数量都将减少,降低了可编程逻辑器件的器件繁杂度及重构成本。

The present invention provides a programmable logic device reconfiguration method and device, the method comprising: determining the resource area to be reconfigured of the programmable logic device; dividing the resource area to be reconfigured into at least one basic unit, the basic unit includes at least one programmable Reconstruct the device; reconfigure each basic unit separately. Through the implementation of the present invention, the resource area to be reconfigured in the programmable logic device is determined according to the needs, and it is divided into basic units, and each basic unit is reconfigured respectively, and the reconfiguration with the basic unit as the smallest reconfiguration unit is realized Compared with the existing reconfiguration technology that uses basic devices as the minimum reconfiguration unit, the minimum reconfiguration range increases, and the number of control signals and data streams required for reconfiguration will be reduced, reducing the cost of programmable logic devices. Device complexity and reconfiguration costs.

Description

可编程逻辑器件重构方法及装置Programmable Logic Device Reconfiguration Method and Device

技术领域technical field

本发明涉及可编程逻辑器件的应用领域,特别地涉及一种可编程逻辑器件重构方法及装置。The invention relates to the application field of programmable logic devices, in particular to a programmable logic device reconfiguration method and device.

背景技术Background technique

对于FPGA(Field-Programmable Gate Array,现场可编程门阵列)等可编程逻辑器件,只需要通过开发工具将设计好的电路转化为位流文件导入后便可得到期望的电路功能,与专用逻辑器件相比节省了流片成本,并且更加灵活,可重复编程以实现不同逻辑功能。For programmable logic devices such as FPGA (Field-Programmable Gate Array, Field Programmable Gate Array), you only need to use development tools to convert the designed circuit into a bit stream file and import it to get the desired circuit function. Compared with the tape-out cost, it is more flexible and can be reprogrammed to achieve different logic functions.

可编程逻辑器件在方便用户使用的同时,也会存在一些缺点,如使用zynq7000系列的SoC FPGA进行电路设计时,现有FPGA可重构技术采用配置帧的方式,对基本逻辑单元(查找表、触发器、CLB、IOB等基本器件)实现细粒度的重构,这种方式需要根据重构后目标电路生成全部电路的位流文件,并向这些基本器件发送重构需要的位流数据,这些基本器更新配置完成重构,这类FPGA芯片结构设计实现难度大、芯片面积大、芯片成本高。Programmable logic devices are convenient for users to use, but they also have some disadvantages. For example, when using zynq7000 series SoC FPGA for circuit design, the existing FPGA reconfigurable technology adopts the configuration frame method, and the basic logic units (look-up table, Flip-flops, CLB, IOB and other basic devices) to achieve fine-grained reconstruction, this method needs to generate bit stream files of all circuits according to the reconfigured target circuit, and send the bit stream data required for reconstruction to these basic devices, these The basic device has been updated and reconfigured. This type of FPGA chip structure design is difficult to implement, the chip area is large, and the chip cost is high.

因此,如何提供一种具备较低成本的可编程逻辑器件重构技术,是本领域技术人员亟待解决的技术问题。Therefore, how to provide a low-cost programmable logic device reconfiguration technology is a technical problem to be solved urgently by those skilled in the art.

发明内容Contents of the invention

本发明提供了一种可编程逻辑器件重构方法及装置,以降低可编程逻辑器件的重构成本。The invention provides a programmable logic device reconfiguration method and device to reduce the reconfiguration cost of the programmable logic device.

本发明提供了一种可编程逻辑器件重构方法,在一个实施例中,该方法包括:确定可编程逻辑器件的待重构资源区;将待重构资源区划分为至少一个基本单元,基本单元包括至少一个可重构器件;分别对各基本单元进行重构。The present invention provides a method for reconfiguring a programmable logic device. In one embodiment, the method includes: determining a resource area to be reconfigured in a programmable logic device; dividing the resource area to be reconfigured into at least one basic unit, basically The unit includes at least one reconfigurable device; each basic unit is reconfigured separately.

进一步的,上述实施例中的基本单元还包括可重构器件与其他器件之间可重构的线路连接。Further, the basic unit in the above embodiment also includes a reconfigurable line connection between the reconfigurable device and other devices.

进一步的,上述实施例中的可重构器件包括可配置逻辑模块CLB。Further, the reconfigurable device in the above embodiments includes a configurable logic module CLB.

进一步的,上述实施例中的将待重构资源区划分为至少一个基本单元包括:将待重构资源区按照物理区域划分为至少一个基本单元;或者,将待重构资源区按照物理区域及目标功能划分为至少一个基本单元。Further, dividing the resource area to be reconfigured into at least one basic unit in the above embodiment includes: dividing the resource area to be reconfigured into at least one basic unit according to physical areas; or dividing the resource area to be reconfigured into at least one basic unit according to physical areas and The target function is divided into at least one basic unit.

进一步的,上述实施例中的目标功能包括:基本单元需要实现的功能,或者待重构资源区需要实现的功能。Further, the target function in the above embodiment includes: the function that needs to be realized by the basic unit, or the function that needs to be realized by the resource area to be reconfigured.

进一步的,上述实施例中的分别对各基本单元进行重构包括:根据目标功能分别生成各基本单元的新的位流文件;将各基本单元的新的位流文件配置到对应的基本单元。Further, the reconstruction of each basic unit in the above embodiment includes: respectively generating a new bit stream file of each basic unit according to the target function; and configuring the new bit stream file of each basic unit to the corresponding basic unit.

本发明提供了一种可编程逻辑器件重构装置,在一个实施例中,该装置包括:确定模块,用于确定可编程逻辑器件的待重构资源区;划分模块,用于将待重构资源区划分为至少一个基本单元,基本单元包括至少一个可重构器件;重构模块,用于分别对各基本单元进行重构。The present invention provides a device for reconfiguring a programmable logic device. In one embodiment, the device includes: a determining module, used to determine a resource area to be reconfigured in a programmable logic device; The resource area is divided into at least one basic unit, and the basic unit includes at least one reconfigurable device; the reconfiguration module is used to reconfigure each basic unit respectively.

进一步的,上述实施例中的基本单元还包括可重构器件与其他器件之间可重构的线路连接。Further, the basic unit in the above embodiment also includes a reconfigurable line connection between the reconfigurable device and other devices.

进一步的,上述实施例中的可重构器件包括可配置逻辑模块CLB。Further, the reconfigurable device in the above embodiments includes a configurable logic module CLB.

进一步的,上述实施例中的划分模块具体用于:将待重构资源区按照物理区域划分为至少一个基本单元;或者,将待重构资源区按照物理区域及目标功能划分为至少一个基本单元。Further, the division module in the above embodiment is specifically used to: divide the resource area to be reconfigured into at least one basic unit according to the physical area; or divide the resource area to be reconfigured into at least one basic unit according to the physical area and target function .

进一步的,上述实施例中的目标功能包括:基本单元需要实现的功能,或者待重构资源区需要实现的功能。Further, the target function in the above embodiment includes: the function that needs to be realized by the basic unit, or the function that needs to be realized by the resource area to be reconfigured.

进一步的,上述实施例中的重构模块具体用于根据目标功能分别生成各基本单元的新的位流文件;将各基本单元的新的位流文件配置到对应的基本单元。Further, the reconstruction module in the above embodiment is specifically configured to generate a new bit stream file of each basic unit according to the target function; configure the new bit stream file of each basic unit to the corresponding basic unit.

本发明的有益效果:Beneficial effects of the present invention:

本发明提供的方案,根据需要确定可编程逻辑器件中的待重构资源区,并且其划分为基本单元,基本单元包括至少一个可重构器件,这些可重构器件在写入位流数据后就可以实现基本的逻辑功能,即每个基本单元都可以实现目标电路的一些功能,在此基础上,分别对各基本单元进行重构,实现了以基本单元为最小重构单元的重构技术,与现有以基本器件为最小重构单元的重构技术相比,最小重构范围增大,重构时所需要的控制信号及数据流数量都将减少,降低了可编程逻辑器件的器件繁杂度及重构成本。According to the solution provided by the present invention, the resource area to be reconfigured in the programmable logic device is determined according to the needs, and it is divided into basic units, and the basic unit includes at least one reconfigurable device. After writing the bit stream data, these reconfigurable devices The basic logic functions can be realized, that is, each basic unit can realize some functions of the target circuit. On this basis, each basic unit is reconstructed separately, and the reconstruction technology with the basic unit as the smallest reconstruction unit is realized. , compared with the existing reconfiguration technology with the basic device as the minimum reconfiguration unit, the minimum reconfiguration range increases, the number of control signals and data streams required for reconfiguration will be reduced, and the device cost of the programmable logic device is reduced. Complexity and refactoring costs.

附图说明Description of drawings

图1为本发明第一实施例提供的可编程逻辑器件重构方法的流程图;FIG. 1 is a flow chart of the programmable logic device reconfiguration method provided by the first embodiment of the present invention;

图2为本发明第二实施例提供的可编程逻辑器件重构装置的示意图;FIG. 2 is a schematic diagram of a programmable logic device reconfiguration device provided by a second embodiment of the present invention;

图3为本发明第三实施例提供的可编程逻辑器件重构方法的流程图;FIG. 3 is a flowchart of a programmable logic device reconfiguration method provided by a third embodiment of the present invention;

图4为本发明第三实施例中FPGA器件的划分步骤示意图;Fig. 4 is the schematic diagram of the division steps of the FPGA device in the third embodiment of the present invention;

图5为本发明第三实施例中待重构资源区的重构示意图;FIG. 5 is a schematic diagram of reconfiguration of the resource area to be reconfigured in the third embodiment of the present invention;

图6为本发明第三实施例中单个基本单元的实现示意图。Fig. 6 is a schematic diagram of realization of a single basic unit in the third embodiment of the present invention.

具体实施方式Detailed ways

现通过具体实施方式结合附图的方式对本发明做出进一步的诠释说明。The present invention will be further explained by means of specific embodiments in combination with the accompanying drawings.

第一实施例:First embodiment:

图1为本发明第一实施例提供的可编程逻辑器件重构方法的流程图,由图1可知,在本实施例中,本发明提供的可编程逻辑器件重构方法包括以下步骤:Fig. 1 is a flow chart of the programmable logic device reconfiguration method provided by the first embodiment of the present invention. It can be seen from Fig. 1 that in this embodiment, the programmable logic device reconfiguration method provided by the present invention includes the following steps:

S101:确定可编程逻辑器件的待重构资源区;S101: Determine the resource area to be reconfigured of the programmable logic device;

本步骤首先需要确定可编程逻辑器件中支持动态重构的可重构资源区,可编程逻辑器件的种类很多,本发明以FPGA为例进行说明:用户根据目标电路的复杂度等属性选择某些型号的FPGA,将该FPGA划分为可重构资源区及不可重构资源区,可重构资源区是指该区域内的资源具备动态可重构,可以在电路运行中通过时分复用写入不同的位流数据在不用时间实现不同的功能,不可重构资源区是指该区域的资源在电路运行中不支持动态写入位流数据以实现不同的功能。This step first needs to determine the reconfigurable resource area that supports dynamic reconfiguration in the programmable logic device. There are many types of programmable logic devices. The present invention uses FPGA as an example to illustrate: the user selects some Model FPGA, the FPGA is divided into a reconfigurable resource area and a non-reconfigurable resource area. The reconfigurable resource area means that the resources in this area are dynamically reconfigurable and can be written by time division multiplexing during circuit operation. Different bit stream data can realize different functions in a short time, and the non-reconfigurable resource area means that the resources in this area do not support dynamic writing of bit stream data to achieve different functions during circuit operation.

在用户根据需要选定FPGA之后,根据器件规格就可以得知器件上可重构资源区的范围,然后用户就可以根据想要改变的目标电路中的重构子电路的功能及可重构资源区的范围,在器件上确定出一个或多个待重构资源区,待重构资源区可以是可重构资源区的一部分(完全属于可重构资源区),也可以包括部分可重构资源区及部分不可重构资源区(用于实现目标电路中不需要重构的电路功能)。After the user selects the FPGA according to the needs, the range of the reconfigurable resource area on the device can be known according to the device specification, and then the user can according to the function of the reconfigurable sub-circuit and the reconfigurable resources in the target circuit to be changed One or more resource areas to be reconfigured are determined on the device. The resource area to be reconfigured can be a part of the reconfigurable resource area (completely belonging to the reconfigurable resource area), or it can include part of the reconfigurable resource area. Resource area and part of the non-reconfigurable resource area (used to realize circuit functions that do not need to be reconfigured in the target circuit).

S102:将待重构资源区划分为至少一个基本单元,基本单元包括至少一个可重构器件;S102: Divide the resource area to be reconfigured into at least one basic unit, where the basic unit includes at least one reconfigurable device;

在确定待重构资源区后,将待重构资源区内的资源(包括CLB、可编辑互连线等)划分为至少一个基本单元,每个基本单元都包括至少一个可重构器件(如CLB),这样就可以在写入位流文件后实现一些基本功能。After the resource area to be reconfigured is determined, the resources in the resource area to be reconfigured (including CLBs, editable interconnects, etc.) are divided into at least one basic unit, and each basic unit includes at least one reconfigurable device (such as CLB), so that some basic functions can be implemented after writing the bitstream file.

不同的基本单元之间的可重构器件数量可以不同,可以根据该基本单元所需要实现的目标功能进行划分,如果某些基本单元需要实现的目标功能简单,那么就可以仅包括一个可重构器件,对应的,若一些基本单元需要实现的目标功能比较复杂,就可以包括较多数量的可重构器件。The number of reconfigurable devices between different basic units can be different, and can be divided according to the target functions that the basic units need to achieve. If the target functions that some basic units need to achieve are simple, then only one reconfigurable device can be included. Devices, correspondingly, if the target functions to be realized by some basic units are relatively complex, a larger number of reconfigurable devices may be included.

在一些实施例中,为了便于用户为目标电路所需要实现的目标功能中各子功能分配对应的基本单元,可以设置为每个基本单元都包括相同数量的可重构器件(这些可重构器件相互配合可以实现目标电路的一些小功能),这样就保证了每个基本单元在写入位流数据后都可以实现一定的功能,并且每个基本单元所具备的可重构资源是相同的,在此基础上,就可以将目标电路分解为很多小功能,并为这些小功能分配对应的基本单元,而不必先判断这样小功能实现的复杂度,在进行基本单元的划分,划分方式简单。In some embodiments, in order to facilitate the user to allocate corresponding basic units for each sub-function in the target function that the target circuit needs to realize, it can be set that each basic unit includes the same number of reconfigurable devices (these reconfigurable devices mutual cooperation can realize some small functions of the target circuit), which ensures that each basic unit can realize certain functions after writing the bit stream data, and the reconfigurable resources of each basic unit are the same, On this basis, the target circuit can be decomposed into many small functions, and the corresponding basic units can be assigned to these small functions, without first judging the complexity of the implementation of such small functions, and the division of basic units is simple.

S103:分别对各基本单元进行重构,可以通过开发工具将目标电路的位流文件约束到基本单元来实现。S103: Reconfigure each basic unit separately, which can be realized by constraining the bit stream file of the target circuit to the basic unit through a development tool.

在一些实施例中,上述实施例中的基本单元还包括可重构器件与其他器件之间可重构的线路连接。在实际应用中,可重构器件在工作时是需要与其他器件进行通信的,如完成位流文件的获取、可重构器件之间的工作逻辑关系等,本实施例通过将可重构器件与其他器件之间可重构的线路连接也划分到基本单元内,使得基本单元的功能更完整,可重构的线路连接包括可编辑互连线、IOB资源等。In some embodiments, the basic unit in the above embodiments further includes reconfigurable circuit connections between the reconfigurable device and other devices. In practical applications, reconfigurable devices need to communicate with other devices during work, such as completing the acquisition of bit stream files, and the working logic relationship between reconfigurable devices. This embodiment uses the reconfigurable device The reconfigurable circuit connection with other devices is also divided into the basic unit, making the function of the basic unit more complete. The reconfigurable circuit connection includes editable interconnection lines, IOB resources, etc.

在一些实施例中,以FPGA器件为例,上述实施例中的可重构器件为可配置逻辑模块CLB,当然在一些特殊的应用领域,所使用的FPGA器件内的可重构资源类型不同,对应的,可重构器件就是这类FPGA器件内的可重构资源。In some embodiments, taking the FPGA device as an example, the reconfigurable device in the above embodiments is a configurable logic module CLB. Of course, in some special application fields, the types of reconfigurable resources in the FPGA device used are different. Correspondingly, a reconfigurable device is a reconfigurable resource in this type of FPGA device.

在一些实施例中,上述实施例中的将待重构资源区划分为至少一个基本单元包括:将待重构资源区按照物理区域划分为至少一个基本单元;或者,将待重构资源区按照物理区域及目标功能划分为至少一个基本单元。本实施例提供了基本单元的划分方式,按照物理区域划分、或者按照物理区域及目标功能划分,使得基本单元内的所有器件在物理位置上是连续的,这样就降低了基本单元内各器件之间的通信繁杂度,进而降低了根据基本单元的目标功能所生成的位流文件内位流数据的长度及繁杂度,降低了实现可重构的成本。In some embodiments, dividing the resource area to be reconfigured into at least one basic unit in the above embodiment includes: dividing the resource area to be reconfigured into at least one basic unit according to physical areas; or dividing the resource area to be reconfigured into at least one basic unit according to The physical area and the target function are divided into at least one basic unit. This embodiment provides the division method of the basic unit, which is divided according to the physical area, or according to the physical area and the target function, so that all the devices in the basic unit are continuous in physical position, thus reducing the distance between the devices in the basic unit. The complexity of the communication between them, thereby reducing the length and complexity of the bit stream data in the bit stream file generated according to the target function of the basic unit, and reducing the cost of realizing reconfigurability.

在一些实施例中,上述实施例中的两个基本单元之间是相邻的,并且不重叠的;当然也可以是间隔一定区域的,这样间隔区域内就可以通过设置位流文件实现一些具备控制、存储等功能的固定子电路。In some embodiments, the two basic units in the above embodiments are adjacent and non-overlapping; of course, they can also be separated by a certain area, so that some features can be realized by setting bit stream files in the interval area. Fixed sub-circuits for functions such as control and storage.

在一些实施例中,上述实施例中的某基本单元包括多个(两个及以上)可重构器件时,这些可重构器件的类型在需要实现的目标功能上是有联系的,如基本单元需要实现电阻及电容等功能时,其内部器件就可以包括可重构的电阻及电容等。In some embodiments, when a basic unit in the above embodiment includes multiple (two or more) reconfigurable devices, the types of these reconfigurable devices are related in the target functions to be realized, such as basic When the unit needs to implement functions such as resistance and capacitance, its internal devices can include reconfigurable resistance and capacitance.

在一些实施例中,上述实施例中的目标功能包括:基本单元需要实现的功能,或者待重构资源区需要实现的功能。基本单元需要实现的功能是指在目标电路中,基本单元所写入的位流文件对应的功能,如实现一个特定阻值的电阻功能时,基本单元包括一个可重构器件及相应的通信线路即可。待重构资源区需要实现的功能是指目标电路需要在待重构资源区实现的功能,这些功能可以由多个子功能组成,根据这些子功能进行基本单元的划分,使得每个基本单元都可以实现对应的子功能,这样划分得到的基本单元在功能上独立,重构简单。In some embodiments, the target functions in the above embodiments include: functions that need to be realized by the basic unit, or functions that need to be realized by the resource area to be reconfigured. The function that the basic unit needs to realize refers to the function corresponding to the bit stream file written by the basic unit in the target circuit. For example, when realizing the resistance function of a specific resistance value, the basic unit includes a reconfigurable device and corresponding communication lines That's it. The functions to be implemented in the resource area to be reconfigured refer to the functions that the target circuit needs to implement in the resource area to be reconfigured. These functions can be composed of multiple sub-functions. The basic units are divided according to these sub-functions, so that each basic unit can be Realize the corresponding sub-functions, the basic units obtained in this way are functionally independent and easy to refactor.

在一些实施例中,上述实施例中的分别对各基本单元进行重构包括:根据目标功能分别生成各基本单元的新的位流文件;将各基本单元的新的位流文件配置到对应的基本单元。新的位流文件是指基本单元在实现目标功能时所需要的位流数据等信息,将各基本单元的新的位流文件配置到对应的基本单元是指将新的位流文件导入到对应的基本单元,并用新的位流文件替换基本单元内的位流文件,完成重构,以实现目标功能。In some embodiments, the reconstruction of each basic unit in the above embodiment includes: respectively generating a new bit stream file of each basic unit according to the target function; configuring the new bit stream file of each basic unit to the corresponding basic unit. The new bit stream file refers to the bit stream data and other information required by the basic unit to realize the target function. Configuring the new bit stream file of each basic unit to the corresponding basic unit refers to importing the new bit stream file into the corresponding The basic unit of the basic unit, and replace the bit stream file in the basic unit with a new bit stream file to complete the reconstruction to achieve the target function.

在一些实施例中,上述实施例在根据目标功能分别生成各基本单元的新的位流文件之前,还包括根据目标电路中重构子电路确定目标功能的步骤。本实施例通过根据重构子电路确定目标功能,与根据目标功能生成基本单元的位流文件相互配合,实现了将重构子电路约束到基本单元实现这一目的,即重构子模块由待重构资源区内的基本单元来实现重构。In some embodiments, the above embodiment further includes a step of determining the target function according to the reconfigured sub-circuit in the target circuit before generating a new bit stream file of each basic unit according to the target function. In this embodiment, by determining the target function according to the reconfigured sub-circuit and cooperating with the bit stream file of the basic unit generated according to the target function, the purpose of constraining the reconfigured sub-circuit to the basic unit is realized, that is, the reconfigured sub-module is determined by the The basic unit in the resource area is reconstructed to realize the reconstruction.

在一些实施例中,图1所示实施例中的步骤S103包括:确定目标电路中需要重构的重构子电路,根据重构子电路需要实现的功能选择一个或多个基本单元;根据重构子电路需要实现的功能生成位流文件的位流数据,根据为重构子电路选择的基本单元的地址生成位流文件的地址,根据重构子电路的重构顺序生成位流文件的时序;根据位流文件的地址确定归属基本单元,将位流文件存储到归属基本单元对应的存储单元中,控制单元根据控制信号按照位流文件的时序依次将位流文件的位流数据写入至归属基本单元。本实施例提供了动态可重构的具体实现方案,完全根据位流文件内的内容完成重构,不需要与现有技术那样进行前后位流文件的对比,就可以确定位流数据对应的基本单元的地址及写入对应基本单元的先后顺序。In some embodiments, step S103 in the embodiment shown in FIG. 1 includes: determining the reconfiguration sub-circuit in the target circuit that needs to be reconfigured, and selecting one or more basic units according to the function that the reconfiguration sub-circuit needs to realize; The functions that the sub-circuit needs to realize generate the bit stream data of the bit stream file, generate the address of the bit stream file according to the address of the basic unit selected for the reconstructed sub-circuit, and generate the timing of the bit stream file according to the reconstruction order of the reconstructed sub-circuit Determine the basic unit of ownership according to the address of the bit stream file, store the bit stream file in the storage unit corresponding to the basic unit of ownership, and the control unit sequentially writes the bit stream data of the bit stream file into the bit stream file according to the timing of the bit stream file according to the control signal belonging to the basic unit. This embodiment provides a specific implementation scheme of dynamic reconfiguration, and the reconstruction is completed completely according to the content in the bit stream file. It is not necessary to compare the front and rear bit stream files as in the prior art, and the corresponding basic data of the bit stream data can be determined. The addresses of the units and the order in which they are written correspond to the basic units.

本发明所涉及的目标电路是指用户需要实现某些功能时所使用的电路,电路在使用时,针对其中的部分子电路需要具备容错(如部分解调器可能存在错误,根据需要实验效果动态修正调整等)、更换(实现不同规格)等特定功能,针对这样的子电路,本发明将其定义为重构子电路,而其他的不要容错(如射频天线的实现电路一般不会错误)、更换(天线也不需要更换)的子电路本发明将其定义为固定子电路。The target circuit involved in the present invention refers to the circuit used when the user needs to realize certain functions. When the circuit is in use, some sub-circuits therein need to be fault-tolerant (such as some demodulators may have errors, and the experimental effect is dynamic according to the needs. correction adjustment, etc.), replacement (realization of different specifications) and other specific functions, for such sub-circuits, the present invention defines it as a reconfiguration sub-circuit, while others do not need to be fault-tolerant (such as the implementation circuit of a radio frequency antenna generally does not make mistakes), Subcircuits that are replaced (and the antenna does not need to be replaced) are defined in the present invention as fixed subcircuits.

本实施例通过将目标电路分为需要重构的重构子电路及不需要重构的固定子电路,并仅为重构子电路分配基本单元,而固定子电路则采用FPGA器件内的不可重构资源区的资源来实现,进一步的降低了对FPGA内有限的基本单元占用。本实施例通过仅将重构子电路需要实现的功能解析为基本单元的位流文件的位流数据,而固定子电路的功能不解析为基本单元的位流文件,实现了仅针对重构子电路的解析处理,与现有需要将重构后的目标电路全部解析为位流文件相比,解析速度快,实现简单,并且生成位流文件之后,不需要对比根据位流文件就可以确定基本单元。In this embodiment, the target circuit is divided into reconfigurable sub-circuits that need to be reconfigured and fixed sub-circuits that do not need to be reconfigured. It is realized by resources in the structural resource area, which further reduces the occupation of the limited basic units in the FPGA. In this embodiment, only the functions that need to be implemented by the reconfigured sub-circuit are resolved into the bit stream data of the bit stream file of the basic unit, and the functions of the fixed sub-circuit are not resolved into the bit stream file of the basic unit, so that only the reconfigurable sub-circuit can be realized. Compared with the current analysis process that needs to analyze all the reconstructed target circuits into bit stream files, the analysis speed is fast and the implementation is simple. After the bit stream files are generated, the basic unit.

在一些实施例中,图1所示实施例在将待重构资源区划分为基本单元之后,还包括:为一个基本单元设置控制单元及存储单元,或者为多个基本单元设置控制单元及存储单元,或者为可重构资源区划分设置控制单元及存储单元的步骤。一个基本单元需要实现重构,需要具备用于存储位流文件的存储单元及控制重构时间的控制单元,本实施例提供了三种控制单元及存储单元的设置方式,用户可以根据实际需要进行选择,如基本单元内的可重构器件数量较多时,单个基本单元就可以实现比较复杂的电路功能,此时就可以为每个基本单元分别设置控制单元及存储单元,对应的,若单个基本单元的可重构器件数量较少时,可以为多个基本单元设置一个控制单元及存储单元(通过时分复用的方式实现多个基本单元的存储与控制),当然,当可重构资源区较小或划分的基本单元总数量很少时,就可以仅设置一个控制单元及存储单元(通过时分复用的方式实现所有基本单元的存储与控制)。In some embodiments, after dividing the resource area to be reconfigured into basic units, the embodiment shown in FIG. 1 further includes: setting a control unit and a storage unit for one basic unit, or setting a control unit and a storage unit for multiple basic units unit, or a step of setting a control unit and a storage unit for reconfigurable resource area division. A basic unit needs to be reconfigured, and it needs to have a storage unit for storing bitstream files and a control unit for controlling the reconstruction time. This embodiment provides three ways to set up the control unit and storage unit, and the user can configure the configuration according to actual needs. Choice, such as when the number of reconfigurable devices in the basic unit is large, a single basic unit can realize relatively complex circuit functions. At this time, control units and storage units can be set for each basic unit. When the number of reconfigurable devices in a unit is small, a control unit and a storage unit can be set up for multiple basic units (realize the storage and control of multiple basic units by time-division multiplexing). Of course, when the reconfigurable resource area When the total number of divided basic units is small or small, only one control unit and storage unit can be provided (realize the storage and control of all basic units by means of time division multiplexing).

第二实施例:Second embodiment:

图2为本发明第二实施例提供的可编程逻辑器件重构装置的示意图,由图2可知,在本实施例中,本发明提供的可编程逻辑器件重构装置2包括:确定模块21、划分模块22及重构模块23,其中,FIG. 2 is a schematic diagram of a programmable logic device reconfiguration device provided in the second embodiment of the present invention. It can be seen from FIG. 2 that in this embodiment, the programmable logic device reconfiguration device 2 provided by the present invention includes: a determination module 21, Division module 22 and reconstruction module 23, wherein,

确定模块21,用于确定可编程逻辑器件的待重构资源区;A determining module 21, configured to determine the resource area to be reconfigured of the programmable logic device;

划分模块22,用于将待重构资源区划分为至少一个基本单元,基本单元包括至少一个可重构器件;A dividing module 22, configured to divide the resource area to be reconfigured into at least one basic unit, where the basic unit includes at least one reconfigurable device;

重构模块23,用于分别对各基本单元进行重构。The reconstruction module 23 is used to reconstruct each basic unit respectively.

在一些实施例中,上述实施例中的基本单元还包括可重构器件与其他器件之间可重构的线路连接。In some embodiments, the basic unit in the above embodiments further includes reconfigurable circuit connections between the reconfigurable device and other devices.

在一些实施例中,上述实施例中的可重构器件为可配置逻辑模块CLB。In some embodiments, the reconfigurable device in the above embodiments is a configurable logic block CLB.

在一些实施例中,上述实施例中的划分模块21具体用于:将待重构资源区按照物理区域划分为至少一个基本单元;或者,将待重构资源区按照物理区域及目标功能划分为至少一个基本单元。In some embodiments, the division module 21 in the above embodiments is specifically configured to: divide the resource area to be reconfigured into at least one basic unit according to the physical area; or divide the resource area to be reconfigured into at least one basic unit according to the physical area and the target function At least one base unit.

在一些实施例中,上述实施例中的目标功能包括:基本单元需要实现的功能,或者待重构资源区需要实现的功能。In some embodiments, the target functions in the above embodiments include: functions that need to be realized by the basic unit, or functions that need to be realized by the resource area to be reconfigured.

在一些实施例中,上述实施例中的重构模块23具体用于根据目标功能分别生成各基本单元的新的位流文件;将各基本单元的新的位流文件配置到对应的基本单元。In some embodiments, the reconstruction module 23 in the above embodiments is specifically configured to respectively generate new bit stream files of each basic unit according to target functions; configure the new bit stream files of each basic unit to corresponding basic units.

在一些实施例中,上述实施例中的重构模块23还用于根据目标电路中重构子电路确定目标功能。In some embodiments, the reconfiguration module 23 in the above embodiments is further configured to determine the target function according to the reconfigured sub-circuits in the target circuit.

在实际应用中,本发明提供的可编程逻辑器件重构装置2可以通过开发工具实现其功能,可以由可编程逻辑器件上的资源来实现。In practical applications, the programmable logic device reconfiguration device 2 provided by the present invention can realize its functions through development tools, and can be realized by resources on the programmable logic device.

现结合运用实际对本发明做进行的诠释说明。Now in conjunction with actual application, the present invention is explained.

第三实施例:Third embodiment:

在本实施例中,以航空领域内需要利用重构机制实现动态可容错效果为应用场景,可编程逻辑器件为FPGA,可重构器件为CLB为例;为便于说明,仅以1次重构为例,将需要实现的电路记为目标电路1(重构前的电路)及目标电路2(重构后的电路),如下表1所示:In this embodiment, the application scenario where the reconfiguration mechanism needs to be used to achieve dynamic fault-tolerant effects in the aviation field is taken as an example, the programmable logic device is FPGA, and the reconfigurable device is CLB as an example; for the sake of illustration, only one reconfiguration is used As an example, record the circuits to be realized as target circuit 1 (the circuit before reconstruction) and target circuit 2 (the circuit after reconstruction), as shown in Table 1 below:

目标电路target circuit 电路组成circuit composition 目标电路1target circuit 1 子电路a、子电路b、子电路c、子电路d、子电路eSubcircuit a, subcircuit b, subcircuit c, subcircuit d, subcircuit e 目标电路2target circuit 2 子电路a、子电路b、2个子电路c、2个子电路dSubcircuit a, subcircuit b, 2 subcircuits c, 2 subcircuits d

表1Table 1

由表1可知,目标电路1与目标电路2具体相同的子电路a及子电路b(子电路a及b不需重构,即为固定子电路);目标电路1与目标电路2的其余子电路则不相同(需要重构,即为重构子电路)。It can be seen from Table 1 that the target circuit 1 and the target circuit 2 have the same sub-circuit a and sub-circuit b (the sub-circuits a and b do not need to be reconfigured, they are fixed sub-circuits); the remaining sub-circuits of the target circuit 1 and the target circuit 2 The circuit is not the same (it needs to be reconfigured, that is, the reconfigured sub-circuit).

图3为本发明第三实施例提供的可编程逻辑器件重构方法的流程图,由图3可知,在本实施例中,本发明提供的可编程逻辑器件重构方法包括以下步骤:Fig. 3 is a flow chart of the programmable logic device reconfiguration method provided by the third embodiment of the present invention. It can be seen from Fig. 3 that in this embodiment, the programmable logic device reconfiguration method provided by the present invention includes the following steps:

S301:根据需要选择FPGA器件,并进行基本单元的划分;S301: Select FPGA devices according to needs, and divide basic units;

用户根据要实现的目标电路的功能复杂度等要求选择合适的FPGA器件;图4未示出FPGA器件中的可编辑互连线、DSP等器件,如图4中(A)所示,空心圆圈代表FPGA器件上的不支持动态重构的资源(可以用来实现目标电路中不需要重构的子电路),实心圆圈代表FPGA器件上的支持动态重构的资源(可以用来实现目标电路中需要重构的子电路,如可编程逻辑块CLB等)。The user selects the appropriate FPGA device according to the functional complexity and other requirements of the target circuit to be realized; Figure 4 does not show the editable interconnection lines, DSP and other devices in the FPGA device, as shown in Figure 4 (A), the hollow circle Represents resources that do not support dynamic reconfiguration on the FPGA device (can be used to implement subcircuits that do not need to be reconfigured in the target circuit), and solid circles represent resources that support dynamic reconfiguration on the FPGA device (can be used to implement subcircuits that do not need to be reconfigured in the target circuit). Sub-circuits that need to be reconfigured, such as programmable logic blocks CLB, etc.).

将FPGA器件划分为可重构资源区及不可重构资源区;如图4中(B)所示,在物理区域上,将空心圆圈的区域划定为不可重构资源区(虚线区域),将实心圆圈的区域划定为可重构资源区(实线区域);在本应用实例中,将可重构资源区作为待重构资源区。Divide the FPGA device into a reconfigurable resource area and a non-reconfigurable resource area; as shown in (B) in Figure 4, on the physical area, the hollow circle area is defined as a non-reconfigurable resource area (dotted line area), The solid circle area is defined as the reconfigurable resource area (solid line area); in this application example, the reconfigurable resource area is used as the resource area to be reconfigured.

将待重构资源区划分为基本单元;根据基本单元的目标功能确定基本单元内的重构器件数量,基本单元之间在物理上相邻;如图4中(C)所示的,每个基本单元内包括4个支持动态可重构的CLB,4个CLB在写入位流文件后,相互配合可以实现目标电路的一个基本功能,按照物理区域连续的方式将待重构资源区划分为12个基本单元(JB1-JB12),边角多余的可重构器件不进行处理(图4也未示出)。Divide the resource area to be reconfigured into basic units; determine the number of reconfigurable devices in the basic unit according to the target function of the basic unit, and the basic units are physically adjacent; as shown in (C) in Figure 4, each The basic unit includes 4 CLBs that support dynamic reconfiguration. After the 4 CLBs are written into the bit stream file, they can cooperate with each other to realize a basic function of the target circuit. The resource area to be reconfigured is divided into For the 12 basic units (JB1-JB12), the reconfigurable devices with redundant corners are not processed (also not shown in FIG. 4 ).

S302:为目标电路分配资源;S302: Allocate resources for the target circuit;

目标电路包括固定子电路及重构子电路,为固定子电路分配不可重构资源区内的资源,为重构子电路分配基本单元;针对固定子电路的资源分配方式,本发明不再赘述,仅对重构子电路的资源分配方式进行说明,现有技术是为其分配很多的CLB、DSP及可编辑互连线等基本器件(这些器件需要一一编码),而本发明则是为其分配基本单元(数量远小于基本器件的数量),如图5所示的那样,为子电路c分配2个基本单元,为子电路d分配3个基本单元,为子电路e分配5个基本单元;The target circuit includes a fixed sub-circuit and a reconfigurable sub-circuit, and allocates resources in a non-reconfigurable resource area for the fixed sub-circuit, and allocates basic units for the reconfigurable sub-circuit; the present invention will not repeat the description of the resource allocation method for the fixed sub-circuit. Only the resource allocation method of the reconfigured sub-circuit is described. The prior art is to allocate a lot of basic devices such as CLB, DSP and editable interconnection wires (these devices need to be coded one by one), but the present invention is for it. Allocate basic units (the number is much smaller than the number of basic devices), as shown in Figure 5, allocate 2 basic units for subcircuit c, allocate 3 basic units for subcircuit d, and allocate 5 basic units for subcircuit e ;

S303:将目标电路转换为基本单元的位流文件;S303: converting the target circuit into a bit stream file of the basic unit;

本步骤仅针对目标电路中重构子电路的位流文件进行说明,固定子电路仅需生成一次位流文件即可,不再说明;This step is only described for the bit stream file of the reconstructed sub-circuit in the target circuit, and the bit stream file only needs to be generated once for the fixed sub-circuit, so no further description is given;

结合图5所示,针对目标电路1(重构前的电路)中各重构子电路的位流文件内容如下:As shown in Figure 5, the content of the bit stream file for each reconstructed sub-circuit in the target circuit 1 (the circuit before reconstruction) is as follows:

子电路c的位流文件包括2个子文件(对应2个基本单元),分别为:位流数据C1、地址JB1、时序1,位流数据C2、地址JB7、时序1;The bit stream file of sub-circuit c includes 2 sub-files (corresponding to 2 basic units), namely: bit stream data C1, address JB1, timing 1, bit stream data C2, address JB7, timing 1;

子电路d的位流文件包括3个子文件(对应3个基本单元),分别为:位流数据D1、地址JB2、时序1,位流数据D2、地址JB8、时序1,位流数据D3、地址JB9、时序1;The bitstream file of subcircuit d includes 3 subfiles (corresponding to 3 basic units), which are: bitstream data D1, address JB2, timing 1, bitstream data D2, address JB8, timing 1, bitstream data D3, address JB9, timing 1;

子电路e的位流文件包括5个子文件(对应5个基本单元),分别为:位流数据E1、地址JB3、时序1,位流数据E2、地址JB4、时序1,位流数据E3、地址JB5、时序1,位流数据E4、地址JB10、时序1,位流数据E5、地址JB11、时序1;The bit stream file of sub-circuit e includes 5 sub-files (corresponding to 5 basic units), which are: bit stream data E1, address JB3, timing 1, bit stream data E2, address JB4, timing 1, bit stream data E3, address JB5, timing 1, bit stream data E4, address JB10, timing 1, bit stream data E5, address JB11, timing 1;

结合图5所示,针对目标电路2(重构后的电路)中各重构子电路的位流文件内容如下:As shown in Figure 5, the content of the bit stream file for each reconstructed sub-circuit in the target circuit 2 (reconstructed circuit) is as follows:

第一个子电路c的位流文件包括2个子文件(对应2个基本单元),分别为:位流数据C1、地址JB1、时序2,位流数据C2、地址JB7、时序2;The bit stream file of the first sub-circuit c includes 2 sub-files (corresponding to 2 basic units), namely: bit stream data C1, address JB1, timing 2, bit stream data C2, address JB7, timing 2;

第二个子电路c的位流文件包括2个子文件(对应2个基本单元),分别为:位流数据C1、地址JB2、时序2,位流数据C2、地址JB8、时序2;The bit stream file of the second sub-circuit c includes 2 sub-files (corresponding to 2 basic units), which are respectively: bit stream data C1, address JB2, timing 2, bit stream data C2, address JB8, timing 2;

第一个子电路d的位流文件包括3个子文件(对应3个基本单元),分别为:位流数据D1、地址JB3、时序2,位流数据D2、地址JB9、时序2,位流数据D3、地址JB10、时序2;The bit stream file of the first sub-circuit d includes 3 sub-files (corresponding to 3 basic units), which are: bit stream data D1, address JB3, timing 2, bit stream data D2, address JB9, timing 2, bit stream data D3, address JB10, timing 2;

第二个子电路d的位流文件包括3个子文件(对应3个基本单元),分别为:位流数据D1、地址JB4、时序2,位流数据D2、地址JB5、时序2,位流数据D3、地址JB11、时序2;The bit stream file of the second sub-circuit d includes 3 sub-files (corresponding to 3 basic units), namely: bit stream data D1, address JB4, timing 2, bit stream data D2, address JB5, timing 2, bit stream data D3 , address JB11, timing 2;

S304:将位流文件约束到对应的基本单元;S304: Constrain the bit stream file to the corresponding basic unit;

如图6所示,为每个基本单元都设置控制单元及存储单元,存储单元可以由块存储器(BRAM)组成;具体的,As shown in Figure 6, a control unit and a storage unit are set for each basic unit, and the storage unit may be composed of a block memory (BRAM); specifically,

基本单元:主要由可配置逻辑块(CLB)等可重构器件与数字信号处理器(DSP)组成,实现数学运算,逻辑处理等功能,工作中,将数据由IO端口输入,经过数字逻辑处理,可重构逻辑单元输出处理后数据;Basic unit: It is mainly composed of reconfigurable devices such as configurable logic blocks (CLB) and digital signal processors (DSP), which realize functions such as mathematical operations and logic processing. During work, the data is input from the IO port and processed by digital logic , the reconfigurable logic unit outputs the processed data;

存储单元:主要用于存放需要重构的配置位流,由块存储器(BRAM)组成;Storage unit: mainly used to store the configuration bit stream that needs to be reconstructed, consisting of block memory (BRAM);

控制单元:接收自外部指令,当需要更换配置位流时,CPU发出重构请求,控制单元接收请求后,将对应时序的位流数据导入基本单元中,以替换之前的位流文件,实现新的电路;当基本单元正在配置位流数据时,控制单元发出BUSY指令,阻止输入数据,当配置结束后,控制单元输出DONE指令,允许输入,并通知CPU配置结束,准备接受下一个重构请求;Control unit: Received from an external command, when the configuration bit stream needs to be replaced, the CPU sends a reconstruction request. After receiving the request, the control unit imports the bit stream data corresponding to the timing into the basic unit to replace the previous bit stream file and realize the new circuit; when the basic unit is configuring the bit stream data, the control unit sends a BUSY command to prevent input data, when the configuration is completed, the control unit outputs a DONE command to allow input, and informs the CPU that the configuration is over and is ready to accept the next reconstruction request ;

根据上步骤的假设,基本单元JB1-5、7-11对应的存储单元中,都存储有2个位流文件,具体如下表2所示:According to the assumptions in the previous steps, there are two bit stream files stored in the storage units corresponding to the basic units JB1-5 and 7-11, as shown in Table 2 below:

表2Table 2

S305:根据控制信号完成重构;S305: Complete the reconstruction according to the control signal;

每个基本单元的控制单元根据外界的信号,如用户通过开发工具的按键发出的重构信号等,控制重构时机;The control unit of each basic unit controls the reconfiguration timing according to external signals, such as the reconfiguration signal sent by the user through the buttons of the development tool;

在完成目标电路1功能的测试后,用户需要测试目标电路2的功能,按下开发工具的重构按钮,此时进行重构,具体的是由控制单元将存储单元内时序为2的位流数据导入基本单元中,以替换时序为1的位流数据,实现新的电路功能,重构前后的子电路结构示意图如图5所示;After completing the function test of the target circuit 1, the user needs to test the function of the target circuit 2, press the reconfiguration button of the development tool, and perform reconstruction at this time. The data is imported into the basic unit to replace the bit stream data with a timing of 1 to realize new circuit functions. The schematic diagram of the sub-circuit structure before and after reconstruction is shown in Figure 5;

如图5所示,在重构前,基本单元内的位流文件是时序为1的位流数据,此时,基本单元JB1及JB7实现子电路c的功能;基本单元JB2、JB8及JB9实现子电路d的功能;基本单元JB3、JB4、JB5、JB10及JB11实现子电路e的功能;在重构后,基本单元内的位流文件是时序为2的位流数据,此时,基本单元JB1及JB7实现第一个子电路c的功能;基本单元JB2及JB8实现第二个子电路c的功能;基本单元JB3、JB9及JB10实现第一个子电路d的功能;基本单元JB4、JB5及JB11实现第二个子电路d的功能。As shown in Figure 5, before reconstruction, the bit stream file in the basic unit is bit stream data with a time sequence of 1. At this time, the basic units JB1 and JB7 realize the function of sub-circuit c; the basic units JB2, JB8 and JB9 realize The function of sub-circuit d; the basic units JB3, JB4, JB5, JB10 and JB11 realize the function of sub-circuit e; after reconstruction, the bit stream file in the basic unit is bit stream data with a sequence of 2. At this time, the basic unit JB1 and JB7 realize the function of the first sub-circuit c; basic units JB2 and JB8 realize the function of the second sub-circuit c; basic units JB3, JB9 and JB10 realize the function of the first sub-circuit d; basic units JB4, JB5 and JB11 realizes the function of the second sub-circuit d.

综上可知,通过本发明的实施,至少存在以下有益效果:In summary, through the implementation of the present invention, there are at least the following beneficial effects:

根据需要确定可编程逻辑器件中的待重构资源区,并且其划分为基本单元,基本单元包括至少一个可重构器件,这些可重构器件在写入位流数据后就可以实现基本的逻辑功能,即每个基本单元都可以实现目标电路的一些功能,在此基础上,分别对各基本单元进行重构,实现了以基本单元为最小重构单元的重构技术,与现有以基本器件为最小重构单元的重构技术相比,最小重构范围增大,重构时所需要的控制信号及数据流数量都将减少,降低了可编程逻辑器件的器件繁杂度及重构成本;Determine the resource area to be reconfigured in the programmable logic device according to the needs, and divide it into basic units, the basic unit includes at least one reconfigurable device, and these reconfigurable devices can realize basic logic after writing bit stream data function, that is, each basic unit can realize some functions of the target circuit. On this basis, each basic unit is reconstructed separately, and the reconstruction technology with the basic unit as the smallest reconstruction unit is realized, which is different from the existing basic Compared with the reconfiguration technology in which the device is the smallest reconfiguration unit, the minimum reconfiguration range is increased, and the number of control signals and data streams required for reconfiguration will be reduced, reducing the device complexity and reconfiguration cost of programmable logic devices ;

进一步的,仅将目标电路中需要重构的重构子电路约束到待重构资源区,降低了可重构资源的浪费。Furthermore, only the reconfigurable sub-circuits in the target circuit that need to be reconfigured are constrained to the resource area to be reconfigured, which reduces the waste of reconfigurable resources.

以上仅是本发明的具体实施方式而已,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施方式所做的任意简单修改、等同变化、结合或修饰,均仍属于本发明技术方案的保护范围。The above are only specific embodiments of the present invention, and do not limit the present invention in any form. Any simple modification, equivalent change, combination or modification made to the above embodiments according to the technical essence of the present invention still belong to this invention. The protection scope of the technical solution of the invention.

Claims (12)

1. a programmable logic device (PLD) reconstructing method, is characterized in that, comprising:
That determines programmable logic device (PLD) treats reconstruct resource-area;
Treat that reconstruct resource dividing is divided at least one elementary cell by described, described elementary cell comprises at least one reconfigurable device;
Respectively each elementary cell is reconstructed.
2. programmable logic device (PLD) reconstructing method as claimed in claim 1, it is characterized in that, described elementary cell also comprises reconfigurable connection between described reconfigurable device and other devices.
3. programmable logic device (PLD) reconstructing method as claimed in claim 1, it is characterized in that, described reconfigurable device comprises configurable logic blocks CLB.
4. the programmable logic device (PLD) reconstructing method as described in any one of claims 1 to 3, it is characterized in that, treat that reconstruct resource dividing is divided at least one elementary cell to comprise by described: treat that reconstruct resource-area is divided at least one elementary cell according to physical region by described; Or, treat that reconstruct resource-area is divided at least one elementary cell according to physical region and objective function by described.
5. programmable logic device (PLD) reconstructing method as claimed in claim 4, it is characterized in that, described objective function comprises: the function that described elementary cell needs realize, or described in wait to reconstruct the function that resource-area needs realization.
6. the programmable logic device (PLD) reconstructing method as described in any one of claims 1 to 3, is characterized in that, is reconstructed respectively and comprises: the new bit stream file generating each elementary cell according to objective function respectively to each elementary cell; The new bit stream file of each elementary cell is configured to corresponding elementary cell.
7. a programmable logic device (PLD) reconfiguration device, is characterized in that, comprising:
Determination module, for determine programmable logic device (PLD) wait reconstruct resource-area;
Divide module, for treating that reconstruct resource dividing is divided at least one elementary cell by described, described elementary cell comprises at least one reconfigurable device;
Reconstructed module, for being reconstructed each elementary cell respectively.
8. programmable logic device (PLD) reconfiguration device as claimed in claim 7, it is characterized in that, described elementary cell also comprises reconfigurable connection between described reconfigurable device and other devices.
9. programmable logic device (PLD) reconfiguration device as claimed in claim 7, it is characterized in that, described reconfigurable device comprises configurable logic blocks CLB.
10. the programmable logic device (PLD) reconfiguration device as described in any one of claim 7 to 9, is characterized in that, described division module specifically for: by described treat reconstruct resource-area be divided at least one elementary cell according to physical region; Or, treat that reconstruct resource-area is divided at least one elementary cell according to physical region and objective function by described.
11. programmable logic device (PLD) reconfiguration devices as claimed in claim 10, it is characterized in that, described objective function comprises: the function that described elementary cell needs realize, or described in wait to reconstruct the function that resource-area needs to realize.
12. programmable logic device (PLD) reconfiguration devices as described in any one of claim 7 to 9, it is characterized in that, described reconstructed module is specifically for generating the new bit stream file of each elementary cell respectively according to objective function; The new bit stream file of each elementary cell is configured to corresponding elementary cell.
CN201410835994.9A 2014-12-29 2014-12-29 Programmable logic device reconstruction method and device Expired - Fee Related CN104536755B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410835994.9A CN104536755B (en) 2014-12-29 2014-12-29 Programmable logic device reconstruction method and device
PCT/CN2015/097730 WO2016107421A1 (en) 2014-12-29 2015-12-17 Reconstruction method and apparatus for programmable logic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410835994.9A CN104536755B (en) 2014-12-29 2014-12-29 Programmable logic device reconstruction method and device

Publications (2)

Publication Number Publication Date
CN104536755A true CN104536755A (en) 2015-04-22
CN104536755B CN104536755B (en) 2019-05-10

Family

ID=52852287

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410835994.9A Expired - Fee Related CN104536755B (en) 2014-12-29 2014-12-29 Programmable logic device reconstruction method and device

Country Status (2)

Country Link
CN (1) CN104536755B (en)
WO (1) WO2016107421A1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105260545A (en) * 2015-10-19 2016-01-20 深圳市同创国芯电子有限公司 Verification method for programmable circuit systems
WO2016107421A1 (en) * 2014-12-29 2016-07-07 深圳市国微电子有限公司 Reconstruction method and apparatus for programmable logic device
CN106487395A (en) * 2016-10-18 2017-03-08 哈尔滨工业大学 Multi-mode demodulation system based on FPGA
CN107491342A (en) * 2017-09-01 2017-12-19 郑州云海信息技术有限公司 A kind of more virtual card application methods and system based on FPGA
WO2018001329A1 (en) * 2016-06-29 2018-01-04 中兴通讯股份有限公司 Service implementation method and apparatus for programmable device, and communication terminal
CN108255778A (en) * 2015-08-27 2018-07-06 阿尔特拉公司 effective integrated circuit configuration data management
CN109491949A (en) * 2018-11-27 2019-03-19 哈尔滨工业大学 Dynamic reconfigurable frame and method based on Zynq
CN113971022A (en) * 2021-12-22 2022-01-25 成都航天通信设备有限责任公司 Wireless signal processing method and system applying system on fully programmable chip

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110602107B (en) * 2019-09-18 2021-12-28 山东浪潮科学研究院有限公司 Zynq-based network cipher machine and network data encryption and decryption method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5600845A (en) * 1994-07-27 1997-02-04 Metalithic Systems Incorporated Integrated circuit computing device comprising a dynamically configurable gate array having a microprocessor and reconfigurable instruction execution means and method therefor
CN1434953A (en) * 1999-12-14 2003-08-06 爱特梅尔股份有限公司 A Method for Realizing the Structure Design of Dynamic Reconfigurable Logic Circuits

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101702184B (en) * 2009-11-19 2012-05-30 复旦大学 Dynamic reconfigurable bus macrostructure
CN101963943B (en) * 2010-06-30 2015-04-29 上海华岭集成电路技术股份有限公司 Mapping method for searching FPGA configuration files and CLB block configuration resources
CN104536755B (en) * 2014-12-29 2019-05-10 深圳市国微电子有限公司 Programmable logic device reconstruction method and device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5600845A (en) * 1994-07-27 1997-02-04 Metalithic Systems Incorporated Integrated circuit computing device comprising a dynamically configurable gate array having a microprocessor and reconfigurable instruction execution means and method therefor
CN1434953A (en) * 1999-12-14 2003-08-06 爱特梅尔股份有限公司 A Method for Realizing the Structure Design of Dynamic Reconfigurable Logic Circuits
CN1641651A (en) * 1999-12-14 2005-07-20 爱特梅尔股份有限公司 Method for implementing physical design for dynamically reconfigurable logic circuit

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016107421A1 (en) * 2014-12-29 2016-07-07 深圳市国微电子有限公司 Reconstruction method and apparatus for programmable logic device
CN108255778A (en) * 2015-08-27 2018-07-06 阿尔特拉公司 effective integrated circuit configuration data management
CN105260545A (en) * 2015-10-19 2016-01-20 深圳市同创国芯电子有限公司 Verification method for programmable circuit systems
CN105260545B (en) * 2015-10-19 2018-09-14 深圳市紫光同创电子有限公司 A kind of verification method of programmable circuit system
WO2018001329A1 (en) * 2016-06-29 2018-01-04 中兴通讯股份有限公司 Service implementation method and apparatus for programmable device, and communication terminal
CN107544819A (en) * 2016-06-29 2018-01-05 中兴通讯股份有限公司 It is a kind of for the service implementation method of programming device, device and communication terminal
CN107544819B (en) * 2016-06-29 2022-04-19 中兴通讯股份有限公司 Service implementation method and device for programmable device and communication terminal
CN106487395A (en) * 2016-10-18 2017-03-08 哈尔滨工业大学 Multi-mode demodulation system based on FPGA
CN107491342A (en) * 2017-09-01 2017-12-19 郑州云海信息技术有限公司 A kind of more virtual card application methods and system based on FPGA
CN109491949A (en) * 2018-11-27 2019-03-19 哈尔滨工业大学 Dynamic reconfigurable frame and method based on Zynq
CN109491949B (en) * 2018-11-27 2022-06-07 哈尔滨工业大学 Zynq-based dynamic reconfigurable framework and method
CN113971022A (en) * 2021-12-22 2022-01-25 成都航天通信设备有限责任公司 Wireless signal processing method and system applying system on fully programmable chip

Also Published As

Publication number Publication date
WO2016107421A1 (en) 2016-07-07
CN104536755B (en) 2019-05-10

Similar Documents

Publication Publication Date Title
CN104536755A (en) Reconstruction method and device for programmable logic device
JP7381429B2 (en) Storage system and method for accelerating hierarchical sorting around storage
CN105703765A (en) DRAM-based reconfigurable logic
JP2001068993A (en) Information processing system
WO2015088837A1 (en) Memory arrangement for implementation of high-throughput key-value stores
CN105808328A (en) Task scheduling method, device and system
US20210326687A1 (en) Neural Network System and Data Processing Technology
US20130027080A1 (en) Programmable logic device
US8473881B1 (en) Multi-resource aware partitioning for integrated circuits
KR102238600B1 (en) Scheduler computing device, data node of distributed computing system having the same, and method thereof
Krasteva et al. Virtex II FPGA bitstream manipulation: Application to reconfiguration control systems
CN110704364A (en) Automatic dynamic reconstruction method and system based on field programmable gate array
US9946551B2 (en) System and method that generate reconfiguration information
CN105404728B (en) A kind of layout method more controlling signal based on fpga chip
US9449133B2 (en) Partition based design implementation for programmable logic devices
CN103809769A (en) BLOCKRAM cascade connection achieving structure
US10686447B1 (en) Modular field programmable gate array, and method of configuring and operating same
US10068045B1 (en) Programmable logic device design implementations with multiplexer transformations
US9390210B2 (en) Logic absorption techniques for programmable logic devices
CN105718394A (en) On-chip cache memory access interface of coarse-grained reconfigurable system and access method thereof
US20150128101A1 (en) Promoting efficient cell usage to boost qor in automated design
CN203909724U (en) BLOCK RAM cascade realizing structure
US8659317B1 (en) Flexible multi-point routing topology
CN107544819B (en) Service implementation method and device for programmable device and communication terminal
US10169271B1 (en) Direct memory access descriptor

Legal Events

Date Code Title Description
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190510

CF01 Termination of patent right due to non-payment of annual fee