CN102163247A - 一种可重构算子的阵列结构 - Google Patents

一种可重构算子的阵列结构 Download PDF

Info

Publication number
CN102163247A
CN102163247A CN 201110083948 CN201110083948A CN102163247A CN 102163247 A CN102163247 A CN 102163247A CN 201110083948 CN201110083948 CN 201110083948 CN 201110083948 A CN201110083948 A CN 201110083948A CN 102163247 A CN102163247 A CN 102163247A
Authority
CN
China
Prior art keywords
restructural
operator
restructural operator
data
class
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
Application number
CN 201110083948
Other languages
English (en)
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 CN 201110083948 priority Critical patent/CN102163247A/zh
Publication of CN102163247A publication Critical patent/CN102163247A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Logic Circuits (AREA)

Abstract

本发明公开了一种可重构算子的阵列结构,包括用于实现逻辑功能的逻辑单元、用于实现连接功能的连接单元和用于实现与外部通信的输入输出单元,所述逻辑单元包括多个可重构算子;所述连接单元包括互连资源和具有开关特性的配置节点,所述可重构算子之间通过互连资源实现连接,且每个可重构算子与互连资源之间的连接路径上设置所述的配置节点。通过对所述阵列结构编程的方式固定每个可重构算子的功能和所有可重构算子之间的连接关系,使所述阵列结构实现特定的功能,具有良好的编程性和扩展性。

Description

