低功耗的片上网络芯片技术越来越受到业界的重视,具有很好的发展前景。作为片上网络芯片成为重要作为片上网络芯片设计的关键环节,布图规划方法对于芯片的质量具有决定性的作用。本发明专利技术提出了一种基于多电压技术的专用片上网络芯片的布图规划方法,该方法集成了网络器件的规划,使得芯片的面积、线长以及设计开销得到最优化。其特征在于,依次含有以下步骤:依次包含以下步骤:根据输入的模块电压值信息划分电压岛;通过最小割划分算法实现电压岛内模块的划分以及网络器件的生成;将网络器件作为虚拟模块加入原有模块一起进行布图规划中;通过两阶段的布图规划方法,输出布图结果。
【技术实现步骤摘要】
一种集成网络器件的多电压片上网络芯片的布图规划方法
集成网络器件的多电压片上网络芯片的布图规划方法属于集成电路计算机辅助设计领域,尤其涉及多供电电压分配以及布图规划等物理设计领域。
技术介绍
随着器件特征尺寸的不断减小,芯片的集成度不断增加,功耗密度越来越大。高功耗会不仅会引起电量的损耗,还会带来严重的热问题,甚至引发硬件错误。功耗优化已经成为片上网络芯片的一个关键问题。多供电电压技术是一种降低芯片功耗很好的方法,因为受到很大的关注。多供电电压技术将芯片划分为不同的电压区域(即电压岛),每个电压岛提供特定的供电电压。通过将不重要的器件分配到多供电电压的岛内,可以实现模块运行功耗的优化。图1显示了一个专用片上网络芯片的示意图。在图中,每个模块相当于计算机网络中的计算机节点,而转换器相当于计算机网络中的路由器或交换机,用于实现通信路径的路由、转发等功能,网络接口用于实现模块与转换器通信的协议转换,电压转换器则用于实现不同电压岛之间通信时的电压及频率的转换。一个模块首先要连接到独立的网络接口才能实现通信,转换器的多个接口可以连接到多个的网络接口。每个模块以及网络器件的位置都需要放置在合适的位置,不得当的位置都会对通信功耗造成很大的影响,如图2所示。而这些都是由布图规划和网络器件规划的结果决定的。因此,为了优化芯片的性能,需要将网络器件的规划与布图规划结合起来。
技术实现思路
本专利技术提出了一种集成网络器件的多电压片上网络芯片的布图规划方法,流程图如图3所示,其特征在于,给定初始的模块信息,互连信息以及给定的电压值等,根据电压值将所有模块划分至不同的电压岛,随后在岛内生成网络器件并将网络器件的规划与布图规划一起处理,求解最优的布图结果;在计算机中依次按以下几个步骤实现:步骤(1),读入模块信息,包括模块总数n,模块大小,模块的供电电压值,各模块在供电电压值下的功耗,以及模块之间的通信量;步骤(2),根据输入的模块信息,划分电压岛,步骤如下:步骤(2.1),根据各模块的电压值,将电压值相同的模块分配到同一个集合中;每个集合作为一个电压岛;步骤(2.2),根据步骤(1)中的模块间的通信信息,为每个电压岛生成一张岛内的通信图,图中的每个节点都对应一个模块,节点编号与模块编号相同,图中的边表示相邻模块之间有通信,边上的权值代表通信量;步骤(3),对于每个电压岛,根据该电压岛的通信图,配置相应的转换器,步骤如下:步骤(3.1),假定第k个电压岛通信图Gk中的节点数为nk,通过边权均衡的最小割划分算法将所有节点划分为i个集合,划分步骤如下:步骤(3.1.1),将Gk中节点编号、节点对应的权值,节点之间的边以及边权值输入到最小割划分算法程序中,设定划分集合的数量为i;步骤(3.1.2),将边权值作为划分的代价输入到最小割划分算法的程序中,运行程序,得到i个集合,记录每个集合中节点的编号以及模块的编号;注:边权均衡的最小割算法属已有成果,不属于本专利技术申请的内容,在此不详述。步骤(3.2),将划分集合的数量i从2到nk变化,记录下每个i下的划分方案以及集合间的通信总量,步骤(3.3),选择通信总量最小的i,并将其对应的划分方案作为电压岛k的最终划分结果,步骤(3.4),根据步骤(3.3)的划分结果,为每个划分后的集合分配一个转换器,集合中的模块共享同一个转换器;步骤(4),从步骤(3)得到模块对应的转换器,将转换器看作是一种特殊的模块,与原有模块一起进行两阶段的布图规划,步骤如下:步骤(4.1),设定布图规划的目标代价函数,表示为:Cost=α·Area+β·VIArea+γ·wirelength+λ·ratio公式(9)Area表示布图的面积;VIArea表示所有电压岛边框面积总和;wirelength表示芯片互连的总线长,ratio表示布图结果的长宽比;参数a,β,γ和λ用于权衡各个因素之间的权值,且a+β+γ+λ=1,步骤(4.2),选取合适的布图表示方法CBL,基于模拟退火算法,进行两阶段的布图规划,步骤如下:步骤(4.2.1),布图表示方法是指布图规划阶段的数据结构,选定布图表示方法后,将转换器看为一种特殊的模块,加入到布图表示方法中的模块列表中;注:布图表示方法有许多种,均为已有技术,用户可以自己进行选择,在此不详述。步骤(4.2.2),在模拟退火过程中,将扰动部分分为混合扰动和特殊扰动两个阶段:步骤(4.2.2.1),进行混合扰动,即特殊模块与原有模块统一按照设定的温度范围进行扰动,需要满足以下所有条件:退火温度大于设定的阈值T_threthold,新方案拒绝率低于设定的阈值reject_ratio并且空白区面积比大于设定的阈值ds_ratio;其中,T_threthold,reject_ratio和ds_ratio都是用户定义的阈值;步骤(4.2.2.2),一旦上述条件之一没有满足,则进行特殊扰动,即单独对特殊模块进行扰动;步骤(4.2.3),使用步骤(4.2.1)中的布图表示方法,根据步骤(4.2.2)的扰动方法,运行模块退火算法,得到布图结果;注:模拟退火算法是已有技术,不属于本专利申请的内容,在此不详述。步骤(5),在布图规划结束后,通过最小代价最大流算法实现网络接口的分配,步骤如下:步骤(5.1),将步骤(4.2.3)得到的布图结果中的所有空白区划分为大小相同的网格,网格的尺寸与网络接口的尺寸相同;步骤(5.2),按照如下方法建立最小代价最大流模型:在网络图加入一个源节点s和一个汇聚节点t,n个网络接口节点以及m个所有可达的空白区网格节点;边有三种,分别是:源节点s到每个网络接口节点的边,容量设为1,边权设为0;每个网格节点gj与t的边,容量设为1,边权设为0;每个网络接口节点到可达网格gj的边,容量设为1,边权设为wij,其中wij表示网格gj到网络接口的距离;如图4所示,图4(a)为布图结果,图4(b)为对应的最小代价最大流模型;步骤(5.3),以s为源点,以t为汇点,求解步骤(5.2)所述的最小代价最大流模型,求得模块对应的网络接口最优的网格位置。注:最小代价最大流算法求不属于本专利申请的内容,在此不详述。附图说明图1基于多电压技术的片上网络芯片示意图;图2布图规划的结果对低功耗设计的影响:(a)好的布图结果,(b)不好的布图结果,期望的转换器放置区域;图3低功耗的片上网络芯片布图规划方法的流程图;图4网络接口插入的网络流模型:(a)布图示意图,(b)布图对应的网络流模型;图5低功耗的片上网络芯片布图规划结果:(a)MPEG4布图结果,(b)D_38_tvopd布图结果,具体实施方式本专利能够根据片上网络芯片的模块信息,完成芯片的低功耗设计,并输出布图规划结果和互连结果。所有的实验都是在3.0GHzCPU和4GB内存的服务器上完成的。我们使用了9个测试用例,使用Hmetis工具作为划分软件并使用cs2作为网络流问题的求解工具。给定一个具体的测试用例,以MPEG4为例依次按照以下步骤执行:1、读取初始信息测试用例的输入信息包括三个输入文件,分别是MPEG4.blk(模块的数量,每个模块的名称,以及模块的尺寸大小)、MPER4.net(模块通信网表,记录通信模块标号以及通信量大小)以及MPER本文档来自技高网...
【技术保护点】
一种集成网络器件的多电压片上网络芯片的布图规划方法,其特征在于,给定初始的模块信息,互连信息以及给定的电压值,根据电压值将所有模块划分至不同的电压岛,随后在岛内生成网络器件并将网络器件的规划与布图规划一起处理,求解最优的布图结果,在计算机中依次按以下几个步骤实现:步骤(1),读入模块信息,包括模块总数n,模块大小,模块的供电电压值,各模块在供电电压值下的功耗,以及模块之间的通信量;步骤(2),根据输入的模块信息,划分电压岛,步骤如下:步骤(2.1)根据各模块的电压值,将电压值相同的模块分配到同一个集合中;每个集合作为一个电压岛;步骤(2.2),根据步骤(1)中的模块间的通信信息,为每个电压岛生成一张岛内的通信图,图中的每个节点都对应一个模块,节点编号与模块编号相同,图中的边表示相邻模块之间有通信,边上的权值代表通信量;步骤(3),对于每个电压岛,根据该电压岛的通信图,配置相应的转换器,步骤如下:步骤(3.1),假定第k个电压岛通信图Gk中的节点数为nk,通过边权均衡的最小割划分算法将所有节点划分为i个集合,划分步骤如下:步骤(3.1.1),将Gk中节点编号、节点对应的权值,节点之间的边以及边权值输入到最小割算法程序中,设定划分集合的数量为i;步骤(3.1.2),将边权值作为划分的代价输入到最小割划分算法的程序中,运行程序,得到i个集合,记录每个集合中节点的编号以及模块的编号;步骤(3.2),将划分集合的数量i从2到nk变化,记录下每个i下的划分方案以及集合间的通信总量步骤(3.3),选择通信总量最小的i,并将其对应的划分方案作为电压岛k的最终划分结果。步骤(3.4),根据步骤(3.3)的划分结果,为每个划分后的集合分配一个转换器,集合中的模块共享同一个转换器;步骤(4),从步骤(3)得到模块对应的转换器,将转换器看作是一种特殊的模块,与原有模块一起进行两阶段的布图规划,步骤如下:步骤(4.1)设定布图规划的目标代价函数,表示为:Cost=α·Area+β·VIArea+γ·wirelength+λ·ratio 公式(9)Area表示布图的面积;VIArea表示所有电压岛边框面积总和;wirelength表示芯片互连的总线长,ratio表示布图结果的长宽比;参数a,β,γ和λ用于权衡各个因素之间的权值,且a+β+γ+λ=1。步骤(4.2),选取合适的布图表示方法如CBL,基于模拟退火算法,进行两阶段的布图规划,步骤如下:步骤(4.2.1),布图表示方法是指布图规划阶段的数据结构,选定布图表示方法后,将转换器看为一种特殊的模块,加入到布图表示方法中的模块列表中;步骤(4.2.2),在模拟退火过程中,将扰动部分分为混合扰动和特殊扰动两个阶段:步骤(4.2.2.1),进行混合扰动,即特殊模块与原有模块统一按照设定的温度范围进行扰动,需要满足以下所有条件:退火温度大于设定的阈值T_threthold,新方案拒绝率低于设定的阈值reject_ratio并且空白区面积比大于设定的阈值ds_ratio;其中,T_threthold,reject_ratio和ds_ratio都是用户定义的阈值;步骤(4.2.2.2),一旦上述条件之一没有满足,则进行特殊扰动,即单独对特殊模块进行扰动;步骤(4.2.3),使用步骤(4.2.1)中的布图表示方法,根据步骤(4.2.2)的扰动方法,运行模块退火算法,得到布图结果;步骤(5),在布图规划结束后,通过最小代价最大流算法实现网络接口的分配,步骤如下:步骤(5.1),将步骤(4.2.3)得到的布图结果中的所有空白区划分为大小相同的网格,网格的尺寸与网络接口的尺寸相同;步骤(5.2),按照如下方法建立最小代价最大流模型:在网络图加入一个源节点s和一个汇聚节点t,n个模块节点以及m个所有可达的空白区网格节点;边有三种,分别是:源节点s到每个模块节点网络接口的边,容量设为1,边权设为0;每个网格节点gj与t的边,容量设为1,边权设为0;每个模块网络接口到可达网格gj的边,容量设为1,边权设为wij,其中wij表示网格gj到网络接口的距离;步骤(5.3),以s为源点,以t为汇点,求解步骤(5.2)所述的最小代价最大流模型,求得模块对应的网络接口最优的网格位置。...
【技术特征摘要】
1.一种集成网络器件的多电压片上网络芯片的布图规划方法,其特征在于,给定初始的模块信息,互连信息以及给定的电压值,根据电压值将所有模块划分至不同的电压岛,随后在岛内生成网络器件并将网络器件的规划与布图规划一起处理,求解最优的布图结果,在计算机中依次按以下几个步骤实现:步骤(1),读入模块信息,包括模块总数n,模块大小,模块的供电电压值,各模块在供电电压值下的功耗,以及模块之间的通信量;步骤(2),根据输入的模块信息,划分电压岛,步骤如下:步骤(2.1)根据各模块的电压值,将电压值相同的模块分配到同一个集合中;每个集合作为一个电压岛;步骤(2.2),根据步骤(1)中的模块间的通信信息,为每个电压岛生成一张岛内的通信图,图中的每个节点都对应一个模块,节点编号与模块编号相同,图中的边表示相邻模块之间有通信,边上的权值代表通信量;步骤(3),对于每个电压岛,根据该电压岛的通信图,配置相应的转换器,步骤如下:步骤(3.1),假定第k个电压岛通信图Gk中的节点数为nk,通过边权均衡的最小割划分算法将所有节点划分为i个集合,划分步骤如下:步骤(3.1.1),将Gk中节点编号、节点对应的权值,节点之间的边以及边权值输入到最小割划分算法程序中,设定划分集合的数量为i;步骤(3.1.2),将边权值作为划分的代价输入到最小割划分算法的程序中,运行程序,得到i个集合,记录每个集合中节点的编号以及模块的编号;步骤(3.2),将划分集合的数量i从2到nk变化,记录下每个i下的划分方案以及集合间的通信总量,步骤(3.3),选择通信总量最小的i,并将其对应的划分方案作为电压岛k的最终划分结果,步骤(3.4),根据步骤(3.3)的划分结果,为每个划分后的集合分配一个转换器,集合中的模块共享同一个转换器;步骤(4),从步骤(3)得到模块对应的转换器,将转换器看作是一种特殊的模块,与原有模块一起进行两阶段的布图规划,步骤如下:步骤(4.1)设定布图规划的目标代价函数,表示为:Cost=α·Area+β·VIArea+γ·wirelength+λ·ratio公式(9)Area表示...
【专利技术属性】
技术研发人员:董社勤,王侃,
申请(专利权)人:清华大学,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。