CN112417808B - 一种减小线长的方法、电子设备及计算机可读存储介质 - Google Patents
一种减小线长的方法、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112417808B CN112417808B CN202011412812.9A CN202011412812A CN112417808B CN 112417808 B CN112417808 B CN 112417808B CN 202011412812 A CN202011412812 A CN 202011412812A CN 112417808 B CN112417808 B CN 112417808B
- Authority
- CN
- China
- Prior art keywords
- unit
- buffer
- line length
- buffer unit
- reducing
- 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.)
- Active
Links
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/394—Routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
一种减小线长的方法,其特征在于,包括以下步骤:确定驱动单元、负载单元、缓冲器单元之间的连接关系;根据缓冲器单元的位置,对其进行翻转调整。本发明的减小线长的方法,在插入缓冲器单元时,根据芯片内单元位置及物理布线的实际情况,通过翻转缓冲器单元,改变单元管脚位置,以达到减小布线长度、降低布线难度的目的,从而使得时序ECO优化方案对局部布线的影响更小,精确度和一致性更好。
Description
技术领域
本发明涉及集成电路版图设计EDA(Electronics Design Automation,电子设计自动化)工具技术领域,特别是涉及EDA工具在集成电路版图设计中的布线方法。
背景技术
在数字集成电路设计中,为保证芯片能正常工作,并达到预期频率,需要检查时钟信号和数据信号到达寄存器同步单元的时间是否满足建立时间(setup time)和保持时间(hold time)的约束。如果发现时序上存在违例,则需要进行ECO修改来调整时序路径。
由于缓冲器单元不改变电路的逻辑功能,因此缓冲器单元插入成为了时序优化中最常用的优化方法。例如,在修复Hold保持时间时序违反,可以在时序路径上插入缓冲器单元来增加该时序路径的延迟,从而修正Hold保持时序违反。
现有的ECO技术在插入缓冲器单元的时候,通常会考虑物理布局的约束影响,在芯片内单元行的空位寻找合理位置摆放新加入的缓冲器单元。而在先进工艺下,物理布线带来的影响越来越大,连线延迟的影响甚至超过了单元本身的延迟。这就要求在缓冲器单元插入过程中,同时也要考虑物理布线带来的影响,从而提高时序ECO策略的质量及和物理实现工具的一致性。
发明内容
为了解决现有技术存在的不足,本发明的目的在于提供一种减小线长的方法、电子设备及计算机可读存储介质,在插入缓冲器单元时,根据芯片内单元位置及物理布线的实际情况,通过翻转缓冲器单元,改变单元管脚位置,以减小布线长度、降低布线难度。
为实现上述目的,本发明提供的减小线长的方法,包括以下步骤:
确定驱动单元、负载单元、缓冲器单元之间的连接关系;
根据缓冲器单元的位置,对其进行翻转调整。
进一步地,还包括,通过增量式布局工具,得到缓冲器单元或缓冲器单元链在芯片单元行上的插入位置。
进一步地,所述根据缓冲器单元的位置,对其进行翻转调整的步骤,还包括,翻转所述缓冲器单元,使其输出管脚接近与其连接的所述负载单元。
进一步地,还包括,当所述缓冲器单元的位置x方向的跨度范围位于所述驱动单元和所述负载单元的区间之内时,对所述缓冲器单元进行翻转。
进一步地,所述根据缓冲器单元的位置,对其进行翻转调整的步骤,还包括对插入所述驱动单元和所述负载单元之间的缓冲器单元链中的缓冲器单元进行翻转调整。
更进一步地,还包括,按照从所述负载单元到所述驱动单元的顺序,依次对所述缓冲器单元进行翻转调整。
为实现上述目的,本发明还提供一种电子设备,包括,存储器和处理器,所述存储器上储存有在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行如上文所述的减小线长的方法的步骤。
为实现上述目的,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序运行时执行如上文所述的减小线长的方法的步骤。
与现有技术相比较,本发明的减小线长的方法、系统及计算机可读存储介质,具有以下有益效果:
可根据线网和单元在芯片中的实际位置,可以通过缓冲器单元的翻转,使得输入I管脚更接近驱动单元,输出O管脚更接近负载单元,从而减少了布线的总长度。还得到了插入缓冲器单元链的情况下,应该如何翻转缓冲器单元,在保证单元位置合法的基础上,进一步优化了布线结果,从而提高了时序ECO的质量,以及与后续物理实现工具的一致性。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:
图1为根据本发明的减小线长的方法流程图;
图2为根据本发明的缓冲器单元放置位置在x方向的跨度范围位于驱动单元和负载单元的区间内时对缓冲器单元翻转示意图;
图3为根据本发明的缓冲器单元放置位置在x方向的跨度范围位于驱动单元和负载单元某一侧时对缓冲器单元翻转示意图;
图4为根据本发明的驱动单元和负载单元插入缓冲器单元链时缓冲器单元翻转对布线影响示意图;
图5为根据本发明的没有按照顺序插入缓冲器单元链时得到的线长示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
随着半导体先进工艺的快速发展,物理布线对电路中时序路径的影响越来越大。同样的单元物理布局,不同的物理连线,在时序计算上也会有较大不同。因此,在做时序ECO优化的缓冲器单元插入过程中,不仅要求缓冲器单元的物理布局位置合法,还要尽可能的对物理布线进行优化。
本发明实施例中,考虑到线网和单元在芯片中的实际位置,可以通过缓冲器单元的翻转,使得输入I管脚更接近驱动单元,输出O管脚更接近负载单元,从而减少了布线的总长度。还得到了插入缓冲器单元链的情况下,应该如何翻转缓冲器单元,在保证单元位置合法的基础上,进一步优化了布线结果,从而提高了时序ECO的质量,以及与后续物理实现工具的一致性。
实施例1
图1为根据本发明的减少线长的方法流程图,下面将参考图1,对本发明的减少线长的方法进行详细描述。
首先,在步骤101,确定驱动单元、负载单元、缓冲器单元之间的连接关系。
在本发明实施例中,当合理化布局引擎决定了缓冲器单元(Buffer)的摆放位置之后,要确定Buffer单元的位置在x方向的跨度范围是否位于驱动单元(Source单元)和负载单元(Sink单元)的区间之内。
在步骤102,根据驱动单元、负载单元、缓冲器单元之间的连接关系以及缓冲器单元的数量,对缓冲器单元进行处理。
在本发明实施例中,如果Buffer单元的位置在x方向的跨度范围位于驱动单元(Source单元)和负载单元(Sink单元)的区间之内,将Buffer单元翻转至输入I管脚靠近Source单元,输出O管脚靠近Sink单元。图2为根据本发明的缓冲器单元放置位置在x方向的跨度范围位于驱动单元和负载单元的区间内时对缓冲器单元翻转示意图,如图2所示,当缓冲器单元的位置x方向的跨度范围位于source单元和sink单元的区间之内时,通过单元翻转来减少布线长度,这样,在物理连线的时候,布线长度将会减少两倍的Buffer宽度。
如果Buffer单元放置位置在x方向的跨度范围位于Source单元和Sink单元的某一侧,如图3所示,这时对单元进行翻转,布线的总长度是不变的。
在本发明实施例中,考虑到需要插入多个缓冲器单元,形成缓冲器单元链(BufferChain)的情况,结论会有所不同。假设需要插入两个缓冲器单元,线网被拆分为三段,单元的连接关系改变为:
Source->Buffer2->Buffer1->Sink。在插入Buffer1单元之后要继续在Buffer1的输入I管脚和Source之间继续插入Buffer2单元。Buffer2单元的位置可以分驱动单元和Buffer单元1的输入I管脚连线的左侧、中间、或者右侧三种情况,如图4所示,考虑缓冲器单元链插入的时候,单元的翻转对布线的影响。
1)Buffer2单元的位置位于驱动单元和Buffer单元1的输入I管脚连线的左侧,Buffer1单元翻转前后,连线长度总和是相等的;
2)Buffer2单元的位置位于驱动单元和Buffer单元1的输入I管脚连线的中间,Buffer1单元翻转前后,连线长度总和是相等的,但左面的虚线区域更大,更有利于插入Buffer2单元而不必额外绕线;
3)Buffer2单元的位置位于驱动单元和Buffer单元1的输入I管脚连线的右侧,Buffer1单元翻转前后,左面的方案更优,总布线长度将会减少两倍的Buffer宽度。因此得到结论是,考虑到后续有继续插Buffer2形成Buffer Chain的情况下,需要优先进行Buffer1单元翻转,目标是优化从Buffer1单元的输出O管脚到Sink单元的线网。
在上述策略下,一个一个插入缓冲器单元,在不知道后续缓冲器单元位置的情况下,最终Buffer Chain的每一个Buffer的翻转方案都是最优的。得到最优方案的关键在于我们插入缓冲器单元顺序是从Sink单元往Source单元插的,即单元的连接关系为:
Source->...Buffer3->Buffer2->Buffer1->Sink。否则,在对每一个缓冲器单元采用上述最佳翻转策略,得到的结果却不一定是线长最优的方案,如图5所示,在插入缓冲器单元链的时候,一定要按照Source单元到Buffer2单元到Buffer1单元到Sink单元的顺序,否则会找到不优化的结果。
实施例2
本发明实施例中,假设电路当中的某条线网:Source为驱动单元,Sink为负载单元。为了优化从Source到Sink的时序目标,中间插入了三个缓冲器单元,并已经得到了三个缓冲器单元在芯片单元行上的目标位置。
第一步,确定驱动单元、负载单元以及缓冲器单元之间的连接关系为:
Source->Buffer3->Buffer2->Buffer1->Sink。
第二步,处理缓冲器单元Buffer1。检查Buffer1的输出O管脚是否比输入I管脚更靠近Sink单元。如果不是,对缓冲器单元Buffer1进行水平方向的单元翻转,使得O管脚更接近Sink单元。
第三步,处理缓冲器单元Buffer2。检查Buffer2的输出O管脚是否比输入I管脚更靠近Buffer1单元。如果不是,对缓冲器单元Buffer2进行水平方向的单元翻转,使得O管脚更接近Buffer1单元。
第四步,处理缓冲器单元Buffer3。检查Buffer3的输出O管脚是否比输入I管脚更靠近Buffer2单元。如果不是,对缓冲器单元Buffer3进行水平方向的单元翻转,使得O管脚更接近Buffer2单元。
这样,保证了缓冲器单元的插入顺序是从Sink单元往Source单元的方向,就可以依次按照策略对缓冲器单元进行翻转调整,使得最终布线结果的总长度得到优化。
本发明还提供一种电子设备,包括存储器和处理器,所述存储器上储存有在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行如上文所述的减少线长的方法的步骤。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序运行时执行如上文所述的减小线长的方法的步骤。
本发明减小线长的方法,采用插入缓冲器单元(或缓冲器单元链)的方式进行时序ECO优化;通过增量式布局工具,得到缓冲器单元(或缓冲器单元链)在芯片单元行上的合理插入位置;按照从负载单元到驱动单元的顺序将插入的N个缓冲器单元依次进行缓冲器单元的翻转调整优化;每个Buffer缓冲器单元翻转调整的策略是:考虑并优化Buffer的输出O管脚到其连接的负载单元的线网。即,翻转单元使得输出O管脚更接近其连接的负载单元。
本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种减小线长的方法,其特征在于,包括以下步骤:
确定驱动单元、负载单元、缓冲器单元之间的连接关系,其中所述缓冲器单元按照从所述负载单元至所述驱动单元的方向顺序依次插入所述驱动单元和所述负载单元的区间之内,多个缓冲器单元形成缓冲器单元链;
根据缓冲器单元的位置,对其进行翻转调整,其步骤包括,对插入所述驱动单元和所述负载单元之间的缓冲器单元链中的缓冲器单元依次按照从所述负载单元至所述驱动单元的方向顺序分别进行翻转调整:如果缓冲器单元链中的缓冲器单元的输出管脚比输入管脚更远离其在方向顺序上的连接的上一个单元,则翻转所述缓冲器单元,使其输出管脚比输入管脚更接近与其在方向顺序上连接的上一个单元。
2.根据权利要求1所述的减小线长的方法,其特征在于,还包括,通过增量式布局工具,得到缓冲器单元或缓冲器单元链在芯片单元行上的插入位置。
3.一种电子设备,其特征在于,包括存储器和处理器,所述存储器上储存有在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行权利要求1至2任一项所述的减小线长的方法的步骤。
4.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序运行时执行权利要求1至2任一项所述的减小线长的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011412812.9A CN112417808B (zh) | 2020-12-04 | 2020-12-04 | 一种减小线长的方法、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011412812.9A CN112417808B (zh) | 2020-12-04 | 2020-12-04 | 一种减小线长的方法、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112417808A CN112417808A (zh) | 2021-02-26 |
CN112417808B true CN112417808B (zh) | 2023-08-01 |
Family
ID=74774895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011412812.9A Active CN112417808B (zh) | 2020-12-04 | 2020-12-04 | 一种减小线长的方法、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112417808B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116663475A (zh) * | 2022-02-18 | 2023-08-29 | 长鑫存储技术有限公司 | 版图布局布线方法、电路版图、电子设备以及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107633129A (zh) * | 2017-09-15 | 2018-01-26 | 北京华大九天软件有限公司 | 一种保持原有物理布线拓扑的大线网分裂方法 |
CN109817614A (zh) * | 2017-11-21 | 2019-05-28 | 台湾积体电路制造股份有限公司 | 标准单元结构和放置及布线标准单元结构的方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6766499B1 (en) * | 2001-04-05 | 2004-07-20 | Lsi Logic Corporation | Buffer cell insertion and electronic design automation |
CN108170956B (zh) * | 2017-12-28 | 2021-07-27 | 佛山中科芯蔚科技有限公司 | 一种保持时间的时序签核方法及装置 |
CN109598067A (zh) * | 2018-12-06 | 2019-04-09 | 英业达科技有限公司 | 印刷电路板的布线方法、布线系统、存储介质及电子设备 |
CN110008616B (zh) * | 2019-04-15 | 2020-04-03 | 北京华大九天软件有限公司 | 一种r角自动化布局布线方法 |
CN112257377B (zh) * | 2020-10-29 | 2022-11-29 | 海光信息技术股份有限公司 | 器件布局方法、装置、电子设备和计算机可读存储介质 |
-
2020
- 2020-12-04 CN CN202011412812.9A patent/CN112417808B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107633129A (zh) * | 2017-09-15 | 2018-01-26 | 北京华大九天软件有限公司 | 一种保持原有物理布线拓扑的大线网分裂方法 |
CN109817614A (zh) * | 2017-11-21 | 2019-05-28 | 台湾积体电路制造股份有限公司 | 标准单元结构和放置及布线标准单元结构的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112417808A (zh) | 2021-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7904865B2 (en) | Placement driven routing | |
JP2882359B2 (ja) | レイアウト設計装置 | |
US8255851B1 (en) | Method and system for timing design | |
CN112417808B (zh) | 一种减小线长的方法、电子设备及计算机可读存储介质 | |
US6574781B1 (en) | Design methodology for inserting RAM clock delays | |
CN107908884B (zh) | 一种通过调整时钟树分支改善时序的交互式eco方法 | |
US7480886B2 (en) | VLSI timing optimization with interleaved buffer insertion and wire sizing stages | |
JP3256597B2 (ja) | 自動配置設計方法および自動配置設計装置 | |
US20060112362A1 (en) | Design method, design apparatus, and computer program for semiconductor integrated circuit | |
CN109800511B (zh) | 一种寻找最优公共点的保持时间违反修正方法及系统 | |
JP4316158B2 (ja) | 形式的検証方法 | |
CN111209714B (zh) | 片上系统敏感信号线的时序优化装置 | |
CN112820727B (zh) | 包含备用单元的芯片及其相关方法 | |
US7444607B2 (en) | Method for correcting timing error when designing semiconductor integrated circuit | |
JP5696407B2 (ja) | 半導体集積回路の自動配置配線方法、レイアウト装置、自動配置配線プログラム、及び半導体集積回路 | |
US7509603B2 (en) | Semiconductor integrated circuit and design method thereof | |
JP3017038B2 (ja) | 半導体集積回路の設計方式 | |
CN117688893B (zh) | 芯片转换时间违例修复方法、装置、电子设备及存储介质 | |
JPH1092939A (ja) | 半導体集積回路の自動配置配線方法 | |
CN112820727A (zh) | 包含备用单元的芯片及其相关方法 | |
JP2006319162A (ja) | クロックツリー作成方法およびクロックツリー作成プログラム | |
JP2822741B2 (ja) | クロック配線設計方式 | |
EP0355770A2 (en) | Standard cell and standard-cell-type integrated circuit | |
JP2993488B2 (ja) | 集積回路の設計方法、集積回路及び記憶媒体 | |
JP2734268B2 (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100102 floor 2, block a, No.2, lizezhong 2nd Road, Chaoyang District, Beijing Applicant after: Beijing Huada Jiutian Technology Co.,Ltd. Address before: 100102 floor 2, block a, No.2, lizezhong 2nd Road, Chaoyang District, Beijing Applicant before: HUADA EMPYREAN SOFTWARE Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |