CN101739382B - 一种基于可重构部件的集成电路和设计方法 - Google Patents

一种基于可重构部件的集成电路和设计方法 Download PDF

Info

Publication number
CN101739382B
CN101739382B CN2009100016812A CN200910001681A CN101739382B CN 101739382 B CN101739382 B CN 101739382B CN 2009100016812 A CN2009100016812 A CN 2009100016812A CN 200910001681 A CN200910001681 A CN 200910001681A CN 101739382 B CN101739382 B CN 101739382B
Authority
CN
China
Prior art keywords
restructural
configurable
configuration
reconfigurable
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.)
Expired - Fee Related
Application number
CN2009100016812A
Other languages
English (en)
Other versions
CN101739382A (zh
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.)
Peking University Shenzhen Graduate School
Original Assignee
Peking University Shenzhen Graduate School
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 Peking University Shenzhen Graduate School filed Critical Peking University Shenzhen Graduate School
Priority to CN2009100016812A priority Critical patent/CN101739382B/zh
Publication of CN101739382A publication Critical patent/CN101739382A/zh
Application granted granted Critical
Publication of CN101739382B publication Critical patent/CN101739382B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Logic Circuits (AREA)

Abstract

本发明公开了一种基于可重构部件的集成电路,包括至少一个可重构控制部件和至少一个可重构处理部件,所述可重构处理部件与所述可重构控制部件互连,所述可重构控制部件向可重构处理部件发出配置信息,所述可重构处理部件根据该配置信息执行处理任务。本发明还公开了一种基于可重构部件集成电路的设计方法。本发明通过包含可重构控制部件和可重构处理部件,能进行较大粒度的数据流处理,从而实现诸如数字媒体和通信基带的处理算法功能;其可重构控制部件和可重构处理部件的可连接性易于连接构成DSP等更大的处理部件。

Description

