发明名称 一种片上系统的低功耗电压岛划分方法
摘要 本发明公开了一种片上系统的低功耗电压岛划分方法,优点在于提出的方法松弛了电压岛必须为矩形的形状约束,基于已有的矩形电压岛生成技术,通过搜索电压岛,进行电压岛相邻判定等步骤将若干个工作在同一电压下且位置相邻的电压岛进行粘合操作,最终形成一个非矩形的面积更大的电压岛,从而实现功耗的降低。相比于传统的片上系统电压岛划分方法,提出的方法以较小的电源网络资源代价,降低了片上系统的功耗。从而丰富了片上系统电压岛划分的自动设计优化方法,又降低了设计成本。通过实例验证,本发明的方法得到的电压岛能有效降低片上系统的功耗。
申请公布号 CN102902347B 申请公布日期 2015.08.19
申请号 CN201210367215.8 申请日期 2012.09.28
申请人 宁波大学 发明人 夏银水;储著飞;王伦耀
分类号 G06F1/32(2006.01)I 主分类号 G06F1/32(2006.01)I
代理机构 宁波奥圣专利代理事务所(普通合伙) 33226 代理人 邱积权
主权项 一种片上系统的低功耗电压岛划分方法,其特征在于包括以下步骤:步骤①:片上系统由多个电路宏模块组成,定义电路宏模块的合法工作电压是满足电路宏模块正确时序要求的供电电压,所有电路宏模块的合法工作电压值构成电路宏模块的合法工作电压集,其中所有电路宏模块均工作在芯片电压V<sub>c</sub>下;定义电压岛为工作在同一合法工作电压下且占据连续物理空间的电路宏模块组成的区域;计算机读入和分析用户提供的电路宏模块的几何拓扑信息文件和电路宏模块的合法工作电压集;步骤②:根据电路宏模块的几何拓扑信息,构造一个二叉树数据结构来表示电路宏模块间的位置关系,选择采用以下步骤(1)、(2)生成矩形电压岛;(1)若二叉树中某一子树所包含的电路宏模块有一个公共的合法工作电压,则该子树所包含的电路宏模块汇聚成矩形电压岛;(2)若二叉树的左/右树干上的节点具有相同的操作符‘H’或者‘V’,且树叶上所包含的电路宏模块有一个公共的合法工作电压,则树干上的树叶所包含的电路宏模块汇聚成矩形电压岛;步骤③:给定矩形电压岛I<sub>1</sub>和I<sub>2</sub>的左下角坐标分别为<img file="FDA0000686556630000011.GIF" wi="357" he="71" />右上角坐标分别为<img file="FDA0000686556630000012.GIF" wi="366" he="68" />若<img file="FDA0000686556630000013.GIF" wi="136" he="73" />且满足以下(1)、(2)、(3)三个条件之一,则矩形电压岛I<sub>1</sub>和I<sub>2</sub>水平相邻;(1)<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msubsup><mi>y</mi><mn>1</mn><mi>l</mi></msubsup><mo>=</mo><msubsup><mi>y</mi><mn>2</mn><mi>l</mi></msubsup><mo>;</mo></mrow>]]></math><img file="FDA0000686556630000014.GIF" wi="169" he="77" /></maths>(2)<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mrow><mo>(</mo><msubsup><mi>y</mi><mn>1</mn><mi>l</mi></msubsup><mo>&lt;</mo><msubsup><mi>y</mi><mn>2</mn><mi>l</mi></msubsup><mo>)</mo></mrow><mo>&cap;</mo><mrow><mo>(</mo><msubsup><mi>y</mi><mn>1</mn><mi>r</mi></msubsup><mo>></mo><msubsup><mi>y</mi><mn>2</mn><mi>l</mi></msubsup><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA0000686556630000015.GIF" wi="414" he="78" /></maths>(3)<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mrow><mo>(</mo><msubsup><mi>y</mi><mn>1</mn><mi>l</mi></msubsup><mo>></mo><msubsup><mi>y</mi><mn>2</mn><mi>l</mi></msubsup><mo>)</mo></mrow><mo>&cap;</mo><mrow><mo>(</mo><msubsup><mi>y</mi><mn>1</mn><mi>l</mi></msubsup><mo>&lt;</mo><msubsup><mi>y</mi><mn>2</mn><mi>r</mi></msubsup><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA0000686556630000016.GIF" wi="406" he="76" /></maths>若<img file="FDA0000686556630000017.GIF" wi="144" he="76" />且满足以下(4)、(5)、(6)三个条件之一,则矩形电压岛I<sub>1</sub>和I<sub>2</sub>垂直相邻;(4)<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msubsup><mi>x</mi><mn>1</mn><mi>l</mi></msubsup><mo>=</mo><msubsup><mi>x</mi><mn>2</mn><mi>l</mi></msubsup><mo>;</mo></mrow>]]></math><img file="FDA0000686556630000018.GIF" wi="159" he="77" /></maths>(5)<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mrow><mo>(</mo><msubsup><mi>x</mi><mn>1</mn><mi>l</mi></msubsup><mo>&lt;</mo><msubsup><mi>x</mi><mn>2</mn><mi>l</mi></msubsup><mo>)</mo></mrow><mo>&cap;</mo><mrow><mo>(</mo><msubsup><mi>x</mi><mn>1</mn><mi>r</mi></msubsup><mo>></mo><msubsup><mi>x</mi><mn>2</mn><mi>l</mi></msubsup><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA0000686556630000019.GIF" wi="398" he="75" /></maths>(6)<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><mrow><mo>(</mo><msubsup><mi>x</mi><mn>1</mn><mi>l</mi></msubsup><mo>></mo><msubsup><mi>x</mi><mn>2</mn><mi>l</mi></msubsup><mo>)</mo></mrow><mo>&cap;</mo><mrow><mo>(</mo><msubsup><mi>x</mi><mn>1</mn><mi>l</mi></msubsup><mo>&lt;</mo><msubsup><mi>x</mi><mn>2</mn><mi>r</mi></msubsup><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA00006865566300000110.GIF" wi="395" he="75" /></maths>步骤④:对于一个二叉树中的某一父节点,若其包含左子树和右子树,左子树汇聚成矩形电压岛I<sub>1</sub>且公共的合法工作电压v&lt;V<sub>c</sub>,则在右子树中继续寻找一个同样工作在v的矩形电压岛I<sub>2</sub>,然后通过步骤③判断I<sub>1</sub>和I<sub>2</sub>的物理位置是否相邻,若相邻,则返回由I<sub>1</sub>和I<sub>2</sub>组成的非矩形的面积更大的电压岛I=I<sub>1</sub>∪I<sub>2</sub>,若不相邻,则返回矩形电压岛I<sub>1</sub>;步骤⑤:对于一个二叉树中的某一父节点,若其包含左子树和右子树,右子树汇聚成矩形电压岛I<sub>1</sub>且公共的合法工作电压v&lt;V<sub>c</sub>,则在左子树中继续寻找一个同样工作在v的矩形电压岛I<sub>2</sub>,然后通过步骤③判断I<sub>1</sub>和I<sub>2</sub>的物理位置是否相邻,若相邻,则返回由I<sub>1</sub>和I<sub>2</sub>组成的非矩形的面积更大的电压岛I=I<sub>1</sub>∪I<sub>2</sub>,若不相邻,则返回矩形电压岛I<sub>1</sub>;步骤⑥:重复步骤④~⑤得到满足要求的电压岛,完成电压岛的划分。
地址 315211 浙江省宁波市江北区风华路818号