一种可重构算子的阵列结构
技术领域
本发明涉及集成电路,尤其是一种可重构算子的阵列结构。
背景技术
在集成电路设计中,有全定制的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用于实现加法、减法、移位和逻辑运算,加法运算包括无符号数加、有符号数加、无符号数进位加和有符号数进位加;减法运算包括无符号数减、有符号数减、无符号数进位减和有符号数进位减;逻辑运算包括与、或、非、异或和相等比较;移位运算包括逻辑左移、逻辑右移和算术右移。
路径类可重构算子102用于实现数据流的多路选择、多路分发、暂存和清空。多路选择包括多选一、基于优先级的多选一和顺序多选一,多选一是指从多个有效数据中选择一个,丢弃其它数据;基于优先级的多选一是指当优先级的那个数据有效时始终选择该路数据,丢弃其它数据;顺序多选一是指从多个有效数据中选择一个,但不丢弃其它数据,而是在下次选择中选择剩余数据中的某个。多路分发包括一到一和一到多,一到一是指将数据送到多个目的路径中的一个;一到多又称广播(BRD)是指将一个数据同时送到多个目的路径中。数据暂存包括堵塞和保持,堵塞是指将数据流暂时堵住,当条件满足时才继续向后续的算子传送有效数据;保持是指在条件满足时算子会不断向后续算子传送相同的数据,只有当条件不满足时才更新数据。清空是指将算子的输出数据的有效位清空,不再向后续算子提供有效数据,从而切断数据源。
调度类可重构算子103用于实现函数控制和存储同步。函数控制主要用于函数复用时,多路源和目的数据的切换控制,当函数体部分运算完成,其某路输入数据已经到来,此时调度类可得构算子便会打开该路输入数据对应的路径类可重构算子,使得数据可以流入函数体中被处理,然后输送到对应的目的路径去。存储同步主要用于存储器之间,同步数据的生产和消费,当生产者完成数据的生产,并且消费者消费完上次生产的数据时,这两个存储便可以切换,消费者开始消费数据,生产者产生新的数据;否则已完成的部分需等待未完成的部分,防止数据传输发生错误。
DSP类可重构算子104主要用于实现乘法运算,包括有符号数乘和无符号数乘。
存储类可重构算子105用于实现单端口存储和影子存储。在应用设计中,均是将外部数据送到硬件中,进行特定功能的处理然后输出送至存储或者显示 器等。外部数据提供者相对硬件而言就是一个数据生产者,而硬件为数据消费者;类似地,硬件与接受输出数据的关系也是数据生产者和消费者的关系。在硬件内部由于数据量的大小关系,对数据的暂存有两种形式,一种是当数据量小时,通过连线或者寄存器寄存的方式实现数据生产者和消费者之间的通信;一种是对大量数据的暂存即通过存储的方式实现。当数据只有产生没有消费时,数据便会一直被暂存,当对大量数据进行无消费的暂存或者无生产者的数据暂存时采用单端口存储模式,该存储在同一时间只能处于被读或者被写的状态。当数据有生产者和消费者,并且是大量数据的生产和消费,生产者在生产数据的时候,消费者在消费生产者上次生产的数据,就是说生产者和消费者在同一时间是写和读不同的存储器或者不同的存储空间,要实现这样的数据读写,必须要有能支持同时读写的双端口存储器。为了在硬件系统中实现存储的最大化利用,本发明采用两个单端口的存储单元配合外围逻辑形成影子电路而模拟双端口存储器的功能。所谓影子存储是指生产者和消费者在同一时间对两个单端口的存储单元进行访问,当完成生产和消费时,在互换访问的存储单元,开始下一次生产和消费。
请参考图3,存储类可重构算子105实现单端口存储和影子存储时的一种结构图。存储类可重构算子105包括外围逻辑和两个单端口的存储单元311、312。外围逻辑用于控制存储单元311和322实现单端口存储和影子存储。其包括模式控制多选器321和322,以及调度类可重构算子控制多选器331,332,333和334,通过模式控制多选器和调度类可重构算子控制多选器对两个单端口的存储单元311和312的地址输入、数据输入和数据输出进行控制,实现单端口存储和影子存储。
模式控制多选器和调度类可重构算子控制多选器可以由数据路径切换单元实现,数据切换单元的切换逻辑为:当控制信号为1时,打开第一路路径,当控制信号为2时,打开第二路路径。图示中,两个模式多选器的第一路路径与地址1相连,第二路径与地址2相连。
模式控制多选器的控制信号在系统加载配置信息时便确定了,即对于一个存储类可重构算子来说,其处于什么存储模式(单端口存储或影子存储)是预先已经确定的。调度类可重构算子控制多选器331和333的控制信号在单端口存储时为某个默认值,在影子存储时其控制信号与调度类可重构算子相连,由调度类可重构算子确定。
通过模式控制多选器、调度类可重构算子控制多选器和存储单元301的配合实现单端口存储或影子存储。其一种实现过程是:
当存储类可重构算子用于实现单端口存储时,地址1和数据1需送到存储单元311中,对应的输出数据为输出数据1;地址2和数据2送到312中,对应的数据输出为输出数据2。实现过程是:模式控制多选器321和322在加载配置信息时其控制信号分别为1和2,即位于上方的302将路径1加开,位于下方的302将路径2打开。则调度类可重构算子控制多选器331的两个输入均为地址1,调度类可重构算子控制多选器333的两个输入均为地址2,因此不论331和333的控制信号的值为多少,其输出分别为地址1和地址2。同时,数据1直接送到存储单元311,数据2通过调度类可重构算子控制多选器332送到存储单元312,可以通过将位332的控制信号固定为某值,且该值使332将数据2与存储单元3312的路径打开。如果单纯只实现影子存储,则可以332不是必须的,直接将数据2连入存储单元312的输入,或者根本不用设置模式多选器和调度类可重构算子控制多选器,直接将地址1和数据1、地址2和数据2成对地分别直接送到相应地存储单元即可。
当存储类可重构算子用于实现影子存储时,两个存储单元311和312进行读和写的切换从而模拟出双端口存储器的功能。实现影子存储的可重构存储算子在加载配置信息时,模式控制多选器321的控制信号为2,输出为地址2;模式控制多选器322的控制信号为1,输出为地址1。那么,调度类可重构算子控制多选器331和333的输入均有地址1和地址2,这两个调度类可重构算子控制多选器331和333的输出究竟为地址1还是地址2由与其控制信号相连接的调度类可重构算子决定,调度类可重构算子使331和333的的输出不同,即331输出为地址1时,333的输出必为地址2。
实现影子存储的过程是这样的,将地址1和数据1设置为写操作对应的地址和数据,地址2设置为读读操作对应的地址。当存储单元311为存储生产者产生的数据时,其为写模式,存储单元312为消费者传送数据时,其为读模式,读出的数据始终从输出数据3输出,而输出数据3由调度类可重构算子控制多选器334决定,调度类可重构算子控制多选器的输入与两个存储单元311和312的输出相连,其输出为输出数据3,其控制信号与调度类可重构算子相连。配置时,调度类可重构算子控制多选器331将地址1送到存储单元311,存储单元311的输入则为写地址1和写数据1,实现写数据。调度类可重构算子控制多选器333将读地址2送入存储单元312,实现读数据,且读出的数据通过输出数据3输出。当生产者生产完成时,并且存储单元312中的数据也被消费完,那么将地址1和数据1送到存储单元312中,将地址2送到存储单元311中,实现存储单元311读和312读写的切换。
上述各种类型的可重构实现的功能侧重点不同,比如,算术类可重构算子侧重实现运算、存储类可重可重构算子侧重于对数据的存储。并且,同一类型的可重构算子实现的功能也不单一,具有多种,尤其是算术类可重构算子。对于某个可重构算子具体在实际应用中实现怎样的功能,可以通过对可重构算子的配置信息进行设置的方式使其固定。将所有的可重构算子通过连接单元组合起来,形成一个可以对大量数据进行串行和/或并行的运算和传输的阵列结构。当将可重构算子的功能和可重构算子之间的连接关系固定时,该阵列结构就能实现某种特定的功能,即该阵列结构成为了实现某种特定功能的硬件电路。这种基于可重构算子的功能和连接关系的实现可编程逻辑的方式与FPGA基于选择查找表(LUT)和多选器(MUX)的方式有显著的不同。
可重构算子之间的连接是通过连接单元实现的,下面结合附图对连接单元进行说明。
参考图4,连接单元包括互连资源405和具有开关特性的配置节点406。互连资源405是包含很多长短不一的连线,连线通过配置节点与可重构算子,以及其它连线相连,实现不同传输距离的数据通信。配置节点相当于一个开关,它的控制信息存储在一个基于RAM(动态随机存储单元)的存储单元中,该单元的值控制着配置节点的通与断。所述存储单元的值在加载配置信息就确定的。在本发明的阵列结构中,具有开关特性的配置节点的方式包括以下几种:一个nmos或pmos的传输管,传输门、三态缓冲器。
图示中,每个可重构算子均通过具有开关特性的配置节点406与互连资源405相连接,从而实现可重构算子之间的连接。比如,图示中三个配置为加法功能(ADD)的算术类可重构算子401与一个配置为广播(BRD)功能的路径类可重构算子402均通过配置节点406与互连资源405相连接。由于配置节点406的开关特性,使得整个可重构算子之间的连接关系变得十分地丰富,为阵列结构实现支持多种应用提供了支撑。
数据在可重构算子之间的传递借助于互连资源实现,根据数据的传递形式不同,可重构算子之间借助于互连资源的连接方式也不同。比如,在一种实施方式中,可重构算子之间连接包括静态连接和动态连接,静态连接是指数据只从一个数据源到另一个目的地的,静态连接中数据的传递路径由互连资源实现。比如图示中三个配置为加法功能的算术类可重构算子401与配置为广播功能的路径类可重构算子402之间的连接即为静态连接。动态连接是指可重构算子之间的数据传递从一个数据源到多个目的地,或者多个数据源到一个目的地,或者多个数据源到多个目的地,动态连接中数据的传递路径由互连资源和路径类 可重构算子配合实现。比如,当数据需要从位于图示中上方的配置为加法功能的算术类可重构算子401传递给位于下方和左侧的同样为配置为加法功能的算术类可得构算子401。那么,它不会直接通过互连资源405实现,而需要先将数据通过互连资源405传递给配置为广播功能的路径类可重构算子402,然后由配置为广播功能的路径类可重构算子402通过多路分发的功能将其分别通过互连资源405传递给位于下方和左侧的配置为加法功能的算术类可重构算子401,完成从一个源到两个目的地的数据传递。
图示中还表明互连资源405是可以设置在互连通道内的。参考图1和图5,定义单位格点的概念,阵列结构100包含多个单位格点,每个单位格点的四周分布着沿水平方向的横向互连通道503和沿竖直方向的纵向互连通道502,互连资源设置在横向互连通道503和纵向互连通道502中。在实现方式中中,每个可重构算子占据一个或者多个单位格点的位置,并且同一种类型的可重构算子占据的单位格点数目相同。单位格点对应于一个单位长度的正方形的大小或者以算术类、路径类、DSP类、存储类和调度类可重构算子中面积最小的一类可重构算子的大小作为单位格点的大小,其它类的可重构算子占据的面积是它的一整数倍。
通过定义单位格点的方式使阵列结构具有良好的规整性。进一步地,在上述结构的基础上将所有可重构算子按照类型以列为单位,分布式交叉排列,可以保证阵列结构内任意一个算子与其它任意一种算子的部分最短距离连接,减少成品阵列结构内部各可重构算子之间的长线互联。如图1所示,按照类型以列为单位,分布式交叉排列是指:图示中可重构算子模块内从左到右依次排列了4列算术类可重构算子101,一列路径类可重构算子102,一列存储类可重构算子105、2列DSP类可重构算子、一列路径类可重构算子102、一列调度类可重构算子103、一列存储类可重构算子105、四列算术类可重构算子101、一列路径类可重构算子102和一列存储类可重构算子105,后面的重复上述排列方式。可以理解的是,上述排列方式只是本发明一种实施方式的排列方式,并不唯一。随着阵列结构支持实现的应用的增多,可重构算子的排列方式以及每一列中可重构算子的个数均会会变多变复杂。
在上述基础上,可重构算子之间的数据传输还遵守握手协议。参考图5,握手协议是指,每个可重构算子在当前时钟周期内是否输出结果是由当前的输入数据是否有效,且上次生产的数据是不被消费决定的。具体地:
可重构算子包括两种状态,分别是状态601,不输出运算结果601和状态603,输出运算结果603。并且处于状态603的可重构算子在输出运算结果后无 条件进入状态601。可重构算子在两种状态之间转变的依据为图示中602所示的条件,即在当前时钟周期内可重构算子的输入数据有效且输出数据被消费时,可重构算子进入状态603,输出运算结果;如果当前时钟周期内可重构算子的输入数据无效和/或输出数据没有被消费时,则不输出运算结果,继续保持601的状态。
在实现时,可以在每路数据流中增加valid和ack信号作为输入数据是否有效和上次生产的输出数据是否被消费当输入数据有效判断的标志。当valid信号为高时,表示输入数据有效,当ack信号为高时,表示可以输出运算结果。否则,保护输出结果不改变。
通过使可重构算子之间的数据传输遵循握手协议保证了数据通信的正确性。此种方式,不需要设计专门的控制单元对数据流进行控制和同步,从而简化了设计。并且,由于可重构算子之间的数据传输遵守握手协议,则数据流不连续时,可重构算子的运算结果保持不变,降低了时钟频率的跳变率,节约了功耗。
本发明中的阵列结构,包括多个可重构算子、互连资源和输入输出接口。可重构算子按照类型分布式交叉排列,占据一个或者多个单位格点位置,类型相同的可重构算子占据的格点数相同。单位格点之间分布着横向和纵向的互连通道,互连资源设置在互连通道内。并且,每个可重构算子与互连资源之间的连接是通过可配置节点实现。上述这些信息使阵列结构描述了一个硬件系统以及这个硬件系统如何工作。将用户对某种功能采用的C语言等高层次描述通过一系列的逻辑综合等转变为可加载到阵列结构中的配置信息,对每个可重构算子的功能和可重构算子之间的连接关系进行设置,从而实现具体的功能实现。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (10)