一种基于可重构部件的集成电路和设计方法
技术领域
本发明涉及集成电路设计领域,具体涉及一种基于可重构部件的集成电路和设计方法。
背景技术
随着集成电路制造工艺进入90nm-45nm阶段,数据流算法(如数字媒体和通信基带等)的ASIC(Application Specific Integrated Circuit,即专用集成电路)设计,面临设计周期长、设计成本高、灵活性差、扩展性差,难以满足产品快速上市、功能不断提升的需求。
集成电路的设计方法,从门阵列设计(1984年1.0um工艺节点开始)发展到今天仍在使用的标准单元设计(1994年0.5um工艺节点开始)、基于IP的设计(1999年0.25um工艺节点开始)和时间驱动(2004年0.13um工艺节点开始)的设计等方面的进步。
进入90nm以后,集成电路设计的效率严重滞后于制造工艺的进步,主要原因在于标准单元的粒度太小,如只能进行加减乘除等运算,无法实现粒度较大的运算,如一次操作可完成FFT的某一个蝶形运算,或|a-b|,复数运算,cordic运算等操作。
现有技术需要改进和提高。
发明内容
有鉴于此,本发明要解决的技术问题是增大集成电路的运算粒度,提供一种基于可重构部件的集成电路,本发明要解决的另一个技术问题提供该集成电路的设计方法,以实现集成电路的快速设计。
本发明是通过以下技术方案来解决上述技术问题的:
一种基于可重构部件的集成电路,包括至少一个可重构控制部件和至少一个可重构处理部件,所述可重构处理部件与所述可重构控制部件互连,所述可重构控制部件向可重构处理部件发出配置信息,所述可重构处理部件根据该配置信息执行处理任务。
上述可重构处理部件包括可重构运算部件、可重构存储部件或可重构数据路由部件中的任意一种或组合,所述可重构运算部件用于对输入数据执行运算操作,所述可重构存储部件用于对数据的存储和读出操作,所述可重构数据路由部件用于数据输入和输出路径的通路选择操作。
上述可重构运算部件包括运算配置寄存器和算术逻辑运算单元,所述运算配置寄存器用于接收和存储所述可重构控制部件发来的运算配置指令,所述算术逻辑运算单元根据所述运算配置指令进行算术或逻辑运算。
上述可重构存储部件包括存储配置寄存器和存储单元,所述存储配置寄存器用于接收和存储所述可重构控制部件发来的存储配置指令,所述存储单元根据所述存储配置指令进行数据存取。
上述可重构数据路由部件包括路由配置寄存器和路由选择单元,所述路由配置寄存器用于接收和存储所述可重构控制部件发来的路由配置指令,所述路由选择单元根据所述路由配置指令进行路由选择。
上述集成电路,还包括可重构定时部件,用于产生供所述可重构控制部件和可重构处理部件的时钟控制信号,所述时钟控制信号包括可配置的控制时钟起停和控制时钟频率的信号。
一种基于可重构部件集成电路的设计方法,包括,配置步骤:
根据算法,使用一个或多个满足算法需要的可重构控制部件和与其连接的一个或多个可重构处理部件生成集成电路,所述可重构控制部件向所述可重构处理部件发出配置指令,所述可重构处理部件根据该配置指令执行处理任务。
上述可重构处理部件是可重构运算部件、可重构存储部件或可重构数据路由部件中的任意一种或组合,所述可重构运算部件对输入数据执行运算操作,所述可重构存储部件完成对数据的存储和读出操作,所述可重构数据路由部件进行数据输入和输出路径的通路选择操作。
上述步骤还包括以下步骤:
A1、分解算法为子算法;
A2、为子算法进行时间标注;
A3、生成算法及子算法时空图;
A4、根据时空图进行聚类压缩,所述聚类压缩是指增加可重构控制部件、可重构处理部件的复用,使得各个子算法过程的完成时间接近算法过程标注的时间,并依据所述复用的结果去除其功能被其他可重构处理部件复用代替的可重构处理部件。
上述设计方法,还包括取消没有使用的可配置功能的过程。
本发明与现有技术相比较的有益效果是:
(1)对于本发明的集成电路而言,通过包含可重构控制部件和可重构处理部件,能进行较大粒度的数据流处理,从而实现诸如数字媒体和通信基带的处理算法功能;其可重构控制部件和可重构处理部件的可连接性易于连接构成DSP等更大的处理部件;
(2)对于本发明的集成电路而言,其可重构定时部件可以通过配置时钟频率,实现基于变频的低功耗应用;
(3)对于本发明的设计方法而言,通过使用可重构控制部件和可重构处理部件,可配置、可编程的灵活性能够支持数据流集成电路的快速设计,提高了设计效率;
(4)对于本发明的设计方法而言,其聚类压缩和优化过程进一步提高了电路的优化性能,使得基于可重构部件的设计与基于标准单元的设计相比具有可媲美的面积和功耗。
附图说明
图1是本发明一种具体实施方式中可重构运算部件结构示意图;
图2是本发明一种具体实施方式中可重构存储部件结构示意图;
图3是本发明一种具体实施方式中可重构数据路由部件结构示意图;
图4是本发明一种具体实施方式中可重构控制部件结构示意图;
图5是本发明一种具体实施方式中可重构定时部件结构示意图;
图6是本发明实施例1结构示意图;
图7是本发明实施例2结构示意图;
图8是本发明实施例3结构示意图;
图9是本发明一种具体实施方式的设计方法流程图。
具体实施方式
下面用具体实施方式结合附图对本发明作进一步详细说明。
本发明基于可重构部件的集成电路的一种实施方式是DSP,包括至少一个可重构控制部件RCU和至少一个可重构处理部件,可重构处理部件是指可重构运算部件reALU、可重构存储部件reMEM或可重构数据路由部件reROUTER的任意一种或组合,该DSP还可包括可重构定时部件RTU。可重构运算部件reALU、可重构存储部件reMEM或可重构数据路由部件reROUTER与所述可重构控制部件RCU互联,接受可重构控制部件RCU发出的配置指令并根据配置指令执行处理任务。
可重构运算部件reALU用于对输入数据执行运算操作,如图1所示,包括运算配置寄存器和算术逻辑运算单元ALU。运算配置寄存器用于接收和存储可重构控制部件RCU发来的运算配置指令,算术逻辑运算单元根据运算配置指令进行算术或逻辑运算,算术运算包括基本算术运算,如加、减、乘、除、乘法累加等;逻辑运算包括移位、比较、取大、取小等。reALU对输入数据进行处理并输出结果。
可重构存储部件reMEM用于对数据的存储和读出操作,如图2所示,包括存储配置寄存器和存储单元MEM,所述存储配置寄存器用于接收和存储可重构控制部件RCU发来的存储配置指令,存储单元MEM根据存储配置指令进行数据存取。reMEM的可配置功能包括存储体(各种存储介质:寄存器、RAM等MEM)的写入和/或读出方式,对于按地址访问的存储体而言,就是地址生成器的工作方式;reMEM将输入数据存储到预定位置,并将需要的数据从存放位置输出。
可重构数据路由部件reROUTER用于数据输入和输出路径的通路选择操作,如图3所示,包括路由配置寄存器和路由选择单元ROUTER,路由配置寄存器用于接收可重构控制部件RCU发来的路由配置指令,路由选择单元根据路由配置指令进行路由选择。
可重构控制部件RCU,如图4所示,其一种实施方式,包括指令存储器、指令寄存器、译码器,产生的配置指令包含操作码、源和目的三个操作元素,操作码为规定指令所执行操作的命令码,源为指令操作的对象,目的用于指定写入配置信息的配置寄存器。RCU通过超长指令字来实现配置,即改变其指令来实现重构,指令字长可以根据其配置的运算部件、存储部件、数据路径的数目调整或配置,优选的方式,只需修正指令存储器、指令寄存器等与字长相关的硬件模块,其他如译码器等无需改变。
优选的方式,配置指令通过数据传送指令来实现,如:
MOV data,reREG;reREG=data,这里reREG表示配置寄存器。
其一种实施方式,以可重构运算部件reALU为例,可以用一条带该reALU标示的操作码及其源(输入)和目的(输出)操作数的逻辑指令描述,如:
ALUi op C,A,B;表示C=A op B
该标示表示该reALU的功能可以通过RCU的配置改变,其中op表示操作码。并列的一组reALU,可以定义为一条超长指令字,需要带上各个reALU的标示。
DSP中每个reMEM,可以用带该reMEM标示的赋值指令及描述访问方式操作的一组指令序列构成。其标示表示该reMEM的功能可以通过RCU的配置改变。并列的一组reMEM,类似的定义为一组超长指令字序列,需要加上各个reMEM的标示。
DSP中每个reRouter,可以用带reROUTER标示的赋值指令及其源(输入)和目的(输出)操作数的逻辑指令描述。
DSP中RCU的配置指令的执行,需要根据配置信息完成的配置操作,用一组指令序列描述各个被配置部件的操作或功能变化。
可重构定时部件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的工作。
当可重构处理部件的逻辑指令与其具体实现结合的时候,逻辑指令同时要附带该部件实现的时钟节拍数等参数。
下面通过几个具体的实施例来说明本发明基于可重构部件的集成电路的具体实现方式。
实施例1:
如图6所示,包括四个reALU、一个reROUTER和一个RCU,RCU分别配置各个reALU的运算功能和reROUTER的路径选择,数据流通过reROUTER选择通路后发送到各个reALU进行运算处理输出。
实施例2:
如图7所示,包括两个reMEM和一个RCU,RCU对reMEM的存取进行配置,reMEM对数据进行存取操作。本例为单独的算子级联情况,即DSP内部由几个算子级联组成,而不是如实施例1通过reRouter组成算子间复杂的连接关系。
实施例3:
如图8所示,包括互连的一个reALU和一个reMEM以及一个RCU,RCU对reALU和reMEM进行配置,数据经过reALU运算处理后由reMEM进行存储。本例是通过ALU和MEM形成算子简单级联,ALU和ALU可形成算子级联,MEM和MEM可形成算子级联。
本发明的基于可重构部件的集成电路设计方法,其一种实施方式为包含可重构部件的DSP芯片设计方法,该DSP属于数据流专用集成电路。可重构部件的规格包括:可配置功能、面积、功耗、工艺、电压(如1.8V、1.2V、0.8V等)和工作方式(如休眠、待机、正常等)等,如图9所示,包括如下步骤:
步骤901、算法分解:将数据流算法的流程图或C或Java或Matlab等高级语言描述形式,划分为若干个子算法过程;
步骤902、标注时间:对各个子算法过程标注完成该过程所需要的时间;
步骤903、生成算子时空图:生成算法(包含各个子算法)的可重构部件的时空图;完成一个算法对硬件来说,有对数据处理的时间要求。而将算子根据算法平铺开之后,算法将完全通过并行性执行,速度很快,如一个算法仅要求1s完成,通过完全平铺算子就仅需0.1ms就完成了,但这并不是总是希望的结果,因为平铺带来了很大的面积成本。而一般情况下,希望通过一部分算子复用,使算法在要求的时间内完成,如上述的1s左右完成,即可达到要求,同时复用的算子能够节省面积和成本。这样就需要在每个算子执行相应的功能上加上时间标注,在聚合映射中根据时间标注复用算子,使之总体算法执行时间最接近于实际要求时间,这是算子的时间图。空间图是对算子面积的定义,即在算子聚类映射时,根据算子的面积进行聚类,选择复用面积较小的算子。在算法聚类过程中,这两种因素都要考虑到。
步骤904、聚类压缩:根据各个子算法过程的时间标注,对可重构部件时空图中进行聚类压缩,通过增加可重构控制部件、存储部件、数据路径和可重构运算部件的复用,使各个子算法过程的完成时间尽量接近算法过程标注的时间,即尽量减少可重构运算部件的数量;
步骤905、生成可重构部件DSP:一个RCU及其所连接配置的可重构部件构成一个可重构部件DSP;
步骤906、部件聚类优化:步骤903生成算子图,步骤904聚类压缩,都会产生不只一种结果,因此,需要根据时间、面积、功耗等参数进行优化,按性能(执行时间)排出顺序,恰好满足时间约束的结果表明其硬件实现代价最小,就是本步优化出的最优结果;
步骤907、固化定制:将可重构部件(reALU、reMEM、reROUTER)按照算法的需要进行固化定制,取消没有使用的可配置功能,或者说,将可重构部件全部替换为满足算法要求的最小可重构功能的部件;故化定制是指,通过聚类优化,得出在实现算法的前提下仅需执行的几种固定操作,因此仅选择能够实现这些功能操作的最小硬件放在电路中,同时对这些硬件进行全定制设计,使之没有其他扩展的功能,达到面积功耗最优,同时还可保证算法的正确执行。
步骤908、生成逻辑指令代码程序:按照数据流算法的处理过程,生成逻辑指令代码程序,注意该程序的每一条代码均与具体的部件实现相关,因此包含了部件执行需要的时钟节拍数;
步骤909、验证并优化:根据逻辑指令代码程序验证算法功能包括性能和时间约束,并可进一步优化设计:可从部件聚类优化中选取比当前结果性能较低的一种进行固化定制,因为替换后部件的性能通常会有所提升。
针对将多个数据流算法映射到同一个可重构部件DSP级联阵列实现的方法,本发明同样适用,相应的步骤如下:
S1、对每种算法都进行一遍上述步骤中的901至906,形成涵盖支撑多种算法的可重构部件DSP级联阵列;
S2、固化定制:将可重构算子(reALU、reMEM、reRouter)按照算法的需要进行固化定制:取消没有使用的可配置功能;
S3、生成逻辑指令代码程序:注意该程序的每一条代码均与具体的算子实现相关,因此包含了部件执行需要的时钟节拍数。
S4、验证并优化:根据逻辑指令代码程序验证算法功能包括性能和时间约束,并可以进一步优化设计。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (2)

