WO2016107421A1 - 可编程逻辑器件重构方法及装置 - Google Patents

可编程逻辑器件重构方法及装置 Download PDF

Info

Publication number
WO2016107421A1
WO2016107421A1 PCT/CN2015/097730 CN2015097730W WO2016107421A1 WO 2016107421 A1 WO2016107421 A1 WO 2016107421A1 CN 2015097730 W CN2015097730 W CN 2015097730W WO 2016107421 A1 WO2016107421 A1 WO 2016107421A1
Authority
WO
WIPO (PCT)
Prior art keywords
basic unit
reconstructed
programmable logic
reconstruction
circuit
Prior art date
Application number
PCT/CN2015/097730
Other languages
English (en)
French (fr)
Inventor
包朝伟
刘真麒
唐万韬
王佩宁
Original Assignee
深圳市国微电子有限公司
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 深圳市国微电子有限公司 filed Critical 深圳市国微电子有限公司
Publication of WO2016107421A1 publication Critical patent/WO2016107421A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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

Definitions

  • the present invention relates to the field of application of programmable logic devices, and in particular, to a method and apparatus for reconstructing a programmable logic device.
  • Programmable logic devices have some disadvantages in user-friendly peers, such as circuit design using the zynq 7000 series SoC FPGA.
  • the existing FPGA reconfigurable technology uses configuration frames to the basic logic. Units (find table, flip-flop, CLB, IOB, etc.) implement fine-grained reconstruction. This method needs to generate bit stream files of all circuits according to the reconstructed target circuit, and send reconstruction to these basic devices. The bit stream data, these basic device update configurations are reconstructed, and the FPGA chip structure design is difficult to implement, the chip area is large, and the chip cost is high.
  • the present invention provides a method and apparatus for reconstructing a programmable logic device to reduce the cost of reconstruction of the programmable logic device.
  • the present invention provides a method for reconstructing a programmable logic device.
  • the method includes: determining a resource region to be reconstructed of a programmable logic device; dividing the resource region to be reconstructed into at least one basic The unit, the basic unit includes at least one reconfigurable device; respectively reconstructs each basic unit.
  • the basic unit in the foregoing embodiment further includes reconfigurable between the reconfigurable device and other devices. Line connection.
  • the reconfigurable device in the above embodiment includes a configurable logic module CLB.
  • the dividing the to-be-reconstructed resource area into the at least one basic unit in the foregoing embodiment includes: dividing the to-be-reconstructed resource area into at least one basic unit according to the physical area; or The physical area and target functions are divided into at least one basic unit.
  • the target functions in the foregoing embodiments include: functions that the basic unit needs to implement, or functions that need to be implemented in the resource region to be reconstructed.
  • performing reconfiguration on each basic unit in the foregoing embodiment includes: generating a new bit stream file of each basic unit according to the target function; and configuring a new bit stream file of each basic unit to the corresponding Basic unit.
  • the present invention provides a programmable logic device reconstruction apparatus.
  • the apparatus includes: a determining module, configured to determine a resource region of a programmable logic device to be reconstructed; a partitioning module, configured to The resource to be reconstructed is divided into at least one basic unit, the basic unit includes at least one reconfigurable device, and the reconstruction module is configured to separately reconstruct each basic unit.
  • the basic unit in the above embodiment further includes a reconfigurable line connection between the reconfigurable device and other devices.
  • the reconfigurable device in the above embodiment includes a configurable logic module CLB.
  • the dividing module in the foregoing embodiment is specifically configured to: divide the resource area to be reconstructed into at least one basic unit according to the physical area; or divide the resource area to be reconstructed into at least the physical area and the target function into at least A basic unit.
  • the target functions in the foregoing embodiments include: functions that the basic unit needs to implement, or functions that need to be implemented in the resource region to be reconstructed.
  • the reconstruction module in the foregoing embodiment is specifically configured to separately generate a new bitstream file of each basic unit according to the target function; and configure a new bitstream file of each basic unit to the corresponding basic unit.
  • the solution provided by the present invention determines the resource region to be reconstructed in the programmable logic device as needed, and Divided into basic units, the basic unit includes at least one reconfigurable device, which can implement basic logic functions after writing bit stream data, that is, each basic unit can implement some functions of the target circuit. On this basis, each basic unit is reconstructed separately, and the reconstruction technique with the basic unit as the minimum reconstruction unit is realized. Compared with the existing reconstruction technology with the basic device as the minimum reconstruction unit, the minimum reconstruction range is compared. Increasing, the number of control signals and data streams required for reconstruction is reduced, reducing the complexity of the programmable logic device and the cost of reconstruction.
  • FIG. 1 is a flowchart of a method for reconstructing a programmable logic device according to a first embodiment of the present invention
  • FIG. 2 is a schematic diagram of a programmable logic device reconstruction apparatus according to a second embodiment of the present invention.
  • FIG. 3 is a flowchart of a method for reconstructing a programmable logic device according to a third embodiment of the present invention.
  • FIG. 4 is a schematic diagram showing a dividing step of an FPGA device according to a third embodiment of the present invention.
  • FIG. 5 is a schematic diagram of reconstruction of a resource region to be reconstructed according to a third embodiment of the present invention.
  • FIG. 6 is a schematic diagram of implementation of a single basic unit in a third embodiment of the present invention.
  • FIG. 1 is a flowchart of a method for reconstructing a programmable logic device according to a first embodiment of the present invention.
  • the method for reconstructing a programmable logic device includes the following steps:
  • S101 determining a resource region to be reconstructed of the programmable logic device
  • This step first needs to determine a reconfigurable resource region that supports dynamic reconstruction in a programmable logic device.
  • programmable logic devices There are many types of programmable logic devices.
  • the present invention uses an FPGA as an example to illustrate: a user according to the complexity of the target circuit and the like. Select some types of FPGAs, and divide the FPGA into reconfigurable resource areas and non-reconfigurable resource areas.
  • Reconfigurable resource areas refer to resources in the area that are dynamically reconfigurable and can be scored in circuit operation. Multiplexing and writing different bit stream data can realize different functions without using time.
  • the non-reconfigurable resource area means that the resources of the area do not support dynamic writing of bit stream data to realize different functions during circuit operation.
  • the range of the reconfigurable resource region on the device can be known according to the device specification, and then the user can perform the function and the reconfigurable resource according to the reconstructed sub-circuit in the target circuit to be changed.
  • the range of the area, one or more resource areas to be reconstructed are determined on the device, and the resource area to be reconstructed may be part of the reconfigurable resource area (completely belonging to the reconfigurable resource area), and may also include partial reconfigurable Resource area and part of the non-reconfigurable resource area (used to implement circuit functions in the target circuit that do not require reconfiguration).
  • S102 Divide the resource to be reconstructed into at least one basic unit, where the basic unit includes at least one reconfigurable device;
  • the resources (including CLB, editable interconnect, etc.) in the resource region to be reconstructed are divided into at least one basic unit, and each basic unit includes at least one reconfigurable Device (such as C
  • the number of reconfigurable devices between different basic units may be different, and may be divided according to the target functions that the basic unit needs to implement. If some basic units need to implement a target function that is simple, then only one may be included. Reconfigurable devices, correspondingly, can be included in a larger number of reconfigurable devices if the target functions that some basic units need to implement are more complex.
  • each basic unit includes the same number of reconfigurable devices (these may be The reconfiguration of the devices can achieve some small functions of the target circuit, which ensures that each basic unit can achieve certain functions after writing the bit stream data, and the reconfigurable resources of each basic unit are On the basis of this, on the basis of this, the target circuit can be decomposed into many small powers, and the corresponding basic units are allocated for these small functions without first judging the complexity of implementing such small functions, and dividing the basic units. The division is simple.
  • S103 Reconstructing each basic unit separately, and implementing the bit stream file of the target circuit to the basic unit by using a bursting tool.
  • the base unit in the above embodiments further includes a reconfigurable line connection between the reconfigurable device and other devices.
  • the reconfigurable device needs to communicate with other devices during operation, such as obtaining bitstream file acquisition, working logic relationship between reconfigurable devices, etc., this embodiment adopts a reconfigurable device.
  • Reconfigurable line connections to other devices are also divided into basic units , making the basic unit more complete, reconfigurable line connections including editable interconnects, IOB resources, and so on.
  • the reconfigurable device in the above embodiment is a configurable logic module CLB.
  • CLB configurable logic module
  • the reconfigurable resources in the FPGA device used. Different types, corresponding, reconfigurable devices are reconfigurable resources within such FPGA devices.
  • the dividing the to-be-reconstructed resource region into the at least one basic unit in the foregoing embodiment includes: dividing the to-be-reconstructed resource region into at least one basic unit according to the physical region; or, to be reconstructed
  • the resource area is divided into at least one basic unit according to the physical area and the target function.
  • This embodiment provides a division manner 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, thereby reducing the devices in the basic unit.
  • the complexity of communication between the two which reduces 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 reduces the cost of realizing reconfigurability.
  • the two basic units in the above embodiments are adjacent and do not overlap.
  • a basic unit in the above embodiment includes multiple (two or more) reconfigurable devices, and the types of the reconfigurable devices are related to the target functions that need to be implemented. If the basic unit needs to implement functions such as resistance and capacitance, its internal components can include reconfigurable resistors and capacitors.
  • the target functions in the foregoing embodiments include: functions that the basic unit needs to implement, or functions that need to be implemented in the resource area to be reconstructed.
  • the function that the basic unit needs to implement refers to the function corresponding to the bit stream file written by the basic unit in the target circuit, such as the resistance function for realizing a specific resistance value.
  • the basic unit includes a reconfigurable device and corresponding communication line. Just fine.
  • the function to be implemented in the resource region to be reconstructed refers to the function that the target circuit needs to implement in the resource region to be reconstructed.
  • These functions may be composed of multiple sub-functions, and the basic unit is divided according to these sub-functions, so that each basic unit can be The corresponding sub-functions are implemented, so that the basic units obtained by the division are functionally independent and the reconstruction is simple.
  • performing reconfiguration on each basic unit separately in the foregoing embodiment includes: separately generating a new bit stream file of each basic unit according to the target function; configuring a new bit stream file of each basic unit Go to the corresponding basic unit.
  • the new bitstream file refers to the bitstream data and other information required by the basic unit to achieve the target function.
  • Configuring the new bitstream file of each basic unit to the corresponding basic unit means importing the new bitstream file into the corresponding The basic unit, and replace the bitstream file in the basic unit with a new bitstream file to complete the refactoring to achieve the target function.
  • the above embodiment further includes the step of determining a target function according to the reconstruction sub-circuit in the target circuit before generating the new bit stream file of each base unit according to the target function.
  • the purpose of constraining the reconstructed sub-circuit to the basic unit is achieved, that is, the reconstructed sub-module is to be The basic unit in the resource area is reconstructed to implement the reconstruction.
  • step S103 in the embodiment shown in FIG. 1 includes: determining a reconstruction sub-circuit in the target circuit that needs to be reconstructed, and selecting one or more basic units according to a function that the reconstruction sub-circuit needs to implement.
  • the target circuit involved in the present invention refers to a circuit that a user needs to implement certain functions, and the circuit is in use, and some sub-circuits need to be fault-tolerant (for example, a partial demodulator may have an error, as needed)
  • the experimental function dynamically corrects adjustments, etc., and replaces (implements different specifications) and other specific functions.
  • the present invention defines it as a reconstruction sub-circuit, while others are not fault-tolerant (for example, an implementation circuit of an RF antenna generally does not
  • the sub-circuit of the replacement replacement of the antenna does not need to be replaced) is defined as a fixed sub-circuit by the present invention.
  • the target circuit is divided into a reconstruction sub-circuit that needs to be reconstructed and a fixed sub-circuit that does not need to be reconstructed, and only the basic unit is allocated only for the reconstruction sub-circuit, and the fixed sub-circuit is used in the FPGA device.
  • the resources of the non-reconfigurable resource area are implemented to further reduce the limited basic unit occupancy in the FPGA.
  • Ben In the embodiment only the function that needs to be implemented by the reconstructed sub-circuit is parsed into the bit stream data of the bit stream file of the basic unit, and the function of the fixed sub-circuit is not parsed into the bit stream file of the basic unit, and only the reconstructed sub-circuit is realized.
  • the analysis processing is faster than the existing target circuit, and the implementation is simple. After the bit stream file is generated, the basic unit can be determined without comparing the bit stream file. .
  • 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 storing for multiple basic units.
  • a basic unit needs to be reconfigured, and a storage unit for storing a bit stream file and a control unit for controlling the reconstruction time are required.
  • This embodiment provides three control units and a storage unit setting manner, and the user can according to actual needs.
  • a single basic unit can realize more complicated circuit functions, and then the control unit and the storage unit can be separately set for each basic unit, correspondingly, if A single basic unit has a small number of reconfigurable devices, and a control unit and a storage unit can be provided for a plurality of basic units (storage and control of multiple basic units are realized by means of split multiplexing), of course, when If the total number of basic units in the resource area is small or divided, it is possible to set only one control unit and storage unit (the storage and control of all basic units is realized by means of split multiplexing).
  • the programmable logic device reconstruction apparatus 2 includes: a module 21, a dividing module 22, and a reconstruction module 23, wherein
  • a determining module 21 configured to determine a resource region to be reconstructed of the programmable logic device
  • the dividing module 22 is configured to divide the resource to be reconstructed into at least one basic unit, where the basic unit includes at least one reconfigurable device;
  • the reconstruction module 23 is configured to perform reconfiguration on each basic unit separately.
  • the base unit in the above embodiments further includes a reconfigurable line connection between the reconfigurable device and other devices.
  • the reconfigurable device in the above embodiments is a configurable logic module CLB.
  • the dividing module 21 in the foregoing embodiment is specifically configured to: divide a resource area to be reconstructed into at least one basic unit according to a physical area; or, according to the physical area and target, the resource area to be reconstructed The function is divided into at least one basic unit.
  • the target functions in the foregoing embodiments include: functions that the basic unit needs to implement, or functions that need to be implemented in the resource region to be reconstructed.
  • the reconstruction module 23 in the foregoing embodiment is specifically configured to separately generate a new bitstream file of each basic unit according to the target function; and configure a new bitstream file of each basic unit to a corresponding one. Basic unit.
  • the reconstruction module 23 in the above embodiment is further configured to determine a target function according to the reconstructed sub-circuit in the target circuit.
  • the programmable logic device reconstruction apparatus 2 can implement its functions through a bursting tool, which can be implemented by resources on the programmable logic device.
  • the dynamic fault-tolerant effect is implemented in the aeronautical field by using a reconstruction mechanism as an application scenario
  • the programmable logic device is an FPGA
  • the reconfigurable device is a CLB; for convenience, only 1
  • the circuit to be implemented is referred to as the target circuit 1 (the circuit before reconstruction) and the target circuit 2 (the reconstructed circuit).
  • Target circuit 1 circuit composition: sub-circuit a, sub-circuit b, sub-circuit c, sub-circuit d, sub-circuit e.
  • the target circuit 2 the circuit composition: sub-circuit a, sub-circuit b, two sub-circuits (:, two sub-circuits d.
  • the target circuit 1 and the target circuit 2 are specifically the same sub-circuit a and sub-circuit b (sub-circuit a And b does not need to be reconstructed, that is, a fixed sub-circuit); the target circuit 1 is different from the remaining sub-circuits of the target circuit 2 (reconstruction is required, that is, the reconstructed sub-circuit).
  • FIG. 3 is a flowchart of a method for reconstructing a programmable logic device according to a third embodiment of the present invention.
  • the method for reconstructing a programmable logic device includes the following steps:
  • S301 selecting an FPGA device according to requirements, and performing division of the basic unit
  • FIG. 4 does not show the editable interconnect line, the DSP, and the like in the FPGA device, as shown in FIG. 4(A).
  • open circle Represents resources on FPGA devices that do not support dynamic reconstruction (can be used to implement sub-circuits in the target circuit that do not require reconfiguration).
  • Solid circles represent resources that support dynamic reconstruction on FPGA devices (can be used to implement target circuits) Subcircuits that need to be reconstructed, such as programmable logic blocks CLB, etc.).
  • the FPGA device divides the FPGA device into a reconfigurable resource region and a non-reconfigurable resource region; as shown in FIG. 4(B), on the physical region, the region of the open circle is defined as a non-reconfigurable resource region (dotted line Area), the area of the solid circle is defined as a reconfigurable resource area (solid line area); In this application example, the reconfigurable resource area is used as the resource area to be reconstructed.
  • Each basic unit includes four CLBs supporting dynamic reconfigurable. After writing the bit stream files, the four CLBs can cooperate with each other to implement a basic function of the target circuit, and the resources to be reconstructed according to the continuous manner of the physical area.
  • the area is divided into 12 basic units (JB1-JB12), and the redundant reconfigurable devices at the corners are not processed (not shown in Fig. 4).
  • S302 allocating resources to the target circuit
  • the target circuit includes a fixed sub-circuit and a reconstruction sub-circuit, and allocates a resource in the non-reconfigurable resource region for the fixed sub-circuit, and allocates a basic unit for the reconstructed sub-circuit; and the resource allocation manner for the fixed sub-circuit, the present invention does not Further, only the resource allocation manner of the reconstructed sub-circuit is described.
  • the prior art allocates a large number of basic devices such as CLB, DSP, and editable interconnect (these devices require one-to-one encoding), and the present invention Is to allocate the basic unit for it (the number is much smaller than the number of basic devices), as shown in Figure 5, allocate 2 basic units for sub-circuit c, 3 basic units for sub-circuit d, and 5 for sub-circuit e Basic unit
  • S303 Convert the target circuit into a bit stream file of the basic unit
  • the contents of the bit stream file for each reconstructed sub-circuit in the target circuit 1 are as follows:
  • the bit stream file of the sub-circuit c includes two sub-files (corresponding to two basic units), respectively: bit stream data C1, address JB1, sequence 1, bit stream data C2, address JB7, sequence 1; [0077]
  • the bit stream file of the sub-circuit d includes three sub-files (corresponding to three basic units), respectively: bit stream data D1, address JB2, sequence 1, bit stream data D2, address JB8, sequence 1, Bit stream data D3, address JB9, sequence 1;
  • bit stream file of the sub-circuit e includes 5 sub-files (corresponding to 5 basic units), respectively: bit stream data E 1 , address JB3, sequence 1, bit stream data E2, address JB4, sequence 1, Bit stream data E3, address JB5, sequence 1, bit stream data E4, address JB10, sequence 1, bit stream data E5, address JB11, sequence 1;
  • the contents of the bit stream file for each reconstructed sub-circuit in the target circuit 2 are as follows:
  • bit stream file of the first sub-circuit c includes two sub-files (corresponding to two basic units), respectively: bit stream data Cl, address JB1, sequence 2, bit stream data C2, address JB7, order 2;
  • bit stream file of the second sub-circuit c includes two sub-files (corresponding to two basic units), respectively: bit stream data Cl, address JB2, sequence 2, bit stream data C2, address JB8, sequence 2 ;
  • bit stream file of the first sub-circuit d includes three sub-files (corresponding to three basic units), respectively: bit stream data D1, address JB3, sequence 2, bit stream data D2, address JB9, order 2, bit stream data D3, address JB10, order 2;
  • bit stream file of the second sub-circuit d includes three sub-files (corresponding to three basic units), respectively: bit stream data D1, address JB4, sequence 2, bit stream data D2, address JB5, sequence 2 , bit stream data D3, address JB11, sequence 2;
  • a control unit and a storage unit are provided for each basic unit, and the storage unit may be composed of a block memory (BRAM);
  • BRAM block memory
  • Base unit Reconfigurable device and digital signal processor (DS) mainly composed of configurable logic blocks (CLB)
  • the storage unit is mainly used for storing a configuration bit stream that needs to be reconstructed, and is composed of a block memory (BRAM);
  • the control unit receives the external instruction, and when the configuration bit stream needs to be replaced, the CPU issues a reconstruction request. After receiving the request, the control unit imports the corresponding bit stream data into the basic unit to replace the previous bit stream file to implement a new circuit; when the basic unit is configuring bit stream data, the control unit issues BUSY The instruction blocks the input data. When the configuration is finished, the control unit outputs a DONE command, allows the input, and notifies the CPU that the configuration is finished, ready to accept the next reconstruction request;
  • JB1 corresponding bitstream file bitstream data Cl, address JB1, sequence 1; bitstream data Cl, address JB
  • JB2 corresponding bitstream file bitstream data Dl, address JB2, sequence 1; bitstream data Cl, address JB
  • JB3 corresponding bitstream file bitstream data El, address JB3, sequence 1; bitstream data Dl, address JB
  • JB4 corresponding bitstream file bitstream data E2, address JB4, sequence 1; bitstream data Dl, address JB
  • JB5 corresponding bitstream file bitstream data E3, address JB5, sequence 1; bitstream data D2, address JB
  • JB7 corresponding bitstream file bitstream data C2, address JB7, sequence 1; bitstream data C2, address JB
  • JB8 corresponding bitstream file bitstream data D2, address JB8, sequence 1; bitstream data C2, address JB
  • JB9 corresponding bitstream file bitstream data D3, address JB9, sequence 1; bitstream data D2, address JB
  • JB10 corresponding bit stream file: bit stream data E4, address JB10, order 1; bit stream data D3, address JB10, order 2;
  • bit stream data E5 address JB11, order 1
  • bit stream data D3 address
  • JB11 order 2.
  • control unit of each basic unit controls the reconstructed downtime according to an external signal, such as a reconstructed signal sent by the user through a button of the bursting tool;
  • the bit stream file in the basic unit is the bit stream data in order of 1, and then the basic units JB1 and JB7 implement the function of the sub-circuit c; the basic unit JB2 JB8 and JB9 realize the function of sub-circuit d; 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 order 2, Thereafter, the basic units JB1 and JB7 implement the functions of the first sub-circuit c; the basic units JB2 and JB8 implement the functions of the second sub-circuit c; the basic units J B3, JB9 and JB10 implement the functions of the first sub-circuit d; The basic units JB4, JB5 and JB11 implement the functions of the second sub-circuit d.
  • each basic unit can realize some functions of the target circuit.
  • each basic unit is reconstructed, and the reconstruction technology with the basic unit as the minimum reconstruction unit is realized. Compared with the reconstruction technique with the basic device as the minimum reconstruction unit, the minimum reconstruction range is increased.
  • control signals and data streams required for reconstruction is reduced, which reduces the complexity and reconstruction cost of the programmable logic device.
  • modules or steps of the present invention can be implemented by a general computing device, which can be concentrated on a single computing device, or distributed in multiple computing devices. Alternatively, they may be implemented by program code executable by the computing device, such that they may be stored in a storage medium (ROM/RAM, disk, optical disk) by a computing device, and at some In some cases, the steps shown or described may be performed in an order different from that described in the above embodiments, or they may be separately fabricated into individual integrated circuit modules, or a plurality of modules or steps thereof may be fabricated into a single integrated circuit module. to realise. Therefore, the invention is not limited to any particular combination of hardware and software.

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

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

Description

说明书 发明名称:可编程逻辑器件重构方法及装置 技术领域
[0001] 本发明涉及可编程逻辑器件的应用领域, 特别地涉及一种可编程逻辑器件重构 方法及装置。
背景技术
[0002] 对于 FPGA (Field -Programmable Gate Array, 现场可编程门阵列) 等可编程逻 辑器件, 只需要通过幵发工具将设计好的电路转化为位流文件导入后便可得到 期望的电路功能, 与专用逻辑器件相比节省了流片成本, 并且更加灵活, 可重 复编程以实现不同逻辑功能。
[0003] 可编程逻辑器件在方便用户使用的同吋, 也会存在一些缺点, 如使用 zynq 7000 系列的 SoC FPGA进行电路设计吋, 现有 FPGA可重构技术采用配置帧的方式, 对基本逻辑单元 (査找表、 触发器、 CLB、 IOB等基本器件) 实现细粒度的重构 , 这种方式需要根据重构后目标电路生成全部电路的位流文件, 并向这些基本 器件发送重构需要的位流数据, 这些基本器更新配置完成重构, 这类 FPGA芯片 结构设计实现难度大、 芯片面积大、 芯片成本高。
[0004] 因此, 如何提供一种具备较低成本的可编程逻辑器件重构技术, 是本领域技术 人员亟待解决的技术问题。
技术问题
[0005] 本发明提供了一种可编程逻辑器件重构方法及装置, 以降低可编程逻辑器件的 重构成本。
问题的解决方案
技术解决方案
[0006] 本发明提供了一种可编程逻辑器件重构方法, 在一个实施例中, 该方法包括: 确定可编程逻辑器件的待重构资源区; 将待重构资源区划分为至少一个基本单 元, 基本单元包括至少一个可重构器件; 分别对各基本单元进行重构。
[0007] 进一步的, 上述实施例中的基本单元还包括可重构器件与其他器件之间可重构 的线路连接。
[0008] 进一步的, 上述实施例中的可重构器件包括可配置逻辑模块 CLB。
[0009] 进一步的, 上述实施例中的将待重构资源区划分为至少一个基本单元包括: 将 待重构资源区按照物理区域划分为至少一个基本单元; 或者, 将待重构资源区 按照物理区域及目标功能划分为至少一个基本单元。
[0010] 进一步的, 上述实施例中的目标功能包括: 基本单元需要实现的功能, 或者待 重构资源区需要实现的功能。
[0011] 进一步的, 上述实施例中的分别对各基本单元进行重构包括: 根据目标功能分 别生成各基本单元的新的位流文件; 将各基本单元的新的位流文件配置到对应 的基本单元。
[0012] 本发明提供了一种可编程逻辑器件重构装置, 在一个实施例中, 该装置包括: 确定模块, 用于确定可编程逻辑器件的待重构资源区; 划分模块, 用于将待重 构资源区划分为至少一个基本单元, 基本单元包括至少一个可重构器件; 重构 模块, 用于分别对各基本单元进行重构。
[0013] 进一步的, 上述实施例中的基本单元还包括可重构器件与其他器件之间可重构 的线路连接。
[0014] 进一步的, 上述实施例中的可重构器件包括可配置逻辑模块 CLB。
[0015] 进一步的, 上述实施例中的划分模块具体用于: 将待重构资源区按照物理区域 划分为至少一个基本单元; 或者, 将待重构资源区按照物理区域及目标功能划 分为至少一个基本单元。
[0016] 进一步的, 上述实施例中的目标功能包括: 基本单元需要实现的功能, 或者待 重构资源区需要实现的功能。
[0017] 进一步的, 上述实施例中的重构模块具体用于根据目标功能分别生成各基本单 元的新的位流文件; 将各基本单元的新的位流文件配置到对应的基本单元。 发明的有益效果
有益效果
[0018] 本发明的有益效果:
[0019] 本发明提供的方案, 根据需要确定可编程逻辑器件中的待重构资源区, 并且其 划分为基本单元, 基本单元包括至少一个可重构器件, 这些可重构器件在写入 位流数据后就可以实现基本的逻辑功能, 即每个基本单元都可以实现目标电路 的一些功能, 在此基础上, 分别对各基本单元进行重构, 实现了以基本单元为 最小重构单元的重构技术, 与现有以基本器件为最小重构单元的重构技术相比 , 最小重构范围增大, 重构吋所需要的控制信号及数据流数量都将减少, 降低 了可编程逻辑器件的器件繁杂度及重构成本。
对附图的简要说明
附图说明
[0020] 图 1为本发明第一实施例提供的可编程逻辑器件重构方法的流程图;
[0021] 图 2为本发明第二实施例提供的可编程逻辑器件重构装置的示意图;
[0022] 图 3为本发明第三实施例提供的可编程逻辑器件重构方法的流程图;
[0023] 图 4为本发明第三实施例中 FPGA器件的划分步骤示意图;
[0024] 图 5为本发明第三实施例中待重构资源区的重构示意图;
[0025] 图 6为本发明第三实施例中单个基本单元的实现示意图。
本发明的实施方式
[0026] 现通过具体实施方式结合附图的方式对本发明做出进一步的诠释说明。
[0027] 第一实施例:
[0028] 图 1为本发明第一实施例提供的可编程逻辑器件重构方法的流程图, 由图 1可知
, 在本实施例中, 本发明提供的可编程逻辑器件重构方法包括以下步骤:
[0029] S101 : 确定可编程逻辑器件的待重构资源区;
[0030] 本步骤首先需要确定可编程逻辑器件中支持动态重构的可重构资源区, 可编程 逻辑器件的种类很多, 本发明以 FPGA为例进行说明: 用户根据目标电路的复杂 度等属性选择某些型号的 FPGA, 将该 FPGA划分为可重构资源区及不可重构资 源区, 可重构资源区是指该区域内的资源具备动态可重构, 可以在电路运行中 通过吋分复用写入不同的位流数据在不用吋间实现不同的功能, 不可重构资源 区是指该区域的资源在电路运行中不支持动态写入位流数据以实现不同的功能 在用户根据需要选定 FPGA之后, 根据器件规格就可以得知器件上可重构资源 区的范围, 然后用户就可以根据想要改变的目标电路中的重构子电路的功能及 可重构资源区的范围, 在器件上确定出一个或多个待重构资源区, 待重构资源 区可以是可重构资源区的一部分 (完全属于可重构资源区) , 也可以包括部分 可重构资源区及部分不可重构资源区 (用于实现目标电路中不需要重构的电路 功能) 。
[0032] S102: 将待重构资源区划分为至少一个基本单元, 基本单元包括至少一个可重 构器件;
[0033] 在确定待重构资源区后, 将待重构资源区内的资源 (包括 CLB、 可编辑互连线 等) 划分为至少一个基本单元, 每个基本单元都包括至少一个可重构器件 (如 C
LB) , 这样就可以在写入位流文件后实现一些基本功能。
[0034] 不同的基本单元之间的可重构器件数量可以不同, 可以根据该基本单元所需要 实现的目标功能进行划分, 如果某些基本单元需要实现的目标功能简单, 那么 就可以仅包括一个可重构器件, 对应的, 若一些基本单元需要实现的目标功能 比较复杂, 就可以包括较多数量的可重构器件。
[0035] 在一些实施例中, 为了便于用户为目标电路所需要实现的目标功能中各子功能 分配对应的基本单元, 可以设置为每个基本单元都包括相同数量的可重构器件 (这些可重构器件相互配合可以实现目标电路的一些小功能) , 这样就保证了 每个基本单元在写入位流数据后都可以实现一定的功能, 并且每个基本单元所 具备的可重构资源是相同的, 在此基础上, 就可以将目标电路分解为很多小功 育 , 并为这些小功能分配对应的基本单元, 而不必先判断这样小功能实现的复 杂度, 在进行基本单元的划分, 划分方式简单。
[0036] S103: 分别对各基本单元进行重构, 可以通过幵发工具将目标电路的位流文件 约束到基本单元来实现。
[0037] 在一些实施例中, 上述实施例中的基本单元还包括可重构器件与其他器件之间 可重构的线路连接。 在实际应用中, 可重构器件在工作吋是需要与其他器件进 行通信的, 如完成位流文件的获取、 可重构器件之间的工作逻辑关系等, 本实 施例通过将可重构器件与其他器件之间可重构的线路连接也划分到基本单元内 , 使得基本单元的功能更完整, 可重构的线路连接包括可编辑互连线、 IOB资源 等。
[0038] 在一些实施例中, 以 FPGA器件为例, 上述实施例中的可重构器件为可配置逻 辑模块 CLB, 当然在一些特殊的应用领域, 所使用的 FPGA器件内的可重构资源 类型不同, 对应的, 可重构器件就是这类 FPGA器件内的可重构资源。
[0039] 在一些实施例中, 上述实施例中的将待重构资源区划分为至少一个基本单元包 括: 将待重构资源区按照物理区域划分为至少一个基本单元; 或者, 将待重构 资源区按照物理区域及目标功能划分为至少一个基本单元。 本实施例提供了基 本单元的划分方式, 按照物理区域划分、 或者按照物理区域及目标功能划分, 使得基本单元内的所有器件在物理位置上是连续的, 这样就降低了基本单元内 各器件之间的通信繁杂度, 进而降低了根据基本单元的目标功能所生成的位流 文件内位流数据的长度及繁杂度, 降低了实现可重构的成本。
[0040] 在一些实施例中, 上述实施例中的两个基本单元之间是相邻的, 并且不重叠的
; 当然也可以是间隔一定区域的, 这样间隔区域内就可以通过设置位流文件实 现一些具备控制、 存储等功能的固定子电路。
[0041] 在一些实施例中, 上述实施例中的某基本单元包括多个 (两个及以上) 可重构 器件吋, 这些可重构器件的类型在需要实现的目标功能上是有联系的, 如基本 单元需要实现电阻及电容等功能吋, 其内部器件就可以包括可重构的电阻及电 容等。
[0042] 在一些实施例中, 上述实施例中的目标功能包括: 基本单元需要实现的功能, 或者待重构资源区需要实现的功能。 基本单元需要实现的功能是指在目标电路 中, 基本单元所写入的位流文件对应的功能, 如实现一个特定阻值的电阻功能 吋, 基本单元包括一个可重构器件及相应的通信线路即可。 待重构资源区需要 实现的功能是指目标电路需要在待重构资源区实现的功能, 这些功能可以由多 个子功能组成, 根据这些子功能进行基本单元的划分, 使得每个基本单元都可 以实现对应的子功能, 这样划分得到的基本单元在功能上独立, 重构简单。
[0043] 在一些实施例中, 上述实施例中的分别对各基本单元进行重构包括: 根据目标 功能分别生成各基本单元的新的位流文件; 将各基本单元的新的位流文件配置 到对应的基本单元。 新的位流文件是指基本单元在实现目标功能吋所需要的位 流数据等信息, 将各基本单元的新的位流文件配置到对应的基本单元是指将新 的位流文件导入到对应的基本单元, 并用新的位流文件替换基本单元内的位流 文件, 完成重构, 以实现目标功能。
[0044] 在一些实施例中, 上述实施例在根据目标功能分别生成各基本单元的新的位流 文件之前, 还包括根据目标电路中重构子电路确定目标功能的步骤。 本实施例 通过根据重构子电路确定目标功能, 与根据目标功能生成基本单元的位流文件 相互配合, 实现了将重构子电路约束到基本单元实现这一目的, 即重构子模块 由待重构资源区内的基本单元来实现重构。
[0045] 在一些实施例中, 图 1所示实施例中的步骤 S103包括: 确定目标电路中需要重 构的重构子电路, 根据重构子电路需要实现的功能选择一个或多个基本单元; 根据重构子电路需要实现的功能生成位流文件的位流数据, 根据为重构子电路 选择的基本单元的地址生成位流文件的地址, 根据重构子电路的重构顺序生成 位流文件的吋序; 根据位流文件的地址确定归属基本单元, 将位流文件存储到 归属基本单元对应的存储单元中, 控制单元根据控制信号按照位流文件的吋序 依次将位流文件的位流数据写入至归属基本单元。 本实施例提供了动态可重构 的具体实现方案, 完全根据位流文件内的内容完成重构, 不需要与现有技术那 样进行前后位流文件的对比, 就可以确定位流数据对应的基本单元的地址及写 入对应基本单元的先后顺序。
[0046] 本发明所涉及的目标电路是指用户需要实现某些功能吋所使用的电路, 电路在 使用吋, 针对其中的部分子电路需要具备容错 (如部分解调器可能存在错误, 根据需要实验效果动态修正调整等) 、 更换 (实现不同规格) 等特定功能, 针 对这样的子电路, 本发明将其定义为重构子电路, 而其他的不要容错 (如射频 天线的实现电路一般不会错误) 、 更换 (天线也不需要更换) 的子电路本发明 将其定义为固定子电路。
[0047] 本实施例通过将目标电路分为需要重构的重构子电路及不需要重构的固定子电 路, 并仅为重构子电路分配基本单元, 而固定子电路则采用 FPGA器件内的不可 重构资源区的资源来实现, 进一步的降低了对 FPGA内有限的基本单元占用。 本 实施例通过仅将重构子电路需要实现的功能解析为基本单元的位流文件的位流 数据, 而固定子电路的功能不解析为基本单元的位流文件, 实现了仅针对重构 子电路的解析处理, 与现有需要将重构后的目标电路全部解析为位流文件相比 , 解析速度快, 实现简单, 并且生成位流文件之后, 不需要对比根据位流文件 就可以确定基本单元。
在一些实施例中, 图 1所示实施例在将待重构资源区划分为基本单元之后, 还 包括: 为一个基本单元设置控制单元及存储单元, 或者为多个基本单元设置控 制单元及存储单元, 或者为可重构资源区划分设置控制单元及存储单元的步骤 。 一个基本单元需要实现重构, 需要具备用于存储位流文件的存储单元及控制 重构吋间的控制单元, 本实施例提供了三种控制单元及存储单元的设置方式, 用户可以根据实际需要进行选择, 如基本单元内的可重构器件数量较多吋, 单 个基本单元就可以实现比较复杂的电路功能, 此吋就可以为每个基本单元分别 设置控制单元及存储单元, 对应的, 若单个基本单元的可重构器件数量较少吋 , 可以为多个基本单元设置一个控制单元及存储单元 (通过吋分复用的方式实 现多个基本单元的存储与控制) , 当然, 当可重构资源区较小或划分的基本单 元总数量很少吋, 就可以仅设置一个控制单元及存储单元 (通过吋分复用的方 式实现所有基本单元的存储与控制) 。
[0049] 第二实施例:
[0050] 图 2为本发明第二实施例提供的可编程逻辑器件重构装置的示意图, 由图 2可知 , 在本实施例中, 本发明提供的可编程逻辑器件重构装置 2包括: 确定模块 21、 划分模块 22及重构模块 23, 其中,
[0051] 确定模块 21, 用于确定可编程逻辑器件的待重构资源区;
[0052] 划分模块 22, 用于将待重构资源区划分为至少一个基本单元, 基本单元包括至 少一个可重构器件;
[0053] 重构模块 23, 用于分别对各基本单元进行重构。
[0054] 在一些实施例中, 上述实施例中的基本单元还包括可重构器件与其他器件之间 可重构的线路连接。
[0055] 在一些实施例中, 上述实施例中的可重构器件为可配置逻辑模块 CLB。 [0056] 在一些实施例中, 上述实施例中的划分模块 21具体用于: 将待重构资源区按照 物理区域划分为至少一个基本单元; 或者, 将待重构资源区按照物理区域及目 标功能划分为至少一个基本单元。
[0057] 在一些实施例中, 上述实施例中的目标功能包括: 基本单元需要实现的功能, 或者待重构资源区需要实现的功能。
[0058] 在一些实施例中, 上述实施例中的重构模块 23具体用于根据目标功能分别生成 各基本单元的新的位流文件; 将各基本单元的新的位流文件配置到对应的基本 单元。
[0059] 在一些实施例中, 上述实施例中的重构模块 23还用于根据目标电路中重构子电 路确定目标功能。
[0060] 在实际应用中, 本发明提供的可编程逻辑器件重构装置 2可以通过幵发工具实 现其功能, 可以由可编程逻辑器件上的资源来实现。
[0061] 现结合运用实际对本发明做进行的诠释说明。
[0062] 第三实施例:
[0063] 在本实施例中, 以航空领域内需要利用重构机制实现动态可容错效果为应用场 景, 可编程逻辑器件为 FPGA, 可重构器件为 CLB为例; 为便于说明, 仅以 1次 重构为例, 将需要实现的电路记为目标电路 1 (重构前的电路) 及目标电路 2 ( 重构后的电路) 。
[0064] 目标电路 1, 电路组成: 子电路 a、 子电路 b、 子电路 c、 子电路 d、 子电路 e。
[0065] 目标电路 2, 电路组成: 子电路 a、 子电路 b、 2个子电路(:、 2个子电路 d。 目标 电路 1与目标电路 2具体相同的子电路 a及子电路 b (子电路 a及 b不需重构, 即为固 定子电路) ; 目标电路 1与目标电路 2的其余子电路则不相同 (需要重构, 即为 重构子电路) 。
[0066] 图 3为本发明第三实施例提供的可编程逻辑器件重构方法的流程图, 由图 3可知
, 在本实施例中, 本发明提供的可编程逻辑器件重构方法包括以下步骤:
[0067] S301 : 根据需要选择 FPGA器件, 并进行基本单元的划分;
[0068] 用户根据要实现的目标电路的功能复杂度等要求选择合适的 FPGA器件; 图 4未 示出 FPGA器件中的可编辑互连线、 DSP等器件, 如图 4中 (A) 所示, 空心圆圈 代表 FPGA器件上的不支持动态重构的资源 (可以用来实现目标电路中不需要重 构的子电路) , 实心圆圈代表 FPGA器件上的支持动态重构的资源 (可以用来实 现目标电路中需要重构的子电路, 如可编程逻辑块 CLB等) 。
[0069] 将 FPGA器件划分为可重构资源区及不可重构资源区; 如图 4中 (B) 所示, 在 物理区域上, 将空心圆圈的区域划定为不可重构资源区 (虚线区域) , 将实心 圆圈的区域划定为可重构资源区 (实线区域) ; 在本应用实例中, 将可重构资 源区作为待重构资源区。
[0070] 将待重构资源区划分为基本单元; 根据基本单元的目标功能确定基本单元内的 重构器件数量, 基本单元之间在物理上相邻; 如图 4中 (C) 所示的, 每个基本 单元内包括 4个支持动态可重构的 CLB, 4个 CLB在写入位流文件后, 相互配合可 以实现目标电路的一个基本功能, 按照物理区域连续的方式将待重构资源区划 分为 12个基本单元 (JB1-JB12) , 边角多余的可重构器件不进行处理 (图 4也未 示出) 。
[0071] S302: 为目标电路分配资源;
[0072] 目标电路包括固定子电路及重构子电路, 为固定子电路分配不可重构资源区内 的资源, 为重构子电路分配基本单元; 针对固定子电路的资源分配方式, 本发 明不再赘述, 仅对重构子电路的资源分配方式进行说明, 现有技术是为其分配 很多的 CLB、 DSP及可编辑互连线等基本器件 (这些器件需要一一编码) , 而本 发明则是为其分配基本单元 (数量远小于基本器件的数量) , 如图 5所示的那样 , 为子电路 c分配 2个基本单元, 为子电路 d分配 3个基本单元, 为子电路 e分配 5个 基本单元;
[0073] S303: 将目标电路转换为基本单元的位流文件;
[0074] 本步骤仅针对目标电路中重构子电路的位流文件进行说明, 固定子电路仅需生 成一次位流文件即可, 不再说明;
[0075] 结合图 5所示, 针对目标电路 1 (重构前的电路) 中各重构子电路的位流文件内 容如下:
[0076] 子电路 c的位流文件包括 2个子文件 (对应 2个基本单元) , 分别为: 位流数据 C 1、 地址 JB1、 吋序 1, 位流数据 C2、 地址 JB7、 吋序 1 ; [0077] 子电路 d的位流文件包括 3个子文件 (对应 3个基本单元) , 分别为: 位流数据 D 1、 地址 JB2、 吋序 1, 位流数据 D2、 地址 JB8、 吋序 1, 位流数据 D3、 地址 JB9、 吋序 1 ;
[0078] 子电路 e的位流文件包括 5个子文件 (对应 5个基本单元) , 分别为: 位流数据 E 1、 地址 JB3、 吋序 1, 位流数据 E2、 地址 JB4、 吋序 1, 位流数据 E3、 地址 JB5、 吋序 1, 位流数据 E4、 地址 JB10、 吋序 1, 位流数据 E5、 地址 JB11、 吋序 1 ;
[0079] 结合图 5所示, 针对目标电路 2 (重构后的电路) 中各重构子电路的位流文件内 容如下:
[0080] 第一个子电路 c的位流文件包括 2个子文件 (对应 2个基本单元) , 分别为: 位 流数据 Cl、 地址 JB1、 吋序 2, 位流数据 C2、 地址 JB7、 吋序 2;
[0081] 第二个子电路 c的位流文件包括 2个子文件 (对应 2个基本单元) , 分别为: 位 流数据 Cl、 地址 JB2、 吋序 2, 位流数据 C2、 地址 JB8、 吋序 2;
[0082] 第一个子电路 d的位流文件包括 3个子文件 (对应 3个基本单元) , 分别为: 位 流数据 Dl、 地址 JB3、 吋序 2, 位流数据 D2、 地址 JB9、 吋序 2, 位流数据 D3、 地 址 JB10、 吋序 2;
[0083] 第二个子电路 d的位流文件包括 3个子文件 (对应 3个基本单元) , 分别为: 位 流数据 Dl、 地址 JB4、 吋序 2, 位流数据 D2、 地址 JB5、 吋序 2, 位流数据 D3、 地 址 JB11、 吋序 2;
[0084] S304: 将位流文件约束到对应的基本单元;
[0085] 如图 6所示, 为每个基本单元都设置控制单元及存储单元, 存储单元可以由块 存储器 (BRAM) 组成; 具体的,
[0086] 基本单元: 主要由可配置逻辑块 (CLB) 等可重构器件与数字信号处理器 (DS
P) 组成, 实现数学运算, 逻辑处理等功能, 工作中, 将数据由 10端口输入, 经 过数字逻辑处理, 可重构逻辑单元输出处理后数据;
[0087] 存储单元: 主要用于存放需要重构的配置位流, 由块存储器 (BRAM) 组成; [0088] 控制单元: 接收自外部指令, 当需要更换配置位流吋, CPU发出重构请求, 控 制单元接收请求后, 将对应吋序的位流数据导入基本单元中, 以替换之前的位 流文件, 实现新的电路; 当基本单元正在配置位流数据吋, 控制单元发出 BUSY 指令, 阻止输入数据, 当配置结束后, 控制单元输出 DONE指令, 允许输入, 并 通知 CPU配置结束, 准备接受下一个重构请求;
[0089] 根据上步骤的假设, 基本单元 JBl-5、 7-11对应的存储单元中, 都存储有 2个位 流文件, 具体如下:
[0090] JB1 , 对应的位流文件 位流数据 Cl、 地址 JB1、 吋序 1 ; 位流数据 Cl、 地址 JB
1、 吋序 2;
[0091] JB2, 对应的位流文件 位流数据 Dl、 地址 JB2、 吋序 1 ; 位流数据 Cl、 地址 JB
2、 吋序 2;
[0092] JB3 , 对应的位流文件 位流数据 El、 地址 JB3、 吋序 1 ; 位流数据 Dl、 地址 JB
3、 吋序 2;
[0093] JB4, 对应的位流文件 位流数据 E2、 地址 JB4、 吋序 1 ; 位流数据 Dl、 地址 JB
4、 吋序 2;
[0094] JB5 , 对应的位流文件 位流数据 E3、 地址 JB5、 吋序 1 ; 位流数据 D2、 地址 JB
5、 吋序 2;
[0095] JB7 , 对应的位流文件 位流数据 C2、 地址 JB7、 吋序 1 ; 位流数据 C2、 地址 JB
7、 吋序 2;
[0096] JB8 , 对应的位流文件 位流数据 D2、 地址 JB8、 吋序 1 ; 位流数据 C2、 地址 JB
8、 吋序 2;
[0097] JB9, 对应的位流文件 位流数据 D3、 地址 JB9、 吋序 1 ; 位流数据 D2、 地址 JB
9、 吋序 2;
[0098] JB10, 对应的位流文件: 位流数据 E4、 地址 JB10、 吋序 1 ; 位流数据 D3、 地址 JB10、 吋序 2;
[0099] JB11 , 对应的位流文件: 位流数据 E5、 地址 JB11、 吋序 1 ; 位流数据 D3、 地址
JB11、 吋序 2。
[0100] S305: 根据控制信号完成重构;
[0101] 每个基本单元的控制单元根据外界的信号, 如用户通过幵发工具的按键发出的 重构信号等, 控制重构吋机;
[0102] 在完成目标电路 1功能的测试后, 用户需要测试目标电路 2的功能, 按下幵发工 具的重构按钮, 此吋进行重构, 具体的是由控制单元将存储单元内吋序为 2的位 流数据导入基本单元中, 以替换吋序为 1的位流数据, 实现新的电路功能, 重构 前后的子电路结构示意图如图 5所示;
[0103] 如图 5所示, 在重构前, 基本单元内的位流文件是吋序为 1的位流数据, 此吋, 基本单元 JB1及 JB7实现子电路 c的功能; 基本单元 JB2、 JB8及 JB9实现子电路 d的 功能; 基本单元 JB3、 JB4、 JB5、 JB10及 JB11实现子电路 e的功能; 在重构后, 基本单元内的位流文件是吋序为 2的位流数据, 此吋, 基本单元 JB1及 JB7实现第 一个子电路 c的功能; 基本单元 JB2及 JB8实现第二个子电路 c的功能; 基本单元 J B3、 JB9及 JB10实现第一个子电路 d的功能; 基本单元 JB4、 JB5及 JB11实现第二 个子电路 d的功能。
[0104] 综上可知, 通过本发明的实施, 至少存在以下有益效果:
[0105] 根据需要确定可编程逻辑器件中的待重构资源区, 并且其划分为基本单元, 基 本单元包括至少一个可重构器件, 这些可重构器件在写入位流数据后就可以实 现基本的逻辑功能, 即每个基本单元都可以实现目标电路的一些功能, 在此基 础上, 分别对各基本单元进行重构, 实现了以基本单元为最小重构单元的重构 技术, 与现有以基本器件为最小重构单元的重构技术相比, 最小重构范围增大
, 重构吋所需要的控制信号及数据流数量都将减少, 降低了可编程逻辑器件的 器件繁杂度及重构成本;
[0106] 进一步的, 仅将目标电路中需要重构的重构子电路约束到待重构资源区, 降低 了可重构资源的浪费。
[0107] 显然, 本领域的技术人员应该明白, 上述本发明的各模块或各步骤可以用通用 的计算装置来实现, 它们可以集中在单个的计算装置上, 或者分布在多个计算 装置所组成的网络上, 可选地, 它们可以用计算装置可执行的程序代码来实现 , 从而, 可以将它们存储在存储介质 (ROM/RAM、 磁碟、 光盘) 中由计算装置 来执行, 并且在某些情况下, 可以以不同于上述实施例描述的顺序执行所示出 或描述的步骤, 或者将它们分别制作成各个集成电路模块, 或者将它们中的多 个模块或步骤制作成单个集成电路模块来实现。 所以, 本发明不限制于任何特 定的硬件和软件结合。 以上仅是本发明的具体实施方式而已, 并非对本发明做任何形式上的限制, 凡 是依据本发明的技术实质对以上实施方式所做的任意简单修改、 等同变化、 结 合或修饰, 均仍属于本发明技术方案的保护范围。

Claims

权利要求书
[权利要求 1] 一种可编程逻辑器件重构方法, 其特征在于, 包括:
确定可编程逻辑器件的待重构资源区;
将所述待重构资源区划分为至少一个基本单元, 所述基本单元包括至 少一个可重构器件; 分别对各基本单元进行重构。
[权利要求 2] 如权利要求 1所述的可编程逻辑器件重构方法, 其特征在于, 所述基 本单元还包括所述可重构器件与其他器件之间可重构的线路连接。
[权利要求 3] 如权利要求 1所述的可编程逻辑器件重构方法, 其特征在于, 所述可 重构器件包括可配置逻辑模块 CLB。
[权利要求 4] 如权利要求 1至 3任一项所述的可编程逻辑器件重构方法, 其特征在于
, 将所述待重构资源区划分为至少一个基本单元包括: 将所述待重构 资源区按照物理区域划分为至少一个基本单元; 或者, 将所述待重构 资源区按照物理区域及目标功能划分为至少一个基本单元。
[权利要求 5] 如权利要求 4所述的可编程逻辑器件重构方法, 其特征在于, 所述目 标功能包括: 所述基本单元需要实现的功能, 或者所述待重构资源区 需要实现的功能。
[权利要求 6] 如权利要求 1至 3任一项所述的可编程逻辑器件重构方法, 其特征在于
, 分别对各基本单元进行重构包括: 根据目标功能分别生成各基本单 元的新的位流文件; 将各基本单元的新的位流文件配置到对应的基本 单元。
[权利要求 7] —种可编程逻辑器件重构装置, 其特征在于, 包括:
确定模块, 用于确定可编程逻辑器件的待重构资源区;
划分模块, 用于将所述待重构资源区划分为至少一个基本单元, 所述 基本单元包括至少一个可重构器件;
重构模块, 用于分别对各基本单元进行重构。
[权利要求 8] 如权利要求 7所述的可编程逻辑器件重构装置, 其特征在于, 所述基 本单元还包括所述可重构器件与其他器件之间可重构的线路连接。
[权利要求 9] 如权利要求 7所述的可编程逻辑器件重构装置, 其特征在于, 所述可 重构器件包括可配置逻辑模块 CLB。
[权利要求 10] 如权利要求 7至 9任一项所述的可编程逻辑器件重构装置, 其特征在于 , 所述划分模块具体用于: 将所述待重构资源区按照物理区域划分为 至少一个基本单元; 或者, 将所述待重构资源区按照物理区域及目标 功能划分为至少一个基本单元。
[权利要求 11] 如权利要求 10所述的可编程逻辑器件重构装置, 其特征在于, 所述目 标功能包括: 所述基本单元需要实现的功能, 或者所述待重构资源区 需要实现的功能。
[权利要求 12] 如权利要求 7至 9任一项所述的可编程逻辑器件重构装置, 其特征在于 , 所述重构模块具体用于根据目标功能分别生成各基本单元的新的位 流文件; 将各基本单元的新的位流文件配置到对应的基本单元。
PCT/CN2015/097730 2014-12-29 2015-12-17 可编程逻辑器件重构方法及装置 WO2016107421A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410835994.9 2014-12-29
CN201410835994.9A CN104536755B (zh) 2014-12-29 2014-12-29 可编程逻辑器件重构方法及装置

Publications (1)

Publication Number Publication Date
WO2016107421A1 true WO2016107421A1 (zh) 2016-07-07

Family

ID=52852287

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/097730 WO2016107421A1 (zh) 2014-12-29 2015-12-17 可编程逻辑器件重构方法及装置

Country Status (2)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110602107A (zh) * 2019-09-18 2019-12-20 山东浪潮人工智能研究院有限公司 基于Zynq的网络密码机及网络数据加解密方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104536755B (zh) * 2014-12-29 2019-05-10 深圳市国微电子有限公司 可编程逻辑器件重构方法及装置
US9740809B2 (en) * 2015-08-27 2017-08-22 Altera Corporation Efficient integrated circuits configuration data management
CN105260545B (zh) * 2015-10-19 2018-09-14 深圳市紫光同创电子有限公司 一种可编程电路系统的验证方法
CN107544819B (zh) * 2016-06-29 2022-04-19 中兴通讯股份有限公司 一种用于可编程器件的业务实现方法、装置和通信终端
CN106487395A (zh) * 2016-10-18 2017-03-08 哈尔滨工业大学 基于fpga的多模式解调系统
CN107491342A (zh) * 2017-09-01 2017-12-19 郑州云海信息技术有限公司 一种基于fpga的多虚拟卡使用方法及系统
CN109491949B (zh) * 2018-11-27 2022-06-07 哈尔滨工业大学 基于Zynq的动态可重构框架及方法
CN113971022B (zh) * 2021-12-22 2022-03-18 成都航天通信设备有限责任公司 一种应用全可编程片上系统的无线信号处理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1641651A (zh) * 1999-12-14 2005-07-20 爱特梅尔股份有限公司 实现动态可重构逻辑电路结构设计的方法
CN101702184A (zh) * 2009-11-19 2010-05-05 复旦大学 动态可重构总线宏结构
CN101963943A (zh) * 2010-06-30 2011-02-02 上海华岭集成电路技术有限责任公司 寻找fpga配置文件与clb块配置资源的映射方法
CN104536755A (zh) * 2014-12-29 2015-04-22 深圳市国微电子有限公司 可编程逻辑器件重构方法及装置

Family Cites Families (1)

* 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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1641651A (zh) * 1999-12-14 2005-07-20 爱特梅尔股份有限公司 实现动态可重构逻辑电路结构设计的方法
CN101702184A (zh) * 2009-11-19 2010-05-05 复旦大学 动态可重构总线宏结构
CN101963943A (zh) * 2010-06-30 2011-02-02 上海华岭集成电路技术有限责任公司 寻找fpga配置文件与clb块配置资源的映射方法
CN104536755A (zh) * 2014-12-29 2015-04-22 深圳市国微电子有限公司 可编程逻辑器件重构方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110602107A (zh) * 2019-09-18 2019-12-20 山东浪潮人工智能研究院有限公司 基于Zynq的网络密码机及网络数据加解密方法
CN110602107B (zh) * 2019-09-18 2021-12-28 山东浪潮科学研究院有限公司 基于Zynq的网络密码机及网络数据加解密方法

Also Published As

Publication number Publication date
CN104536755A (zh) 2015-04-22
CN104536755B (zh) 2019-05-10

Similar Documents

Publication Publication Date Title
WO2016107421A1 (zh) 可编程逻辑器件重构方法及装置
JP3587095B2 (ja) 情報処理装置
AU2017202110B2 (en) Runtime creation, assignment, deployment and updating of arbitrary radio waveform techniques for a radio waveform generation device
JP5504985B2 (ja) データ処理装置
US9503093B2 (en) Virtualization of programmable integrated circuits
JP2013030906A (ja) プログラマブルロジックデバイス
US9673824B2 (en) Techniques and circuitry for configuring and calibrating an integrated circuit
JP6939775B2 (ja) ネットワークシステム、その管理方法および装置
US11342918B2 (en) Network-on-chip (NOC) with flexible data width
CN110506393B (zh) 具有逻辑瓦片的虚拟阵列的fpga及其配置和操作的方法
US9946551B2 (en) System and method that generate reconfiguration information
US9852247B2 (en) Area-efficient memory mapping techniques for programmable logic devices
JP2013045459A (ja) クロック・ネットワーク・メタ合成のためのシステムおよび方法
Hagemeyer et al. A design methodology for communication infrastructures on partially reconfigurable FPGAs
US11960734B2 (en) Logic fabric based on microsector infrastructure with data register having scan registers
US20150324509A1 (en) Partition based design implementation for programmable logic devices
Ichinomiya et al. A bitstream relocation technique to improve flexibility of partial reconfiguration
CN104636151A (zh) 基于应用存储器的fpga芯片配置结构和配置方法
JP4664724B2 (ja) 半導体集積回路装置および半導体集積回路装置の設計装置
US10068045B1 (en) Programmable logic device design implementations with multiplexer transformations
Beckhoff et al. Migrating static systems to partially reconfigurable systems on spartan-6 fpgas
Bhuvaneswari et al. Dynamic partial reconfiguration in low-cost FPGAs
JP2013009044A (ja) 制御装置、処理装置、処理システム、制御プログラム
KR20160106486A (ko) 불휘발성 메모리 모듈 어레이 시스템
WO2008061162A1 (en) Hybrid computing platform having fpga components with embedded processors

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15875099

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15875099

Country of ref document: EP

Kind code of ref document: A1