1.一种可重构算子的阵列结构,包括用于实现逻辑功能的逻辑单元、用于实现连接功能的连接单元和用于实现与外部通信的输入输出单元,其特征在于,所述逻辑单元包括多个可重构算子;所述连接单元包括互连资源和具有开关特性的配置节点,所述可重构算子之间通过互连资源实现连接,且每个可重构算子与互连资源之间的连接路径上设置所述的配置节点;采用对所述阵列结构编程的方式固定每个可重构算子的功能和所有可重构算子之间的连接关系,使所述阵列结构实现特定的功能。
2.如权利要求1所述的阵列结构,其特征在于,每个可重构算子属于以下类型中的一种或几种:算术类可重构算子、DSP类可重构算子、路径类可重构算子、调度类可重构算子和存储类可重构算子。
3.如权利要求2所述的阵列结构,其特征在于,按照数据的传递路径可重构算子之间的连接包括静态连接和动态连接,所述静态连接是指可重构算子之间的数据传递从一个数据源到一个目的地,所述静态连接中数据的传递路径由互连资源实现;所述动态连接是指可重构算子之间的数据传递从一个数据源到多个目的地,或者多个数据源到一个目的地,或者多个数据源到多个目的地,所述动态连接中数据的传递路径由互连资源和路径类可重构算子配合实现。
4.如权利要求2所述的阵列结构,其特征在于,所述阵列结构包含多个单位格点,每个可重构算子占据阵列结构中的一个或者多个单位格点,同一类型的可重构算子占据的单位格点的个数相同。
5.如权利要求3所述的阵列结构,其特征在于,每个单位格点之间设置沿水平方向的横向互连通道和沿竖直方向的纵向互连通道,所述互连资源设置在所述互连通道内。
6.如权利要求2至5中任一项所述的阵列结构,其特征在于,所有可重构算子按照类型以列为单位,分布式交叉排列。
7.如权利要求1至5中任一项所述的阵列结构,其特征在于,所有可重构算子之间的数据传递遵守握手协议,所述握手协议是指在一个时钟周期内,如果可重构算子当前的输入数据有效并且其上次生产的数据已经被消费掉,则所述可重构算子的输出改变,否则,所述可重构算子的输出保持不变。
8.如权利要求2至5中任一项所述的阵列结构,其特征在于,所述算术类可重构算子用于实现加法、减法、移位和逻辑运算;所述DSP类可重构算子用于实现有符号数乘法和无符号数乘法运算;所述调度类可重构算子用于实现函数控制和存储同步。所述路径类可重构算子用于实现数据流的多路选择、多路分发、暂存和清空。
9.如权利要求2至5中任一项所述的阵列结构,其特征在于,所述存储类可重构算子用于实现单端口存储和影子存储。
10.如权利要求9所述的阵列结构,其特征在于,所述存储类可重构算用于实现影子存储时,由两个单端口存储单元配合模式控制多选器和调度类可重构算子控制多选器实现。
CN 201110083948 2011-04-02 2011-04-02 一种可重构算子的阵列结构 Pending CN102163247A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110083948 CN102163247A (zh) 2011-04-02 2011-04-02 一种可重构算子的阵列结构

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110083948 CN102163247A (zh) 2011-04-02 2011-04-02 一种可重构算子的阵列结构

