WO2010057348A1 - 一种基于可重构部件的集成电路及其配置方法和设计方法 - Google Patents
一种基于可重构部件的集成电路及其配置方法和设计方法 Download PDFInfo
- Publication number
- WO2010057348A1 WO2010057348A1 PCT/CN2008/073520 CN2008073520W WO2010057348A1 WO 2010057348 A1 WO2010057348 A1 WO 2010057348A1 CN 2008073520 W CN2008073520 W CN 2008073520W WO 2010057348 A1 WO2010057348 A1 WO 2010057348A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- reconfigurable
- component
- configuration
- instruction
- integrated circuit
- 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.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
Definitions
- the present invention relates to the field of integrated circuit design, and in particular to an integrated circuit based on reconfigurable components, a configuration method thereof and a design method.
- ASIC Application Specific Integrated
- data flow algorithms such as digital media and communication baseband
- Circuit ie ASIC design
- ASIC application-specific integrated circuit
- the technical problem to be solved by the present invention is to increase the operational granularity of an integrated circuit and provide an integrated circuit based on a reconfigurable component. Another technical problem to be solved by the present invention is to provide the integrated circuit. Configuration Method The technical problem to be further solved by the present invention is to provide a design method of the integrated circuit to realize rapid design of the integrated circuit.
- An integrated circuit based on a reconfigurable component comprising at least one reconfigurable control component, and at least one reconfigurable processing component, the reconfigurable processing component being a reconfigurable computing component, reconfigurable storage Parts or Any one or combination of reconfigurable data routing components, the reconfigurable computing component for performing an arithmetic operation on the input data, the reconfigurable storage component for storing and reading data operations, Reconfigurable data routing component for path selection operations of data input and output paths, said reconfigurable processing component interconnecting said reconfigurable control component, said reconfigurable control component issuing configuration to reconfigurable processing component And the reconfigurable processing component executes the processing task according to the configuration instruction.
- the above integrated circuit includes at least one reconfigurable computing component, the reconfigurable computing component comprising an operational configuration register and an arithmetic logic operational unit, the operational configuration register for receiving and storing the reconfigurable control component Arranging a configuration instruction, the arithmetic logic operation unit performs an arithmetic or logical operation according to the operation configuration instruction.
- the above integrated circuit includes at least one reconfigurable storage component, the reconfigurable storage component including a storage configuration register and a storage unit, the storage configuration register configured to receive and store a storage configuration sent by the reconfigurable control component Instructing, the storage unit performs data access to the integrated circuit according to the storage configuration instruction, and includes at least one reconfigurable data routing component, where the reconfigurable data routing component includes a routing configuration register and a routing unit, and the routing The configuration register is configured to receive and store a routing configuration instruction sent by the reconfigurable control component, and the routing unit performs routing according to the routing configuration instruction.
- the above integrated circuit further includes a reconfigurable fixed component for generating a clock control signal for the reconfigurable control component and the reconfigurable processing component.
- the above-described cuckoo clock control signal includes a configurable signal that controls the start and stop of the cuckoo clock and controls the chopping clock frequency.
- An integrated circuit configuration method based on a reconfigurable component comprising a configuration process of a reconfigurable component, wherein the configuration process is to send a configuration instruction to the reconfigurable processing component through the reconfigurable control component, and the reconfigurable processing component receives the storage
- the configuration instructions are implemented in accordance with the configuration instructions to complete a data processing task, the reconfigurable processing component being any one or combination of a reconfigurable computing component, a reconfigurable storage component, or a reconfigurable data routing component.
- the reconfigurable processing component receives and stores the configuration instruction through a configuration register it has.
- the configuration command includes at least an operation code, a source and a destination parameter, the operation code is a command code that specifies an operation performed by the instruction, and the source is an object of the instruction operation, and the purpose is to specify the write configuration information.
- Configuration register is a command code that specifies an operation performed by the instruction.
- the reconfigurable data routing component performs path selection operations on data input and output paths
- the reconfigurable control component issues a configuration instruction to the reconfigurable processing component, and the reconfigurable processing component performs a processing task according to the configuration instruction;
- Step A above also includes the following steps:
- the decomposition algorithm is a sub-algorithm
- clustering compression refers to adding multiplexing of the reconfigurable control component and the reconfigurable processing component, so that the completion of each sub-algorithm process is marked by the algorithm And reconfigurable processing components whose functions are replaced by other reconfigurable processing components are replaced according to the result of the multiplexing.
- the above design method further includes the step of optimizing the operation time, area, and power consumption parameters of the integrated circuit between the step A and the step B.
- the reconfigurable fixed-cut component can be configured by configuring the chirp frequency
- the configuration register is transmitted and received through the configuration register, and the algorithm can be effectively protected
- the configuration instructions are implemented by long instructions, which can simplify the configuration complexity caused by the change in the number of reconfigurable processing components;
- the configuration of the reconfigurable control unit only needs to be corrected by the instruction memory, the instruction register, and the like, and the hardware module related to the word length, and the like, such as the decoder, does not need to be changed.
- configurable, programmable flexibility can support rapid design of data stream integrated circuits by using reconfigurable control components and reconfigurable processing components, improving design effectiveness;
- the cluster compression and optimization process further improves the optimization performance of the circuit, so that the design based on the reconfigurable component is comparable to the design based on the standard cell. Area and power consumption.
- FIG. 1 is a schematic structural view of a reconfigurable computing unit according to an embodiment of the present invention
- FIG. 2 is a schematic structural diagram of a reconfigurable storage component according to an embodiment of the present invention.
- FIG. 3 is a schematic structural diagram of a reconfigurable data routing component according to an embodiment of the present invention.
- FIG. 4 is a schematic structural view of a reconfigurable control component according to an embodiment of the present invention.
- FIG. 5 is a schematic structural view of a reconfigurable fixed component according to an embodiment of the present invention.
- Embodiment 1 of the present invention is a schematic structural view of Embodiment 1 of the present invention.
- Figure 7 is a schematic structural view of Embodiment 2 of the present invention.
- Figure 8 is a schematic structural view of Embodiment 3 of the present invention.
- FIG. 9 is a flow chart of a design method of the present invention.
- One embodiment of an integrated circuit based on reconfigurable components of the present invention is a DSP (ie, a digital signal processor) comprising at least one reconfigurable control component RCU and at least one reconfigurable computing component reALU, reconfigurable Any one or combination of the storage unit reMEM or the reconfigurable data routing unit reROUTER, and the reconfigurable fixed unit RTU.
- the reconfigurable computing unit reALU, the reconfigurable storage unit reMEM or the reconfigurable data routing unit reROUTER is interconnected with the reconfigurable control unit RCU, accepts configuration instructions issued by the reconfigurable control unit RCU and performs processing tasks according to the configuration instructions .
- Reconfigurable arithmetic unit reALU is used to perform arithmetic operations on input data, as shown in Figure 1, including the arithmetic configuration register and the arithmetic logic unit ALU.
- the operation configuration register is used for receiving and storing an operation configuration instruction sent by the reconfigurable control unit RCU, and the arithmetic logic operation unit performs an arithmetic or logic operation according to the operation configuration instruction, and the arithmetic operation includes basic arithmetic operations, such as addition, subtraction, multiplication, and division. , multiplication and so on; logical operations include shifting, comparing, taking large, taking small, and so on.
- the reALU processes the input data and outputs the result.
- the reconfigurable storage unit reMEM is used for storing and reading operations on data, as shown in FIG. 2, including a storage configuration register and a storage unit MEM for receiving and storing the reconfigurable control unit
- the storage configuration command sent by the RCU, the storage unit MEM performs data access according to the storage configuration instruction.
- the configurable functions of reMEM include the writing and/or reading of banks (various storage media: registers, RAM, etc.). For memory banks accessed by address, the address generator works; reMEM will The input data is stored to a predetermined location, and the required data is output from the storage location.
- the reconfigurable data routing component reROUTER is used for the path selection operation of the data input and output paths, as shown in Figure 3, including the routing configuration register and routing unit ROUTER, the routing configuration register for receiving the reconfigurable control unit RCU
- the routing configuration command sent by the routing unit performs routing according to the routing configuration instruction.
- Reconfigurable control unit RCU as shown in FIG. 4, an embodiment thereof, including an instruction memory, an instruction register, and a decoder, the generated configuration instruction includes three operation elements of operation code, source and destination, and operation
- the code is a command code that specifies the operation performed by the instruction.
- the source is the object of the instruction operation, and the purpose is to specify the configuration register to which the configuration information is written.
- the RCU realizes reconstruction by changing its instruction.
- the instruction word length can be adjusted or configured according to the number of arithmetic components, storage components, and data paths configured. In a preferred manner, only the instruction memory, the instruction register, and the like are related to the word length.
- Hardware module other such as decoder, etc. Need to change.
- a reconfigurable fixed component RTU as shown in FIG. 5, comprising a cuckoo clock circuit and a calibrator connected thereto for controlling the operation of the RCU, and various working clock generators for generating the The control unit RCU and the chopper of the reconfigurable processing unit.
- the RTU generates a cuckoo clock control signal that includes signals that control the start and stop of the cuckoo clock and control the chop clock frequency.
- the clock generator in the RTU needs to be configured to provide a new chirp control signal.
- the RTU drives each RCU in turn, which is the operation of the DSP.
- the number of RTUs in the DSP cascade array can be more than one, and the RTUs can also be hierarchically driven and controlled.
- RTU control DSP operation There are two implementations of RTU control DSP operation. One is to control the start and stop of the DSP. The RCU in the RTU control DSP stops working, and does not send configuration commands to each configuration unit, so that each reconfigurable processing component maintains the current configuration value. Data stream operation; another way is to configure the clock frequency generated by the RTU. The clock of the DSP or DSP array is generated by its corresponding RTU.
- Hierarchical hierarchical driving means that the RTU can control a single DSP unit, or control the entire DSP array, or can be divided into several levels, such as the first level controlling the operation of the entire second level RTU, and the second level RTU controlling multiple third level RTUs.
- the work of the third-level RTU controls the work of one or several DSPs.
- FIG. 7 it includes two reMEMs and one RCU.
- the RCU configures reMEM and reMEM accesses the data.
- This example is a separate operator cascading case, that is, the DSP is internally composed of several operators, instead of the complex connection relationship between the operators through the reRouter as in Embodiment 1.
- RCU to reAL U and reMEM are configured, and the data is stored by reMEM after reALU operation.
- a simple cascade of operators is formed by ALU and MEM.
- ALU and ALU can form an operator cascade
- MEM and MEM can form an operator cascade.
- the reconfigurable component-based integrated circuit configuration method of the present invention is to send a configuration instruction to the reconfigurable processing component through the reconfigurable control component RCU, and the reconfigurable processing component receives and stores the configuration instruction and according to the configuration
- the instructions complete a data processing task, the reconfigurable processing component being any one or combination of a reconfigurable computing component, a reconfigurable storage component, or a reconfigurable data routing component.
- the configuration instruction is a data transfer instruction, such as:
- This indication indicates that the function of the reALU can be changed by the configuration of the RCU.
- a parallel set of reALU can be defined as a very long instruction word, which needs to be marked with each reALU.
- Each reMEM in the DSP can be constructed using an assignment instruction with the reMEM indication and a sequence of instructions describing the access mode operation. Its indication indicates that the function of the reMEM can be changed by the configuration of the RCU.
- a parallel set of reMEM similarly defined as a sequence of very long instruction words, needs to be labeled with each reMEM.
- Each reRouter in the DSP can be described by a logical instruction with an assignment instruction marked with reROUTER and its source (input) and destination (output) operands.
- the execution of the RCU configuration instructions in the DSP requires a configuration sequence of configuration information to describe the operation or functional changes of each configured component with a set of instruction sequences.
- the logic instructions of the reconfigurable processing component are combined with their specific implementations, the logic instructions are accompanied by parameters such as the number of clock beats achieved by the component.
- the reconfigurable component-based integrated circuit design method of the present invention one embodiment of which is a DSP chip design method including a reconfigurable component, the DSP being a data stream ASIC.
- Specifications for reconfigurable components include: configurable features, area, power, process, voltage (eg
- Step 901 algorithm decomposition: the flow chart of the data flow algorithm or C or Java or Matlab and other high-level language description forms are divided into several sub-algorithm processes;
- Step 902 labeling: The sub-algorithm process is marked with the time required to complete the process;
- Step 903 generating an operator cutout: generating a vacancy map of the reconfigurable component of the algorithm (including each sub-algorithm);
- Step 904 cluster compression: according to the inter-day annotation of each sub-algorithm process, clustering compression in the reconfigurable component cutout, by adding reconfigurable control components, storage components, data paths, and heavy Constructing the multiplexing of the computing components, so that the completion of each sub-algorithm process is as close as possible to the time of the algorithm process, that is, the number of reconfigurable computing components is minimized;
- Step 905 generating a reconfigurable component DSP: an RCU and a reconfigurable component of the connected configuration thereof constitute a reconfigurable component DSP;
- Step 906 component cluster optimization: Step 903 generates an operator graph, and step 904 clusters compression, which will generate more than one result. Therefore, it is necessary to optimize according to parameters such as day, area, power consumption, etc., according to performance ( Execution time) The order of discharge, which satisfies the diurnal constraint, indicates that the hardware implementation cost is the least, which is the optimal result optimized by this step;
- Step 907 Curing Customization: Customize the reconfigurable components (reALU, reMEM, reROUTER) according to the needs of the algorithm, cancel the configurable functions that are not used, or replace all the reconfigurable components with the algorithm. The minimum reconfigurable component required;
- Step 908 Generate a logic instruction code program: According to the processing of the data flow algorithm, generate a logic instruction code program, and note that each code of the program is related to a specific component implementation, and thus includes a clock for component execution requirements. Number of beats;
- Step 909 Verification and Optimization: The algorithm function is verified according to the logic instruction code program, including performance and inter-frame constraints, and the design can be further optimized: a component with lower performance than the current result can be selected from the component clustering optimization for curing. Customized, because the performance of the replaced parts is usually improved.
- the present invention is equally applicable to a method of mapping multiple data stream algorithms to the same reconfigurable component DSP cascade array implementation.
- the corresponding steps are as follows:
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Logic Circuits (AREA)
Description
说明书 一种基于可重构部件的集成电路及其配置方法和设计方法 技术领域
本发明涉及集成电路设计领域, 具体涉及一种基于可重构部件的集成电路及其 配置方法和设计方法。
背景技术
[2] 随着集成电路制造工艺进入 90nm-45nm阶段, 数据流算法 (如数字媒体和通信 基带等) 的 ASIC ( Application Specific Integrated
Circuit, 即专用集成电路) 设计, 面临设计周期长、 设计成本高、 灵活性差、 扩 展性差, 难以满足产品快速上市、 功能不断提升的需求。
[3] 集成电路的设计方法, 从门阵列设计 (1984年 l.Oum工艺节点幵始) 发展到今 天仍在使用的标准单元设计 (1994年 0.5um工艺节点幵始) 、 基于 IP的设计 (199 9年 0.25um工艺节点幵始) 和吋间驱动 (2004年 0.13um工艺节点幵始) 的设计等 方面的进步。
[4] 进入 90nm以后, 集成电路设计的效率严重滞后于制造工艺的进步, 主要原因 在于标准单元的粒度太小, 如只能进行加减乘除等运算, 无法实现粒度较大的 运算, 如一次操作可完成 FFT的某一个蝶形运算, 或 la-bl, 复数运算, cordic运算 等操作。
[5] 现有技术需要改进和提高。
发明内容
[6] 有鉴于此, 本发明要解决的技术问题是增大集成电路的运算粒度, 提供一种基 于可重构部件的集成电路, 本发明要解决的另一个技术问题是提供该集成电路 的配置方法, 本发明进一步要解决的技术问题是提供该集成电路的设计方法, 以实现集成电路的快速设计。
[7] 本发明的是通过以下技术方案来解决上述技术问题的:
[8] 一种基于可重构部件的集成电路, 包括至少一个可重构控制部件, 和至少一个 可重构处理部件, 所述可重构处理部件是可重构运算部件、 可重构存储部件或
可重构数据路由部件中的任意一种或组合, 所述可重构运算部件用于对输入数 据执行运算操作, 所述可重构存储部件用于对数据的存储和读出操作, 所述可 重构数据路由部件用于数据输入和输出路径的通路选择操作, 所述可重构处理 部件与所述可重构控制部件互联, 所述可重构控制部件向可重构处理部件发出 配置指令, 所述可重构处理部件根据该配置指令执行处理任务。
上述集成电路, 包括至少一个可重构运算部件, 所述可重构运算部件包括运算 配置寄存器和算术逻辑运算单元, 所述运算配置寄存器用于接收和存储所述可 重构控制部件发来的运算配置指令, 所述算术逻辑运算单元根据所述运算配置 指令进行算术或逻辑运算。
上述集成电路, 包括至少一个可重构存储部件, 所述可重构存储部件包括存储 配置寄存器和存储单元, 所述存储配置寄存器用于接收和存储所述可重构控制 部件发来的存储配置指令, 所述存储单元根据所述存储配置指令进行数据存取 上述集成电路, 包括至少一个可重构数据路由部件, 所述可重构数据路由部件 包括路由配置寄存器和路由选择单元, 所述路由配置寄存器用于接收和存储所 述可重构控制部件发来的路由配置指令, 所述路由选择单元根据所述路由配置 指令进行路由选择。
上述集成电路, 还包括可重构定吋部件, 用于产生供所述可重构控制部件和可 重构处理部件的吋钟控制信号。
上述吋钟控制信号包括可配制的控制吋钟起停和控制吋钟频率的信号。
一种基于可重构部件的集成电路配置方法, 包括可重构部件的配置过程, 所述 配置过程是通过可重构控制部件向可重构处理部件发送配置指令, 可重构处理 部件接收存储该配置指令并根据所述配置指令完成数据处理任务加以实现, 所 述可重构处理部件是可重构运算部件、 可重构存储部件或可重构数据路由部件 中的任意一种或组合。
上述可重构处理部件通过其所具有的配置寄存器来接收存储所述配置指令。 上述配置指令至少包含操作码、 源和目的参数, 所述操作码为规定指令所执行 操作的命令码, 所述源为指令操作的对象, 所述目的是用于指定写入配置信息
的配置寄存器。
[17] 上述配置指令是通过定义超长指令字加以实现的, 所述超长指令字的字长是根 据其所配置的可重构处理部件的数目来配置的。
[18] 上述配置指令的字长配置是通过修正指令存储器和指令寄存器加以实现的。
[19] 一种基于可重构部件的集成电路设计方法, 包括以下步骤:
A、 根据算法, 使用一个或多个可重构控制部件和与其连接的一个或多个可重构 处理部件生成集成电路, 所述可重构处理部件是满足算法需要的可重构运算部 件、 可重构存储部件或可重构数据路由部件中的任意一种或组合, 所述可重构 运算部件对输入数据执行运算操作, 所述可重构存储部件完成对数据的存储和 读出操作, 所述可重构数据路由部件进行数据输入和输出路径的通路选择操作
, 所述可重构控制部件向可重构处理部件发出配置指令, 所述可重构处理部件 根据该配置指令执行处理任务;
B、 将可重构处理部件, 按照算法的需要进行固化定制, 取消没有使用的可配置 功能。
[20] 上述步骤 A还包括以下步骤:
[21] Al、 分解算法为子算法;
[22] A2、 为子算法进行吋间标注;
[23] A3、 生成算法及子算法吋空图;
[24] A4、 根据吋空图进行聚类压缩, 所述聚类压缩是指增加可重构控制部件、 可重 构处理部件的复用, 使得各个子算法过程的完成吋间接近算法过程标注的吋间 , 并依据所述复用的结果去除其功能被其他可重构处理部件复用代替的可重构 处理部件。
[25] 上述设计方法, 在所述步骤 A和步骤 B之间还包括对对集成电路的运行吋间、 面积、 功耗参数进行优化的步骤。
有益效果
[26] 本发明与现有技术相比较的有益效果是:
[27] (1) 对于本发明的集成电路而言, 通过包含可重构控制部件和可重构处理部 件, 能进行较大粒度的数据流处理, 从而实现诸如数字媒体和通信基带的处理
算法功能; 其可重构控制部件和可重构处理部件的可连接性易于连接构成 DSP 等更大的处理部件;
[28] (2) 对于本发明的集成电路而言, 其可重构定吋部件可以通过配置吋钟频率
, 实现基于变频的低功耗应用;
[29] (3) 对于本发明的配置方法而言, 其通过配置寄存器进行配置指令的发送接 收, 可以实现对算法的有效保护;
[30] (4) 对于本发明的配置方法而言, 其配置指令通过长指令实现, 可以简化因 可重构处理部件数目变化而带来的配置复杂性;
[31] (5) 对于本发明的配置方法而言, 可重构控制部件的配置只需通过修正指令 存储器、 指令寄存器等与字长相关的硬件模块, 其他如译码器等无须改变。
[32] (6) 对于本发明的设计方法而言, 通过使用可重构控制部件和可重构处理部 件, 可配置、 可编程的灵活性能够支持数据流集成电路的快速设计, 提高了设 计效率;
[33] (7) 对于本发明的设计方法而言, 其聚类压缩和优化过程进一步提高了电路 的优化性能, 使得基于可重构部件的设计与基于标准单元的设计相比具有可媲 美的面积和功耗。
附图说明
[34] 图 1是本发明具体实施方式可重构运算部件结构示意图;
[35] 图 2是本发明具体实施方式可重构存储部件结构示意图;
[36] 图 3是本发明具体实施方式可重构数据路由部件结构示意图;
[37] 图 4是本发明具体实施方式可重构控制部件结构示意图;
[38] 图 5是本发明具体实施方式可重构定吋部件结构示意图;
[39] 图 6是本发明实施例 1结构示意图;
[40] 图 7是本发明实施例 2结构示意图;
[41] 图 8是本发明实施例 3结构示意图;
[42] 图 9是本发明设计方法流程图。
具体实施方式
[43] 下面用具体实施方式结合附图对本发明作进一步详细说明。
[44] 本发明基于可重构部件的集成电路的一种实施方式是 DSP (即数字信号处理器 ) , 包括至少一个可重构控制部件 RCU和至少一个可重构运算部件 reALU、 可重 构存储部件 reMEM或可重构数据路由部件 reROUTER的任意一种或组合, 以及可 重构定吋部件 RTU。 可重构运算部件 reALU、 可重构存储部件 reMEM或可重构 数据路由部件 reROUTER与所述可重构控制部件 RCU互联, 接受可重构控制部件 RCU发出的配置指令并根据配置指令执行处理任务。
[45] 可重构运算部件 reALU用于对输入数据执行运算操作, 如图 1所示, 包括运算 配置寄存器和算术逻辑运算单元 ALU。 运算配置寄存器用于接收和存储可重构 控制部件 RCU发来的运算配置指令, 算术逻辑运算单元根据运算配置指令进行 算术或逻辑运算, 算术运算包括基本算术运算, 如加、 减、 乘、 除、 乘法累加 等; 逻辑运算包括移位、 比较、 取大、 取小等。 reALU对输入数据进行处理并输 出结果。
[46] 可重构存储部件 reMEM用于对数据的存储和读出操作, 如图 2所示, 包括存储 配置寄存器和存储单元 MEM, 所述存储配置寄存器用于接收和存储可重构控制 部件 RCU发来的存储配置指令, 存储单元 MEM根据存储配置指令进行数据存取 。 reMEM的可配置功能包括存储体 (各种存储介质: 寄存器、 RAM等 MEM) 的 写入和 /或读出方式, 对于按地址访问的存储体而言, 就是地址生成器的工作方 式; reMEM将输入数据存储到预定位置, 并将需要的数据从存放位置输出。
[47] 可重构数据路由部件 reROUTER用于数据输入和输出路径的通路选择操作, 如 图 3所示, 包括路由配置寄存器和路由选择单元 ROUTER, 路由配置寄存器用于 接收可重构控制部件 RCU发来的路由配置指令, 路由选择单元根据路由配置指 令进行路由选择。
[48] 可重构控制部件 RCU, 如图 4所示, 其一种实施方式, 包括指令存储器、 指令 寄存器、 译码器, 产生的配置指令包含操作码、 源和目的三个操作元素, 操作 码为规定指令所执行操作的命令码, 源为指令操作的对象, 目的用于指定写入 配置信息的配置寄存器。 RCU通过改变其指令来实现重构, 指令字长可以根据 其配置的运算部件、 存储部件、 数据路径的数目调整或配置, 优选的方式, 只 需修正指令存储器、 指令寄存器等与字长相关的硬件模块, 其他如译码器等无
需改变。
[49] 可重构定吋部件 RTU, 如图 5所示, 包括吋钟电路和与之相连的控制 RCU运行 的定吋器以及各种工作吋钟产生器, 用于产生供所述可重构控制部件 RCU和可 重构处理部件的吋钟。 RTU产生吋钟控制信号, 包括控制吋钟起停和控制吋钟 频率的信号。 当 DSP需要变频操作吋 (低功耗应用) , 需要对 RTU中的吋钟发生 器进行配置, 使之提供新的吋钟控制信号。 RTU按吋间驱动各个 RCU, 即 DSP的 运行。 在实现数据流算法的整个可重构算子 DSP级联阵列中 RTU可以不只一个, RTU之间也可以分层次分级驱动控制。 RTU控制 DSP的运行有两种实现方式, 一 种是控制 DSP的起停, RTU控制 DSP中的 RCU停止工作, 不向各配置单元发送配 置指令, 这样各可重构处理部件保持当前配置值进行数据流运算; 另一种方式 是配置 RTU产生的吋钟频率, DSP或 DSP阵列所工作的吋钟由其对应的 RTU产生 , 在特定的应用场合, 尤其是低功耗应用吋, 可能根据实吋任务处理情况实吋 产生不同频率的吋钟, 控制 DSP单元的处理速度。 分层次分级驱动表示 RTU既可 控制单个 DSP单元, 也可以控制整个 DSP阵列, 也可以分几级, 如第一级控制整 个第二级 RTU的工作, 第二级 RTU控制多个第三级 RTU的工作, 第三级 RTU控 制对应的一个或几个 DSP的工作。
[50] 下面通过几个具体的实施例来说明本发明基于可重构部件的集成电路的具体实 现方式。
[51] 实施例 1 :
[52] 如图 6所示, 包括四个 reALU、 一个 reROUTER和一个 RCU, RCU配置 reALU和 reROUTER, 数据流通过 reROUTER选择通路后发送到 reALU进行运算处理输出
[53] 实施例 2 :
[54] 如图 7所示, 包括两个 reMEM和一个 RCU, RCU对 reMEM进行配置, reMEM对 数据进行存取操作。 本例为单独的算子级联情况, 即 DSP内部由几个算子级联组 成, 而不是如实施例 1通过 reRouter组成算子间复杂的连接关系。
[55] 实施例 3 :
[56] 如图 8所示, 包括互联的一个 reALU和一个 reMEM以及一个 RCU, RCU对 reAL
U和 reMEM进行配置, 数据经过 reALU运算处理后由 reMEM进行存储。 本例是通 过 ALU和 MEM形成算子简单级联, ALU和 ALU可形成算子级联, MEM和 MEM 可形成算子级联。
[57] 本发明的基于可重构部件的集成电路配置方法, 是通过可重构控制部件 RCU向 可重构处理部件发送配置指令, 可重构处理部件接收存储该配置指令并根据所 述配置指令完成数据处理任务加以实现, 所述可重构处理部件是可重构运算部 件、 可重构存储部件或可重构数据路由部件中的任意一种或组合。
[58] 优选的方式, 配置指令就是数据传送指令, 如:
[59] MOV data, reREG; reREG=data, 这里 reREG表示配置寄存器。
[60] 其一种实施方式, 以可重构运算部件 reALU为例, 可以用一条带该 reALU 标示的操作码及其源 (输入) 和目的 (输出) 操作数的逻辑指令描述, 如: [61] ALUi op C , A , Β; 表示 C = A op Β
[62] 该标示表示该 reALU的功能可以通过 RCU的配置改变。 并列的一组 reALU , 可以定义为一条超长指令字, 需要带上各个 reALU的标示。
[63] DSP中每个 reMEM, 可以用带该 reMEM标示的赋值指令及描述访问方式操作的 一组指令序列构成。 其标示表示该 reMEM的功能可以通过 RCU的配置改变。 并 列的一组 reMEM, 类似的定义为一组超长指令字序列, 需要加上各个 reMEM的 标示。
DSP中每个 reRouter, 可以用带 reROUTER标示的赋值指令及其源 (输入) 和目 的 (输出) 操作数的逻辑指令描述。
[65] DSP中 RCU的配置指令的执行, 需要根据配置信息完成的配置操作, 用一组指 令序列描述各个被配置部件的操作或功能变化。
[66] 当可重构处理部件的逻辑指令与其具体实现结合的吋候, 逻辑指令同吋要附带 该部件实现的吋钟节拍数等参数。
[67] 本发明的基于可重构部件的集成电路设计方法, 其一种实施方式为包含可重构 部件的 DSP芯片设计方法, 该 DSP属于数据流专用集成电路。 可重构部件的规格 包括: 可配置功能、 面积、 功耗、 工艺、 电压 (如
1.8V、 1.2V、 0.8V等) 和工作方式 (如休眠、 待机、 正常等) 等, 如图 9所示,
包括如下步骤:
[68] 步骤 901、 算法分解: 将数据流算法的流程图或 C或 Java或 Matlab等高级语言描 述形式, 划分为若干个子算法过程;
[69] 步骤 902、 标注吋间: 对各个子算法过程标注完成该过程所需要的吋间;
[70] 步骤 903、 生成算子吋空图: 生成算法 (包含各个子算法) 的可重构部件的吋 空图;
[71] 步骤 904、 聚类压缩: 根据各个子算法过程的吋间标注, 对可重构部件吋空图 中进行聚类压缩, 通过增加可重构控制部件、 存储部件、 数据路径和可重构运 算部件的复用, 使各个子算法过程的完成吋间尽量接近算法过程标注的吋间, 即尽量减少可重构运算部件的数量;
[72] 步骤 905、 生成可重构部件 DSP: —个 RCU及其所连接配置的可重构部件构成 一个可重构部件 DSP;
[73] 步骤 906、 部件聚类优化: 步骤 903生成算子图, 步骤 904聚类压缩, 都会产生 不只一种结果, 因此, 需要根据吋间、 面积、 功耗等参数进行优化, 按性能 ( 执行吋间) 排出顺序, 恰好满足吋间约束的结果表明其硬件实现代价最小, 就 是本步优化出的最优结果;
[74] 步骤 907、 固化定制: 将可重构部件 (reALU、 reMEM、 reROUTER) 按照算 法的需要进行固化定制, 取消没有使用的可配置功能, 或者说, 将可重构部件 全部替换为满足算法要求的最小可重构功能的部件;
[75] 步骤 908、 生成逻辑指令代码程序: 按照数据流算法的处理过程, 生成逻辑指 令代码程序, 注意该程序的每一条代码均与具体的部件实现相关, 因此包含了 部件执行需要的吋钟节拍数;
[76] 步骤 909、 验证并优化: 根据逻辑指令代码程序验证算法功能包括性能和吋间 约束, 并可进一步优化设计: 可从部件聚类优化中选取比当前结果性能较低的 一种进行固化定制, 因为替换后部件的性能通常会有所提升。
[77] 针对将多个数据流算法映射到同一个可重构部件 DSP级联阵列实现的方法, 本 发明同样适用, 相应的步骤如下:
[78] Sl、 对每种算法都进行一遍上述步骤中的 901至 906, 形成涵盖支撑多种算法的
可重构部件 DSP级联阵列;
[79] S2、 固化定制: 将可重构算子 (reALU、 reMEM、 reRouter) 按照算法的需要 进行固化定制: 取消没有使用的可配置功能;
[80] S3、 生成逻辑指令代码程序: 注意该程序的每一条代码均与具体的算子实现相 关, 因此包含了部件执行需要的吋钟节拍数。
[81] S4、 验证并优化: 根据逻辑指令代码程序验证算法功能包括性能和吋间约束, 并可以进一步优化设计。
[82] 以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明, 不能认 定本发明的具体实施只局限于这些说明。 对于本发明所属技术领域的普通技术 人员来说, 在不脱离本发明构思的前提下, 还可以做出若干简单推演或替换, 都应当视为属于本发明的保护范围。
Claims
[1] 1.一种基于可重构部件的集成电路, 其特征在于: 包括至少一个可重构控 制部件, 和至少一个可重构处理部件, 所述可重构处理部件是可重构运算 部件、 可重构存储部件或可重构数据路由部件中的任意一种或组合, 所述 可重构运算部件用于对输入数据执行运算操作, 所述可重构存储部件用于 对数据的存储和读出操作, 所述可重构数据路由部件用于数据输入和输出 路径的通路选择操作, 所述可重构处理部件与所述可重构控制部件互联, 所述可重构控制部件向可重构处理部件发出配置指令, 所述可重构处理部 件根据该配置指令执行处理任务。
[2] 2.根据权利要求 1所述的集成电路, 其特征在于: 包括至少一个可重构运算 部件, 所述可重构运算部件包括运算配置寄存器和算术逻辑运算单元, 所 述运算配置寄存器用于接收和存储所述可重构控制部件发来的运算配置指 令, 所述算术逻辑运算单元根据所述运算配置指令进行算术或逻辑运算。
[3] 3.根据权利要求 1所述的集成电路, 其特征在于: 包括至少一个可重构存储 部件, 所述可重构存储部件包括存储配置寄存器和存储单元, 所述存储配 置寄存器用于接收和存储所述可重构控制部件发来的存储配置指令, 所述 存储单元根据所述存储配置指令进行数据存取。
[4] 4.根据权利要求 1所述的集成电路, 其特征在于: 包括至少一个可重构数据 路由部件, 所述可重构数据路由部件包括路由配置寄存器和路由选择单元 , 所述路由配置寄存器用于接收和存储所述可重构控制部件发来的路由配 置指令, 所述路由选择单元根据所述路由配置指令进行路由选择。
[5] 5.根据权利要求 1至 4任一所述的集成电路, 其特征在于: 还包括可重构定 吋部件, 用于产生供所述可重构控制部件和可重构处理部件的吋钟控制信 号。
[6] 6.根据权利要求 5所述的集成电路, 其特征在于: 所述吋钟控制信号包括可 配制的控制吋钟起停和控制吋钟频率的信号。
[7] 7.—种基于可重构部件的集成电路配置方法, 包括可重构部件的配置过程
, 其特征在于, 所述配置过程是通过可重构控制部件向可重构处理部件发
送配置指令, 可重构处理部件接收存储该配置指令并根据所述配置指令完 成数据处理任务加以实现, 所述可重构处理部件是可重构运算部件、 可重 构存储部件或可重构数据路由部件中的任意一种或组合。
[8] 8.根据权利要求 7所述的配置方法, 其特征在于, 所述可重构处理部件通过 其所具有的配置寄存器来接收存储所述配置指令。
[9] 9.根据权利要求 8所述的配置方法, 其特征在于, 所述配置指令至少包含操 作码、 源和目的参数, 所述操作码为规定指令所执行操作的命令码, 所述 源为指令操作的对象, 所述目的是用于指定写入配置信息的配置寄存器。
[10] 10.根据权利要求 9所述的配置方法, 其特征在于, 所述配置指令是通过定 义超长指令字加以实现的, 所述超长指令字的字长是根据其所配置的可重 构处理部件的数目来配置的。
[11] 11.根据权利要求 10所述的配置方法, 其特征在于, 所述配置指令的字长配 置是通过修正指令存储器和指令寄存器加以实现的。
[12] 12.—种基于可重构部件的集成电路设计方法, 其特征在于, 包括以下步骤
A、 根据算法, 使用一个或多个可重构控制部件和与其连接的一个或多个 可重构处理部件生成集成电路, 所述可重构处理部件是满足算法需要的可 重构运算部件、 可重构存储部件或可重构数据路由部件中的任意一种或组 合, 所述可重构运算部件对输入数据执行运算操作, 所述可重构存储部件 完成对数据的存储和读出操作, 所述可重构数据路由部件进行数据输入和 输出路径的通路选择操作, 所述可重构控制部件向可重构处理部件发出配 置指令, 所述可重构处理部件根据该配置指令执行处理任务;
B、 将可重构处理部件, 按照算法的需要进行固化定制, 取消没有使用的 可配置功能。
[13] 13.根据权利要求 12所述的设计方法, 其特征在于, 所述步骤 A还包括以下 步骤:
Al、 分解算法为子算法;
A2、 为子算法进行吋间标注;
A3、 生成算法及子算法吋空图;
A4、 根据吋空图进行聚类压缩, 所述聚类压缩是指增加可重构控制部件、 可重构处理部件的复用, 使得各个子算法过程的完成吋间接近算法过程标 注的吋间, 并依据所述复用的结果去除其功能被其他可重构处理部件复用 代替的可重构处理部件。
[14] 14.根据权利要求 12所述的设计方法, 其特征在于, 在所述步骤 A和步骤 B 之间还包括对对集成电路的运行吋间、 面积、 功耗参数进行优化的步骤。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN200810217465 | 2008-11-19 | ||
| CN200810217465.7 | 2008-11-19 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2010057348A1 true WO2010057348A1 (zh) | 2010-05-27 |
Family
ID=42197813
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2008/073520 Ceased WO2010057348A1 (zh) | 2008-11-19 | 2008-12-16 | 一种基于可重构部件的集成电路及其配置方法和设计方法 |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2010057348A1 (zh) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101114274A (zh) * | 2007-08-23 | 2008-01-30 | 顾士平 | 动态可重构指令处理器配置及通信控制器 |
| CN101136070A (zh) * | 2007-10-18 | 2008-03-05 | 复旦大学 | 基于可重构架构的多协议射频标签读写器基带处理器 |
-
2008
- 2008-12-16 WO PCT/CN2008/073520 patent/WO2010057348A1/zh not_active Ceased
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101114274A (zh) * | 2007-08-23 | 2008-01-30 | 顾士平 | 动态可重构指令处理器配置及通信控制器 |
| CN101136070A (zh) * | 2007-10-18 | 2008-03-05 | 复旦大学 | 基于可重构架构的多协议射频标签读写器基带处理器 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN101739382B (zh) | 一种基于可重构部件的集成电路和设计方法 | |
| CN109597458B (zh) | 用于空间阵列中的可配置时钟门控的处理器和方法 | |
| CN109597646B (zh) | 具有可配置空间加速器的处理器、方法和系统 | |
| US7200735B2 (en) | High-performance hybrid processor with configurable execution units | |
| EP1953649B1 (en) | Reconfigurable integrated circuit | |
| CN105468568B (zh) | 高效的粗粒度可重构计算系统 | |
| CN1985256A (zh) | 硬件描述语言(hdl)程序的执行 | |
| WO2001016710A1 (en) | Data processor | |
| JP6656217B2 (ja) | データ処理装置およびその制御方法 | |
| Chang et al. | Dasm: Data-streaming-based computing in nonvolatile memory architecture for embedded system | |
| JP2008537268A (ja) | 可変精度相互接続を具えたデータ処理エレメントの配列 | |
| Hemani et al. | The silago solution: Architecture and design methods for a heterogeneous dark silicon aware coarse grain reconfigurable fabric | |
| CN101739383B (zh) | 一种可配置处理器体系结构和控制方法 | |
| CN101727434B (zh) | 一种特定应用算法专用集成电路结构 | |
| CN104636151B (zh) | 基于应用存储器的fpga芯片配置结构和配置方法 | |
| Saravana Ram et al. | An area efficient and low power consumption of run time digital system based on dynamic partial reconfiguration | |
| WO2010057348A1 (zh) | 一种基于可重构部件的集成电路及其配置方法和设计方法 | |
| CN101685389B (zh) | 一种处理器 | |
| CN102129495B (zh) | 一种降低可重构算子阵列结构功耗的方法 | |
| WO2010034167A1 (zh) | 一种集成电路的处理器结构 | |
| JP2004362215A (ja) | プロセッサ及び半導体集積回路 | |
| JP3459821B2 (ja) | マイクロプロセッサ | |
| CN110045989B (zh) | 一种动态切换式低功耗处理器 | |
| JP4664724B2 (ja) | 半導体集積回路装置および半導体集積回路装置の設計装置 | |
| JP5157129B2 (ja) | 情報処理装置およびその回路設計方法 |
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: 08878218 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: 08878218 Country of ref document: EP Kind code of ref document: A1 |