CN102902347A - 一种片上***的低功耗电压岛划分方法 - Google Patents
一种片上***的低功耗电压岛划分方法 Download PDFInfo
- Publication number
- CN102902347A CN102902347A CN2012103672158A CN201210367215A CN102902347A CN 102902347 A CN102902347 A CN 102902347A CN 2012103672158 A CN2012103672158 A CN 2012103672158A CN 201210367215 A CN201210367215 A CN 201210367215A CN 102902347 A CN102902347 A CN 102902347A
- Authority
- CN
- China
- Prior art keywords
- voltage island
- voltage
- island
- circuit
- rectangular
- 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.)
- Granted
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
- Power Sources (AREA)
Abstract
本发明公开了一种片上***的低功耗电压岛划分方法,优点在于提出的方法松弛了电压岛必须为矩形的形状约束,基于已有的矩形电压岛生成技术,通过搜索电压岛,进行电压岛相邻判定等步骤将若干个工作在同一电压下且位置相邻的电压岛进行粘合操作,最终形成一个非矩形的面积更大的电压岛,从而实现功耗的降低。相比于传统的片上***电压岛划分方法,提出的方法以较小的电源网络资源代价,降低了片上***的功耗。从而丰富了片上***电压岛划分的自动设计优化方法,又降低了设计成本。通过实例验证,本发明的方法得到的电压岛能有效降低片上***的功耗。
Description
技术领域
本发明涉及一种片上***的自动化设计方法,尤其是涉及一种片上***的低功耗电压岛划分方法。
背景技术
随着智能手机、平板电脑等手持电子设备的大量应用,低功耗正成为片上***(System-on-a-Chip,SoC)设计的重要指标。功耗的主要来源分为动态功耗和静态功耗,且都与供电电压有着最直接的联系。因此,降低供电电压是最有效、最直接的低功耗技术。多供电电压(Multi-SupplyVoltage,MSV)技术通过给关键路径上的模块分配较高电压,而给非关键路径上的模块分配较低电压,从而在不影响性能的情况下较大幅度的降低功耗。
然而,MSV技术给片上***的电源管理带来了挑战。首先,工作在不同电压下的模块之间需要***额外的电平转换器(Level Shifter,LS)完成电压匹配;其次,给各模块完成供电需要耗费较多的电源网络布线资源(Power Network Routing Resource,PNRR)。因此,将物理布图中的模块聚集形成电压岛(Voltage Island,VI)可同时减少电平转换器数目及电源网络布线资源。
电压岛的形状通常分为规则形状和不规则形状,其中规则形状大多为矩形,而不规则形状的生长没有规律。从电源网络布线资源来看,规则形状较不规则形状的开销小,且不会产生较大的电压降(IR-Drop),从而确保了***的可靠性;从功耗来看,不规则形状所能产生的功耗较规则形状要小。已有一些矩形电压岛划分技术,但严格限制电压岛的形状为矩形使得解的质量无法得到较大的改进,因此SoC的功耗还有很大的改进空间。综合考虑电源网络资源和功耗,优化电压岛形状非常重要,对片上***的低功耗设计有着较强的现实意义和实践意义。
发明内容
本发明所要解决的技术问题是提供一种片上***的低功耗电压岛划分方法,该方法基于矩形电压岛生成方法,对若干个相邻的工作在同一电压下的矩形电压岛,若符合判定相邻条件,则进行粘合操作,得到一个非矩形电压岛,从而有效降低功耗,同时不会耗费较多的电源网络布线资源。
本发明解决上述技术问题所采用的技术方案为:一种片上***的低功耗电压岛划分方法,其特征在于包括以下步骤:
步骤①:片上***由多个电路宏模块组成,定义电路宏模块的合法工作电压是满足电路宏模块正确时序要求的供电电压,所有电路宏模块的合法工作电压值构成电路宏模块的合法工作电压集,其中所有电路宏模块均可工作在芯片电压Vc下;定义电压岛为工作在同一合法工作电压下且占据连续物理空间的电路宏模块组成的区域;计算机读入和分析用户提供的电路宏模块的几何拓扑信息文件和电路宏模块的合法工作电压集;
步骤②:根据电路宏模块的几何拓扑信息,构造一个二叉树数据结构来表示电路宏模块间的位置关系,可选择采用以下步骤(1)、(2)生成矩形电压岛;
(1)若二叉树中某一子树所包含的电路宏模块有一个公共的合法工作电压,则该子树所包含的电路宏模块可汇聚成矩形电压岛;
(2)若二叉树的左/右树干上的节点具有相同的操作符‘H’或者‘V’,且树叶上所包含的电路宏模块有一个公共的合法工作电压,则树干上的树叶所包含的电路宏模块可汇聚成矩形电压岛;
(1)
(2)
(3)
若且满足以下(4)、(5)、(6)三个条件之一,则矩形电压岛I1和I2垂直相邻;
(4)
(5)
(6)
步骤④:对于一个二叉树中的某一父节点,若其包含左子树和右子树,左子树可汇聚成矩形电压岛I1且公共的合法工作电压v<Vc,则在右子树中继续寻找一个同样工作在v的矩形电压岛I2,然后通过步骤③判断I1和I2的物理位置是否相邻,若相邻,则返回由I1和I2组成的非矩形的面积更大的电压岛I=I1∪I2,若不相邻,则返回矩形电压岛I1;
步骤⑤:对于一个二叉树中的某一父节点,若其包含左子树和右子树,右子树可汇聚成矩形电压岛I1且公共的合法工作电压v<Vc,则在左子树中继续寻找一个同样工作在v的矩形电压岛I2,然后通过步骤③判断I1和I2的物理位置是否相邻,若相邻,则返回由I1和I2组成的非矩形的面积更大的电压岛I=I1∪I2,若不相邻,则返回矩形电压岛I1;
步骤⑥:重复步骤④~⑤可得到满足要求的电压岛,完成电压岛的划分。
与现有技术相比,本发明的优点在于提出的方法松弛了电压岛必须为矩形的形状约束,基于已有的矩形电压岛生成技术,通过搜索电压岛,进行电压岛相邻判定等步骤将若干个工作在同一电压下且位置相邻的电压岛进行粘合操作,最终形成一个非矩形的面积更大的电压岛,从而实现了功耗的降低。相比于传统的片上***电压岛划分方法,提出的方法以较小的电源网络资源代价,降低了片上***的功耗。即丰富了片上***电压岛划分的自动设计优化方法,又降低了设计成本。
附图说明
图1为国际基准测试电路实例MCNC中n10布图表示;
图2为国际基准测试电路实例MCNC中n10的对应于图1的二叉树;
图3为国际基准测试电路实例MCNC中n10经本发明产生的一个电压岛。
具体实施方式
以下结合附图实例对本发明作进一步详细描述。
表一
编号 | 面积 | 合法工作电压集 |
1 | 16318 | 1.0,1.3,1.5 |
2 | 24045 | 1.0,1.3,1.5 |
3 | 7137 | 1.2,1.5 |
4 | 19038 | 1.0,1.3,1.5 |
5 | 18928 | 1.3,1.5 |
6 | 26832 | 1.2,1.5 |
7 | 13284 | 1.1,1.3,1.5 |
8 | 42065 | 1.1,1.3,1.5 |
9 | 29336 | 1.2,1.3,1.5 |
10 | 24696 | 1.2,1.3,1.5 |
用国际基准测试电路实例MCNC中n10为实例进行电压岛划分,表一为n10中各模块的信息。图1所示为一种n10的一种布图表示(布图的产生算法不属于本专利申请的内容,故不细述),根据相应的位置关系,可构造出如图2所示的二叉树,其中数字代表模块的编号,‘H’或者‘V’为操作符,表示子模块叠放的顺序,‘H’表示两个子模块上下叠放,左子树位于下方,右子树位于上方;同理,‘V’表示两个子模块左右叠放,左子树位于左方,右子树位于右方;结合图1和图2可看出,模块8和7呈上下叠放次序,8在下方,7在上方;
定义操作符lChild(u)为取节点u的左子树,操作符rChild(u)为取节点u的右子树,二叉树节点u的左树干可通过如下循环得到,定义变量i,初始值为0,
(1)取u的左子树,ui=lChild(u),i的值加1;
(2)若lChild(u)不为空节点,令u=lChild(u),转(1),否则终止;
同理按上述循环取u的右子树可得到右树干。
步骤①:片上***由多个电路宏模块组成,定义电路宏模块的合法工作电压是满足电路宏模块正确时序要求的供电电压,所有电路宏模块的合法工作电压值构成电路宏模块的合法工作电压集,例如模块1可工作在1.0V,1.3V和1.5V的电压下,其中所有电路宏模块均可工作在芯片电压Vc=1.5V下;定义电压岛为工作在同一合法工作电压下且占据连续物理空间的电路宏模块组成的区域;计算机读入和分析用户提供的电路宏模块的几何拓扑信息文件和电路宏模块的合法工作电压集;
步骤②:根据电路宏模块的几何拓扑信息,构造一个图2所示的二叉树数据结构来表示电路宏模块间的位置关系,可选择采用以下步骤(1)、(2)生成矩形电压岛;
(1)若二叉树中某一子树所包含的电路宏模块有一个公共的合法工作电压,则该子树所包含的电路宏模块可汇聚成矩形电压岛,例如,图2中节点c下的子树包含电路宏模块1,2和4,通过参照表一所示的合法工作电压集,发现电路宏模块1,2和4均可工作在1.0V下,因此,电路宏模块1,2和4可汇聚成矩形电压岛;
(2)若二叉树的左/右树干上的节点具有相同的操作符‘H’或者‘V’,且树叶上所包含的电路宏模块有一个公共的合法工作电压,则树干上的树叶所包含的电路宏模块可汇聚成矩形电压岛,例如,图2中由节点b和d构成的左树干具有相同的操作符‘H’,且树叶上所包含的电路宏模块5和10有一个公共的合法工作电压1.3V,因此,电路宏模块5和10可汇聚成矩形电压岛;
(1)
(2)
(3)
若且满足以下(4)、(5)、(6)三个条件之一,则矩形电压岛I1和I2垂直相邻;
(4)
(5)
(6)
步骤④:对于一个二叉树中的某一父节点root,若其包含左子树节点a和右子树节点b,左子树包含的电路宏模块1、2、4、7和8可汇聚成矩形电压岛I1且公共的合法工作电压v=1.3<Vc,则在右子树中继续寻找一个同样工作在v=1.3V的矩形电压岛I2,包含电路宏模块5和10,然后通过步骤③判断I1和I2的物理位置是否相邻,若相邻,则返回由I1和I2组成的非矩形的面积更大的电压岛I=I1∪I2,若不相邻,则返回矩形电压岛I1;此时可知I1和I2相邻,则返回由I1和I2组成的非矩形的面积更大的电压岛I=I1∪I2,I包含电路宏模块1、2、4、5、7、8和10,其工作在v=1.3V下,生成的电压岛见图3;
步骤⑤:对于一个二叉树中的某一父节点,若其包含左子树和右子树,按照步骤②,右子树可汇聚成矩形电压岛I1且公共的合法工作电压v<Vc,则在左子树中按照步骤②继续寻找一个同样工作在v的矩形电压岛I2,然后通过步骤③判断I1和I2的物理位置是否相邻,若相邻,则返回由I1和I2组成的非矩形的面积更大的电压岛I=I1∪I2,若不相邻,则返回矩形电压岛I1,此步骤与步骤④类似,在右子树可汇聚成矩形电压岛前提下,在左子树中寻找同样工作在v的另一电压岛,此处不再详述;
步骤⑥:重复步骤④~⑤可得到满足要求的电压岛,完成电压岛的划分。
按照上述步骤,可得到一个由电路宏模块1、2、4、5、7、8和10构成的工作在v=1.3V下的非矩形电压岛,其功耗为410088。形成的电压岛见图3,其由一个矩形电压岛(1,2,4,7,8)和一个矩形电压岛(5,10)组成的非矩形电压岛。若采用Qiang Ma,EvangelineF.Y.Young在IEEE Transactions on Computer-Aided Design of Integrated Circuits andSystems,(2010,29(4))的文章“Multivoltage Floorplan Design”提出的矩形电压岛划分的技术,其只能找到模块1,2,4工作在1.0V下的电压岛,得到的功耗值为424527,因此,本发明能更好的降低功耗。
Claims (1)
1.一种片上***的低功耗电压岛划分方法,其特征在于包括以下步骤:
步骤①:片上***由多个电路宏模块组成,定义电路宏模块的合法工作电压是满足电路宏模块正确时序要求的供电电压,所有电路宏模块的合法工作电压值构成电路宏模块的合法工作电压集,其中所有电路宏模块均可工作在芯片电压Vc下;定义电压岛为工作在同一合法工作电压下且占据连续物理空间的电路宏模块组成的区域;计算机读入和分析用户提供的电路宏模块的几何拓扑信息文件和电路宏模块的合法工作电压集;
步骤②:根据电路宏模块的几何拓扑信息,构造一个二叉树数据结构来表示电路宏模块间的位置关系,可选择采用以下步骤(1)、(2)生成矩形电压岛;
(1)若二叉树中某一子树所包含的电路宏模块有一个公共的合法工作电压,则该子树所包含的电路宏模块可汇聚成矩形电压岛;
(2)若二叉树的左/右树干上的节点具有相同的操作符‘H’或者‘V’,且树叶上所包含的电路宏模块有一个公共的合法工作电压,则树干上的树叶所包含的电路宏模块可汇聚成矩形电压岛;
(1)
(2)
(3)
(4)
(5)
(6)
步骤④:对于一个二叉树中的某一父节点,若其包含左子树和右子树,左子树可汇聚成矩形电压岛I1且公共的合法工作电压v<Vc,则在右子树中继续寻找一个同样工作在v的矩形电压岛I2,然后通过步骤③判断I1和I2的物理位置是否相邻,若相邻,则返回由I1和I2组成的非矩形的面积更大的电压岛I=I1∪I2,若不相邻,则返回矩形电压岛I1;
步骤⑤:对于一个二叉树中的某一父节点,若其包含左子树和右子树,右子树可汇聚成矩形电压岛I1且公共的合法工作电压v<Vc,则在左子树中继续寻找一个同样工作在v的矩形电压岛I2,然后通过步骤③判断I1和I2的物理位置是否相邻,若相邻,则返回由I1和I2组成的非矩形的面积更大的电压岛I=I1∪I2,若不相邻,则返回矩形电压岛I1;
步骤⑥:重复步骤④~⑤可得到满足要求的电压岛,完成电压岛的划分。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210367215.8A CN102902347B (zh) | 2012-09-28 | 2012-09-28 | 一种片上***的低功耗电压岛划分方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210367215.8A CN102902347B (zh) | 2012-09-28 | 2012-09-28 | 一种片上***的低功耗电压岛划分方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102902347A true CN102902347A (zh) | 2013-01-30 |
CN102902347B CN102902347B (zh) | 2015-08-19 |
Family
ID=47574636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210367215.8A Active CN102902347B (zh) | 2012-09-28 | 2012-09-28 | 一种片上***的低功耗电压岛划分方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102902347B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103984794A (zh) * | 2014-04-02 | 2014-08-13 | 宁波大学 | 一种针对软模块的固定边框的集成电路布图规划方法 |
CN104021240A (zh) * | 2014-05-13 | 2014-09-03 | 宁波大学 | 一种面向多供电电压技术的片上***布图规划方法 |
CN105701290A (zh) * | 2016-01-13 | 2016-06-22 | 宁波大学 | 一种电压岛的多供电引脚分配方法 |
CN110618748A (zh) * | 2018-06-04 | 2019-12-27 | 中芯国际集成电路制造(上海)有限公司 | 一种逻辑电路及可穿戴电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1353454A (zh) * | 2000-11-15 | 2002-06-12 | 国际商业机器公司 | 半导体芯片设计方法 |
CN1906617A (zh) * | 2003-10-09 | 2007-01-31 | 国际商业机器公司 | 用于在集成电路芯片内的电压岛上执行电源布线的方法和设备 |
US7296251B2 (en) * | 2004-05-25 | 2007-11-13 | International Business Machines Corporation | Method of physical planning voltage islands for ASICs and system-on-chip designs |
-
2012
- 2012-09-28 CN CN201210367215.8A patent/CN102902347B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1353454A (zh) * | 2000-11-15 | 2002-06-12 | 国际商业机器公司 | 半导体芯片设计方法 |
CN1906617A (zh) * | 2003-10-09 | 2007-01-31 | 国际商业机器公司 | 用于在集成电路芯片内的电压岛上执行电源布线的方法和设备 |
US7296251B2 (en) * | 2004-05-25 | 2007-11-13 | International Business Machines Corporation | Method of physical planning voltage islands for ASICs and system-on-chip designs |
Non-Patent Citations (4)
Title |
---|
D.F.WONG等: "A NEW ALGORITHM FOR FLOORPLAN DESIGN", 《IEEE 23RD DESIGN AUTOMATION CONFERENCE》, 31 December 1986 (1986-12-31) * |
D.SENGUPTA等: "Application-driven Floorplan-Aware Voltage Island Design", 《IEEE DESIGN AUTOMAT.CONF.》, 13 August 2008 (2008-08-13) * |
JACKEY Z.YAN等: "DeFer: Deferred Decision Making Enabled Fixed-Outline Floorplanner", 《IEEE COUNCIL ON ELETRONIC DESIGN AUTOMATION》, 13 June 2008 (2008-06-13) * |
QIANG MA等: "Multivoltage Floorplan Design", 《IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS》, 30 April 2010 (2010-04-30) * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103984794A (zh) * | 2014-04-02 | 2014-08-13 | 宁波大学 | 一种针对软模块的固定边框的集成电路布图规划方法 |
CN103984794B (zh) * | 2014-04-02 | 2017-01-11 | 宁波大学 | 一种针对软模块的固定边框的集成电路布图规划方法 |
CN104021240A (zh) * | 2014-05-13 | 2014-09-03 | 宁波大学 | 一种面向多供电电压技术的片上***布图规划方法 |
CN104021240B (zh) * | 2014-05-13 | 2017-04-26 | 宁波大学 | 一种面向多供电电压技术的片上***布图规划方法 |
CN105701290A (zh) * | 2016-01-13 | 2016-06-22 | 宁波大学 | 一种电压岛的多供电引脚分配方法 |
CN105701290B (zh) * | 2016-01-13 | 2018-12-07 | 宁波大学 | 一种电压岛的多供电引脚分配方法 |
CN110618748A (zh) * | 2018-06-04 | 2019-12-27 | 中芯国际集成电路制造(上海)有限公司 | 一种逻辑电路及可穿戴电子设备 |
CN110618748B (zh) * | 2018-06-04 | 2021-02-09 | 中芯国际集成电路制造(上海)有限公司 | 一种逻辑电路及可穿戴电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102902347B (zh) | 2015-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7261273B2 (ja) | 集積回路のための適応的多階層電力分配グリッド | |
CN103022032B (zh) | 标准单元库版图设计方法、布局方法及标准单元库 | |
Ma et al. | Multivoltage floorplan design | |
CN102622468B (zh) | 基于并行计算的大规模集成电路通道布线*** | |
JP2007188488A (ja) | パッキングベースのマクロ配置方法とそれを用いた半導体チップ | |
CN102902347B (zh) | 一种片上***的低功耗电压岛划分方法 | |
Areibi et al. | Effective memetic algorithms for VLSI design= genetic algorithms+ local search+ multi-level clustering | |
CN105373668B (zh) | 芯片版图设计方法 | |
CN101957876A (zh) | 考虑通孔的基于不均匀网格的多层布线方法 | |
CN104063558A (zh) | 基于线性规划的大规模集成电路通道布线方法 | |
US10509883B2 (en) | Method for layout generation with constrained hypergraph partitioning | |
CN113468847A (zh) | 一种基于非整数多倍行高单元的集成电路全局布局方法 | |
Maitra et al. | Noise reduction in VLSI circuits using modified GA based graph coloring | |
Chu et al. | Efficient nonrectangular shaped voltage island aware floorplanning with nonrandomized searching engine | |
CN103077278B (zh) | 一种片上***的电压岛供电引脚分配方法 | |
US6625792B1 (en) | Semiconductor design system, semiconductor integrated circuit, semiconductor design method and storage medium storing semiconductor design program | |
US20170206298A1 (en) | Method for analog circuit placement | |
CN104572658A (zh) | 一种甚大规模集成电路版图层次比较工具的单元切分预处理方法 | |
TWI623844B (zh) | 適用於混合模組之平面規劃方法 | |
US10991663B2 (en) | Semiconductor device including dummy conductive cells | |
CN103902772A (zh) | 基于交错型引脚结构的等长差分对逃逸布线方法 | |
US8726218B2 (en) | Transistor-level layout synthesis | |
JP2013257646A (ja) | 自動レイアウトプログラム、自動レイアウト装置及びレイアウト最適化方法 | |
CN103970934A (zh) | 一种集成网络器件的多电压片上网络芯片的布图规划方法 | |
CN105701290B (zh) | 一种电压岛的多供电引脚分配方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |