高层次综合中的非平衡多路器及其构建方法

文档序号:6368884阅读:295来源:国知局
专利名称:高层次综合中的非平衡多路器及其构建方法
技术领域
本发明涉及在高层次综合中的资源配置方式,具体涉及一种非平衡多路器及其构建方法。
背景技术
在高层次综合的研究中,生成的数字电路系统包含功能子模块和存储单元,各个子模块之间以及子模块与存储单元之间常常会发生数据的交流,高层次综合在配置资源的过程中会生成多路器来控制或者选通各个子模块和相应的模块或存储单元来进行数据的传递。在传统的高层次综合系统中各个子模块间是通过多路选通器实现其互连和选通,在系统的自动综合过程中一定输入的多路选通器是构成复杂多路器的基本单元,对于输入路数大于一定值输入的多路选通器都是由这种基本单元互连组成如图3所示,因此在这样的系统中多路选通器的每一路输入到输出延时是一个固定值。在系统运行时,各个子模块之间或者子模块与存储单元间访问多路器的操作频率是不一样的,系统的总延时是各个多路器每一路延时乘上总的访问频率,访问频率越高的操作则使得系统的总延时越大。因此在现有高层次综合技术中传统多路器的存在使得系统的速度难以得到提高。

发明内容
为了解决上述现有技术中所存在的技术问题,本发明的首要目的在于提供一种自动构建非平衡多路器的方法,同时提供一种比普通多路器性能更高、延时更小、配置更灵活的非平衡多路器树。本发明解决其技术问题所采用的技术方案是
一种非平衡多路器的构建方法,其特征在于包括以下步骤
a)、获取数字电路行为描述,进而获得高层次信息及程序总体运行信息;
b)、从步骤a所收集到的信息中提取各子模块访问多路器操作的频率,生成访问多路器操作频率的列表;
C)、根据步骤b中得出的各个子模块访问多路器的操作频率的列表,计算各子模块权重,并将其按照权重设置优先级;
d)、根据步骤c得出的不同的优先级给多路器树分配资源,将优先级高的子模块连接在多路器树路径短的那一支,将优先级低的子模块连接在多路器路径长的那一支;
e)、重新计算连接在非平衡多路器树上各个子模块的权重,再按照步骤c和步骤d反复迭代直到最后获得稳定的最优解。作为上述技术方案的进一步改进,在步骤c中,首先算出高层次综合工具在调度前各个子模块所具有的调度区间值,将调度区间和步骤b中获得的操作频率相乘则得到各个子模块的权重,再将权重分为若干优先级,优先级的数目视具体的程序而定。作为上述技术方案的进一步改进,在步骤d中,首先判断各个模块的优先级,相同优先级的子模块在多路器树中所占据的路径长度相等,再根据输入端口数和优先级的级数来插入多路器树,将优先级最高的子模块接在多路器树中路径最短的那支上,将优先级最低的子模块接在多路器树中路径最长的那支上,其他优先级的子模块则根据输入端口数的大小选择能够覆盖完所有端口的最少多路器的组合来实现。—种非平衡多路器树,由所述的非平衡多路器树的构建方法构建而成,其特征在于所述的非平衡多路器树的输入和输出的路径长度不等长,每一路上的寄存器个数不同,每一路延时的周期不同。该非平衡多路器树在不改变输入端口数目的情况下,能够做到每一条输入到输出的路径长度不同,在数字系统中多路器的输出都会连一个寄存器来存取数据以消除因数据延时产生的传输错误,不同的路径长度意味着每一路的寄存器个数不同,既每一路延时的周期不同。在高层次综合时将最短的路径分配给访问多路器操作最频繁的子模块,将最长路径分配给访问多路器操作最少的子模块,这样就可以根据程序的特点合理的控制输入到输出的延时,减小系统总体的运行时间,加快系统运行速度。本发明的有益效果是这种非平衡多路器的构建方法能够自动获取运行程序的信 息并进行访问多路器的操作分析,根据分析的结果将规则生成的多路选通器树根据需要变成非平衡的多路选通器树,使得访问多路选通器操作频率最高的路径延时最小,从而大大降低了系统总的延时,提高了系统的运行速度。