1.一种基于可重构部件的集成电路,其特征在于:包括至少一个可重构控制部件和至少一个可重构处理部件,所述可重构处理部件与所述可重构控制部件互连,所述可重构控制部件向可重构处理部件发出配置指令,所述配置指令包括操作码、源和目的三个操作元素,操作码为规定指令所执行操作的命令码,源为指令操作的对象,目的用于指定写入配置指令的配置寄存器;所述可重构处理部件为可重构运算部件、可重构存储部件或可重构数据路由部件;所述可重构运算部件用于对输入数据执行运算操作,所述可重构运算部件包括运算配置寄存器和算术逻辑运算单元,所述运算配置寄存器用于接收和存储所述可重构控制部件发来的运算配置指令,所述算术逻辑运算单元根据所述运算配置指令进行算术或逻辑运算;所述可重构存储部件用于对数据的存储和读出操作,所述可重构存储部件包括存储配置寄存器和存储单元,所述存储配置寄存器用于接收和存储所述可重构控制部件发来的存储配置指令,所述存储单元根据所述存储配置指令进行数据存取;所述可重构数据路由部件用于数据输入和输出路径的通路选择操作,所述可重构数据路由部件包括路由配置寄存器和路由选择单元,所述路由配置寄存器用于接收和存储所述可重构控制部件发来的路由配置指令,所述路由选择单元根据所述路由配置指令进行路由选择。
2.根据权利要求1所述的集成电路,其特征在于:还包括可重构定时部件,用于产生供所述可重构控制部件和可重构处理部件的时钟控制信号,所述时钟控制信号包括可配置的控制时钟起停和控制时钟频率的信号。
CN2009100016812A 2008-11-19 2009-01-08 一种基于可重构部件的集成电路和设计方法 Expired - Fee Related CN101739382B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100016812A CN101739382B (zh) 2008-11-19 2009-01-08 一种基于可重构部件的集成电路和设计方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN200810217465 2008-11-19
CN200810217465.7 2008-11-19
CN2009100016812A CN101739382B (zh) 2008-11-19 2009-01-08 一种基于可重构部件的集成电路和设计方法

