一种可重构路径算子.pdf

上传人:1** 文档编号:974915 上传时间:2018-03-22 格式:PDF 页数:15 大小:469.26KB
返回 下载 相关 举报
摘要
申请专利号:

CN201110098163.4

申请日:

2011.04.19

公开号:

CN102339268A

公开日:

2012.02.01

当前法律状态:

撤回

有效性:

无权

法律详情:

发明专利申请公布后的视为撤回IPC(主分类):G06F 15/78申请公布日:20120201|||实质审查的生效IPC(主分类):G06F 15/78申请日:20110419|||公开

IPC分类号:

G06F15/78

主分类号:

G06F15/78

申请人:

北京大学深圳研究生院

发明人:

龙晓波; 王新安; 雍珊珊; 蓝晶; 吴承昊

地址:

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

优先权:

专利代理机构:

深圳鼎合诚知识产权代理有限公司 44281

代理人:

郭燕

PDF下载: PDF下载
内容摘要

本发明公开了一种可重构路径算子和具有此可重构路径算子的阵列结构,可重构路径算子包括接口模块、功能模块和控制模块;接口模块包括:输入接口和输出数据接口;所述功能模块与输入接口相连,从输入接口接收输入数据,并对输入数据进行多路选择、多路分发和数据状态控制中的一种或多种操作后生成输出数据发送到输出数据接口;所述控制模块与输入接口相连,从输入接口接收控制信息,并根据所述控制信息生成控制所述功能模块对接收的所述输入数据进行上述操作的控制信号。上述结构的可重构路径算子能够实现数据流的动态流动。

权利要求书

1: 一种可重构路径算子, 其特征在于, 包括接口模块、 功能模块和控制模块, 所述接口 模块包括 : 输入接口和输出数据接口 ; 所述功能模块与输入接口相连, 从输入接口接收输入数据, 并对输入数据进行多路选 择、 多路分发和数据状态控制中的一种或多种操作后生成输出数据发送到输出数据接口 ; 所述控制模块与输入接口相连, 从输入接口接收控制信息, 并根据所述控制信息生成控制 所述功能模块对接收的所述输入数据进行上述操作的控制信号。
2: 如权利要求 1 所述的可重构路径算子, 其特征在于, 所述控制信息包括两部分, 一部 分是加载到所述可重构算子的用于确定所述功能模块实现的具体功能的配置信息, 另一部 分是作为所述功能模块实现具体功能时的执行条件的判断数据。
3: 如权利要求 2 所述的可重构路径算子, 其特征在于, 所述输入接口包括输入数据接 口和配置信息传输链接口, 所述控制模块包括存储单元和逻辑控制单元 ; 所述配置信息经所述配置信息传输链接口输入到所述可重构路径算子, 由所述存储单 元对其进行存储 ; 所述逻辑控制单元调用所述配置信息并接收从所述输入数据接口输来的判断数据, 根 据所述配置信息和判断数据生成所述控制信号。
4: 如权利要求 3 所述的可重构路径算子, 其特征在于, 所述功能模块包括多路选择功 能单元、 多路分发功能单元和数据状态控制单元 ; 所述多路选择功能单元用于实现所述多路数据选择, 其输入与所述输入端与输入数据 接口相连接, 用于接收至少两路输入数据 ; 所述多路分发功能单元用于实现所述多路分发功能, 其输入端与所述输入数据接口相 连接, 用于接收一路输入数据 ; 所述数据状态控制单元用于实现数据状态控制, 其输入端与所述输入数据接口相连 接, 用于接收一路输入数据 ; 所述逻辑控制单元分别与所述多路选择功能单元、 多路分发功能单元和数据状态控制 单元相连接, 用于向所述多路选择功能单元、 多路分发功能单元和数据状态控制单元输出 所述控制信号, 所述控制信号确定所述多路选择功能单元、 多路分发功能单元和数据状态 控制单元实现的具体功能, 以及实现具体功能的执行条件。
5: 如权利要求 4 所述的可重构路径算子, 其特征在于, 所述多路选择包括基于优先级 的多选一、 顺序多选一和普通多选一 ; 所述多路分发包括一至一和一至多 ; 所述数据状态 控制包括暂存、 保持和清空。
6: 如权利要求 5 所述的可重构路径算子, 其特征在于, 所述逻辑控制单元根据配置信 息将所述功能模块的具体功能配置为多路选择中的某个具体功能时, 所述逻辑控制单元根 据判断数据确定所述数据多选功能单元具体选择的输入数据 ; 所述逻辑控制单元根据配置信息将所述功能模块的具体功能配置为一至一时, 所述 逻辑控制单元根据判断数据确定所述输入数据具体从数据分发功能单元的哪个输出端输 出; 所述逻辑控制单元根据配置信息将所述功能模块实现的具体功能确定为暂存时, 所述 逻辑控制单元根据判断数据确定数据状态控制单元是否输出有效值 ; 所述逻辑控制单元根据配置信息将所述功能模块实现的具体功能确定为保持时, 所述 2 逻辑控制单元根据判断数据确定数据状态控制单元是否更新保持的输入数据值 ; 所述逻辑控制单元根据配置信息将所述功能模块的具体功能配置为清空时, 所述逻辑 控制单元根据判断数据确定是否清空。
7: 如权利要求 4 所述的可重构路径算子, 其特征在于, 还包括输出选择单元 ; 所述输出选择单元的输入端分别与所述多路选择功能单元、 多路分发功能单元和数据 状态控制单元的输出端相连接 ; 输出端与所述输出数据接口相连接 ; 所述逻辑控制单元根据所述配置信息生成控制所述输出选择单元的控制信号, 所述输 出选择单元根据所述控制信号接收多路选择功能单元、 多路分发功能单元和数据状态控制 单元中正在执行有效操作的单元产生的输出数据, 并将该输出数据输出给所述输出数据接 口。
8: 如权利要求 6 所述的可重构路径算子, 其特征在于, 还包括用于暂存输出数据的寄 存器 ; 所述寄存器的输入端与所述数据选择单元相连接, 用于从所述数据选择单元中接收输 出数据, 所述寄存器的输出端与所述输出数据接口相连接 ; 所述寄存器还与所述逻辑控制单元相连接, 且如果在一个时钟期内, 可重构路径算子 的当前输入数据有效, 且所述可重构路径算子上次生产的输出数据也已经被消费, 则所述 逻辑控制单元控制所述寄存器单元暂存的输出数据改变, 否则, 不改变所述寄存器单元暂 存的输出数据。
9: 如权利要求 1 至 8 中任一项所述的可构路径算子, 其特征在于, 还包括接口模块, 所 述接口模块包括 : 输入数据接口、 输出数据接口、 配置信息传输链接口、 电源接口、 地接口、 配置时钟接口 ; 其中, 配置信息传输链接口、 配置时钟接品、 电源接口和地接口为固定接口, 其它的接口为可配置接口。
10: 一种集成电路阵列结构, 包括可重构算术算子、 可重构路径算子、 可重构调度算子、 可重构 DSP 算子和可重构存储算子, 其特征在于, 所述可重构路径算子为权利要求 1 至 9 中 任一项所述可重构路径算子。

说明书