Publications (1)

Publication Number Publication Date
CN102163247A true CN102163247A (zh) 2011-08-24

Family

ID=44464472

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110083948 Pending CN102163247A (zh) 2011-04-02 2011-04-02 一种可重构算子的阵列结构

Country Status (1)

Country Link
CN (1) CN102163247A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567281A (zh) * 2011-12-16 2012-07-11 北京大学深圳研究生院 可重构调度算子阵列结构、集成电路阵列结构及控制模块
CN103390071A (zh) * 2012-05-07 2013-11-13 北京大学深圳研究生院 一种可重构算子阵列的层次化互连结构
CN103390072A (zh) * 2012-05-07 2013-11-13 北京大学深圳研究生院 一种具有布线能力的可重构算子
CN103389903A (zh) * 2012-05-07 2013-11-13 北京大学深圳研究生院 一种功能可配置的数字信号处理单元
CN103390070A (zh) * 2012-05-07 2013-11-13 北京大学深圳研究生院 一种可重构算子阵列结构
CN103646005A (zh) * 2012-03-16 2014-03-19 三星电子株式会社 基于微核的可重构处理器、调度设备及其方法
CN104933008A (zh) * 2015-06-24 2015-09-23 东南大学 可重构系统和可重构阵列结构及其应用
CN109361710A (zh) * 2018-12-14 2019-02-19 中国人民解放军战略支援部队信息工程大学 一种安全协议重构方法及装置
CN109711539A (zh) * 2018-12-17 2019-05-03 北京中科寒武纪科技有限公司 运算方法、装置及相关产品

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1564125A (zh) * 2004-04-09 2005-01-12 哈尔滨工业大学 一种基于cordic单元的阵列式可重构dsp引擎芯片结构
CN2854697Y (zh) * 2005-12-02 2007-01-03 浙江大学 面向计算的通用型可重构计算阵列

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1564125A (zh) * 2004-04-09 2005-01-12 哈尔滨工业大学 一种基于cordic单元的阵列式可重构dsp引擎芯片结构
CN2854697Y (zh) * 2005-12-02 2007-01-03 浙江大学 面向计算的通用型可重构计算阵列

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
《IEEE Asian Solid-State Circuits Conference》 20071114 Hideharu Amano,et al. MuCCRA chips: Configurable Dynamically-Reconfigurable Processors 第385页, 第387页、图2, 5 4-10 , *
《IEEE》 20091231 Yanliang Liu,et al. Dynamic Context Management for Coarse-grained Reconfigurable Array DSP Architecture 79-82 1-10 , *
《深圳大学学报理工版》 20100131 王新安,等。 可重构阵列 DSP结构 ReMAP 16-20 1-10 第27卷, 第1期 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567281B (zh) * 2011-12-16 2014-10-15 北京大学深圳研究生院 可重构调度算子阵列结构、集成电路阵列结构及控制模块
CN102567281A (zh) * 2011-12-16 2012-07-11 北京大学深圳研究生院 可重构调度算子阵列结构、集成电路阵列结构及控制模块
CN103646005A (zh) * 2012-03-16 2014-03-19 三星电子株式会社 基于微核的可重构处理器、调度设备及其方法
US9632978B2 (en) 2012-03-16 2017-04-25 Samsung Electronics Co., Ltd. Reconfigurable processor based on mini-cores, schedule apparatus, and method thereof
CN103389903A (zh) * 2012-05-07 2013-11-13 北京大学深圳研究生院 一种功能可配置的数字信号处理单元
CN103390070A (zh) * 2012-05-07 2013-11-13 北京大学深圳研究生院 一种可重构算子阵列结构
CN103390072A (zh) * 2012-05-07 2013-11-13 北京大学深圳研究生院 一种具有布线能力的可重构算子
CN103390071A (zh) * 2012-05-07 2013-11-13 北京大学深圳研究生院 一种可重构算子阵列的层次化互连结构
CN104933008A (zh) * 2015-06-24 2015-09-23 东南大学 可重构系统和可重构阵列结构及其应用
CN104933008B (zh) * 2015-06-24 2018-12-14 东南大学 可重构系统和可重构阵列结构及其应用
CN109361710A (zh) * 2018-12-14 2019-02-19 中国人民解放军战略支援部队信息工程大学 一种安全协议重构方法及装置
CN109711539A (zh) * 2018-12-17 2019-05-03 北京中科寒武纪科技有限公司 运算方法、装置及相关产品
CN109711539B (zh) * 2018-12-17 2020-05-29 中科寒武纪科技股份有限公司 运算方法、装置及相关产品

