CN103390070A - 一种可重构算子阵列结构 - Google Patents
一种可重构算子阵列结构 Download PDFInfo
- Publication number
- CN103390070A CN103390070A CN2012101404037A CN201210140403A CN103390070A CN 103390070 A CN103390070 A CN 103390070A CN 2012101404037 A CN2012101404037 A CN 2012101404037A CN 201210140403 A CN201210140403 A CN 201210140403A CN 103390070 A CN103390070 A CN 103390070A
- Authority
- CN
- China
- Prior art keywords
- operator
- reconfigurable
- array structure
- class
- function
- 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.)
- Pending
Links
Images
Landscapes
- Logic Circuits (AREA)
Abstract
本发明公开了一种可重构算子阵列结构,该结构的逻辑资源由多种可重构算子组成。所述可重构算子的功能可配置,可分成功能算子和时序算子两种。所述功能算子包含运算类算子、多路选择器算子、控制器算子,功能算子实现组合逻辑;所述时序算子包含寄存器算子、存储器算子,可被时钟网络驱动。由上述各种可重构算子组成的阵列结构即为本发明提出的可重构算子阵列结构,所述可重构算子阵列结构具有可编程的特性,与FPGA一样可将任意的设计加载至可重构算子阵列结构中,同时大量运算、存储资源可满足数字信号处理等领域的需求。
Description
【技术领域】
本发明涉及集成电路设计领域,具体涉及一种可重构算子阵列结构。
【背景技术】
FPGA可编程实现不同功能,能够弥补CPU处理速度慢和ASIC灵活性差的不足,随着工艺的进步和结构的优化,目前FPGA已经成为与CPU、DSP、存储器同等重要的IC器件,在通信领域、消费电子领域、国防、航空航天等领域中被广泛应用。同时,在可预见的未来,FPGA的优势将继续保持,且被越来越多的领域所接受,具有很强的生命力。
当前FPGA的结构均基于SRAM编程方式,可编程逻辑单元采用LUT(Lookup Table,查找表)构建,基于布尔逻辑的映射方法。这种结构单元粒度小,对互连资源的需求大,当前FPGA中互连资源面积占芯片面积约70%左右,互连延迟在50%-60%,同时无法进行有效的功耗管理。然而,FPGA可编程的特性和较低的开发成本,使用户愿意牺牲面积和功耗而采用FPGA。FPGA的供应商只有少数几家公司,如Xilinx、Altera、Lattice、Actel、Atmel等,这些公司通过大量专利垄断了FPGA的研究和发展。
随着集成电路工艺进入45nm以后,新应用不断兴起,如云计算、3D图像处理、4G通信等,用户对设计效率、速度和功耗有了更高的需求,FPGA的研究也在不断探索新的结构和实现方式,以解决设计效率、速度、面积和功耗管理的不足。从FPGA厂商Xilinx和Altera公司的产品也可以得知,FPGA结构在向着多元化发展,其单元向更大粒度的结构演变。
在学术界,国内外对FPGA结构的研究不是很多,国外有Cornell大学、多伦多大学,东京大学,南卡罗来纳大学,Ryerson University,FederalInstitute of Technology,University of New South Wales等,国内有复旦大学、西安电子科技大学等。已公开的研究资料显示,针对FPGA结构的研究主要集中可编程逻辑单元和互连结构,通过提高局部连接速度、优化电路结构以及嵌入加速单元的方式提高性能,属于对现行FPGA结构的改进。针对新型FPGA结构的研究很少。
研究新型FPGA的阵列结构,适应工艺技术的进步、满足新应用的需求,具有重要的学术意义和应用价值。新型FPGA结构的研究与发展主要体现在如下两个方向:
1、新工艺、新器件的研究,如替代SRAM编程实现方式,采用3D集成器件,从而提升FPGA性能;
2、较大功能粒度的可编程逻辑单元及其阵列的研究,取代基于LUT的可编程逻辑单元阵列(当前的FPGA结构),从而提升性能和设计效率。
本专利为发明人在上述第二个研究方向上开展研究的基础上,提出的用一种粒度更大且功能可配置的单元“可重构算子”替代FPGA中LUT可编程逻辑单元,从而获得一种新型的FPGA结构,在设计效率和功耗管理上有所进步,满足信号处理、媒体处理、通信基带处理等数据流应用算法的需求。
【发明内容】
本发明的目的是提供一种能够通过反复编程实现不同应用的可重构算子阵列结构,在特定应用领域替代FPGA。
为实现上述目的,本发明提供一种可重构算子阵列结构,该结构的逻辑资源由多种可重构算子组成。所述可重构算子的功能可配置,可分成功能算子和时序算子两种。所述功能算子包含运算类算子、多路选择器算子、控制器算子,功能算子实现组合逻辑;所述时序算子包含寄存器算子、存储器算子,可被时钟网络驱动。
所述运算类算子按照运算类型分成四种,分别为算术类算子、移位类算子、逻辑类算子、dsp(digital signal processing)类算子。四类算子根据不同的配置信息可配置成不同的功能。
所述算术类算子的功能有加法、进位加法、减法、进位减法、有符号数大于比较、有符号数带进位的大于比较、无符号数大于比较、无符号数带进位的大于比较、有符号数小于比较、有符号数带进位的小于比较、无符号数小于比较、无符号数带进位的小于比较、相等比较共十三种。
所述逻辑类算子的功能有按位与、按位或、按位非、按位异或共四种。
所述移位类算子的功能有左移、带移位链输入左移、逻辑右移、带移位链输入逻辑右移、算术右移共五种。
所述dsp类算子的功能有无符号乘法、有符号乘法、多周期无符号乘法、多周期有符号乘法四种。
所述多路选择器算子的功能即根据控制信号进行数据选择,支持两路数据的选择。
所述控制器算子可存储有限状态机(FSM),通过输入寻址可实现不同的状态或控制输出,存储不同的FSM实现不同控制逻辑。
所述寄存器算子的功能有上升沿触发寄存器、上升沿触发异步复位寄存器、下降沿触发寄存器、下降沿触发异步复位寄存器、常量寄存器、高电平触发锁存器、低电平触发锁存器共七种。
所述存储器算子支持的存储模式有两种,分别为双端口存储器和FIFO。
所述可重构算子阵列结构由以上可重构算子组成,各类可重构算子按照类别以列为单元一组,横向放置不同类别的可重构算子列组,可实现不同规模的可重构算子阵列结构。
所述各类可重构算子的物理面积不同,在排列时纵向各类算子的单位长度为基本单位长度的整数倍(大于等于1),横向长度可各不相同。
所述可重构算子阵列中,除了由可重构算子组成的逻辑资源外,还有丰富的互连资源,横向纵向分布在可重构算子之间,通过配置可实现互连资源之间、互连资源与可重构算子之间的连接。
所述可重构算子阵列结构具有可编程的特性,与FPGA一样可将任意的设计加载至可重构算子阵列结构中,同时集成大量运算、存储资源可满足数字信号处理等领域的需求。
本发明的有益效果是:每个可重构算子可以实现一类特定的功能,且所有的可重构算子可通过具有可配置特性的互连资源相连接,从而在可重构算子阵列结构上实现了某一特定应用的硬件系统。当阵列结构中每个可重构算子的功能以及各个可重构算子之间的连接关系配置完成时,阵列结构将固定实现某种特定的功能;当阵列结构中每个可重构算子的功能以及各个可重构算子之间的连接关系发生变化重新配置后,阵列结构实现的功能也相应地发生变化。可重构算子阵列结构具有与FPGA类似的可编程特性,可支持任意设计的实现。而每个可重构算子的功能和各个可重构算子之间的连接关系的配置生成可以借助于综合器实现,通常实现的方式是这样的:设计人员采用RTL级的硬件描述语言进行设计描述,综合器将这种描述经过编译、转换等一系列操作转化为可加载到阵列结构中的配置信息,将该配置信息加载至阵列结构中,对每个可重构算子的功能以及连接关系进行配置,从而使阵列结构成为实现上述描述功能的硬件电路。
【附图说明】
图1为一种可重构算子阵列结构的实施例;
图2为算术类算子的功能说明;
图3为逻辑类算子的功能说明;
图4为移位类算子的功能说明;
图5为dsp类算子的功能说明;
图6为寄存器算子的功能说明;
图7为存储器算子的功能说明。
【具体实施方式】
本申请的特征及优点将通过实施例,结合附图进行说明。
本发明提出一种可重构算子阵列结构,该结构的逻辑资源由多种可重构算子组成。所述可重构算子的功能可配置,可分成功能算子和时序算子两种。所述功能算子包含运算类算子、多路选择器算子、控制器算子,功能算子实现组合逻辑;所述时序算子包含寄存器算子、存储器算子,可被时钟网络驱动。由上述各种可重构算子组成的阵列结构即为本专利提出的可重构算子阵列结构,所述可重构算子阵列结构具有可编程的特性,与FPGA一样可将任意的设计加载至可重构算子阵列结构中,同时大量运算、存储资源可满足数字信号处理等领域的需求。
所述运算类算子按照运算类型分成四种,分别为算术类算子、移位类算子、逻辑类算子、dsp(digital signal processing)类算子。四类算子根据不同的配置信息可配置成不同的功能。
所述可重构算子阵列结构如图1所示,100为一个可重构算子阵列结构,内部由算术类算子101、逻辑类算子102、移位类算子103、dsp类算子104、多路选择器算子105、控制器算子106、寄存器算子107、存储器算子108组成,各类算子按照类型以列为一组,横向放置不同类别的可重构算子列组,可实现不同规模的可重构算子阵列结构。如图1中所示,第一列为算术类算子组,第二列为逻辑类算子组,第四列为移位类算子组,第五列为寄存器算子组,第七列为dsp类算子组,第九列为多路选择器算子组,第十列为控制器算子组,第十三列为存储器算子组。在100的最外围分布着IO单元109。
各类可重构算子的物理面积不同,在排列时纵向各类算子的单位长度为基本单位长度的整数倍,横向长度可各不相同。如图1给出的实例中,101、102、103、105、106、107纵向长度为基本单位长度的1倍,而104、108的纵向长度为基本单位长度的5倍。如此的排列使得可重构算子阵列结构规整,易扩展。
如图2所示,所述算术类算子的功能有加法、进位加法、减法、进位减法、有符号数大于比较、有符号数带进位的大于比较、无符号数大于比较、无符号数带进位的大于比较、有符号数小于比较、有符号数带进位的小于比较、无符号数小于比较、无符号数带进位的小于比较、相等比较共十三种。
如图3所示,所述逻辑类算子的功能有按位与、按位或、按位非、按位异或共四种。
如图4所示,所述移位类算子的功能有左移、带移位链输入左移、逻辑右移、带移位链输入逻辑右移、算术右移共五种。
如图5所示,所述dsp类算子的功能有无符号乘法、有符号乘法、多周期无符号乘法、多周期有符号乘法共四种。
所述多路选择器算子的功能即根据控制信号进行数据选择,支持两路数据的选择。
所述控制器算子可存储有限状态机(FSM),通过输入寻址可实现不同的状态或控制输出,存储不同的FSM实现不同控制逻辑。
如图6所示,所述寄存器算子的功能有上升沿触发寄存器、上升沿触发异步复位寄存器、下降沿触发寄存器、下降沿触发异步复位寄存器、常量寄存器、高电平触发锁存器、低电平触发锁存器共七种。
如图7所示,所述存储器算子支持的存储模式有两种,分别为双端口存储器和FIFO。
所述算术类算子101、逻辑类算子102、移位类算子103、dsp类算子104、多路选择器算子105、寄存器算子107、存储器算子108的物理接口中基本数据位宽根据特定应用领域不同而不同。如在视频编解码领域,大量数据处理的位宽为9bits,则算术类算子101、逻辑类算子102、移位类算子103、dsp类算子104、多路选择器算子105源操作数和目的操作数的数据位宽为9bits,存储器算子108的数据位宽为9bits。应用领域不同,对可重构算子阵列结构中的基本数据位宽的定义也不同。
在可重构算子之间除了用于运算和存储的数据之外,还有一些控制信号存在,如算术类算子101的比较功能输出的逻辑值,控制器算子106的控制输出。这些数据各自独立,位宽为1bit。
所述可重构算子的功能定义中兼顾了运算组合的实现,如在基本位宽为9bits的可重构算子阵列结构中,要实现大于9bits的数据处理和存储,可通过多个算子搭建实现。如18bits的加法处理,可用两个算术类算子实现,算术类算子的进位链设计可实现高低数据位的处理。移位类算子同算术类算子类似,有移位链的设计,即低位数据的移出数据送到负责高位数据移位处理的算子的移入数据端,从而实现大于基本数据位宽的移位处理。
所述存储器算子可通过数据位宽和地址位宽的扩展来实现不同的存储位宽和容量的需求。
所述可重构算子阵列中,除了由可重构算子组成的逻辑资源外,还有丰富的互连资源,横向纵向分布在可重构算子之间,通过配置可实现互连资源之间、互连资源与可重构算子之间的连接。
所述可重构算子阵列结构具有可编程的特性,与FPGA一样可将任意的设计加载至可重构算子阵列结构中,同时集成大量运算、存储资源可满足数字信号处理等领域的需求。
在可重构算子阵列结构中,每个可重构算子可以实现一类特定的功能,且所有的可重构算子可通过具有可配置特性的互连资源相连接,从而在可重构算子阵列结构上实现了某一特定应用的硬件系统。当阵列结构中每个可重构算子的功能以及各个可重构算子之间的连接关系配置完成时,阵列结构将固定实现某种特定的功能;当阵列结构中每个可重构算子的功能以及各个可重构算子之间的连接关系发生变化重新配置后,阵列结构实现的功能也相应地发生变化。
而每个可重构算子的功能和各个可重构算子之间的连接关系的配置生成可以借助于综合器实现,通常实现的方式是这样的:设计人员采用RTL级的硬件描述语言进行设计描述,综合器将这种描述经过编译、转换等一系列操作转化为可加载到阵列结构中的配置信息,将该配置信息加载至阵列结构中,对每个可重构算子的功能以及连接关系进行配置,从而使阵列结构成为实现上述描述功能的硬件电路。
可重构算子阵列结构具有与FPGA类似的可编程特性,可支持任意设计的实现,能够实现在特定应用领域替代FPGA的目的。
以上内容是结合实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (8)
1.一种可重构算子阵列结构,该结构由逻辑资源和互连资源组成,逻辑资源由多种功能可配置的可重构算子组成,每个可重构算子可以实现一类特定的功能,且所有的可重构算子可通过具有可配置特性的互连资源相连接,从而在可重构算子阵列结构上实现了某一特定应用的硬件系统。
其特征在于,所述结构中的可重构算子的功能可配置,可分成功能算子和时序算子两种。其中功能算子包含运算类算子、多路选择器算子、控制器算子,功能算子实现组合逻辑;时序算子包含寄存器算子、存储器算子,可被时钟网络驱动。
2.如权利要求1所述的一种可重构算子阵列结构,其特征在于:所述结构中的运算类算子按照运算类型分成四种,分别为算术类算子、移位类算子、逻辑类算子、dsp(digital signal processing)类算子,四类算子根据不同的配置信息可配置成不同的功能。
3.如权利要求1所述的一种可重构算子阵列结构,其特征在于:所述可重构算子阵列结构中各类可重构算子按照类别以列为单元一组,横向放置不同类别的可重构算子列组,可实现不同规模的可重构算子阵列结构。
4.如权利要求2所述的一种可重构算子阵列结构,其特征在于:所述算术类算子的功能有加法、进位加法、减法、进位减法、有符号数大于比较、有符号数带进位的大于比较、无符号数大于比较、无符号数带进位的大于比较、有符号数小于比较、有符号数带进位的小于比较、无符号数小于比较、无符号数带进位的小于比较、相等比较共十三种;
所述逻辑类算子的功能有按位与、按位或、按位非、按位异或共四种;
所述移位类算子的功能有左移、带移位链输入左移、逻辑右移、带移位链输入逻辑右移、算术右移共五种;
所述dsp类算子的功能有无符号乘法、有符号乘法两种。
5.如权利要求1所述的一种可重构算子阵列结构,其特征在于: 所述多路选择器算子的功能即根据控制信号进行数据选择,支持两路数据的选择。
6.如权利要求1所述的一种可重构算子阵列结构,其特征在于:所述控制器算子可存储有限状态机(FSM),通过输入寻址可实现不同的状态或控制输出,存储不同的FSM实现不同控制逻辑。
7.如权利要求1所述的一种可重构算子阵列结构,其特征在于:所述寄存器算子的功能有上升沿触发寄存器、上升沿触发异步复位寄存器、下降沿触发寄存器、下降沿触发异步复位寄存器、常量寄存器、高电平触发锁存器、低电平触发锁存器共七种。
8.如权利要求1所述的一种可重构算子阵列结构,其特征在于:所述存储器算子支持的存储模式有两种,分别为双端口存储器和FIFO。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012101404037A CN103390070A (zh) | 2012-05-07 | 2012-05-07 | 一种可重构算子阵列结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012101404037A CN103390070A (zh) | 2012-05-07 | 2012-05-07 | 一种可重构算子阵列结构 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103390070A true CN103390070A (zh) | 2013-11-13 |
Family
ID=49534341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012101404037A Pending CN103390070A (zh) | 2012-05-07 | 2012-05-07 | 一种可重构算子阵列结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103390070A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110020720A (zh) * | 2019-04-01 | 2019-07-16 | 北京中科寒武纪科技有限公司 | 算子拼接方法及装置 |
CN111611197A (zh) * | 2019-02-26 | 2020-09-01 | 北京知存科技有限公司 | 可软件定义的存算一体芯片的运算控制方法和装置 |
CN111694653A (zh) * | 2019-03-13 | 2020-09-22 | 阿里巴巴集团控股有限公司 | 计算系统中调整计算算子类型分布的方法、装置及系统 |
CN113625994A (zh) * | 2021-10-12 | 2021-11-09 | 华控清交信息科技(北京)有限公司 | 一种数据处理方法和处理核 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1469236A (zh) * | 2002-07-15 | 2004-01-21 | 北京南思达科技发展有限公司 | 一种可重构寄存器堆及其设计方法 |
US20050149799A1 (en) * | 2003-12-01 | 2005-07-07 | Nokia Corporation | Integrated circuit with leakage control and method for leakage control |
CN102163247A (zh) * | 2011-04-02 | 2011-08-24 | 北京大学深圳研究生院 | 一种可重构算子的阵列结构 |
CN102339268A (zh) * | 2011-04-19 | 2012-02-01 | 北京大学深圳研究生院 | 一种可重构路径算子 |
-
2012
- 2012-05-07 CN CN2012101404037A patent/CN103390070A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1469236A (zh) * | 2002-07-15 | 2004-01-21 | 北京南思达科技发展有限公司 | 一种可重构寄存器堆及其设计方法 |
US20050149799A1 (en) * | 2003-12-01 | 2005-07-07 | Nokia Corporation | Integrated circuit with leakage control and method for leakage control |
CN102163247A (zh) * | 2011-04-02 | 2011-08-24 | 北京大学深圳研究生院 | 一种可重构算子的阵列结构 |
CN102339268A (zh) * | 2011-04-19 | 2012-02-01 | 北京大学深圳研究生院 | 一种可重构路径算子 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611197A (zh) * | 2019-02-26 | 2020-09-01 | 北京知存科技有限公司 | 可软件定义的存算一体芯片的运算控制方法和装置 |
CN111611197B (zh) * | 2019-02-26 | 2021-10-08 | 北京知存科技有限公司 | 可软件定义的存算一体芯片的运算控制方法和装置 |
CN111694653A (zh) * | 2019-03-13 | 2020-09-22 | 阿里巴巴集团控股有限公司 | 计算系统中调整计算算子类型分布的方法、装置及系统 |
CN110020720A (zh) * | 2019-04-01 | 2019-07-16 | 北京中科寒武纪科技有限公司 | 算子拼接方法及装置 |
CN113625994A (zh) * | 2021-10-12 | 2021-11-09 | 华控清交信息科技(北京)有限公司 | 一种数据处理方法和处理核 |
CN113625994B (zh) * | 2021-10-12 | 2022-01-04 | 华控清交信息科技(北京)有限公司 | 一种数据处理方法和处理核 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2917844B1 (en) | Configurable embedded memory system | |
CN101969306B (zh) | Fpga可配置五输入查找表结构 | |
CN103390070A (zh) | 一种可重构算子阵列结构 | |
CN102681815A (zh) | 用加法器树状结构的有符号乘累加算法的方法 | |
CN102799563A (zh) | 一种可重构计算阵列及构建方法 | |
CN102541809A (zh) | 一种动态可重构处理器 | |
CN102214158B (zh) | 一种全互联路由结构动态可重构处理器 | |
CN203966104U (zh) | 可配置可扩展的流水线乘累加器 | |
CN105335331A (zh) | 一种基于大规模粗粒度可重构处理器的sha256实现方法及系统 | |
CN102163247A (zh) | 一种可重构算子的阵列结构 | |
CN111047034B (zh) | 一种基于乘加器单元的现场可编程神经网络阵列 | |
CN103390071A (zh) | 一种可重构算子阵列的层次化互连结构 | |
Senhadji-Navarro et al. | Performance evaluation of RAM-based implementation of finite state machines in FPGAs | |
CN104102470A (zh) | 可配置可扩展的流水线乘累加器 | |
CN103259529B (zh) | 一种采用跳跃进位链的集成电路 | |
CN104242914A (zh) | 基于多功能可扩展快速连接的可编程逻辑单元结构 | |
CN103632726A (zh) | 一种基于可编程基本逻辑单元的数据移位寄存电路 | |
CN204290937U (zh) | 基于多功能可扩展快速连接的可编程逻辑单元结构 | |
Ye et al. | Architecture of datapath-oriented coarse-grain logic and routing for FPGAs | |
CN102129495B (zh) | 一种降低可重构算子阵列结构功耗的方法 | |
CN105471422A (zh) | 集成辅助逻辑运算单元的可编程逻辑模块 | |
CN103390072A (zh) | 一种具有布线能力的可重构算子 | |
CN109766293A (zh) | 连接芯片上fpga和人工智能模块的电路和系统芯片 | |
CN111752528B (zh) | 一种支持高效乘法运算的基本逻辑单元 | |
Arjomand et al. | A generic FPGA prototype for on-chip systems with network-on-chip communication infrastructure |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20131113 |