一种数字大规模集成电路的资源共享系统及方法技术方案

技术编号:7098667 阅读:202 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种数字大规模集成电路的资源共享系统及方法,属于数字大规模集成电路领域。该数字大规模集成电路的资源共享方法,包括:步骤10,在寄存器传输级设定所需要的加法器数目;步骤20,将每一个时钟周期的运算映射到指定的运算单元电路上,通过多路开关来选择运算单元的输入,避免出现组合环或者虚假关键路径。本发明专利技术可以降低EDA工具综合时运行时间,降低综合电路的面积和功耗。

【技术实现步骤摘要】

本专利技术涉及数字大规模集成电路
,尤其涉及。
技术介绍
随着半导体工艺的飞速发展,数字大规模集成电路的应用得到了长足发展,处理器、通讯系统以及消费电子引领着集成电路融入了生活的各个方面。与此同步,随着集成电路的规模的变大,对电子设计自动化(EDA)工具的依赖性也越来越大,数字电路设计者把精力从最初的电路级逐步转移到今天的模块级、系统级,其余的任务主要是依靠EDA工具来完成。目前的EDA工具虽然在流程上已经非常成熟,但是对于某些电路中的关键模块, 单纯的依赖于EDA工具并不是最优的,需要进行人为优化。尤其是诸如快速傅里叶变换 (FFT)此类运算密集型硬件电路中,运算单元是面积和功耗开销的主要部分之一。如果将运算单元在不同的时钟进行共享,而利用多路复用器根据不同的条件对输入进行选择,这对于降低硬件电路面积与功耗有着非常重要的意义。目前,在用硬件描述语言实现硬件电路时,可以有两种风格。第一,每一个算术逻辑运算都在RTL代码中用具体的运算符来表示,让综合工具自动优化算术逻辑单元的数目;第二,人为设定所需要的算术逻辑单元数目,通过多路开关来选择加法器的输入进行加法器资源共享。对于第二种方法,在固定运算单元数目的前提下,如何把表中每一个时钟周期的加减法映射到指定的硬件电路上,这是一个比较复杂的问题。否则电路很容易出现组合环或者不必要的关键路径,影响电路性能和功能。
技术实现思路
为了解决上述的技术问题,提供了,其目的在于,针对现有综合技术的不足,给出了一种在综合过程中提高资源共享度,避免组合环和虚假关键路径的方法来降低硬件电路开销。本专利技术提供了一种数字大规模集成电路的资源共享方法,所述方法包括步骤10,在寄存器传输级设定所需要的加法器数目;步骤20,将每一个时钟周期的运算映射到指定的运算单元电路上,通过多路开关来选择运算单元的输入,所选择的运算单元形成的运算单元电路中不存在组合环或者虚假关键路径。所述步骤20具体包括步骤21 找出每种工作条件下运算单元的连接关系以及关键路径,每个运算单元作为一个节点并形成树状结构;所述关键路径的第一个节点为父节点,其深度等级为0 ;所述关键路径的最后一个节点为终端节点,其深度等级最大;所述父节点与终端节点之间的节点为子节点;所述关键路径为延时最长的路径;步骤22 确定所有子节点的深度等级;步骤23 通过多路开关来选择运算单元的输入时,根据所述树状结构对不同节点进行数据通路相连,但是同一深度级的节点之间以及子节点到父节点之间不能进行数据通路相连,只允许从父节点到其下层节点之间进行数据通路相连。所述步骤23之后还包括计算所述父节点和所述终端节点之间所形成的每条分支的最大运算单元个数,选择所述父节点和所述终端节点之间所形成的每条分支的运算单元个数最小的树状结构作为最优树状结构。步骤10中,根据各运算条件所需的加法器的数量,最大的加法器的数量即为寄存器传输级所需要的加法器数目。本专利技术提供了一种数字大规模集成电路的资源共享系统,所述系统包括加法器数目确定模块,用于在寄存器传输级设定所需要的加法器数目;调度模块,用于将每一个时钟周期的运算映射到指定的运算单元电路上,通过多路开关来选择运算单元的输入,所选择的运算单元形成的运算单元电路中不存在出现组合环或者虚假关键路径。所述调度模块,用于找出每种工作条件下运算单元的连接关系以及关键路径,每个运算单元作为一个节点并形成树状结构;确定所有子节点的深度等级;通过多路开关来选择运算单元的输入时,根据树状结构对不同节点进行数据通路相连,但是同一级的节点之间以及子节点到父节点之间不能连线,只允许从父节点到其下层节点之间相连;其中,所述关键路径的第一个节点为父节点,其深度等级为0 ;所述关键路径的最后一个节点为终端节点,深度等级最大;所述父节点与终端节点之间的节点为子节点;所述关键路径为延时最长的路径。所述调度模块,还用于计算所述父节点和所述终端节点之间形成的每条分支的最大运算单元个数,选择所述父节点和所述终端节点之间形成的每条分支的运算单元个数最小的树状结构作为最优树状结构。寄存器传输级所需要的加法器数目为根据各运算条件所需的加法器的数量中的最大的加法器的数量。本专利技术可以降低EDA工具综合时运行时间,降低综合电路的面积和功耗,能够提高资源共享度并降低硬件电路开销。附图说明图1为本专利技术实施例提供的数字大规模集成电路的资源共享方法流程图;图2为本专利技术第一实例的直接硬件映射结果;图3为本专利技术第一实例的资源共享方法结果一;图4为本专利技术第一实例的资源共享方法结果二 ;图5为本专利技术第一实例的资源共享方法结果三;图6为本专利技术第二实例的两种不同资源共享机制的比较示意图。具体实施例方式本专利技术提供的技术数字大规模集成电路的资源共享方法包括在寄存器传输级确定硬件实现复杂度高的运算单元,然后把每一个时钟周期的运算映射到指定的运算单元电路上,通过多路开关来选择运算单元的输入,避免出现组合环或者虚假关键路径,降低硬件电路的开销。参见图1,本专利技术实施例提供了一种数字大规模集成电路的资源共享方法,具体包括以下步骤步骤1 找出每种工作条件下运算单元的连接关系以及延时最长的路径,也即关键路径,形成树状结构。步骤2 每个运算单元看作一个节点。关键路径的第一个节点称作父节点,其深度为0 ;最后一个节点称作终端节点,深度等级最大;其余为子节点。步骤3 对于子节点把其上一节点作为本节点的父节点,下一节点作为本节点的子节点,按照步骤2继续迭代,并为其父节点和终端节点指点深度等级,直到所有的节点都有确定的深度等级。步骤4 根据步骤1中的树状结构对不同节点进行数据通路相连,但是同一级的节点之间以及子节点到父节点之间不能连线,只允许从父节点到其下层节点之间相连。步骤5 将步骤4映射成的树状结构,计算父节点和终端节点每条分支之间的最大运算单元个数,选择父节点和终端节点每条分支之间的运算单元个数最小的树状结构,即为最优树状结构。通过以下具体实施例,本专利技术的方法可以得到详细的阐明。第一实例对于下面的RTL代码,把if分支称作条件1,把else分支称作条件2,其中条件1 和条件2下的逻辑可以映射为图2左右两部分所示的硬件架构。即条件1下,al与a2之和用加法器Ul来实现,其和为tmpl ;tmpl与a3之和用加法器U2来实现,其和为tmp2 ;tmpl 与a4之和用加法器U3来实现,其和为tmp3 ; tmp2与tmp3之和用加法器U4来实现,其和为 rel。条件2下,a5与a6之和用加法器U5来实现,其和为tmp4 ;tmp4与a7之和用加法器 U6来实现,其和为re2。if (conditionl == 1) begintmpl = al 与 a2 ;tmp2 = a3+tmpl ;tmp3 = tmpl+a4 ;rel = tmp2+tmp3 ;endelse if (condition2 == 2)begintmp4a5+a6 ;re2 = tmp4+a7 ;end.................可以看出,在条件1下需要4个加法器,而条件2需要2个加法器。但这两个条件不会同时成立,如果在这两种条件下进行硬件资源共享,最多只需要4个加法器就足够了。 图3-图5分别给出了三种不同的资源共享方法本文档来自技高网...

【技术保护点】
1.一种数字大规模集成电路的资源共享方法,其特征在于,所述方法包括:步骤10,在寄存器传输级设定所需要的加法器数目;步骤20,将每一个时钟周期的运算映射到指定的运算单元电路上,通过多路开关来选择运算单元的输入,所选择的运算单元形成的运算单元电路中不存在组合环或者虚假关键路径。

【技术特征摘要】

【专利技术属性】
技术研发人员:乔树山黑勇
申请(专利权)人:中国科学院微电子研究所
类型:发明
国别省市:11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1