本发明专利技术公开了一种可重构算子的阵列结构,包括用于实现逻辑功能的逻辑单元、用于实现连接功能的连接单元和用于实现与外部通信的输入输出单元,所述逻辑单元包括多个可重构算子;所述连接单元包括互连资源和具有开关特性的配置节点,所述可重构算子之间通过互连资源实现连接,且每个可重构算子与互连资源之间的连接路径上设置所述的配置节点。通过对所述阵列结构编程的方式固定每个可重构算子的功能和所有可重构算子之间的连接关系,使所述阵列结构实现特定的功能,具有良好的编程性和扩展性。
【技术实现步骤摘要】
本专利技术涉及集成电路,尤其是一种可重构算子的阵列结构。
技术介绍
在集成电路设计中,有全定制的ASIC(Application Specific Integrated Circuit,专用集成电路)和FPGA(Field programmable gate array,现场可编程门阵列) 等多种设计方法。合理采用不同的设计方法可以在实现通信、计算机、消费电子领域的各种应用的同时,使承载各种应用的硬件满足不同的应用在性能、功耗、成本、时间、灵活性和扩展性等方面的要求。全定制的ASIC是一种为实现某种特定功能而专门定制的集成电路。实际中,通常是用户将需要实现的特定功能以技术文档的形式提交给设计公司,设计人员根据自身对该种特定功能的理解,人为地用VHDL或者Verilog等硬件描述语言将其表述为RTL(寄存器传输)级描述。然后由EDA工具将RTL级描述经过一系列的综合、优化、仿真、布局布线等操作后提交给芯片制造工厂,芯片制造工厂流片制造实现特定功能的ASIC供用户进行系统的开发和利用。此种设计方法生成的ASIC可以力求做到芯片面积小、功耗低、速度快(延迟小)、保密性好等优点。但是,对于成品的ASIC来说,其具有固定的功能,不能通过反复编程的方式使其用于实现不同的应用。相较于全定制的ASIC 来说,FPGA (Field programmable gate array,现场可编程门阵列)具有良好的可编程性。设计人员只需要将RTL级描述的硬件语言经过EDA工具生成一个可编程的配置文件,将该配置文件加载到FPGA上,即可控制FPGA实现不同应用。 FPGA使设计人员坐在实验室或者家中的计算机前就可以完成集成电路的设计,十分地方便。并且,设计人员可以反复地修改自己的设计,而不需要改变FPGA的结构。然而,目前 FPGA的主要供货商均全部来自美国大公司,主要的有xilinx,altera,actel,atmel等。因此,本领域的技术人员一直期望开发一款能够代替FPGA的产品,从而为用户提供更多的选择机会。
技术实现思路
本专利技术要解决的主要技术问题是,提供一种能够通过反复编程实现不同应用的可重构算子的阵列结构。为解决上述技术问题,本专利技术提供一种可重构算子的阵列结构,包括用于实现逻辑功能的逻辑单元、用于实现连接功能的连接单元和用于实现与外部通信的输入输出单元,所述逻辑单元包括多个可重构算子;所述连接单元包括互连资源和具有开关特性的配置节点,所述可重构算子之间通过互连资源实现连接,且每个可重构算子与互连资源之间的连接路径上设置所述的配置节点;采用对所述阵列结构编程的方式固定每个可重构算子的功能和所有可重构算子之间的连接关系,使所述阵列结构实现特定的功能。每个可重构算子属于以下类型中的一种或几种算术类可重构算子、DSP类可重构算子、路径类可重构算子、调度类可重构算子和存储类可重构算子。按照数据的传递路径可重构算子之间的连接包括静态连接和动态连接,所述静态连接是指可重构算子之间的数据传递从一个数据源到一个目的地,所述静态连接中数据的传递路径由互连资源实现;所述动态连接是指可重构算子之间的数据传递从一个数据源到多个目的地,或者多个数据源到一个目的地,或者多个数据源到多个目的地,所述动态连接中数据的传递路径由互连资源和路径类可重构算子配合实现。所述阵列结构包含多个单位格点,每个可重构算子占据阵列结构中的一个或者多个单位格点,同一类型的可重构算子占据的单位格点的个数相同。每个单位格点之间设置沿水平方向的横向互连通道和沿竖直方向的纵向互连通道,所述互连资源设置在所述互连通道内。所有可重构算子按照类型以列为单位,分布式交叉排列。所有可重构算子之间的数据传递遵守握手协议,所述握手协议是指在一个时钟周期内,如果可重构算子当前的输入数据有效并且其上次生产的数据已经被消费掉,则所述可重构算子的输出改变,否则,所述可重构算子的输出保持不变。所述算术类可重构算子用于实现加法、减法、移位和逻辑运算;所述DSP类可重构算子用于实现有符号数乘法和无符号数乘法运算;所述调度类可重构算子用于实现函数控制和存储同步。所述路径类可重构算子用于实现数据流的多路选择、多路分发、暂存和清空。所述存储类可重构算子用于实现单端口存储和影子存储。所述存储类可重构算用于实现影子存储时,由两个单端口存储单元配合模式控制多选器和调度类可重构算子控制多选器实现。本专利技术的有益效果是每个可重构算子可以实现一类特定的功能,且所有的可重构算子通过具有开关特性的配置节点与互连资源相连接,从而形成描述了一个硬件系统以及这个硬件系统如何工作的阵列结构。当阵列结构中每个可重构算子的功能以及各个可重构算子之间的连接关系固定时,阵列结构将固定实现某种特定的功能;当阵列结构中每个可重构算子的功能以及各个可重构算子之间的连接关系发生变化时,阵列结构实现的功能也相应地发生变化。而每个可重构算子的功能和各个可重构算子之间的连接关系的设置可以借助于编程器实现,通常实现的方式是这样的设计人员直接采用C语言或者JAVA等高级语言描述某一功能,借由综合工具将其转化为阵列结构能够识别的配置信息,将该配置信息加载到阵列结构中,对每个可重构算子的功能以及连接关系进行配置,从而使阵列结构成为实现上述功能的硬件电路。该种方法还将该阵形结构的输入描述层次提高到高级语言的级别,加快了设计速度。附图说明图1为本专利技术一种实施方式中的基于可重构算子的阵列结构;图2为本专利技术一种实施方式的算术类、DSP类、路径类和调度类可重构算子的功能图;图3为本专利技术一种实施方式的存储类可重构算子的结构;图4为本专利技术一种实施方式的可重构算子之间数据动态流动说明;图5为本专利技术一种实施方式的可重构算子的互连结构;图6为本专利技术一种实施方式的可重构算子之间的数据传输协议说明。具体实施例方式下面通过具体实施方式结合附图对本专利技术作进一步详细说明。本专利技术所涉及的阵列结构,包括实现逻辑功能的逻辑单元、实现连接关系的连接单元和实现与外部信号通信的输入输出单元。通过输入输出单元将配置信息加载到阵列结构的内部,对逻辑单元的逻辑功能和连接单元的连接关系进行配置,从而使阵列结构具有可编程性。下面结合附图1至6对本专利技术的具体实现过程进行详细地说明请参考图1,一种可重构算子的阵列结构100,包括逻辑单元、连接单元和输入输出单元。输入输出单元分布在逻辑单元的周围,包括多个输入输出接口 106,是阵列结构 100与外部设备之间的通信接口。其中,逻辑单元包括多个可重构算子,可重构算子是一种组成集成电路的单元,包括控制部件和与其连接的一个或者多个可重构处理部件,控制部件通过向可重构处理部件发送配置信息控制可重构处理部件实现特定的功能。每个可重构算子属于以下类型中的一种或者几种算术类可重构算子101、路径类可重构算子102、调度类可重构算子103、DSP 类可重构算子104和存储类可重构算子105中。上述对可重构算子的类型的划分是依据可重构算子实现的功能进行的划分。下面结合图2和图3对每种类型的可重构算子具体实现的功能进行说明算术类可重构算子101用于实现加法、减法、移位和逻辑运算,加法运算包括无符号数加、有符号数加、无符号数进位加和有符号数进位加;减法运算包括无符号数减、有符号数减本文档来自技高网...
【技术保护点】
1.一种可重构算子的阵列结构,包括用于实现逻辑功能的逻辑单元、用于实现连接功能的连接单元和用于实现与外部通信的输入输出单元,其特征在于,所述逻辑单元包括多个可重构算子;所述连接单元包括互连资源和具有开关特性的配置节点,所述可重构算子之间通过互连资源实现连接,且每个可重构算子与互连资源之间的连接路径上设置所述的配置节点;采用对所述阵列结构编程的方式固定每个可重构算子的功能和所有可重构算子之间的连接关系,使所述阵列结构实现特定的功能。
【技术特征摘要】
【专利技术属性】
技术研发人员:王新安,雍珊珊,蓝晶,吴承昊,龙晓波,
申请(专利权)人:北京大学深圳研究生院,
类型:发明
国别省市:94