下面结合附图和实施例对本发明进一步说明。图I是本发明的原理框 图2是非平衡多路器树的结构示意 图3是传统平衡多路选通器树的结构示意图。
具体实施例方式下面结合附图对本发明作进一步地详细说明,但本发明的实施方式不限于此。如图I所示,本发明提供的一种非平衡多路器构建方法,其实施过程包括以下步骤
a)、获取数字电路行为描述,进而获得高层次信息及程序总体运行信息;
b)、从步骤a所收集到的信息中提取各子模块访问多路器操作的频率,生成访问多路器操作频率的列表;
C)、根据步骤b中得出的各个子模块访问多路器的操作频率的列表,计算各子模块权重,并将其按照权重设置优先级;
d)、根据步骤c得出的不同的优先级给多路器树分配资源,将优先级高的子模块连接在多路器树路径短的那一支,将优先级低的子模块连接在多路器路径长的那一支;
e)、重新计算连接在非平衡多路器树上各个子模块的权重,再按照步骤c和步骤d反复迭代直到最后获得稳定的最优解。上述构建方法中,执行步骤c的具体方法为首先高层次综合工具在调度前会算出各个子模块所具有的调度区间值,将调度区间和步骤b中获得的操作频率相乘则得到各个子模块的权重,再将权重分为若干优先级,优先级的数目视具体的程序而定。执行步骤d的具体方法为首先判断各个模块的优先级,相同优先级的子模块在多路器树中所占据的路径长度相等,再根据输入端口数和优先级的级数来插入多路器树,将优先级最高的子模块接在多路器树中路径最短的那支上,将优先级最低的子模块接在多路器树中路径最长的那支上,其他优先级的子模块则根据输入端口数的大小选择能够覆盖完所有端口的最少多路器的组合来实现。步骤e的特征在于,由于在原有结构中插入了非平衡多路器树,系统的时序信息发生了改变,而调度前计算的调度区间受时序信息的影响,因此调度区间的值发生了改变,于是又产生了优化的可能,所以高层次综合工具需要通过不断的迭代步骤e来获得最优的,延时最小的带非平衡多路器的系统。
参照图2,本发明提供的一种非平衡多路器树,由所述的非平衡多路器树的构建方法构建而成,其特征在于非平衡多路器树的输入和输出的路径长度不等长,每一路上的寄存器个数不同,每一路延时的周期不同。该非平衡多路器树在不改变输入端口数目的情况下,能够做到每一条输入到输出的路径长度不同,在数字系统中多路器的输出都会连一个寄存器来存取数据以消除因数据延时产生的传输错误,不同的路径长度意味着每一路的寄存器个数不同,既每一路延时的周期不同,在高层次综合时将最短的路径分配给访问多路器操作最频繁的子模块,将最长路径分配给访问多路器操作最少的子模块,这样就可以根据程序的特点合理的控制输入到输出的延时;而传统的多路器树如图3所示,所有输入到输出的路径长度都相等,每一路的延时周期相同,假设输入A到输出C的操作频率为1000次,输入B到输出C的操作频率为3次,在图2中系统总的延时为1000+3*3=1009个周期,而在图3中系统总的延时为1000*2+3*2=2006个周期,由此可见非平衡多路器树就可以根据程序的特点合理的控制输入到输出的延时,减小系统总体的运行时间,加快系统运行速度。以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
权利要求
1.一种非平衡多路器的构建方法,其特征在于包括以下步骤 a)、获取数字电路行为描述,进而获得高层次信息及程序总体运行信息; b)、从步骤a所收集到的信息中提取各子模块访问多路器操作的频率,生成访问多路器操作频率的列表; C)、根据步骤b中得出的各个子模块访问多路器的操作频率的列表,计算各子模块权重,并将其按照权重设置优先级; d)、根据步骤c得出的不同的优先级给多路器树分配资源,将优先级高的子模块连接在多路器树路径短的那一支,将优先级低的子模块连接在多路器路径长的那一支; e)、重新计算连接在非平衡多路器树上各个子模块的权重,再按照步骤c和步骤d反复 迭代直到最后获得稳定的最优解。
2.根据权利要求I所述的非平衡多路器树的构建方法,其特征在于在步骤c中,首先算出高层次综合工具在调度前各个子模块所具有的调度区间值,将调度区间和步骤b中获得的操作频率相乘则得到各个子模块的权重,再将权重分为若干优先级,优先级的数目视具体的程序而定。
3.根据权利要求I所述的非平衡多路器树的构建方法,其特征在于在步骤d中,首先判断各个模块的优先级,相同优先级的子模块在多路器树中所占据的路径长度相等,再根据输入端口数和优先级的级数来插入多路器树,将优先级最高的子模块接在多路器树中路径最短的那支上,将优先级最低的子模块接在多路器树中路径最长的那支上,其他优先级的子模块则根据输入端口数的大小选择能够覆盖完所有端口的最少多路器的组合来实现。
4.一种非平衡多路器树,由上述权利要求I所述的非平衡多路器树的构建方法构建而成,其特征在于所述的非平衡多路器树的输入和输出的路径长度不等长,每一路上的寄存器个数不同,每一路延时的周期不同。
全文摘要
本发明公开了一种构建非平衡多路器的方法,包括以下步骤读取数字电路行为描述,获取程序总体运行信息;生成各子模块访问多路器操作频率的列表;将各子模块按照其操作频率排序,其优先级按照频率由高到低一次排序;根据优先级构建非平衡多路器树,使优先级高的经过多路器的延时小。本发明还提供了一种与上述方法相对应的非平衡多路器。通过本发明可以在高层次综合过程中优化资源配置,提高硬件性能。
文档编号G06F13/38GK102722460SQ201210131758
公开日2012年10月10日 申请日期2012年5月2日 优先权日2012年5月2日
发明者李俊逸, 郑洪滨, 陈弟虎 申请人:中山大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1