CN112380806A - 一种高效多比特寄存器聚类合并方法 - Google Patents
一种高效多比特寄存器聚类合并方法 Download PDFInfo
- Publication number
- CN112380806A CN112380806A CN202011403040.2A CN202011403040A CN112380806A CN 112380806 A CN112380806 A CN 112380806A CN 202011403040 A CN202011403040 A CN 202011403040A CN 112380806 A CN112380806 A CN 112380806A
- Authority
- CN
- China
- Prior art keywords
- bit
- merging
- register
- area
- bit register
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
- G06F30/3947—Routing global
Abstract
本发明公开了一种高效多比特寄存器聚类合并方法,主要包括一种识别单比特寄存器可合并区域的算法,用于获取单比特寄存器可与其他单比特寄存器进行合并的区域;一种坐标映射算法,用于简化多比特寄存器合并区域和合并位数的计算,降低复杂度,进而提升运算效率;一种单比特寄存器合并成多比特寄存器的算法,用于获得整个芯片电路中所有多比特寄存器可合并区域与多比特寄存器可合并位数;一种获得最优合并序列的算法,用于获得代价最小,合并位数最多的合并序列。本发明可大大降低数字芯片中寄存器数量,减少芯片面积,降低成本,有利于优化时钟树结构,降低数字芯片功耗,具有较好的市场应用前景。
Description
技术领域
本发明涉及集成电路设计与EDA算法领域,尤其涉及数字集成电路物理设计的功耗优化。
背景技术
随着科技和工业的发展,集成电路的工艺尺寸越来越小,单位面积内容纳的晶体管个数越来越多,晶体管个数增多,导致芯片功耗增大,过大的功耗会影响整个芯片的稳定性与使用寿命,在先进的超大规模集成电路设计中如何降低芯片功耗已经成了一个热点问题。
实际工程中发现,数字电路中时钟网络所消耗的能量在整个芯片系统的动态总功耗中占比高达50%以上,时钟网络的功耗优化是目前较为重要的一个方向。大量研究都聚焦于如何来优化时钟网络的建立,提出了许多优化时钟网络结构的方法,如重新制定驱动模块的大小,控制时钟信号的走线等。而如何减少寄存器数量,却鲜被提起。
关于多比特寄存器聚类合并,在2019年的Journal of Low Power Electronicsand Applications上的一篇文章A New Multi-Bit Flip-Flop Merging Mechanism forPower Consumption Reduction in the Physical Implementation Stage of ICsConception提出了一种多比特寄存器合并的方法,将时钟走线的总长度优化了12%,将寄存器功耗降低了20.84%,动态总功耗降低了2.98%。
上述研究虽取得了不错的功耗优化效果,但整体算法存在计算量大,内存消耗大,运算时间长等缺点。
发明内容
为了降低超大规模数字集成电路的功耗,本发明公开了一种高效多比特寄存器聚类合并方法。
一种高效多比特寄存器聚类合并方法,包含:
识别单比特寄存器可合并区域的算法,用于获取单比特寄存器与其他单比特寄存器可进行合并的区域;
坐标映射算法,用于降低单比特寄存器可合并区域的计算复杂度,用于降低多比特寄存器合并区域和合并位数的计算复杂度;
单比特寄存器合并成多比特寄存器的算法,用于获得整个芯片电路中所有多比特寄存器可合并区域与多比特寄存器可合并位数;
获得最优合并序列的算法,用于获得代价最小,合并位数最多的合并序列。
所述的识别单比特寄存器可合并区域的算法,结合寄存器的物理位置与寄存器的时序路径,计算出每个引脚的物理曼哈顿距离和时序曼哈顿距离,曼哈顿距离为物理曼哈顿距离和时序曼哈顿距离之和,用曼哈顿距离计算得到每个引脚的曼哈顿区域,所有引脚的曼哈顿区域相交的区域即为单比特寄存器可合并的区域。
所述的物理曼哈顿距离,根据单比特寄存器每个引脚的坐标,以及连接到单比特寄存器引脚的所有连接的点的坐标,计算出相应的物理曼哈顿距离。
所述的时序曼哈顿距离,结合时序分析软件,分析出寄存器每个路径上的时序裕量,将路径上的时序裕量转化为相应的时序曼哈顿距离。
所述的曼哈顿区域,以连接单比特寄存器的引脚的连接点坐标为中心,由中心向左、向右、向上、向下扩展曼哈顿距离的长度,所构成的区域为曼哈顿区域。
所述的坐标映射算法,对整个坐标轴进行重映射,对整个芯片进行旋转角度为45°任意倍数的旋转和任意倍数的缩放,主要目的在于将上述曼哈顿区域转变为水平维度的矩形,降低计算的复杂度。
所述的单比特寄存器合并成多比特寄存器的合并算法,任意两个单比特寄存器的可合并区域存在相交区域,则表示这里两个单比特寄存器可合并,合并范围不局限于两个单比特寄存器,可以是多个单比特寄存器。
所述的单比特寄存器合并成多比特寄存器的合并算法,分别以每个单比特寄存器为中心,计算出整个芯片中所有可与之合并的单比特寄存器,构成合并的聚类群落,每个单比特寄存器的聚类群落存在的数量可大于1。
所述的可合并区域,聚类群落中所有单比特寄存器可合并区域重叠的区域。
所述的多比特寄存器可合并区域,聚类群落中所有单比特寄存器可合并区域之间重叠的区域。
所述的多比特寄存器可合并位数,多比特寄存器可合并区域中包含的所有单比特寄存器的数量。
所述的代价最小,合并前后电路时序的恶化程度、电路标准单元摆放紧密程度、信号走线拥塞程度构成的总代价最小。
本发明的有益效果:可大大降低数字芯片中寄存器数量,减少芯片面积,降低成本,有利于优化时钟树结构,降低数字芯片功耗,运算高效,功耗优化效果明显,具有较高的应用价值。
附图说明
图1是多比特寄存器聚类合并的原理。
图2是本发明所述的一种多比特寄存器聚类合并方法的示意。
图3是单比特寄存器可合并区域的算法的示意。
图4是单比特寄存器合并成多比特寄存器的算法的示意。
图5是坐标映射算法的示意图。
图6是坐标映射之后的单比特寄存器分布图。
图7是4个单比特寄存器合并成多比特寄存器的示意图。
图8是针对某工艺为SMIC40nm的芯片通过本发明进行多比特寄存器聚类合并前的图。
图9是针对某工艺为SMIC40nm的芯片通过本发明进行多比特寄存器聚类合并后的图。
具体实施方式
下面结合附图,以一款工艺为SMIC40nm的芯片为例,对本发明一种多比特寄存器聚类合并方法进行详细描述。
如图1所示是多比特寄存器合并的原理,通过将多个单比特寄存器合并替换成一个多比特寄存器,进而降低整个数字电路中寄存器的数量,优化时钟结构,进而降低芯片的功耗。
如图2所示是本发明所述的一种高效多比特寄存器聚类合并方法的系统图。输入为数字集成电路,输出为该电路中存在的寄存器合并序列。包含识别单比特寄存器可合并区域的算法,用于获取单比特寄存器可与其他单比特寄存器进行合并的区域;
坐标映射算法,用于降低单比特寄存器可合并区域的计算复杂度,用于降低多比特寄存器合并区域和合并位数的计算复杂度;
单比特寄存器合并成多比特寄存器的算法,用于获得整个芯片设计中所有多比特寄存器可合并区域与多比特寄存器可合并位数;
获得最优合并序列的算法,用于获得代价最小,合并位数最多的合并序列。
以两个单比特寄存器为例,详细讲述单比特寄存器可合并区域的算法,如图3所示,图片中心为一个单比特寄存器,分别有P1、P2两个引脚连接到该单比特寄存器的D端和Q端,所述的物理曼哈顿距离为P2到Q端的物理走线距离,所述的时序曼哈顿距离为该单比特寄存器Q端时序路径的时序裕量转化成的物理距离,如图3中红色虚线所示,相应的时序裕量可以从时序分析软件中得到。所述的曼哈顿距离为图3中黑色点划线所示。以P1、P2为中心,分别向左,向右,向上,向下扩展曼哈顿距离的长度,构成的红色边框区域即为所述的曼哈顿区域。D端和Q端的曼哈顿区域重叠的部分即为所述的单比特寄存器可合并区域,如图3中黄色阴影部分所示。
如图4所示,展现了单比特寄存器合并成多比特寄存器的算法,其中D1-D5为5个单比特寄存器可合并区域,多个单比特寄存器的可合并区域存在重叠,重叠区域即为所述的多比特寄存器可合并区域,红色线框标注了D2寄存器与D3寄存器的可合并成多比特寄存器的合并区域,该区域的多比特寄存器可合并位数为2。
如图5所示,展现了坐标映射算法。对整个坐标轴进行重映射,对坐标轴进行旋转角度为45°的旋转和单位1倍的缩放,将所有单比特寄存器的曼哈顿区域和多比特寄存器可合并区域转变为水平维度的矩形,矩形便于计算两个图形的重叠区域,大大降低了识别单比特寄存器可合并区域和多比特寄存器可合并区域计算的复杂度。
如图6所示,是坐标映射之后的单比特寄存器分布图,图中红色阴影部分表示的是该电路中所有单比特寄存器构成的所有合并的聚类群落。应用单比特寄存器合并多比特寄存器的算法可以获得该电路中所有构成合并的聚类群落,每个聚落群落中包含多比特寄存器可合并区域与多比特寄存器可合并位数。单比特寄存器合并多比特寄存器的算法是以每个单比特寄存器为目标进行计算的,如先计算D1单比特寄存器,得到的聚类群落为聚类群落3:D1,D2,D4;聚类群落5:D1,D2,D5,D4;聚类群落2:D1,D2;再计算D2单比特寄存器,可以得到聚类群落1:D2,D3;聚类群落4:D2,D4,D5;这样便可以获取电路中所有的多比特寄存器的聚类群落。
经过单比特寄存器合并成多比特寄存器的算法,可获得基于D1-D5,5个单比特寄存器的5个聚类群落,其相互组合可获得多种的合并序列。通过最优合并序列的算法,根据合并前后电路时序的恶化程度,电路标准单元摆放的紧密程度,信号走线拥塞程度,分别计算每种合并序列的合并代价,找到最小的代价的合并序列。最终得到如图6中红色线框标注的聚类群落5组合。
按照由获得最优组合算法找的代价最小的合并序列进行多比特寄存器合并,将D1,D2,D5,D4合并成一个4比特寄存器,最终合并的结果如图7所示。本发明将寄存器数目由原本的5个降低到两个,节约了芯片面积,简化了时钟结构,降低数字电路功耗与成本。
如图8、9所示,展现的是将本发明应用于该SMIC40nm芯片,展现寄存器合并前后的对比效果,通过本发明进行寄存器聚类优化,将原设计的寄存器数量从22756个优化成10319个,节省了芯片面积,整体寄存器功耗降低了28%,是非常可观的优化数值。
本发明的上述实施例仅仅是为说明本发明所作的举例,而并非是对本发明实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其他不同形式的变化和改动。这里无法对所有的实施方式予以穷举。凡是属于本发明的技术方案所引申出的显而易见的变化或改动仍处于本发明的保护范围之列。
Claims (9)
1.一种高效多比特寄存器聚类合并方法,其特征在于,包含:
识别单比特寄存器可合并区域的算法,用于获取单比特寄存器与其他单比特寄存器可进行合并的区域;
坐标映射算法,用于降低计算单比特寄存器可合并区域的复杂度,用于降低计算多比特寄存器合并区域和合并位数的复杂度;
单比特寄存器合并成多比特寄存器的算法,用于获得整个芯片电路中所有多比特寄存器可合并区域与多比特寄存器可合并位数;
获得最优合并序列的算法,用于获得代价最小,合并位数最多的合并序列。
2.如权利要求1所述的方法,其特征在于,所述的识别单比特寄存器可合并区域的算法,结合寄存器的物理位置与寄存器的时序路径,计算出每个引脚的物理曼哈顿距离和时序曼哈顿距离,曼哈顿距离为物理曼哈顿距离和时序曼哈顿距离之和,用曼哈顿距离计算得到每个引脚的曼哈顿区域,所有引脚的曼哈顿区域相交的的区域即为单比特寄存器可合并的区域。
3.如权利要求2所述的方法,其特征在于,所述的物理曼哈顿距离,根据单比特寄存器每个引脚的坐标,以及连接到单比特寄存器引脚的所有连接的点的坐标,计算出相应的物理曼哈顿距离;
所述的时序曼哈顿距离,结合时序分析软件,分析出寄存器每个路径上的时序裕量,将路径上的时序裕量转化为相应的时序曼哈顿距离;
所述的曼哈顿区域,以连接单比特寄存器引脚的连接点坐标为中心,由中心向左、向右、向上、向下扩展曼哈顿距离,所构成的区域为曼哈顿区域。
4.如权利要求2所述的方法,其特征在于,所述的坐标映射算法,对整个坐标轴进行重映射,对整个芯片进行旋转角度为45°任意倍数的旋转和任意倍数的缩放,将所述的曼哈顿区域转变为水平维度的矩形,降低计算的复杂度。
5.如权利要求1所述的方法,其特征在于,所述的单比特寄存器合并成多比特寄存器的算法,任意两个单比特寄存器的可合并区域存在相交区域,则表示这里两个单比特寄存器可合并。
6.如权利要求1所述的方法,其特征在于,所述的单比特寄存器合并成多比特寄存器的合并算法,分别以每个单比特寄存器为中心,计算出整个芯片中所有可与之合并的单比特寄存器,构成合并的聚类群落,每个单比特寄存器的聚类群落存在的数量可大于1。
7.如权利要求1所述的方法,其特征在于,所述的多比特寄存器可合并区域,聚类群落中所有单比特寄存器可合并区域重叠的区域。
8.如权利要求1所述的方法,其特征在于,所述的多比特寄存器可合并位数,多比特寄存器可合并区域中包含的所有单比特寄存器的数量。
9.如权利要求1所述的方法,其特征在于,所述的代价最小,合并前后电路的时序恶化程度、电路标准单元摆放紧密程度、信号走线拥塞程度的总代价最小。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011403040.2A CN112380806B (zh) | 2020-12-05 | 2020-12-05 | 一种高效多比特寄存器聚类合并方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011403040.2A CN112380806B (zh) | 2020-12-05 | 2020-12-05 | 一种高效多比特寄存器聚类合并方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112380806A true CN112380806A (zh) | 2021-02-19 |
CN112380806B CN112380806B (zh) | 2022-06-17 |
Family
ID=74589327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011403040.2A Active CN112380806B (zh) | 2020-12-05 | 2020-12-05 | 一种高效多比特寄存器聚类合并方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112380806B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104049953A (zh) * | 2013-03-15 | 2014-09-17 | 英特尔公司 | 用于合并操作掩码的未经掩码元素的处理器、方法、系统和指令 |
CN105930591A (zh) * | 2016-04-26 | 2016-09-07 | 东南大学 | 寄存器聚类在时钟树综合中的实现方法 |
US9779197B1 (en) * | 2015-02-13 | 2017-10-03 | Microsemi Solutions (U.S.), Inc. | Method and system of merging memory cells into multi-bit registers in an integrated circuit layout |
US20170302277A1 (en) * | 2016-04-14 | 2017-10-19 | Nxp Usa, Inc. | Integrated circuit with multi-bit clock gating cells |
-
2020
- 2020-12-05 CN CN202011403040.2A patent/CN112380806B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104049953A (zh) * | 2013-03-15 | 2014-09-17 | 英特尔公司 | 用于合并操作掩码的未经掩码元素的处理器、方法、系统和指令 |
US9779197B1 (en) * | 2015-02-13 | 2017-10-03 | Microsemi Solutions (U.S.), Inc. | Method and system of merging memory cells into multi-bit registers in an integrated circuit layout |
US20170302277A1 (en) * | 2016-04-14 | 2017-10-19 | Nxp Usa, Inc. | Integrated circuit with multi-bit clock gating cells |
CN105930591A (zh) * | 2016-04-26 | 2016-09-07 | 东南大学 | 寄存器聚类在时钟树综合中的实现方法 |
Non-Patent Citations (2)
Title |
---|
郑伟等: "一种高性能、低功耗乘法器的设计", 《浙江大学学报(工学版)》, no. 05, 30 May 2004 (2004-05-30) * |
陈韬等: "面向序列密码的非线性反馈移位寄存器可重构并行化设计", 《上海交通大学学报》, no. 01, 28 January 2013 (2013-01-28) * |
Also Published As
Publication number | Publication date |
---|---|
CN112380806B (zh) | 2022-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102568009B (zh) | 用于电子地图的线段抽稀装置及其方法 | |
CN110428048B (zh) | 一种基于模拟延时链的二值化神经网络累加器电路 | |
CN109542393A (zh) | 一种近似4-2压缩器及近似乘法器 | |
CN112257375B (zh) | 用于集成电路设计的布局调整方法、装置和电子设备 | |
EP0997822A2 (en) | DMA control method and apparatus | |
CN100429664C (zh) | 用于在集成电路芯片内的电压岛上执行电源布线的方法和设备 | |
CN112380806B (zh) | 一种高效多比特寄存器聚类合并方法 | |
CN114359662B (zh) | 一种基于异构fpga和融合多分辨率的卷积神经网络的实现方法 | |
Kim et al. | Low power FPGA-SoC design techniques for CNN-based object detection accelerator | |
CN114611439A (zh) | 一种降低电路动态功耗的方法 | |
CN111221752B (zh) | 一种soc中模块接口时序的优化方法 | |
CN106874543B (zh) | 版图的lef图形处理方法 | |
CN108595731B (zh) | 一种以太网芯片中动态表项的设计方法及装置 | |
CN107045265A (zh) | 直写式光刻机中倾斜式扫描数据的重组方法 | |
CN104216238A (zh) | 一种在fpga中实现直写式光刻机数据倾斜的方法 | |
CN112508174A (zh) | 面向权重二值型神经网络的预计算逐列卷积计算单元 | |
CN111428436A (zh) | 一种程序化分析集成电路线路结构的方法 | |
CN1773515A (zh) | 考虑电压降的平面布局规划方法 | |
CN117221747B (zh) | 一种基于sopc的单周期坏点补偿与非均匀校正方法 | |
CN112597009B (zh) | 一种基于覆盖率排序的FPGA内嵌PCIExpressIP核量产测试优化方法 | |
CN113792362B (zh) | 一种机械设计方案分步推荐方法 | |
CN113408223B (zh) | 一种基于智能分析的芯片设计方法 | |
Huang et al. | Invoice code recognition system based on fpga acceleration | |
JP2002197139A (ja) | 電圧降下解析システム | |
JP3102216B2 (ja) | 集積回路設計方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |