首页> 中国专利> 一种基于可重构部件的集成电路和设计方法

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

摘要

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

著录项

  • 公开/公告号CN101739382A

    专利类型发明专利

  • 公开/公告日2010-06-16

    原文格式PDF

  • 申请/专利权人 北京大学深圳研究生院;

    申请/专利号CN200910001681.2

  • 发明设计人 王新安;戴鹏;胡子一;焦玉中;

    申请日2009-01-08

  • 分类号G06F15/78;G06F17/50;

  • 代理机构深圳鼎合诚知识产权代理有限公司;

  • 代理人崔智

  • 地址 518055 广东省深圳市南山区西丽深圳大学城北大校区

  • 入库时间 2023-12-18 00:27:04

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-12-25

    未缴年费专利权终止 IPC(主分类):G06F15/78 授权公告日:20120613 终止日期:20180108 申请日:20090108

    专利权的终止

  • 2012-06-13

    授权

    授权

  • 2010-09-01

    实质审查的生效 IPC(主分类):G06F15/78 申请日:20090108

    实质审查的生效

  • 2010-06-16

    公开

    公开

说明书

技术领域

本发明涉及集成电路设计领域,具体涉及一种基于可重构部件的集成电路和设计方法。

背景技术

随着集成电路制造工艺进入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、验证并优化:根据逻辑指令代码程序验证算法功能包括性能和时间约束,并可以进一步优化设计。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号