一种可重构路径算子

    技术领域 本发明涉及集成电路领域, 尤其是一种可重构路径算子以及应用该可重构路径算 子的集成电路阵列结构。
     背景技术 如图 1 所示为现有技术中一种基于可重构算子的阵列结构 100, 该阵列结构 100 包 括由多个可重构算子 101 组成的可重构算子模块和分布在所述可重构算子模块周围的多 个输入输出接口 106。通过输入输出接口 106 将实现某种特定功能的配置信息加载到该阵 列结构中, 对该阵列结构中的可重构算子的连接关系和各个可重构算子实现的功能进行配 置, 使该阵列结构实现所述的某种特定功能。
     图示中的阵列结构 100 具有良好的规整性和通用性。其中, 规整性是指阵列结构 中的可重构算子模块由有限的几类可重构算子组成, 各类可重构算子之间按照统一的方式 进行通信, 统一的方式进行布局, 比如所有可重构算子采用按照类型以列为单位, 分布式交 叉排列的布局方式。通用性是指该阵列结构能够像 CPU 等处理器一样支持多种应用的实现
     需求, 而不是针对一个或几个应用而特定开发的系统。规整性和通用性使用户只需要改变 加载到阵列结构中的配置信息即可以使阵列结构满足实现不同应用的需求, 使阵列结构具 有良好的编程性和扩展性。
     但是, 规整性和通用性同样使阵列结构在设计时存在性能不足的问题。下面以实 例的方式对阵列结构在设计时存在性能不足的情况进行说明 :
     由于在一个应用中, 各个可重构算子之间的连接关系是固定地, 即各个可重构算 子之间的连接表现为静态形式, 数据流遵守从一个数据源到一个目的地的传递, 所以阵列 结构难于实现数据流的动态改变, 从而阵列结构的性能受到影响, 表现为性能不足。
     比如, 以最典型的数据流改变的结构断语句 If(true){a = b+1 ; }Else{a = b+2} 为例。即, 当条件为真时, 数据 b 经过加法器 1 进行加 1 操作后将结果输出到 a ; 当条件不 成立, 数据 b 经过加法器 2 进行加 2 操作后将结果输出到 a。这里存在两条路径, 一个由加 法器 1 组成的路径 1, 一个由加法器 2 组成的路径 2, 数据 b 到 a 有两条可选路径, 选择的条 件在不同的时间会有不同值, 前一时刻选择路径 1, 下一时刻可能选择路径 2。这样的动态 路径, 采用静态的连接是不能实现的, 静态的连接只能实现路径 1 或路径 2。 发明内容
     本发明要解决的主要技术问题是, 提供一种可重构路径算子以及应用该可可重构 路径算子的集成电路阵列结构, 当阵列结构采用该可重构路径算子时, 使阵列结构实现数 据流的动态传递, 能够改善阵列结构中的性能不足问题。
     为解决上述技术问题, 本发明提供一种可重构路径算子, 包括接口模块、 功能模块 和控制模块, 所述接口模块包括 : 输入接口和输出数据接口 ;
     所述功能模块与输入接口相连, 从输入接口接收输入数据, 并对输入数据进行多路选择、 多路分发和数据状态控制中的一种或多种操作后生成输出数据发送到输出数据接 口; 所述控制模块与输入接口相连, 从输入接口接收控制信息, 并根据所述控制信息生成控 制所述功能模块对接收的所述输入数据进行上述操作的控制信号。
     一种实施方式中, 所述控制信息包括两部分, 一部分是加载到所述可重构算子的 用于确定所述功能模块实现的具体功能的配置信息, 另一部分是作为所述功能模块实现具 体功能时的执行条件的判断数据。
     一种实施方式中, 所述输入接口包括输入数据接口和配置信息传输链接口, 所述 控制模块包括存储单元和逻辑控制单元 ;
     所述配置信息经所述配置信息传输链接口输入到所述可重构路径算子, 由所述存 储单元对其进行存储 ;
     所述逻辑控制单元调用所述配置信息并接收从所述输入数据接口输来的判断数 据, 根据所述配置信息和判断数据生成所述控制信号。
     一种实施方式中, 所述功能模块包括多路选择功能单元、 多路分发功能单元和数 据状态控制单元 ;
     所述多路选择功能单元用于实现所述多路数据选择, 其输入与所述输入端与输入 数据接口相连接, 用于接收至少两路输入数据 ;
     所述多路分发功能单元用于实现所述多路分发功能, 其输入端与所述输入数据接 口相连接, 用于接收一路输入数据 ;
     所述数据状态控制单元用于实现数据状态控制, 其输入端与所述输入数据接口相 连接, 用于接收一路输入数据 ;
     所述逻辑控制单元分别与所述多路选择功能单元、 多路分发功能单元和数据状态 控制单元相连接, 用于向所述多路选择功能单元、 多路分发功能单元和数据状态控制单元 输出所述控制信号, 所述控制信号确定所述多路选择功能单元、 多路分发功能单元和数据 状态控制单元实现的具体功能, 以及实现具体功能的执行条件。
     一种实施方式中, 所述多路选择包括基于优先级的多选一、 顺序多选一和普通多 选一 ; 所述多路分发包括一至一和一至多 ; 所述数据状态控制包括暂存、 保持和清空。
     一种实施方式中, 所述逻辑控制单元根据配置信息将所述功能模块的具体功能配 置为多路选择中的某个具体功能时, 所述逻辑控制单元根据判断数据确定所述数据多选功 能单元具体选择的输入数据 ;
     所述逻辑控制单元根据配置信息将所述功能模块的具体功能配置为一至一时, 所 述逻辑控制单元根据判断数据确定所述输入数据具体从数据分发功能单元的哪个输出端 输出 ;
     所述逻辑控制单元根据配置信息将所述功能模块实现的具体功能确定为暂存时, 所述逻辑控制单元根据判断数据确定数据状态控制单元是否输出有效值 ;
     所述逻辑控制单元根据配置信息将所述功能模块实现的具体功能确定为保持时, 所述逻辑控制单元根据判断数据确定数据状态控制单元是否更新保持的输入数据值 ;
     所述逻辑控制单元根据配置信息将所述功能模块的具体功能配置为清空时, 所述 逻辑控制单元根据判断数据确定是否清空。
     一种实施方式中, 还包括输出选择单元 ;所述输出选择单元的输入端分别与所述多路选择功能单元、 多路分发功能单元和 数据状态控制单元的输出端相连接 ; 输出端与所述输出数据接口相连接 ;
     所述逻辑控制单元根据所述配置信息生成控制所述输出选择单元的控制信号, 所 述输出选择单元根据所述控制信号接收多路选择功能单元、 多路分发功能单元和数据状态 控制单元中正在执行有效操作的单元产生的输出数据, 并将该输出数据输出给所述输出数 据接口。
     一种实施方式中, 还包括用于暂存输出数据的寄存器 ;
     所述寄存器的输入端与所述数据选择单元相连接, 用于从所述数据选择单元中接 收输出数据, 所述寄存器的输出端与所述输出数据接口相连接 ;
     所述寄存器还与所述逻辑控制单元相连接, 且如果在一个时钟期内, 可重构路径 算子的当前输入数据有效, 且所述可重构路径算子上次生产的输出数据也已经被消费, 则 所述逻辑控制单元控制所述寄存器单元暂存的输出数据改变, 否则, 不改变所述寄存器单 元暂存的输出数据。
     一种实施方式中, 还包括接口模块, 所述接口模块包括 : 输入数据接口、 输出数据 接口、 配置信息传输链接口、 电源接口、 地接口、 配置时钟接口 ; 其中, 配置信息传输链接口、 配置时钟接品、 电源接口和地接口为固定接口, 其它的接口为可配置接口。 一种集成电路阵列结构, 包括可重构算术算子、 可重构路径算子、 可重构调度算 子、 可重构 DSP 算子和可重构存储算子, 所述可重构路径算子为权利要求 1 至 9 中任一项所 述可重构路径算子。
     本发明的有益效果是 : 功能模块具有实现多路选择、 多路分发和数据状态控制的 功能, 使可重构路径算子能够满足对数据流进行动态改变的要求。 同时, 通过逻辑控制模块 根据控制信息使功能模块按照期望的方式对待处理输入数据进行处理得到输出数据, 从而 实现数据流的动态改变。改善了阵列结构的性能。
     比如, 在阵列结构中数据 b 可以通过路径 1( 路径 1 进行加 1 操作 ), 也可以通过路 径 2( 路径 2 进行加 2 操作 ) 到输出给 a。不同时刻, 数据 b 输出给 a 的路径不一定相同, 则 可以将利用可重构路径算子对路径 1 和路径 2 进行选择。在不同的时刻, 选择相应的路径 连接到 a。其实现过程可以是, 将数据 b 先输入功能配置为多路分发的可重构路径算子 ; 可 重构路径算子将数据 b 复制为两个, 并分别派发到两个不同的输出接口上, 其中一个接口 与实现加 1 操作的加法器相连, 另一个接口与实现加 2 操作的加法器相连 ; 在加法器的另一 端, 两个加法器的输出均连入另一个可重构路径算子的输入端, 该可重构路径算子的功能 配置为二选一, 且其输出连接到 a, 该可重构路径算子在不同的时刻选择相应加法器送来的 输入, 并输出给 a, 实现数据流的动态改变。
     附图说明 图 1 为一种可重构算子的阵列结构 ;
     图 2 为本发明一种实施方式的可重构路径算子 ;
     图 3 为本发明一种实施方式的可重构路径算子进行数据传输协议说明 ;
     图 4 为本发明一种实施方式的利用可重构路径算子的多路选择功能实现数据的 多选一的连接图 ;
     图 5 为本发明一种实施方式的利用可重构路径算子实现数据多路分发的连接图 ; 图 6 为本发明一种实施的可重构路径算子实现数据保持的连接图。具体实施方式
     下面通过具体实施方式结合附图对本发明作进一步详细说明。
     实施例 1 :
     请参考图 2, 一种可重构路径算子, 包括接口模块、 功能模块和控制模块。
     其中, 接口模块包括输入数据接口、 输出数据接口、 配置信息传输链接口 ( 包括配 置信息入口和配置信息出口 )、 配置时钟接口、 工作时钟接口、 地接口和电源接口。功能模 块用于实现可重构算子的功能, 即对输入数据中待处理输入数据进行处理得到输出数据, 包括图示中的并联的数据多选功能单元 202、 数据分发功能单元 203 和数据状态控制单元 204。控制模块包括存储单元 ( 未示出 ) 和图示中的逻辑控制单元 201。
     接口模块中, 配置信息传输链接口、 配置时钟接口、 电源接口和地接口为固定接 口, 其它的接口为可配置接口。 上述接口中, 输入数据接口用于接收外部输入可重构算子的 输入数据, 输入数据根据目的地的不同分为两种, 一种是输入到功能模块的输入数据, 供功 能模块对其数据流进行操作, 实现数据流的动态改变, 另一种是输出给控制模块, 作为控制 信息的一部分。输出数据接口用于向其它可重构算子输出输出数据。配置信息传输链接口 主要用于接收加载到该可重构算子的用于作为控制信息的一部分的配置信息, 配置信息用 于确定所述可重构算子实现的功能。 功能模块中, 多路选择功能单元实现多路数据的选择, 通常为二选一。 通过多个二 选一可以实现任意的多选一。多路选择包括基于优先级的多选一, 顺序多选一和普通多选 一。 基于优先级的多选一是指总是优先选择第一路数据输出, 当第一路数据无效时, 选择第 二路数据输出 ; 顺序多选一是指首先选择第一路数据, 保持其他的未被选中的数据, 供下次 选用 ; 普通多选一是指根据控制信号选择一路数据输出。数据分发功能单元实现数据的多 路分发, 多路分发包括一至一和一至多。 通常设置为一至二, 通过多个一至二的可重构算子 可以组合出任意形式的一至多。一到一是指根据控制信号, 将一路输入数据选择性的发送 到其中一个输出端口 ; 一到二是将一路数据同时发送到两个输出端口。数据的状态控制单 元用于对数据的状态进行控制, 数据状态控制包括堵塞、 保持和清空, 堵塞是指将数据流暂 时堵住, 当条件满足时才继续向后续的算子传送有效数据 ; 保持是指将输入数据暂存, 供多 次调用。清空是指清空输出数据。
     控制模块中, 存储单元用于存储配置信息。逻辑控制单元 201 根据包括配置信息 和判断数据的控制信息产生控制功能模块的控制信号, 控制信号将功能模块的功能配置为 对待处理输入数据进行多路选择或多路分发或数据状态控制中的某种具体功能并设置执 行该具体功能时的执行条件。由于控制信息包括配置信息和判断数据两部分, 所以根据控 制信息生成的控制信号也包括两部分, 一部分与配置信息相对应, 用于设置可重构算子的 功能, 也就是功能模块的功能 ; 另一部分与判断数据相对应, 用于作为功能模块实现具体功 能时的执行条件。
     一种实施方式中, 逻辑控制单元根据配置信息将功能模块的具体功能配置为多路 选择中的某个具体功能时, 逻辑控制单元根据判断数据确定数据多选功能单元具体选择的
     输入数据。比如, 逻辑控制单元根据配置信息确定功能模块中的多路选择功能单元执行操 作, 并且执行普通两选一。则当判断数据为 1 时, 逻辑控制单元控制多路选择功能单元选择 第一路输入数据作为输出, 当判断数据为 0 时, 逻辑控制单元控制多路选择功能单元选择 第二路输入数据作为输出。判断数据在基于优先级时作为优先级较高的那路数据无效时, 是否选择另一路数据的依据。比如, 有两路输入数据, 第一路输入数据的优先级高于第二 路, 当第一路输入数据有效时, 始终选择第一路输入数据, 当第一路输入数据无效时, 且判 断数据有 1 时, 才选择第二路输入数据。判断数据在顺序多选一中的控制作用是, 对两路数 据根据判断数据选择其中某个有效数据输出, 并将该数据的 ack 信号置高, 即该数据被消 费掉了, 而另一路数据不丢弃, 即该该数据的 ack 不会被置高。
     逻辑控制单元根据配置信息将功能模块的具体功能配置多路分发时, 逻辑控制单 元根据判断数据确定所述输入数据具体从数据分发功能单元的哪个输出端输出。比如, 根 据配置信息多路分发功能单元实现的功能是一至一, 当判断数据为 1 时, 多路分发功能单 元将输入数据从第一个输出端口输出, 当判断数据为 0 时, 从第二个输出端口输出。根据配 置信息多路分发功能单元实现的功能是一至二时, 则不论判断数据为何值, 均将输入数据 复制为两个后, 从第一和第二个输出端口输出。 逻辑控制单元根据配置信息将所功能模块实现的具体功能确定为暂存时, 逻辑控 制单元根据判断数据确定数据状态控制单元是否输出有效值。比如, 当判断数据为 1 时, 逻 辑控制单元控制多路选择功能单元向其输出端口上输出有效值。当判断数据为 0 时, 不输 出有效值。
     逻辑控制单元根据配置信息将功能模块实现的具体功能确定为保持时, 逻辑控制 单元根据判断数据确定数据状态控制单元否更新保持的输入数据值。比如, 当判断数据为 1 时, 保持接收的输入数据, 当判断数据为 0 时, 更新输入数据。
     逻辑控制单元根据配置信息将功能模块的具体功能配置为清空时, 逻辑控制单元 根据判断数据确定是否清空。比如, 当判断数据为 1 时, 执行清空操作, 当判断数据为 0 时, 清空。
     在上述结构中的基础上, 可重构路径算子还包括输出选择单元 205 和寄存器 206。 其中, 输出选择单元 205 的输入与功能模块相连, 用于选择功能模块中某个执行当前功能 操作的功能单元的输出。具体地, 输出选择单元的输入与多路选择功能单元的一个输出端 口相连, 与多路选择功能单元的至少两个输出端口相连, 与数据状态控制单元的一个输出 端口相连。输出选择单元 205 还受到逻辑控制单元 201 的控制, 逻辑控制单元 201 根据配 置信息生成控制输出选择单元的控制信号, 控制其输入端与多路选择功能单元、 多路分发 功能单元和数据状态控制单元中某个单元的输出端相连接。 比如当配置信息指示可重构算 子实现清空操作时, 逻辑控制单元 201 控制输出选择单元 205 的输入端与执行清空操作的 数据状态控制单元的输出端相接通。寄存器 206 用于暂存输出数据, 输入选择单元 205 的 输出可以直接输送给输出数据接口输出或者输出给寄存器 206, 由寄存器 206 暂存后输出 给输出数据接口。寄存器 206 有延迟输出的作用, 同时寄存器中暂存的输出数据是否改变, 受到逻辑控制单元 201 的控制。如图 3 所示, 逻辑控制单元 201 根据输入数据是否有效和 上次生产的输出数据是是否被消费, 确定寄存器暂存的输出数据是否需要改变, 即是否改 变输出结果。比如, 在一个时钟周期内, 如果当前的输入数据有效, 且上次生产的输出数据
     已被消费, 则寄存器中暂存的输出数据改变, 否则不改变寄存器暂存的输出数据。 判断输入 数据是否有效和上次生产的输出数据是否被消费可以向每路输入数据和输出数据中中加 入 valid 和 ack 信号标识。其中 valid 为高, 表示输入数据有效, 为低表示输入数据无效 ; ack 为高, 表示上次生产的输出数据已经被消费, 为低, 表示上次生产的输出数据没有被消 费。
     实施例 2 :
     上述结构的路径可重构算子 200 实现了的数据流的动态改变。将其应用在图 1 的 阵列结构中时, 实现数据流的动态改变可以改善阵列结构由于规整性和通用性设计而带来 的性能不足。下面结合具体的实例, 对可重构路径算子 200 在具体阵列结构中的应用做进 一步地说明 :
     结合图 1 和图 3 至 6 首先对阵列结构进行说明。如图 1 所示, 阵列结构 100 包括 多个可重构算子 101 和多个输入输出接口 102。多个可重构算子 106 包括算术类的可重构 算术算子、 存储类的可重构存储算子、 路径类的可重构路径算子、 调度类的可重构调度算子 和 DSP 类的可重构 DSP 算子。这些可重构算子按照类型, 以列为单位, 分布式交叉排列。
     在阵列结构 100 中, 每个可重构算子占据一个或者多个单位格点的位置, 同一类 型的可重构算子占据的格点数相同, 单位格点即一单位长度的正方形。在每个单位格点之 间分布着水平互连通道 402 和垂直互连通道 401, 水平互连通道 402 和垂直互连通道 401 中 设置有互连资源 407, 每个可重构算子通过具有开关特性的配置节点 408 与互连资源 407 相 连接, 从而连接为一体。
     在阵列结构中 100 中, 各个可重构算子之间的数据传递遵守握手协议。如图 3 所 示, 握手协议是指可重构算子的输入数据有效且上次生产的输出数据被消费时可重构算 子的输出才改变, 否则保持可重构算子的输出不改变。具体地, 可以在数据流中通过打上 valid 和 ack 标签的方式实现, 其中 valid 为高, 表示输入数据有效, 为低表示输入数据无 效; ack 为高, 表示上次生产的输出数据已经被消费, 为低, 表示上次生产的输出数据没有 被消费。可以理解的是, 本发明涉及的可重构路径算子的数据传递也遵守握手协议。
     阵列结构在实际应用中, 将由 EDA 工具生成的该阵列结构能够识别的执行文件 ( 也就是配置信息 ) 加载到该阵列结构中, 对该阵列结构中的每个可重构算子的功能以及 各个可重构算子与互连资源的连接关系进行配置, 从而使该阵列结构成为实现某种应用的 具体的硬件电路。
     下面对本发明所涉及的可重构路径算子在上述阵列结构中的应用举例说明 :
     比如, 图 4 所示的结构为利用可重构路径算子的多路选择功能实现数据的多选一 时的连接图。具体地, 在一个应用中, 配置信息使可重构路径算子 404 的功能配置为普通多 选一 (MUX), 将位于其上方、 右侧和下方的可重构算术算子 403、 406 和 405 的功能均配置为 加法功能。同时, 配置信息还使上方、 右侧和下方的可重构算术算子 403、 406 和 405 分别通 过互连资源 407 与可重构路径算子 404 之间形成静态连接, 与可重构算术算子 403、 406 和 405 相连接的互连资源为相互独立的互连资源。上述配置完成后, 上方和右侧的可重构算 术算子 403、 406 的输出通过输入数据接口输入给路径可重构算子 404, 同时另一路作为判 断数据的输入数据也输入给可重构路径算子。可重构路径算子 404 中的逻辑控制单元根据 判断数据确认选择上方或右侧的可重构算术算子 403、 406 的输入作为输出数据, 输出给下方的可重构算术算子 405。同时, 数据输入到可重构路径算子 404 时, 还在输入数据中打上 valid 和 ack 标签, 使各个可重构算子之间的传输遵循传输握手协议, 即当前输入数据有效 且上次生产的输出数据已被消费才改变输出数据。
     图 5 所示的结构为利用可重构路径算子实现数据多路分发的连接图。具体地, 在 一个应用中, 配置信息使可重构路径算子 504 的功能配置为一至二的多路分发 (BRD), 同时 配置信息还使位于其上方、 右侧和下方的可重构算术算子 503、 506 和 505 分别通过互连资 源 507 与可重构路径算子 504 之间形成静态连接, 与可重构算术算子 503、 506 和 505 相连接 的互连资源为相互独立的互连资源。在上述配置下, 可重构路径算子 504 将位于其上方的 可重构算术算子 503 的输出广播 (BRD) 给位于其右侧和下方的可重构算术算子 506 和 505, 作为它们的一个输入数据。
     图 6 所示的结构为利用可重构路径算子实现数据保持的连接图。加载到阵列结构 中的配置信息将位于中部的可重构路径算子 604 的功能配置为保持, 将其上方和下方的可 重构算术算子的功能 603、 605 配置为加法。可重构算术算子 604 的输出输入到可重构路径 算子 604 时, 还有一路判断数据也同时输入可重构路径算子, 当判断数据为 1 时, 表示可重 构路径算子保持输入数据不改变, 为 0 时则更新数据。 以上内容是结合具体的实施方式对本发明所作的进一步详细说明, 不能认定本发 明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说, 在不脱 离本发明构思的前提下, 还可以做出若干简单推演或替换, 都应当视为属于本发明的保护 范围。
    