Similar Documents

Publication Publication Date Title
CN102163247A (zh) 一种可重构算子的阵列结构
CN101808032B (zh) 面向静态XY路由算法的二维网格NoC路由器优化设计方法
Zeferino et al. SoCIN: a parametric and scalable network-on-chip
US8138788B2 (en) Reconfigurable device
US8058899B2 (en) Logic cell array and bus system
US20050077918A1 (en) Programmable asynchronous pipeline arrays
US20190266088A1 (en) Backbone network-on-chip (noc) for field-programmable gate array (fpga)
CN104933008B (zh) 可重构系统和可重构阵列结构及其应用
US11023377B2 (en) Application mapping on hardened network-on-chip (NoC) of field-programmable gate array (FPGA)
US20110260752A1 (en) General purpose input/output pin mapping
CN104737450B (zh) 可再构成的半导体装置
CN102176673A (zh) 4输入查找表、fpga逻辑单元和fpga逻辑块
Konishi et al. PCA-1: A fully asynchronous, self-reconfigurable LSI
CN101969306A (zh) Fpga可配置五输入查找表结构
Abbas et al. Latency insensitive design styles for FPGAs
KR20230002937A (ko) 컴퓨팅 데이터흐름 아키텍처
US20180212894A1 (en) Fork transfer of data between multiple agents within a reconfigurable fabric
CN103390071A (zh) 一种可重构算子阵列的层次化互连结构
CN102279899B (zh) 对精简标准单元库进行优化的方法
CN105610428B (zh) 一种基于与或非结构的可编程逻辑单元
CN109412962B (zh) 一种可重配置选路交叉网络及其实现方法
CN104750659A (zh) 一种基于自动布线互连网络的粗粒度可重构阵列电路
CN103914429A (zh) 用于粗粒度动态可重构阵列的多模式数据传输互连器
CN100553147C (zh) 基于部分局部互连结构的fpga逻辑块
CN103390070A (zh) 一种可重构算子阵列结构

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20110824