《一种现场可编程逻辑芯片内部存储器映射装置及方法.pdf》由会员分享,可在线阅读,更多相关《一种现场可编程逻辑芯片内部存储器映射装置及方法.pdf(11页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103678147 A (43)申请公布日 2014.03.26 CN 103678147 A (21)申请号 201310589045.2 (22)申请日 2013.11.20 G06F 12/02(2006.01) (71)申请人 中国科学院电子学研究所 地址 100190 北京市海淀区北四环西路 19 号 (72)发明人 杨海钢 杜方清 林郁 王飞 刘峰 刘飞 (74)专利代理机构 中科专利商标代理有限责任 公司 11021 代理人 宋焰琴 (54) 发明名称 一种现场可编程逻辑芯片内部存储器映射装 置及方法 (57) 摘要 本发明公开了一种现场可编程逻辑芯片内。
2、部 存储器映射装置, 该装置包括 : 输入模块, 接收存 储映射性能要求、 用户逻辑存储大小及用户选择 的优化策略 ; 延时影响因素提取模块, 通过对于 不同型号 FPGA 内部结构的实验, 得到与访存关键 路径延时有关的影响因素 ; 关系式拟合模块, 根 据延时影响因素及延时测试结果, 拟合得到访存 关键路径延时与延时影响因素之间的关系式 ; 物 理存储单元配置产生模块, 根据所述关系式和映 射性能要求对物理存储单元进行配置。本发明还 公开了一种可编程逻辑芯片内部存储器映射方 法。 本发明以性能要求作为第一目标, 在该前提下 进行功耗或者资源的优化, 资源和功耗消费较小, 映射算法复杂度为常。
3、数, 在很短的时间内就能够 完成映射功能。 (51)Int.Cl. 权利要求书 2 页 说明书 6 页 附图 2 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书6页 附图2页 (10)申请公布号 CN 103678147 A CN 103678147 A 1/2 页 2 1. 一种可编程逻辑芯片内部存储器映射装置, 其特征在于, 该装置包括 : 输入模块、 延 时影响因素提取模块、 关系式拟合模块和物理存储单元配置产生模块, 其中 : 所述输入模块与所述延时影响因素提取模块连接, 用于接收、 存储映射性能要求、 用户 逻辑存储大小及用户选择的优化策略 ;。
4、 所述延时影响因素提取模块与所述输入模块和所述关系式拟合模块连接, 用于通过对 于不同型号 FPGA 内部结构的实验, 得到与访存关键路径延时有关的影响因素 ; 所述关系式拟合模块与所述延时影响因素提取模块和所述物理存储单元配置产生模 块连接, 用于根据所述延时影响因素提取模块提取得到的延时影响因素以及延时测试结 果, 拟合得到访存关键路径延时与延时影响因素之间的关系式 ; 所述物理存储单元配置产生模块与所述关系式拟合模块连接, 用于根据所述关系式拟 合模块得到的访存关键路径延时与延时影响因素之间的关系式和所述输入模块得到的映 射性能要求, 对需要的物理存储单元进行配置。 2. 根据权利要求 。
5、1 所述的装置, 其特征在于, 所述映射性能要求至少包括用户的时序 约束。 3. 根据权利要求 1 所述的装置, 其特征在于, 所述影响因素包括实现物理存储单元输 出数据选通的选通器级数和所使用的物理存储单元的总数。 4. 根据权利要求 1 所述的装置, 其特征在于, 在所述延时影响因素提取模块中, 首先对 目标 FPGA 芯片进行一系列逻辑存储宽度 width 和深度 depth 的不同的实验, 记录每种逻辑 大小下对应的访存延时D、 选通器的级数mux以及被使用的物理存储单元的总数mem ; 其次, 根据记录的延时测试结果确定与访存延时有关的因素, 并假设访存延时与影响因素之间的 关系为简。
6、单多项式关系。 5. 根据权利要求 1 所述的装置, 其特征在于, 不同型号的芯片对应不同的数学关系式。 6. 一种根据权利要求 1 所述的映射装置对可编程逻辑芯片内部存储器进行映射的方 法, 其特征在于, 该方法包括以下步骤 : 步骤1, 根据用户输入的逻辑存储宽度width和深度depth以及每个物理存储单元的存 储容量 cap 初步得到需要的物理存储单元的总数 mem ; 步骤 2, 根据关系式拟合模块拟合得到的访存关键路径延时 D 与延时影响因素之间的 关系式以及用户输入的时序约束 D, 得到满足不等式 a+bmemc+dmuxe D 的最大选通器 的级数 mux ; 步骤 3, 利用。
7、用户输入的逻辑存储深度 depth 和最大选通器的级数 mux, 得到关键路径 部分每个物理存储单元的配置深度 dc; 步骤 4, 根据所述每个物理存储单元的配置深度 dc, 从物理存储单元配置模式中找到相 应的配置宽度 wc; 步骤 5, 根据用户输入的逻辑存储宽度 width 以及所述步骤 4 得到的配置宽度 wc, 得到 构成关键路径的物理存储单元的组数 g ; 步骤 6, 根据所述步骤 4 得到的配置宽度 wc、 用户输入的逻辑存储宽度 width 以及所述 步骤 5 得到的组数 g, 得到非关键路径部分的位宽 wr; 步骤 7, 根据用户选择的优化策略执行相应的步骤 : 如果用户选择。
8、的优化策略为功耗 最小策略, 则执行步骤8-9, 并跳过步骤10-16, 执行步骤17以及后续步骤 ; 如果用户选择资 权 利 要 求 书 CN 103678147 A 2 2/2 页 3 源优化策略, 则跳过步骤 8-9 并执行步骤 10-17 以及后续步骤 ; 步骤 8, 从物理存储单元配置模式中找到满足式 wM wr的最小物理存储单元配置位宽 wM; 步骤 9, 根据所述步骤 8 得到的物理存储单元配置位宽 wM和用户输入的逻辑存储深度 depth, 得到构成非关键路径的物理存储单元的个数 memr; 步骤 10, 将物理存储单元的所有配置模式按配置宽度由大到小形成数组 wMi, 相应的。
9、 配置深度形成数组 dMi ; 步骤 11, 按配置位宽由大到小的顺序遍历物理存储单元所有的配置位宽, 根据每个配 置位宽得到构成非关键路径的物理存储单元的初始配置数组 ei ; 步骤 12, 根据所述步骤 11 得到的初始配置数组 ei 和用户输入的逻辑存储深度 depth, 得到构成非关键路径的物理存储单元总数 memr; 步骤 13, 将所述步骤 12 得到的 memr和所述步骤 11 得到的配置数组 ei 暂存到存储 器 memtemp和 etemp; 步骤 14, 找到满足 etempi 0 的最大索引系数 i, 将 etempi 的值置为零, 且将 etempi-1 加 1 ; 步。
10、骤 15, 根据暂存的配置数组 etempi 和用户输入的逻辑存储深度 depth, 得到构成非 关键路径的物理存储单元暂存总数 memtemp; 步骤16, 判断如果构成非关键路径的物理存储单元暂存总数memtemp与构成非关键路径 的物理存储单元总数 memr满足 : memtemp memr, 则将 memtemp的值赋给 memr, 将数组 etempi 的值赋给 ei, 并重新执行步骤 14-16 ; 否则执行步骤 17 以及后续步骤 ; 步骤 17, 根据组数 g、 选通器级数 mux 以及构成非关键路径的物理存储单元总数 memr, 得到被使用的物理存储单元的总数 mem。 7.。
11、 根据权利要求 6 所述的方法, 其特征在于, 所述步骤 3 中, 根据下式计算出所述配置 深度 dc: 8.根据权利要求6所述的方法, 其特征在于, 所述步骤11中, 根据下式计算出构成非关 键路径的物理存储单元的初始配置数组 ei : 9.根据权利要求6所述的方法, 其特征在于, 所述步骤15中, 根据下式计算出构成非关 键路径的物理存储单元暂存总数 memtemp: 10. 根据权利要求 6 所述的方法, 其特征在于, 所述步骤 17 中, 根据下式计算出被使用 的物理存储单元的总数 mem : mem=g2mux+memr。 权 利 要 求 书 CN 103678147 A 3 1/6。
12、 页 4 一种现场可编程逻辑芯片内部存储器映射装置及方法 技术领域 0001 本发明涉及计算机辅助设计技术领域, 尤其是一种现场可编程逻辑芯片 (FPGA) 内 部存储器映射装置及方法。 背景技术 0002 由 于 能 够 使 设 计 者 的 设 计 制 造 成 本 减 少、 设 计 周 期 缩 短, FPGA(Field Programmable Gate Array) 一诞生就得到了快速的发展。由于集成电路节点的不断发展, FPGA能够容纳的晶体管数不断增加, 能够实现的电路功能不断增强。 正是由于上述原因, 当 今的 FPGA 能够用来实现整个数字电路系统。为了适应系统对数据存储的需求,。
13、 很多 FPGA 厂商将物理存储单元作为一种独立的存储资源集成到 FPGA 芯片当中。 0003 但是由于一个物理存储单元只能实现有限的存储容量, 因此当系统对存储需求较 大时, 必须使用一个或多个物理存储单元来共同实现设计者对逻辑存储的需求。这种使用 一个或多个物理存储单元来实现逻辑存储的方法 (或过程) 叫存储器映射。 0004 目前的存储器映射策略包括 : 资源最优型、 功耗最低型和延时最小型。资源最优 型策略保证使用的物理存储单元的总数最少, 但不能保证延时能够达到设计者对性能的要 求, 并且这种设计方法往往导致较大的功耗 ; 功耗最低型策略保证映射成的逻辑存储消耗 的功耗最低, 但使。
14、用的物理存储单元的总数较高, 也不能保证延时能够达到设计者对性能 的要求 ; 延时最小型策略使得映射的逻辑存储延时最小, 有时甚至超过设计者对性能的要 求, 但由于性能与资源、 性能与功耗之间是一种权衡关系, 性能高, 往往是以牺牲资源和功 耗为代价的, 而过高的性能 (超出设计者对性能的要求) 将会导致资源和功耗的浪费。 0005 随着系统对存储需求的增加, 使用 FPGA 内部物理存储单元的总数也随之增加, 但 资源最优型、 功耗最低型以及延时最小型存储器映射方法产生的映射结果延时往往较大, 并可能称为整个系统的时序瓶颈。虽然延时最小型映射策略能够产生延时最小的映射结 果, 有时甚至超过设。
15、计者对性能的要求, 但其并不能优化资源和功耗。 本发明公开一种存储 器映射装置及方法, 其将满足设计者对性能的要求作为第一目标, 在满足这一目标的前提 下进行功耗或者资源的优化。 发明内容 0006 为了解决上述技术问题, 本发明提供一种现场可编程逻辑芯片 (FPGA) 内部存储器 映射装置及方法。 0007 根据本发明的一方面, 提出一种现场可编程逻辑芯片 (FPGA) 内部存储器映射装 置, 该装置包括 : 输入模块、 延时影响因素提取模块、 关系式拟合模块和配置产生模块, 其 中 : 0008 所述输入模块与所述延时影响因素提取模块连接, 用于接收、 存储映射性能要求、 用户逻辑存储大小。
16、及用户选择的优化策略 ; 0009 所述延时影响因素提取模块与所述输入模块和所述关系式拟合模块连接, 用于通 说 明 书 CN 103678147 A 4 2/6 页 5 过对于不同型号 FPGA 内部结构的实验, 得到与访存关键路径延时有关的影响因素 ; 0010 所述关系式拟合模块与所述延时影响因素提取模块和所述物理存储单元配置产 生模块连接, 用于根据所述延时影响因素提取模块提取得到的延时影响因素以及延时测试 结果, 拟合得到访存关键路径延时与延时影响因素之间的关系式 ; 0011 所述物理存储单元配置产生模块与所述关系式拟合模块连接, 用于根据所述关系 式拟合模块得到的访存关键路径延时。
17、与延时影响因素之间的关系式和所述输入模块得到 的映射性能要求, 对需要的物理存储单元进行配置。 0012 根据本发明的另一方面, 还提出一种根据所述映射装置对可编程逻辑芯片 (FPGA) 内部存储器进行映射的方法, 该方法包括以下步骤 : 0013 步骤1, 根据用户输入的逻辑存储宽度width和深度depth以及每个物理存储单元 的存储容量 cap 初步得到需要的物理存储单元的总数 mem ; 0014 步骤 2, 根据关系式拟合模块拟合得到的访存关键路径延时 D 与延时影响因素之 间的关系式以及用户输入的时序约束 D, 得到满足不等式 a+bmemc+dmuxe D 的最大选 通器的级数 。
18、mux ; 0015 步骤 3, 利用用户输入的逻辑存储深度 depth 和最大选通器的级数 mux, 得到关键 路径部分每个物理存储单元的配置深度 dc; 0016 步骤 4, 根据所述每个物理存储单元的配置深度 dc, 从物理存储单元配置模式中找 到相应的配置宽度 wc; 0017 步骤 5, 根据用户输入的逻辑存储宽度 width 以及所述步骤 4 得到的配置宽度 wc, 得到构成关键路径的物理存储单元的组数 g ; 0018 步骤 6, 根据所述步骤 4 得到的配置宽度 wc、 用户输入的逻辑存储宽度 width 以及 所述步骤 5 得到的组数 g, 得到非关键路径部分的位宽 wr; 。
19、0019 步骤 7, 根据用户选择的优化策略执行相应的步骤 : 如果用户选择的优化策略为 功耗最小策略, 则执行步骤8-9, 并跳过步骤10-16, 执行步骤17以及后续步骤 ; 如果用户选 择资源优化策略, 则跳过步骤 8-9 并执行步骤 10-17 以及后续步骤 ; 0020 步骤 8, 从物理存储单元配置模式中找到满足式 wM wr的最小物理存储单元配置 位宽 wM; 0021 步骤 9, 根据所述步骤 8 得到的物理存储单元配置位宽 wM和用户输入的逻辑存储 深度 depth, 得到构成非关键路径的物理存储单元的个数 memr; 0022 步骤 10, 将物理存储单元的所有配置模式按配。
20、置宽度由大到小形成数组 wMi, 相 应的配置深度形成数组 dMi ; 0023 步骤 11, 按配置位宽由大到小的顺序遍历物理存储单元所有的配置位宽, 根据每 个配置位宽得到构成非关键路径的物理存储单元的初始配置数组 ei ; 0024 步骤 12, 根据所述步骤 11 得到的初始配置数组 ei 和用户输入的逻辑存储深度 depth, 得到构成非关键路径的物理存储单元总数 memr; 0025 步骤 13, 将所述步骤 12 得到的 memr和所述步骤 11 得到的配置数组 ei 暂存到 存储器 memtemp和 etemp; 0026 步骤 14, 找到满足 etempi 0 的最大索引系。
21、数 i, 将 etempi 的值置为零, 且将 etempi-1 加 1 ; 说 明 书 CN 103678147 A 5 3/6 页 6 0027 步骤 15, 根据暂存的配置数组 etempi 和用户输入的逻辑存储深度 depth, 得到构 成非关键路径的物理存储单元暂存总数 memtemp; 0028 步骤 16, 判断如果构成非关键路径的物理存储单元暂存总数 memtemp与构成非关 键路径的物理存储单元总数 memr满足 : memtemp memr, 则将 memtemp的值赋给 memr, 将数组 etempi 的值赋给 ei, 并重新执行步骤 14-16 ; 否则执行步骤 17。
22、 以及后续步骤 ; 0029 步骤 17, 根据组数 g、 选通器级数 mux 以及构成非关键路径的物理存储单元总数 memr, 得到被使用的物理存储单元的总数 mem。 0030 本发明所取得的有益效果为 : 0031 (1) 与资源最优型、 功耗最低型映射策略相比, 本发明将设计者对性能的要求作为 第一目标, 确保能够满足设计者对性能的要求 ; 0032 (2) 与延时最小型映射策略相比, 本发明能够满足设计者对性能的要求, 并且不会 过高的超出设计者对性能的要求, 从而不会导致较大的资源和功耗的浪费 ; 0033 (3) 本发明的映射算法复杂度为常数, 即在很短的时间内就能够完成映射功能。
23、。 附图说明 0034 图 1 是本发明提出的现场可编程逻辑芯片 (FPGA) 内部存储器映射装置结构示意 图 ; 0035 图 2 是本发明提出的现场可编程逻辑芯片 (FPGA) 内部存储器映射方法流程图。 具体实施方式 0036 为使本发明的目的、 技术方案和优点更加清楚明白, 以下结合具体实施例, 并参照 附图, 对本发明进一步详细说明。 0037 根据本发明的一方面, 提出一种现场可编程逻辑芯片 (FPGA) 内部存储器映射装 置, 如图 1 所示, 该装置包括 : 输入模块、 延时影响因素提取模块、 关系式拟合模块和物理存 储单元配置产生模块, 其中 : 0038 所述输入模块与所述。
24、延时影响因素提取模块连接, 用于接收、 存储映射性能要求、 用户逻辑存储大小及用户选择的优化策略等, 所述映射性能要求至少包括用户的时序约束 等 ; 0039 所述延时影响因素提取模块与所述输入模块和所述关系式拟合模块连接, 用于通 过对于不同型号 FPGA 内部结构的实验, 得到与访存关键路径延时有关的影响因素 ; 目前, 通过实验发现不同种类的 FPGA 芯片映射成的逻辑存储的关键路径延时与下列两个因素有 关 : 实现物理存储单元输出数据选通的选通器级数和所使用的物理存储单元的总数。 0040 在所述延时影响因素提取模块中 : 0041 首先, 利用传统的三种存储器映射方法 (资源最小策略。
25、、 功耗最小策略和延时最小 策略) 对目标 FPGA 芯片进行一系列逻辑存储宽度 width 和深度 depth 的不同的实验, 记录 每种逻辑大小下对应的访存延时 D、 选通器的级数 mux 以及被使用的物理存储单元的总数 mem, 列出三个表格。 0042 其次, 从上述三个表中观察得到随着访存延时增大时, 其他因素的变化规律, 即根 据记录的延时测试结果确定与访存延时有关的因素。 该实验中初步确定与访存延时有关的 说 明 书 CN 103678147 A 6 4/6 页 7 两个影响因素为选通器的级数以及所使用的物理存储单元的总数, 并假设访存延时与上述 两个影响因素之间的关系为简单多项。
26、式关系 D=a+bmemc+dmuxe, 其中 a,b,c,d,e 为待确 定的常数。 0043 所述关系式拟合模块与所述延时影响因素提取模块和所述物理存储单元配置产 生模块连接, 用于根据所述延时影响因素提取模块提取得到的延时影响因素以及延时测试 结果 (三个表格) , 比如可以利用Matlab中cvfit拟合工具, 拟合得到访存关键路径延时D与 延时影响因素之间的具体数学关系式, 即确定所述假设的多项式中每个常数 (a,b,c,d,e) 的值, 不同种类的 FPGA 芯片因为内部不同的逻辑资源结构、 不同的布线资源结构和不同的 工艺, 曲线拟合所产生的数学关系式也不同, 即不同型号芯片对应。
27、不同的数学关系式。 0044 所述物理存储单元配置产生模块与所述关系式拟合模块连接, 用于根据所述关系 式拟合模块得到的访存关键路径延时 D 与延时影响因素之间的上述关系式和所述输入模 块得到的设计者对映射性能的要求, 对需要的物理存储单元进行配置。 0045 根据本发明的另一方面, 还提出一种现场可编程逻辑芯片 (FPGA) 内部存储器映射 方法, 如图 2 所示, 该方法包括以下步骤 : 0046 步骤1, 根据用户输入的逻辑存储宽度width和深度depth以及每个物理存储单元 的存储容量 cap 初步得到需要的物理存储单元的总数 mem ; 0047 步骤 2, 根据关系式拟合模块拟合。
28、得到的访存关键路径延时 D 与延时影响因素之 间的关系式以及用户输入的时序约束 D, 得到可以满足不等式 a+bmemc+dmuxe D 的最 大选通器的级数 mux ; 0048 步骤 3, 利用用户输入的逻辑存储深度 depth 和最大选通器的级数 mux, 得到关键 路径部分每个物理存储单元的配置深度 dc; 0049 该步骤根据下式计算出所述配置深度 dc: 0050 0051 步骤 4, 根据所述每个物理存储单元的配置深度 dc, 从物理存储单元配置模式中找 到相应的配置宽度 wc; 0052 步骤 5, 根据用户输入的逻辑存储宽度 width 以及所述步骤 4 得到的配置宽度 wc。
29、, 得到构成关键路径的物理存储单元的组数 g ; 0053 该步骤根据下式计算出所述组数 g : 0054 0055 步骤 6, 根据所述步骤 4 得到的配置宽度 wc、 用户输入的逻辑存储宽度 width 以及 所述步骤 5 得到的组数 g, 得到非关键路径部分的位宽 wr; 0056 该步骤根据下式计算出所述位宽 wr: 0057 wr=width-wcg ; 0058 步骤 7, 根据用户选择的优化策略 (功耗最小策略或资源最小策略) 执行相应的步 骤 : 如果用户选择的优化策略为功耗最小策略, 则执行步骤 8-9, 并跳过步骤 10-16, 执行步 骤 17 以及后续步骤 ; 如果用户。
30、选择资源优化策略, 则跳过步骤 8-9 并执行步骤 10-17 以及 后续步骤 ; 说 明 书 CN 103678147 A 7 5/6 页 8 0059 步骤 8, 从物理存储单元配置模式中找到满足式 wM wr的最小物理存储单元配置 位宽 wM; 0060 步骤 9, 根据所述步骤 8 得到的物理存储单元配置位宽 wM和用户输入的逻辑存储 深度 depth, 得到构成非关键路径的物理存储单元的个数 memr; 0061 该步骤根据下式计算出所述构成非关键路径的物理存储单元的个数 memr: 0062 0063 步骤 10, 将物理存储单元的所有配置模式按配置宽度由大到小形成数组 wMi, 。
31、相 应的配置深度形成数组 dMi ; 0064 步骤 11, 按配置位宽由大到小的顺序遍历物理存储单元所有的配置位宽, 根据每 个配置位宽得到构成非关键路径的物理存储单元的初始配置数组 ei ; 0065 该步骤根据下式计算出构成非关键路径的物理存储单元的初始配置数组 ei : 0066 0067 步骤 12, 根据所述步骤 11 得到的初始配置数组 ei 和用户输入的逻辑存储深度 depth, 得到构成非关键路径的物理存储单元总数 memr; 0068 该步骤根据下式计算出构成非关键路径的物理存储单元总数 memr: 0069 0070 步骤 13, 将所述步骤 12 得到的 memr和所述。
32、步骤 11 得到的配置数组 ei 暂存到 存储器 memtemp和 etemp; 0071 步骤 14, 找到满足 etempi 0 的最大索引系数 i, 将 etempi 的值置为零, 且将 etempi-1 加 1 ; 0072 步骤 15, 根据暂存的配置数组 etempi 和用户输入的逻辑存储深度 depth, 得到构 成非关键路径的物理存储单元暂存总数 memtemp; 0073 该步骤根据下式计算出构成非关键路径的物理存储单元暂存总数 memtemp: 0074 0075 步骤 16, 判断如果构成非关键路径的物理存储单元暂存总数 memtemp与构成非关 键路径的物理存储单元总数。
33、 memr满足 : memtemp memr, 则将 memtemp的值赋给 memr, 将数组 etempi 的值赋给 ei, 并重新执行步骤 14-16 ; 否则执行步骤 17 以及后续步骤 ; 0076 步骤 17, 根据组数 g、 选通器级数 mux 以及构成非关键路径的物理存储单元总数 memr, 得到被使用的物理存储单元的总数 mem。 0077 该步骤根据下式计算出被使用的物理存储单元的总数 mem : 0078 mem=g2mux+memr。 0079 至此, 就得到满足用户时序约束的存储单元配置方案。 0080 以上所述的具体实施例, 对本发明的目的、 技术方案和有益效果进行了进一步详 细说明, 所应理解的是, 以上所述仅为本发明的具体实施例而已, 并不用于限制本发明, 凡 说 明 书 CN 103678147 A 8 6/6 页 9 在本发明的精神和原则之内, 所做的任何修改、 等同替换、 改进等, 均应包含在本发明的保 护范围之内。 说 明 书 CN 103678147 A 9 1/2 页 10 图 1 说 明 书 附 图 CN 103678147 A 10 2/2 页 11 图 2 说 明 书 附 图 CN 103678147 A 11 。