CN103970934B - 一种集成网络器件的多电压片上网络芯片的布图规划方法 - Google Patents
一种集成网络器件的多电压片上网络芯片的布图规划方法 Download PDFInfo
- Publication number
- CN103970934B CN103970934B CN201410123217.1A CN201410123217A CN103970934B CN 103970934 B CN103970934 B CN 103970934B CN 201410123217 A CN201410123217 A CN 201410123217A CN 103970934 B CN103970934 B CN 103970934B
- Authority
- CN
- China
- Prior art keywords
- module
- chip
- voltage
- butut
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Supply And Distribution Of Alternating Current (AREA)
Abstract
低功耗的片上网络芯片技术越来越受到业界的重视,具有很好的发展前景。作为片上网络芯片成为重要作为片上网络芯片设计的关键环节,布图规划方法对于芯片的质量具有决定性的作用。本发明提出了一种基于多电压技术的专用片上网络芯片的布图规划方法,该方法集成了网络器件的规划,使得芯片的面积、线长以及设计开销得到最优化。其特征在于,依次含有以下步骤:依次包含以下步骤:根据输入的模块电压值信息划分电压岛;通过最小割划分算法实现电压岛内模块的划分以及网络器件的生成;将网络器件作为虚拟模块加入原有模块一起进行布图规划中;通过两阶段的布图规划方法,输出布图结果。
Description
技术领域
集成网络器件的多电压片上网络芯片的布图规划方法属于集成电路计算机辅助设计领域,尤其涉及多供电电压分配以及布图规划等物理设计领域。
背景技术
随着器件特征尺寸的不断减小,芯片的集成度不断增加,功耗密度越来越大。高功耗会不仅会引起电量的损耗,还会带来严重的热问题,甚至引发硬件错误。功耗优化已经成为片上网络芯片的一个关键问题。
多供电电压技术是一种降低芯片功耗很好的方法,因为受到很大的关注。多供电电压技术将芯片划分为不同的电压区域(即电压岛),每个电压岛提供特定的供电电压。通过将不重要的器件分配到多供电电压的岛内,可以实现模块运行功耗的优化。
图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.0GHz CPU和4GB内存的服务器上完成的。我们使用了9个测试用例,使用Hmetis工具作为划分软件并使用cs2作为网络流问题的求解工具。
给定一个具体的测试用例,以MPEG4为例依次按照以下步骤执行:
1、读取初始信息
测试用例的输入信息包括三个输入文件,分别是MPEG4.blk(模块的数量,每个模块的名称,以及模块的尺寸大小)、MPER4.net(模块通信网表,记录通信模块标号以及通信量大小)以及MPER4.vol(每个模块运行时的电压值以及运行功耗)。在该测试用例中,有12个模块以及13条通信线网,有3个电压岛,分别是1.0V,1.2V以及1.4V。转换器的尺寸为单位2,网络接口的尺寸为单位1。
读取测试用例的信息,创建模块的通信图,保存模块信息。
2、电压岛的生成
根据模块的电压值,将所有模块划分到3个不同的电压岛内。根据MPER4.net中读取的模块通信图,为每个电压岛生成一张岛内的通信图,图中的边即为从MPER4.net中读取的通信模块的通信量。
3、分配转换器
针对每个电压岛,在电压岛内部通信图上使用最小割划分算法将电压岛内的模块分别划分为2个集合,3个集合,一直到电压岛内的每个模块为一个集合。从中选择总割数最小的一个方案作为划分的最终方案。随后,并为每个集合分配一个转换器,记录每个转换器与模块的互连信息。
4、布图规划
将转换器作为一种特殊模块加入到原有模块中,在本例中,采用角模块序列布图表示作为布图规划的数据结构,将所有模块一起进行布图规划。在此过程中,单独记录所有特殊模块在角模块序列布图表示中的位置。利用模拟退火算法并按照步骤(4)的目标函数(在本例中,设置a=0.4,β=0.4,γ=0.1,λ=0.1)以及步骤(5)中的扰动策略(在本例中,设置T_threthold=0.20,reject_ratio=0.95,ds_ratio=0.05),生成初始的布图规划结果。
注:角模块序列布图表示以及模拟退火算法并不属于本专利申请的内容,在此不作详述。
5、网络接口的规划
在上步得到的布图规划基础上,首先找到所有可用的空白区;然后,按照步骤(5)中的建模方式,将问题转换为最小代价最大流问题,本例中使用cs2作为求解工具,求解该问题,实现网络接口的规划。
6、实验结果
实验一:集成网络器件的多电压片上网络芯片的布图规划方法的有效性
为了证明本文方法的有效性,我们与最新的已有方法进行比较。该方法不考虑多电压的设计,仅以优化通信功耗为目的,通过三阶段的方法,实现片上网络芯片的设计:首先进行布图规划,再通过整数线性规划算法在已有布图上的空白区中插入转换器,最后通过网络流的算法加入网络接口。本发明的方法既考虑的多电压技术,同时还将转换器与普通模块一起进行布图规划。从表二中可以看到,本发明的方法不仅减少34.5%的模块运行功耗,还能减少26.8%的芯片尺寸和14.7%的线长,而仅仅增加了1.4%的通信功耗和0.7%的路由跳数。测试用例MPEG4和D_38_tvopd的布图规划结果见图5。
表1集成网络器件的多电压片上网络芯片的布图规划方法与传统方法的比较
Claims (1)
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表示布图的面积;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)所述的最小代价最大流模型,求得模块对应的网络接口最优的网格位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410123217.1A CN103970934B (zh) | 2014-03-28 | 2014-03-28 | 一种集成网络器件的多电压片上网络芯片的布图规划方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410123217.1A CN103970934B (zh) | 2014-03-28 | 2014-03-28 | 一种集成网络器件的多电压片上网络芯片的布图规划方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103970934A CN103970934A (zh) | 2014-08-06 |
CN103970934B true CN103970934B (zh) | 2017-01-11 |
Family
ID=51240425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410123217.1A Expired - Fee Related CN103970934B (zh) | 2014-03-28 | 2014-03-28 | 一种集成网络器件的多电压片上网络芯片的布图规划方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103970934B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105701290B (zh) * | 2016-01-13 | 2018-12-07 | 宁波大学 | 一种电压岛的多供电引脚分配方法 |
CN115860081B (zh) * | 2023-03-01 | 2023-05-26 | 之江实验室 | 一种芯粒算法调度方法、系统、电子设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1547252A (zh) * | 2003-11-28 | 2004-11-17 | 清华大学 | 集成电路布图规划与缓冲器规划集成的布局方法 |
-
2014
- 2014-03-28 CN CN201410123217.1A patent/CN103970934B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1547252A (zh) * | 2003-11-28 | 2004-11-17 | 清华大学 | 集成电路布图规划与缓冲器规划集成的布局方法 |
Non-Patent Citations (2)
Title |
---|
《Application-Specific Network-on-Chip Synthesis:Cluster Generation and Network Component Insertion》;Wei ZHONG 等;《ISQED,2011 12th International Symposium on》;20110316;第1-9页 * |
《面向应用的片上网络的网络拓扑生成算法》;王海琪,董社勤;《计算机辅助设计与图形学学报》;20110930;第23卷(第9期);第1576-1584页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103970934A (zh) | 2014-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106919769A (zh) | 一种基于多层次方法和赋权超图的层次式fpga布局布线方法 | |
CN103036792B (zh) | 一种最大化最小公平多数据流传输调度方法 | |
CN104885212A (zh) | 利用分区多跳网络的裸片堆叠装置 | |
CN103150623B (zh) | 一种基于元模型的云制造能力服务建模方法 | |
Shayesteh et al. | ATC-based system reduction for planning power systems with correlated wind and loads | |
CN103022032A (zh) | 标准单元库版图设计方法、布局方法及标准单元库 | |
CN106970999B (zh) | 一种bpa数据库建模与维护方法 | |
CN109978404A (zh) | 计及不确定性因素与场景削减的输电通道扩展规划方法 | |
CN109120009A (zh) | 计及分布式电源出力随机变化的主动配电网故障恢复方法 | |
Huang et al. | Application-specific network-on-chip synthesis with topology-aware floorplanning | |
CN103970934B (zh) | 一种集成网络器件的多电压片上网络芯片的布图规划方法 | |
Vinay Kumar et al. | Multi-culture diversity based self adaptive particle swarm optimization for optimal floorplanning | |
CN103984828A (zh) | 一种温度均衡的三维片上网络核映射方法与系统 | |
CN103149840A (zh) | 一种基于动态规划的语义服务组合方法 | |
CN105404728A (zh) | 一种基于fpga芯片多控制信号的布局方法 | |
CN107368451A (zh) | 电路状态空间方程计算方法、装置和系统 | |
CN107528731B (zh) | 应用于ns3并行仿真的网络分割优化算法 | |
CN102902347B (zh) | 一种片上系统的低功耗电压岛划分方法 | |
CN105069517A (zh) | 基于混合算法的配电网多目标故障恢复方法 | |
CN103530820A (zh) | 一种智能电网技术评价的建模方法 | |
CN107463151B (zh) | 一种复杂曲面加工多维知识云协同服务方法 | |
CN108227644A (zh) | 一种设备替代方法、装置、存储介质及电子装置 | |
CN103902772B (zh) | 基于交错型引脚结构的等长差分对逃逸布线方法 | |
CN104573855B (zh) | 基于二分图的满足时序约束的迭代增量式的最大派工方法 | |
CN104090813B (zh) | 一种云数据中心的虚拟机cpu使用率的分析建模方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170111 Termination date: 20170328 |