Publications (2)

Publication Number Publication Date
CN101739382A CN101739382A (zh) 2010-06-16
CN101739382B true CN101739382B (zh) 2012-06-13

Family

ID=42462880

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100016812A Expired - Fee Related CN101739382B (zh) 2008-11-19 2009-01-08 一种基于可重构部件的集成电路和设计方法

Country Status (1)

Country Link
CN (1) CN101739382B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102123286B (zh) * 2010-12-31 2013-05-01 北京大学深圳研究生院 视频编解码器网络提取层nal模块及实现方法
CN102045569B (zh) * 2010-12-31 2012-10-24 北京大学深圳研究生院 用于视频编码器的整数变换装置及其实现方法
CN102075763A (zh) * 2010-12-31 2011-05-25 北京大学深圳研究生院 用于视频编码器的帧内子块预测电路及其实现方法
CN102650860A (zh) * 2011-02-25 2012-08-29 西安邮电学院 一种新型数据流dsp中信号处理硬件的控制器结构
CN102129495B (zh) * 2011-03-07 2012-10-24 北京大学深圳研究生院 一种降低可重构算子阵列结构功耗的方法
CN102184274B (zh) * 2011-03-07 2012-10-24 北京大学深圳研究生院 可重构算子、集成电路和用于降低可重构算子功耗的方法
CN102339268A (zh) * 2011-04-19 2012-02-01 北京大学深圳研究生院 一种可重构路径算子
CN102306141B (zh) * 2011-07-18 2015-04-08 清华大学 一种描述动态可重构阵列配置信息的方法
CN103390071A (zh) * 2012-05-07 2013-11-13 北京大学深圳研究生院 一种可重构算子阵列的层次化互连结构
CN104750660A (zh) * 2015-04-08 2015-07-01 华侨大学 一种具有多工作模式的嵌入式可重构处理器
CN108616348B (zh) * 2018-04-19 2019-08-23 清华大学无锡应用技术研究院 使用可重构处理器实现安全算法、解密算法的方法及系统

