一种高层次综合方法以及系统的制作方法

文档序号:6441864阅读:183来源:国知局
专利名称:一种高层次综合方法以及系统的制作方法
技术领域
本发明涉及一种设计硬件电路结构的方法以及系统,尤其是一种基于兼容图的调度和资源分配相结合的高层次综合方法以及系统。
背景技术
在高层次综合领域中调度和资源分配算法流程是研究中的热点。调度算法按照其实现方法分类,主要可以分为构造法、变换法和整数线性规划法。 所述构造法是每次先选择一个操作,再选择一个适当的控制步,然后将该操作调度到选定的控制步中,直到所有的操作都被调度完成,然而,构造法的关键是如何选择下一步的调度操作,以及如何选择合适的控制步来放置选定的操作;所述变换法是首先选用简单易实现的调度算法(例如ASAP)获得一个最初的调度方案,然后对该调度方案进行迭代变换,用来得到最优的调度结果;所述整数线性规划(ILP)法是将调度问题转化为整数线性规划问题进行求解。而对于高层次综合中的资源分配可以采用图论算法、整数线性规划等方法进行解决。这与解决调度的方法类似。所述图论算法主要包括团划分算法、权重二分图算法、兼容图算法等。常规的高层次综合系统都是分别进行调度和资源分配。可是,由于在执行调度的过程中,其设计约束通常是根据人工的经验确定产生的,其一般只包括硬件资源数目信息, 而不包括硬件互连信息,因此,通过这种系统产生的电路结构,其往往并不能满足面积最优的设计需求。

发明内容
为了解决上述存在的技术问题,本发明的目的是提供一种满足设计硬件电路结构面积最优的高层次综合方法。本发明的另一个目的是提供一种满足设计硬件电路结构面积最优的高层次综合系统。本发明采用的技术方案是一种高层次综合方法,所述方法步骤包括
A、获取数字电路行为描述,进而生成数据流B、根据数据流图,进行硬件资源预分配,进而生成资源约束列表;
C、根据资源约束列表以及数据流图,进行调度;
D、根据调度的结果进行资源分配;
E、根据资源分配结果以及调度结果生成硬件电路结构。进一步,所述步骤B采用兼容图算法进行预分配。进一步,所述步骤B包括
Bi、根据数据流图构建兼容图,以及建立资源约束列表; B2、根据兼容图查找最长路径;
B3、根据查找的最长路径,将所述最长路径涉及的各个节点依次放入资源约束列表中;
B4、根据查找的最长路径,在兼容图中删除所述最长路径中涉及的节点以及边,并且对兼容图中剩余的各边的权重进行重新计算;
B5、判断兼容图中是否还存在节点,若存在,返回执行步骤B2 ;若不存在,生成资源约束列表,步骤B结束。进一步,所述步骤B2采用最长路径算法查找最长路径。进一步,所述步骤Bl构建兼容图中包括构建兼容图的节点、兼容图的边以及各边的权重。进一步,所述兼容图的边是根据两个节点之间是否存在数据依赖关系或共同输入端口进行构建。进一步,构建各边权重的计算方法为 wi; J= ( α *dependencyi;J.+ ^ ^NINi j)
其中α、β为系数,d印endencyy为布尔值,i和j为任意两个节点,若节点i和j有数据依赖关系,则cbpendencyy为1,没有则为0 ;NINiij为整数,代表节点i和j所共有的输入端口数目。本发明采用的另一个技术方案是一种高层次综合系统,包括 数据流图生成单元,用于获取数字电路行为描述,进而生成数据流预分配单元,用于根据数据流图,进行硬件资源预分配,进而生成资源约束列表; 调度单元,用于根据资源约束列表以及数据流图,进行调度; 资源分配单元,用于根据调度的结果进行资源分配; 电路生成单元,用于根据资源分配结果以及调度结果生成硬件电路结构。进一步,所述预分配单元包括
构图表模块,用于根据数据流图构建兼容图,以及建立资源约束列表; 查找模块,用于根据兼容图查找最长路径;
修改模块,用于根据查找的最长路径,将最长路径涉及的各个节点依次放入资源约束列表中,以及在兼容图中删除最长路径中涉及的节点以及边,并且对兼容图中剩余的各边的权重进行重新计算;
判断执行模块,用于判断兼容图中是否还存在节点,若存在,返回查找模块;若不存在, 生成资源约束列表,并提供资源约束列表给调度单元。本发明的有益效果是通过使用本发明,在执行调度时不仅包括硬件资源数目信息,还包括硬件互连的信息,而且剔除由人工经验确定调度中资源约束的工序,因此,这样能够更加快速地生成硬件电路结构,而且有效地减少了硬件电路结构中的互连开销。本发明的另一个有益效果是通过使用本发明,在执行调度时不仅包括硬件资源数目信息,还包括硬件互连的信息,而且剔除由人工经验确定调度中资源约束的工序,因此,这样能够更加快速地生成硬件电路结构,而且有效地减少了硬件电路结构中的互连开销。