一种可重构路径算子.pdf_第1页
第1页 / 共15页
一种可重构路径算子.pdf_第2页
第2页 / 共15页
一种可重构路径算子.pdf_第3页
第3页 / 共15页
点击查看更多>>
资源描述

《一种可重构路径算子.pdf》由会员分享,可在线阅读,更多相关《一种可重构路径算子.pdf(15页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN102339268A43申请公布日20120201CN102339268ACN102339268A21申请号201110098163422申请日20110419G06F15/7820060171申请人北京大学深圳研究生院地址518055广东省深圳市南山区西丽深圳大学城北大校区72发明人龙晓波王新安雍珊珊蓝晶吴承昊74专利代理机构深圳鼎合诚知识产权代理有限公司44281代理人郭燕54发明名称一种可重构路径算子57摘要本发明公开了一种可重构路径算子和具有此可重构路径算子的阵列结构,可重构路径算子包括接口模块、功能模块和控制模块;接口模块包括输入接口和输出数据接口;所述功能模块与输。

2、入接口相连,从输入接口接收输入数据,并对输入数据进行多路选择、多路分发和数据状态控制中的一种或多种操作后生成输出数据发送到输出数据接口;所述控制模块与输入接口相连,从输入接口接收控制信息,并根据所述控制信息生成控制所述功能模块对接收的所述输入数据进行上述操作的控制信号。上述结构的可重构路径算子能够实现数据流的动态流动。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书7页附图5页CN102339281A1/2页21一种可重构路径算子,其特征在于,包括接口模块、功能模块和控制模块,所述接口模块包括输入接口和输出数据接口;所述功能模块与输入接口相连,从输入接口接收输。

3、入数据,并对输入数据进行多路选择、多路分发和数据状态控制中的一种或多种操作后生成输出数据发送到输出数据接口;所述控制模块与输入接口相连,从输入接口接收控制信息,并根据所述控制信息生成控制所述功能模块对接收的所述输入数据进行上述操作的控制信号。2如权利要求1所述的可重构路径算子,其特征在于,所述控制信息包括两部分,一部分是加载到所述可重构算子的用于确定所述功能模块实现的具体功能的配置信息,另一部分是作为所述功能模块实现具体功能时的执行条件的判断数据。3如权利要求2所述的可重构路径算子,其特征在于,所述输入接口包括输入数据接口和配置信息传输链接口,所述控制模块包括存储单元和逻辑控制单元;所述配置信。

4、息经所述配置信息传输链接口输入到所述可重构路径算子,由所述存储单元对其进行存储;所述逻辑控制单元调用所述配置信息并接收从所述输入数据接口输来的判断数据,根据所述配置信息和判断数据生成所述控制信号。4如权利要求3所述的可重构路径算子,其特征在于,所述功能模块包括多路选择功能单元、多路分发功能单元和数据状态控制单元;所述多路选择功能单元用于实现所述多路数据选择,其输入与所述输入端与输入数据接口相连接,用于接收至少两路输入数据;所述多路分发功能单元用于实现所述多路分发功能,其输入端与所述输入数据接口相连接,用于接收一路输入数据;所述数据状态控制单元用于实现数据状态控制,其输入端与所述输入数据接口相连。

5、接,用于接收一路输入数据;所述逻辑控制单元分别与所述多路选择功能单元、多路分发功能单元和数据状态控制单元相连接,用于向所述多路选择功能单元、多路分发功能单元和数据状态控制单元输出所述控制信号,所述控制信号确定所述多路选择功能单元、多路分发功能单元和数据状态控制单元实现的具体功能,以及实现具体功能的执行条件。5如权利要求4所述的可重构路径算子,其特征在于,所述多路选择包括基于优先级的多选一、顺序多选一和普通多选一;所述多路分发包括一至一和一至多;所述数据状态控制包括暂存、保持和清空。6如权利要求5所述的可重构路径算子,其特征在于,所述逻辑控制单元根据配置信息将所述功能模块的具体功能配置为多路选择。

6、中的某个具体功能时,所述逻辑控制单元根据判断数据确定所述数据多选功能单元具体选择的输入数据;所述逻辑控制单元根据配置信息将所述功能模块的具体功能配置为一至一时,所述逻辑控制单元根据判断数据确定所述输入数据具体从数据分发功能单元的哪个输出端输出;所述逻辑控制单元根据配置信息将所述功能模块实现的具体功能确定为暂存时,所述逻辑控制单元根据判断数据确定数据状态控制单元是否输出有效值;所述逻辑控制单元根据配置信息将所述功能模块实现的具体功能确定为保持时,所述权利要求书CN102339268ACN102339281A2/2页3逻辑控制单元根据判断数据确定数据状态控制单元是否更新保持的输入数据值;所述逻辑控。

7、制单元根据配置信息将所述功能模块的具体功能配置为清空时,所述逻辑控制单元根据判断数据确定是否清空。7如权利要求4所述的可重构路径算子,其特征在于,还包括输出选择单元;所述输出选择单元的输入端分别与所述多路选择功能单元、多路分发功能单元和数据状态控制单元的输出端相连接;输出端与所述输出数据接口相连接;所述逻辑控制单元根据所述配置信息生成控制所述输出选择单元的控制信号,所述输出选择单元根据所述控制信号接收多路选择功能单元、多路分发功能单元和数据状态控制单元中正在执行有效操作的单元产生的输出数据,并将该输出数据输出给所述输出数据接口。8如权利要求6所述的可重构路径算子,其特征在于,还包括用于暂存输出。

8、数据的寄存器;所述寄存器的输入端与所述数据选择单元相连接,用于从所述数据选择单元中接收输出数据,所述寄存器的输出端与所述输出数据接口相连接;所述寄存器还与所述逻辑控制单元相连接,且如果在一个时钟期内,可重构路径算子的当前输入数据有效,且所述可重构路径算子上次生产的输出数据也已经被消费,则所述逻辑控制单元控制所述寄存器单元暂存的输出数据改变,否则,不改变所述寄存器单元暂存的输出数据。9如权利要求1至8中任一项所述的可构路径算子,其特征在于,还包括接口模块,所述接口模块包括输入数据接口、输出数据接口、配置信息传输链接口、电源接口、地接口、配置时钟接口;其中,配置信息传输链接口、配置时钟接品、电源接。

9、口和地接口为固定接口,其它的接口为可配置接口。10一种集成电路阵列结构,包括可重构算术算子、可重构路径算子、可重构调度算子、可重构DSP算子和可重构存储算子,其特征在于,所述可重构路径算子为权利要求1至9中任一项所述可重构路径算子。权利要求书CN102339268ACN102339281A1/7页4一种可重构路径算子技术领域0001本发明涉及集成电路领域,尤其是一种可重构路径算子以及应用该可重构路径算子的集成电路阵列结构。背景技术0002如图1所示为现有技术中一种基于可重构算子的阵列结构100,该阵列结构100包括由多个可重构算子101组成的可重构算子模块和分布在所述可重构算子模块周围的多个输。

10、入输出接口106。通过输入输出接口106将实现某种特定功能的配置信息加载到该阵列结构中,对该阵列结构中的可重构算子的连接关系和各个可重构算子实现的功能进行配置,使该阵列结构实现所述的某种特定功能。0003图示中的阵列结构100具有良好的规整性和通用性。其中,规整性是指阵列结构中的可重构算子模块由有限的几类可重构算子组成,各类可重构算子之间按照统一的方式进行通信,统一的方式进行布局,比如所有可重构算子采用按照类型以列为单位,分布式交叉排列的布局方式。通用性是指该阵列结构能够像CPU等处理器一样支持多种应用的实现需求,而不是针对一个或几个应用而特定开发的系统。规整性和通用性使用户只需要改变加载到阵。

11、列结构中的配置信息即可以使阵列结构满足实现不同应用的需求,使阵列结构具有良好的编程性和扩展性。0004但是,规整性和通用性同样使阵列结构在设计时存在性能不足的问题。下面以实例的方式对阵列结构在设计时存在性能不足的情况进行说明0005由于在一个应用中,各个可重构算子之间的连接关系是固定地,即各个可重构算子之间的连接表现为静态形式,数据流遵守从一个数据源到一个目的地的传递,所以阵列结构难于实现数据流的动态改变,从而阵列结构的性能受到影响,表现为性能不足。0006比如,以最典型的数据流改变的结构断语句IFTRUEAB1;ELSEAB2为例。即,当条件为真时,数据B经过加法器1进行加1操作后将结果输出。

12、到A;当条件不成立,数据B经过加法器2进行加2操作后将结果输出到A。这里存在两条路径,一个由加法器1组成的路径1,一个由加法器2组成的路径2,数据B到A有两条可选路径,选择的条件在不同的时间会有不同值,前一时刻选择路径1,下一时刻可能选择路径2。这样的动态路径,采用静态的连接是不能实现的,静态的连接只能实现路径1或路径2。发明内容0007本发明要解决的主要技术问题是,提供一种可重构路径算子以及应用该可可重构路径算子的集成电路阵列结构,当阵列结构采用该可重构路径算子时,使阵列结构实现数据流的动态传递,能够改善阵列结构中的性能不足问题。0008为解决上述技术问题,本发明提供一种可重构路径算子,包括。

13、接口模块、功能模块和控制模块,所述接口模块包括输入接口和输出数据接口;0009所述功能模块与输入接口相连,从输入接口接收输入数据,并对输入数据进行多说明书CN102339268ACN102339281A2/7页5路选择、多路分发和数据状态控制中的一种或多种操作后生成输出数据发送到输出数据接口;所述控制模块与输入接口相连,从输入接口接收控制信息,并根据所述控制信息生成控制所述功能模块对接收的所述输入数据进行上述操作的控制信号。0010一种实施方式中,所述控制信息包括两部分,一部分是加载到所述可重构算子的用于确定所述功能模块实现的具体功能的配置信息,另一部分是作为所述功能模块实现具体功能时的执行条。

14、件的判断数据。0011一种实施方式中,所述输入接口包括输入数据接口和配置信息传输链接口,所述控制模块包括存储单元和逻辑控制单元;0012所述配置信息经所述配置信息传输链接口输入到所述可重构路径算子,由所述存储单元对其进行存储;0013所述逻辑控制单元调用所述配置信息并接收从所述输入数据接口输来的判断数据,根据所述配置信息和判断数据生成所述控制信号。0014一种实施方式中,所述功能模块包括多路选择功能单元、多路分发功能单元和数据状态控制单元;0015所述多路选择功能单元用于实现所述多路数据选择,其输入与所述输入端与输入数据接口相连接,用于接收至少两路输入数据;0016所述多路分发功能单元用于实现。

15、所述多路分发功能,其输入端与所述输入数据接口相连接,用于接收一路输入数据;0017所述数据状态控制单元用于实现数据状态控制,其输入端与所述输入数据接口相连接,用于接收一路输入数据;0018所述逻辑控制单元分别与所述多路选择功能单元、多路分发功能单元和数据状态控制单元相连接,用于向所述多路选择功能单元、多路分发功能单元和数据状态控制单元输出所述控制信号,所述控制信号确定所述多路选择功能单元、多路分发功能单元和数据状态控制单元实现的具体功能,以及实现具体功能的执行条件。0019一种实施方式中,所述多路选择包括基于优先级的多选一、顺序多选一和普通多选一;所述多路分发包括一至一和一至多;所述数据状态控。

16、制包括暂存、保持和清空。0020一种实施方式中,所述逻辑控制单元根据配置信息将所述功能模块的具体功能配置为多路选择中的某个具体功能时,所述逻辑控制单元根据判断数据确定所述数据多选功能单元具体选择的输入数据;0021所述逻辑控制单元根据配置信息将所述功能模块的具体功能配置为一至一时,所述逻辑控制单元根据判断数据确定所述输入数据具体从数据分发功能单元的哪个输出端输出;0022所述逻辑控制单元根据配置信息将所述功能模块实现的具体功能确定为暂存时,所述逻辑控制单元根据判断数据确定数据状态控制单元是否输出有效值;0023所述逻辑控制单元根据配置信息将所述功能模块实现的具体功能确定为保持时,所述逻辑控制单。

17、元根据判断数据确定数据状态控制单元是否更新保持的输入数据值;0024所述逻辑控制单元根据配置信息将所述功能模块的具体功能配置为清空时,所述逻辑控制单元根据判断数据确定是否清空。0025一种实施方式中,还包括输出选择单元;说明书CN102339268ACN102339281A3/7页60026所述输出选择单元的输入端分别与所述多路选择功能单元、多路分发功能单元和数据状态控制单元的输出端相连接;输出端与所述输出数据接口相连接;0027所述逻辑控制单元根据所述配置信息生成控制所述输出选择单元的控制信号,所述输出选择单元根据所述控制信号接收多路选择功能单元、多路分发功能单元和数据状态控制单元中正在执行。

18、有效操作的单元产生的输出数据,并将该输出数据输出给所述输出数据接口。0028一种实施方式中,还包括用于暂存输出数据的寄存器;0029所述寄存器的输入端与所述数据选择单元相连接,用于从所述数据选择单元中接收输出数据,所述寄存器的输出端与所述输出数据接口相连接;0030所述寄存器还与所述逻辑控制单元相连接,且如果在一个时钟期内,可重构路径算子的当前输入数据有效,且所述可重构路径算子上次生产的输出数据也已经被消费,则所述逻辑控制单元控制所述寄存器单元暂存的输出数据改变,否则,不改变所述寄存器单元暂存的输出数据。0031一种实施方式中,还包括接口模块,所述接口模块包括输入数据接口、输出数据接口、配置信。

19、息传输链接口、电源接口、地接口、配置时钟接口;其中,配置信息传输链接口、配置时钟接品、电源接口和地接口为固定接口,其它的接口为可配置接口。0032一种集成电路阵列结构,包括可重构算术算子、可重构路径算子、可重构调度算子、可重构DSP算子和可重构存储算子,所述可重构路径算子为权利要求1至9中任一项所述可重构路径算子。0033本发明的有益效果是功能模块具有实现多路选择、多路分发和数据状态控制的功能,使可重构路径算子能够满足对数据流进行动态改变的要求。同时,通过逻辑控制模块根据控制信息使功能模块按照期望的方式对待处理输入数据进行处理得到输出数据,从而实现数据流的动态改变。改善了阵列结构的性能。003。

20、4比如,在阵列结构中数据B可以通过路径1路径1进行加1操作,也可以通过路径2路径2进行加2操作到输出给A。不同时刻,数据B输出给A的路径不一定相同,则可以将利用可重构路径算子对路径1和路径2进行选择。在不同的时刻,选择相应的路径连接到A。其实现过程可以是,将数据B先输入功能配置为多路分发的可重构路径算子;可重构路径算子将数据B复制为两个,并分别派发到两个不同的输出接口上,其中一个接口与实现加1操作的加法器相连,另一个接口与实现加2操作的加法器相连;在加法器的另一端,两个加法器的输出均连入另一个可重构路径算子的输入端,该可重构路径算子的功能配置为二选一,且其输出连接到A,该可重构路径算子在不同的。

21、时刻选择相应加法器送来的输入,并输出给A,实现数据流的动态改变。附图说明0035图1为一种可重构算子的阵列结构;0036图2为本发明一种实施方式的可重构路径算子;0037图3为本发明一种实施方式的可重构路径算子进行数据传输协议说明;0038图4为本发明一种实施方式的利用可重构路径算子的多路选择功能实现数据的多选一的连接图;说明书CN102339268ACN102339281A4/7页70039图5为本发明一种实施方式的利用可重构路径算子实现数据多路分发的连接图;0040图6为本发明一种实施的可重构路径算子实现数据保持的连接图。具体实施方式0041下面通过具体实施方式结合附图对本发明作进一步详细。

22、说明。0042实施例10043请参考图2,一种可重构路径算子,包括接口模块、功能模块和控制模块。0044其中,接口模块包括输入数据接口、输出数据接口、配置信息传输链接口包括配置信息入口和配置信息出口、配置时钟接口、工作时钟接口、地接口和电源接口。功能模块用于实现可重构算子的功能,即对输入数据中待处理输入数据进行处理得到输出数据,包括图示中的并联的数据多选功能单元202、数据分发功能单元203和数据状态控制单元204。控制模块包括存储单元未示出和图示中的逻辑控制单元201。0045接口模块中,配置信息传输链接口、配置时钟接口、电源接口和地接口为固定接口,其它的接口为可配置接口。上述接口中,输入数。

23、据接口用于接收外部输入可重构算子的输入数据,输入数据根据目的地的不同分为两种,一种是输入到功能模块的输入数据,供功能模块对其数据流进行操作,实现数据流的动态改变,另一种是输出给控制模块,作为控制信息的一部分。输出数据接口用于向其它可重构算子输出输出数据。配置信息传输链接口主要用于接收加载到该可重构算子的用于作为控制信息的一部分的配置信息,配置信息用于确定所述可重构算子实现的功能。0046功能模块中,多路选择功能单元实现多路数据的选择,通常为二选一。通过多个二选一可以实现任意的多选一。多路选择包括基于优先级的多选一,顺序多选一和普通多选一。基于优先级的多选一是指总是优先选择第一路数据输出,当第一。

24、路数据无效时,选择第二路数据输出;顺序多选一是指首先选择第一路数据,保持其他的未被选中的数据,供下次选用;普通多选一是指根据控制信号选择一路数据输出。数据分发功能单元实现数据的多路分发,多路分发包括一至一和一至多。通常设置为一至二,通过多个一至二的可重构算子可以组合出任意形式的一至多。一到一是指根据控制信号,将一路输入数据选择性的发送到其中一个输出端口;一到二是将一路数据同时发送到两个输出端口。数据的状态控制单元用于对数据的状态进行控制,数据状态控制包括堵塞、保持和清空,堵塞是指将数据流暂时堵住,当条件满足时才继续向后续的算子传送有效数据;保持是指将输入数据暂存,供多次调用。清空是指清空输出数。

25、据。0047控制模块中,存储单元用于存储配置信息。逻辑控制单元201根据包括配置信息和判断数据的控制信息产生控制功能模块的控制信号,控制信号将功能模块的功能配置为对待处理输入数据进行多路选择或多路分发或数据状态控制中的某种具体功能并设置执行该具体功能时的执行条件。由于控制信息包括配置信息和判断数据两部分,所以根据控制信息生成的控制信号也包括两部分,一部分与配置信息相对应,用于设置可重构算子的功能,也就是功能模块的功能;另一部分与判断数据相对应,用于作为功能模块实现具体功能时的执行条件。0048一种实施方式中,逻辑控制单元根据配置信息将功能模块的具体功能配置为多路选择中的某个具体功能时,逻辑控制。

26、单元根据判断数据确定数据多选功能单元具体选择的说明书CN102339268ACN102339281A5/7页8输入数据。比如,逻辑控制单元根据配置信息确定功能模块中的多路选择功能单元执行操作,并且执行普通两选一。则当判断数据为1时,逻辑控制单元控制多路选择功能单元选择第一路输入数据作为输出,当判断数据为0时,逻辑控制单元控制多路选择功能单元选择第二路输入数据作为输出。判断数据在基于优先级时作为优先级较高的那路数据无效时,是否选择另一路数据的依据。比如,有两路输入数据,第一路输入数据的优先级高于第二路,当第一路输入数据有效时,始终选择第一路输入数据,当第一路输入数据无效时,且判断数据有1时,才选。

27、择第二路输入数据。判断数据在顺序多选一中的控制作用是,对两路数据根据判断数据选择其中某个有效数据输出,并将该数据的ACK信号置高,即该数据被消费掉了,而另一路数据不丢弃,即该该数据的ACK不会被置高。0049逻辑控制单元根据配置信息将功能模块的具体功能配置多路分发时,逻辑控制单元根据判断数据确定所述输入数据具体从数据分发功能单元的哪个输出端输出。比如,根据配置信息多路分发功能单元实现的功能是一至一,当判断数据为1时,多路分发功能单元将输入数据从第一个输出端口输出,当判断数据为0时,从第二个输出端口输出。根据配置信息多路分发功能单元实现的功能是一至二时,则不论判断数据为何值,均将输入数据复制为两。

28、个后,从第一和第二个输出端口输出。0050逻辑控制单元根据配置信息将所功能模块实现的具体功能确定为暂存时,逻辑控制单元根据判断数据确定数据状态控制单元是否输出有效值。比如,当判断数据为1时,逻辑控制单元控制多路选择功能单元向其输出端口上输出有效值。当判断数据为0时,不输出有效值。0051逻辑控制单元根据配置信息将功能模块实现的具体功能确定为保持时,逻辑控制单元根据判断数据确定数据状态控制单元否更新保持的输入数据值。比如,当判断数据为1时,保持接收的输入数据,当判断数据为0时,更新输入数据。0052逻辑控制单元根据配置信息将功能模块的具体功能配置为清空时,逻辑控制单元根据判断数据确定是否清空。比。

29、如,当判断数据为1时,执行清空操作,当判断数据为0时,清空。0053在上述结构中的基础上,可重构路径算子还包括输出选择单元205和寄存器206。其中,输出选择单元205的输入与功能模块相连,用于选择功能模块中某个执行当前功能操作的功能单元的输出。具体地,输出选择单元的输入与多路选择功能单元的一个输出端口相连,与多路选择功能单元的至少两个输出端口相连,与数据状态控制单元的一个输出端口相连。输出选择单元205还受到逻辑控制单元201的控制,逻辑控制单元201根据配置信息生成控制输出选择单元的控制信号,控制其输入端与多路选择功能单元、多路分发功能单元和数据状态控制单元中某个单元的输出端相连接。比如当。

30、配置信息指示可重构算子实现清空操作时,逻辑控制单元201控制输出选择单元205的输入端与执行清空操作的数据状态控制单元的输出端相接通。寄存器206用于暂存输出数据,输入选择单元205的输出可以直接输送给输出数据接口输出或者输出给寄存器206,由寄存器206暂存后输出给输出数据接口。寄存器206有延迟输出的作用,同时寄存器中暂存的输出数据是否改变,受到逻辑控制单元201的控制。如图3所示,逻辑控制单元201根据输入数据是否有效和上次生产的输出数据是是否被消费,确定寄存器暂存的输出数据是否需要改变,即是否改变输出结果。比如,在一个时钟周期内,如果当前的输入数据有效,且上次生产的输出数据说明书CN1。

31、02339268ACN102339281A6/7页9已被消费,则寄存器中暂存的输出数据改变,否则不改变寄存器暂存的输出数据。判断输入数据是否有效和上次生产的输出数据是否被消费可以向每路输入数据和输出数据中中加入VALID和ACK信号标识。其中VALID为高,表示输入数据有效,为低表示输入数据无效;ACK为高,表示上次生产的输出数据已经被消费,为低,表示上次生产的输出数据没有被消费。0054实施例20055上述结构的路径可重构算子200实现了的数据流的动态改变。将其应用在图1的阵列结构中时,实现数据流的动态改变可以改善阵列结构由于规整性和通用性设计而带来的性能不足。下面结合具体的实例,对可重构路。

32、径算子200在具体阵列结构中的应用做进一步地说明0056结合图1和图3至6首先对阵列结构进行说明。如图1所示,阵列结构100包括多个可重构算子101和多个输入输出接口102。多个可重构算子106包括算术类的可重构算术算子、存储类的可重构存储算子、路径类的可重构路径算子、调度类的可重构调度算子和DSP类的可重构DSP算子。这些可重构算子按照类型,以列为单位,分布式交叉排列。0057在阵列结构100中,每个可重构算子占据一个或者多个单位格点的位置,同一类型的可重构算子占据的格点数相同,单位格点即一单位长度的正方形。在每个单位格点之间分布着水平互连通道402和垂直互连通道401,水平互连通道402和。

33、垂直互连通道401中设置有互连资源407,每个可重构算子通过具有开关特性的配置节点408与互连资源407相连接,从而连接为一体。0058在阵列结构中100中,各个可重构算子之间的数据传递遵守握手协议。如图3所示,握手协议是指可重构算子的输入数据有效且上次生产的输出数据被消费时可重构算子的输出才改变,否则保持可重构算子的输出不改变。具体地,可以在数据流中通过打上VALID和ACK标签的方式实现,其中VALID为高,表示输入数据有效,为低表示输入数据无效;ACK为高,表示上次生产的输出数据已经被消费,为低,表示上次生产的输出数据没有被消费。可以理解的是,本发明涉及的可重构路径算子的数据传递也遵守握。

34、手协议。0059阵列结构在实际应用中,将由EDA工具生成的该阵列结构能够识别的执行文件也就是配置信息加载到该阵列结构中,对该阵列结构中的每个可重构算子的功能以及各个可重构算子与互连资源的连接关系进行配置,从而使该阵列结构成为实现某种应用的具体的硬件电路。0060下面对本发明所涉及的可重构路径算子在上述阵列结构中的应用举例说明0061比如,图4所示的结构为利用可重构路径算子的多路选择功能实现数据的多选一时的连接图。具体地,在一个应用中,配置信息使可重构路径算子404的功能配置为普通多选一MUX,将位于其上方、右侧和下方的可重构算术算子403、406和405的功能均配置为加法功能。同时,配置信息还。

35、使上方、右侧和下方的可重构算术算子403、406和405分别通过互连资源407与可重构路径算子404之间形成静态连接,与可重构算术算子403、406和405相连接的互连资源为相互独立的互连资源。上述配置完成后,上方和右侧的可重构算术算子403、406的输出通过输入数据接口输入给路径可重构算子404,同时另一路作为判断数据的输入数据也输入给可重构路径算子。可重构路径算子404中的逻辑控制单元根据判断数据确认选择上方或右侧的可重构算术算子403、406的输入作为输出数据,输出给下说明书CN102339268ACN102339281A7/7页10方的可重构算术算子405。同时,数据输入到可重构路径算。

36、子404时,还在输入数据中打上VALID和ACK标签,使各个可重构算子之间的传输遵循传输握手协议,即当前输入数据有效且上次生产的输出数据已被消费才改变输出数据。0062图5所示的结构为利用可重构路径算子实现数据多路分发的连接图。具体地,在一个应用中,配置信息使可重构路径算子504的功能配置为一至二的多路分发BRD,同时配置信息还使位于其上方、右侧和下方的可重构算术算子503、506和505分别通过互连资源507与可重构路径算子504之间形成静态连接,与可重构算术算子503、506和505相连接的互连资源为相互独立的互连资源。在上述配置下,可重构路径算子504将位于其上方的可重构算术算子503的。

37、输出广播BRD给位于其右侧和下方的可重构算术算子506和505,作为它们的一个输入数据。0063图6所示的结构为利用可重构路径算子实现数据保持的连接图。加载到阵列结构中的配置信息将位于中部的可重构路径算子604的功能配置为保持,将其上方和下方的可重构算术算子的功能603、605配置为加法。可重构算术算子604的输出输入到可重构路径算子604时,还有一路判断数据也同时输入可重构路径算子,当判断数据为1时,表示可重构路径算子保持输入数据不改变,为0时则更新数据。0064以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。说明书CN102339268ACN102339281A1/5页11图1说明书附图CN102339268ACN102339281A2/5页12图2图3说明书附图CN102339268ACN102339281A3/5页13图4说明书附图CN102339268ACN102339281A4/5页14图5说明书附图CN102339268ACN102339281A5/5页15图6说明书附图CN102339268A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1