Also Published As

Publication number Publication date
CN101739382A (zh) 2010-06-16

Similar Documents

Publication Publication Date Title
CN101739382B (zh) 一种基于可重构部件的集成电路和设计方法
DeHon et al. Reconfigurable computing: what, why, and implications for design automation
Abnous et al. Ultra-low-power domain-specific multimedia processors
KR102539475B1 (ko) 인공 신경망에서의 분산 및 협력 계산을 위한 방법 및 장치
US9323716B2 (en) Hierarchical reconfigurable computer architecture
US6205537B1 (en) Mechanism for dynamically adapting the complexity of a microprocessor
CN101449334B (zh) 具有可变端口速度的多端口存储器件
CN1463490A (zh) 带有多种滤波模式的可重配置数字滤波器
CN102541809A (zh) 一种动态可重构处理器
Petrica et al. Memory-efficient dataflow inference for deep cnns on fpga
CN102306141A (zh) 一种描述动态可重构阵列配置信息的方法
Voros et al. Dynamic system reconfiguration in heterogeneous platforms: the MORPHEUS approach
CN109582434A (zh) 基于虚拟机运行时需求的动态平台特征调谐
Yüzügüler et al. Scale-out systolic arrays
CN102236632B (zh) 一种层次化描述动态可重构处理器配置信息的方法
CN103365821B (zh) 一种异构多核处理器的地址生成器
Shami et al. Control scheme for a cgra
CN102129495B (zh) 一种降低可重构算子阵列结构功耗的方法
CN101727434A (zh) 一种特定应用算法专用集成电路结构
CN102207850B (zh) 一种动态可重构处理器中层次化执行配置流的方法
ÖZBALTAN Energy Management of Reconfigurable Manufacturing Systems by using Symbolic Control
Leijten et al. AVISPA: A massively parallel reconfigurable accelerator
CN108594695A (zh) 一种分模块化管理的fpga低功耗架构
CN100440192C (zh) 粗粒度可重配置计算结构中算术单元结构
Atienza et al. Compiler-driven leakage energy reduction in banked register files

Legal Events

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

Granted publication date: 20120613

Termination date: 20180108

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