下面结合附图对本发明的具体实施方式
作进一步说明图1是本发明的步骤流程图; 图2是本发明步骤B的子步骤流程图; 图3是本发明的数据流图示意图; 图4是本发明的兼容图示意图; 图5是本发明预分配中兼容图的最长路径示意图; 图6是本发明预分配中生成的资源约束列表示意图; 图7是本发明的系统框图; 图8是本发明预分配单元的子系统框图。
具体实施例方式由图1和图2可知,一种高层次综合方法,所述方法步骤包括
A、获取数字电路行为描述,进而生成数据流B、根据数据流图,进行硬件资源预分配,进而生成资源约束列表;
C、根据资源约束列表以及数据流图,进行调度;
D、根据调度的结果进行资源分配;
E、根据资源分配结果以及调度结果生成硬件电路结构。上述的数据流图如图3所示,图中节点表示不同类型的操作,箭头表示数据流的方向,即各个操作之间的数据依赖关系;所述调度是将操作调配给各个控制步的过程,所述资源分配是将操作分配给相应功能单元进行计算、将变量分配给特定的功能单元进行存储以及将互连线分配给多路器、总线等互连资源进行通信的过程。进一步作为优选的实施方式,所述步骤B采用兼容图算法进行预分配。进一步作为优选的实施方式,所述步骤B包括 Bi、根据数据流图构建兼容图,以及建立资源约束列表; B2、根据兼容图查找最长路径;
B3、根据查找的最长路径,将所述最长路径涉及的各个节点依次放入资源约束列表
中;
B4、根据查找的最长路径,在兼容图中删除所述最长路径中涉及的节点以及边,并且对兼容图中剩余的各边的权重进行重新计算;
B5、判断兼容图中是否还存在节点,若存在,返回执行步骤B2 ;若不存在,即表示兼容图中所有节点均已被放入资源约束列表中,生成资源约束列表,步骤B结束,即表示预分配结束。进一步作为优选的实施方式,所述步骤B2采用最长路径算法查找最长路径。进一步作为优选的实施方式,所述步骤Bl构建兼容图中包括构建兼容图的节点、 兼容图的边以及各边的权重。所述兼容图的节点与所述数据流图的节点一样,均表示不同类型的操作。进一步作为优选的实施方式,所述兼容图的边是根据两个节点之间是否存在数据依赖关系或共同输入端口进行构建。进一步作为优选的实施方式,构建各边权重的计算方法为 W= ( α *dependencyi;J+^ ^NINi j)其中α、β为系数,d印endencyy为布尔值,i和j为任意两个节点,若节点i和j有数据依赖关系,则cbpendencyy为1,没有则为0 ;NINiij为整数,代表节点i和j所共有的输入端口数目。例如,如图4所示,步骤B是进行关于加法操作的预分配,兼容图中的节点表示一个加法操作,每条边代表两个操作具有共享同一个硬件资源的可能性。因此,由图可知共有四个加法操作,分别对应于兼容图中的节点(η ,π2,π3和π5)。另外,操作η ,π2和η3与操作η5具有数据依赖关系,操作n2和n3具有共同的输入端口,所以利用边将上述关系表示出来。接下来需要计算每条边上的权重,以边η2 — η3为例,因为它们之间没有数据依赖关系,所以cbpendencyn2,n3为0,又因为它们之间具有一个共同的输入端口 in_3,所以NINn2,n3 为1。在这里选取α =1,β =2,因此,边η2 — η3的权重为^^^=( α * d印endencyn2,n3 +β * NINn2jn3) =(1 * 0 + 2 * 1) =2。如图5所示,其是预分配中兼容图的最长路径示意图。它是根据图4所示的兼容图,采用最长路径算法(The Longest Path Algorithm)在兼容图中查找的最长路径 n2 — n3 — n50如图6所示的资源约束列表,其表示兼容图中的所有加法操作,即所有节点,需要使用两个加法器,其中操作n2、n3以及η5共享一个加法器,操作nl使用一个加法器。由图7和图8可知,一种高层次综合系统,包括
数据流图生成单元,用于获取数字电路行为描述,进而生成数据流图; 预分配单元,用于根据数据流图,进行硬件资源预分配,进而生成资源约束列表; 调度单元,用于根据资源约束列表以及数据流图,进行调度; 资源分配单元,用于根据调度的结果进行资源分配; 电路生成单元,用于根据资源分配结果以及调度结果生成硬件电路结构。进一步作为优选的实施方式,所述预分配单元包括
构图表模块,用于根据数据流图构建兼容图,以及建立资源约束列表; 查找模块,用于根据兼容图查找最长路径;
修改模块,用于根据查找的最长路径,将最长路径涉及的各个节点依次放入资源约束列表中,以及在兼容图中删除最长路径中涉及的节点以及边,并且对兼容图中剩余的各边的权重进行重新计算;
判断执行模块,用于判断兼容图中是否还存在节点,若存在,返回查找模块;若不存在, 生成资源约束列表,并提供资源约束列表给调度单元。以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
权利要求
1.一种高层次综合方法,其特征在于该方法步骤包括A、获取数字电路行为描述,进而生成数据流图;B、根据数据流图,进行硬件资源预分配,进而生成资源约束列表;C、根据资源约束列表以及数据流图,进行调度;D、根据调度的结果进行资源分配;E、根据资源分配结果以及调度结果生成硬件电路结构。
2.根据权利要求1所述的一种高层次综合方法,其特征在于所述步骤B采用兼容图算法进行预分配。
3.根据权利要求1或2所述的一种高层次综合方法,其特征在于所述步骤B包括 Bi、根据数据流图构建兼容图,以及建立资源约束列表;B2、根据兼容图查找最长路径;B3、根据查找的最长路径,将所述最长路径涉及的各个节点依次放入资源约束列表中;B4、根据查找的最长路径,在兼容图中删除所述最长路径中涉及的节点以及边,并且对兼容图中剩余的各边的权重进行重新计算;B5、判断兼容图中是否还存在节点,若存在,返回执行步骤B2 ;若不存在,生成资源约束列表,步骤B结束。
4.根据权利要求3所述的一种高层次综合方法,其特征在于所述步骤B2采用最长路径算法查找最长路径。
5.根据权利要求3所述的一种高层次综合方法,其特征在于所述步骤Bl构建兼容图中包括构建兼容图的节点、兼容图的边以及各边的权重。
6.根据权利要求5所述一种高层次综合方法,其特征在于所述兼容图的边是根据任意两个节点之间是否存在数据依赖关系或共同输入端口进行构建。
7.根据权利要求5所述一种高层次综合方法,其特征在于构建各边权重的计算方法为Wij J= (a* (Iependencyi, j+β *NINi; ρ其中α、β为系数,d印endencyy为布尔值,i和j为任意两个节点,若节点i和j有数据依赖关系,则cbpendencyy为1,没有则为0 ;NINiij为整数,代表节点i和j所共有的输入端口数目。
8.一种高层次综合系统,其特征在于所述系统包括数据流图生成单元,用于获取数字电路行为描述,进而生成数据流图; 预分配单元,用于根据数据流图,进行硬件资源预分配,进而生成资源约束列表; 调度单元,用于根据资源约束列表以及数据流图,进行调度; 资源分配单元,用于根据调度的结果进行资源分配; 电路生成单元,用于根据资源分配结果以及调度结果生成硬件电路结构。
9.根据权利要求8所述一种高层次综合系统,其特征在于所述预分配单元包括 构图表模块,用于根据数据流图构建兼容图,以及建立资源约束列表;查找模块,用于根据兼容图查找最长路径;修改模块,用于根据查找的最长路径,将最长路径涉及的各个节点依次放入资源约束列表中,以及在兼容图中删除最长路径中涉及的节点以及边,并且对兼容图中剩余的各边的权重进行重新计算;判断执行模块,用于判断兼容图中是否还存在节点,若存在,返回查找模块;若不存在, 生成资源约束列表,并提供资源约束列表给调度单元。
全文摘要
本发明公开了一种高层次综合方法以及系统,该系统包括数据流图生成单元、预分配单元、调度单元、资源分配单元以及电路生成单元。该方法是首先获取数字电路行为描述,进而生成数据流图,然后进行硬件资源预分配,进而生成资源约束列表,跟着进行调度以及资源分配,最后生成硬件电路结构。通过使用本发明,在执行调度时不仅包括硬件资源数目信息,还包括硬件互连的信息,而且能够免除人工确定调度约束,因此,这样能够更加快速地生成硬件电路结构,而且有效地减少了硬件电路结构中的互连开销。本发明作为一种高层次综合方法以及系统广泛应用在设计硬件电路结构领域中。
文档编号G06F17/50GK102419789SQ20111042331
公开日2012年4月18日 申请日期2011年12月16日 优先权日2011年12月16日
发明者王自鑫, 郑洪滨, 陈弟虎 申请人:中山大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1