首页> 中国专利> 一种基于Tcl/Tk脚本的时钟树扇出违约修复方法

一种基于Tcl/Tk脚本的时钟树扇出违约修复方法

摘要

本发明公开了一种基于Tcl/Tk脚本的时钟树扇出违约修复方法,包括以下步骤:1)输入扇出违约pin引脚的全称、插入缓冲器的名称、是否第一次执行本方法这三个参数;2)遍历扇出违约pin引脚连接的所有扇出单元,并将所有单元平均分成两组;3)将所有扇出单元的时序端口与扇出违约pin引脚的连接断开;4)抓取扇出单元对应层次的名称,在相应层次下创建需要增加的新的缓冲器和连线;5)按照不改变电路逻辑关系的原则,将两组扇出单元分别和两个上述缓冲器输出相连,两个上述缓冲器输入分别和违约pin引脚相连。本方法可以快速修复时钟树扇出违约,加速了逻辑约束收敛的时间,减少了手动操作,提高了数字物理设计可靠性与效率。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-06-09

    发明专利公报更正 卷:39 号:11-01 页码: 申请号:2017104915662 IPC(主分类):G06F0030230000 修正类型代码: 更正项目:专利权人 误:安徽北方微电子研究所集团有限公司 正:北方电子研究院安徽有限公司

    发明专利更正

  • 2023-03-14

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G06F30/23 专利号:ZL2017104915662 变更事项:专利权人 变更前:北方电子研究院安徽有限公司 变更后:安徽北方微电子研究所集团有限公司 变更事项:地址 变更前:233040 安徽省蚌埠市财院路10号 变更后:233040 安徽省蚌埠市财院路10号

    专利权人的姓名或者名称、地址的变更

  • 2020-03-20

    授权

    授权

  • 2017-12-01

    实质审查的生效 IPC(主分类):G06F17/50 申请日:20170626

    实质审查的生效

  • 2017-11-07

    公开

    公开

说明书

技术领域

本发明属于半导体集成电路中数字物理设计技术领域,尤其涉及工作频率高、速度快的SoC(System on Chip,片上系统)物理设计中,实现了对时钟树逻辑物理约束扇出违约的快速修复,该方法也可以应用于布线阶段扇出违约的快速修复。

背景技术

时钟树综合是数字物理设计的核心,时钟树传递过来的时钟信号驱动了整个系统的工作,时钟树上的逻辑约束违约必须要清理干净。在进行时钟树综合的时候,首先需要设置逻辑约束,如扇出、转换时间、负载电容。扇出收敛是逻辑收敛的一个重要目标,扇出过大会导致前一级寄存器难以驱动后级寄存器,从而使该级时序不能够精确的通过工艺库得到,影响建立时间和保持时间的精度,进而使电路不能准确按照时钟节拍工作。现有数字物理设计软件如ICC(IC Compiler)可以解决大部分扇出问题,但是由于物理设计软件进行布局布线时需要考虑的因素较多,如阻挡位置、标准单元拥塞程度、时序问题等等,或多或少的存在一些难以修掉的扇出违约。

这时候通常的解决方案一种是手动修复,但是违约的数目如果过大,手动修复的效率太低,也容易出错;另一种方法是使用ECO(Engineering Change Order,工程修改)工具,但是ECO工具价格很昂贵,比如某国产公司的ECO工具,至少得20~30万人民币,而且用户操作界面不是很友好,并且需要花较长时间进行ECO工具的初始化,ECO工具导出的脚本,最终还得要数字物理软件进行执行,由于还存在不同软件之间的关联问题,这样就需要在ECO工具和数字物理设计软件之间进行多轮交互才能彻底解决问题。

2012年3月,知网公开了一篇论文名为“基于SOC Encounter的32位CPU双界面卡芯片后端设计的研究和实现”,在文中第57页提出了“原地优化”的方法来解决扇出违约,不同于本设计实现方法,本设计发明通过使用Tcl编写脚本完成了对扇出违约pin的修复。

2006年5月,知网公开了一篇论文名为“数字电视机顶盒芯片数字后端设计”,在文中第24页提出了最大扇出综合方法,其使用数字后端设计软件astro对整个设计的高扇出进行综合,但不同于本设计,可以针对具体某个扇出违约pin进行修复。

发明内容

本发明所要解决的技术问题是提供一种基于Tcl/Tk脚本的时钟树扇出违约修复方法,可以快速修复时钟树扇出违约,并且可以扩展应用修复数字物理设计任何阶段的扇出违约,该方法加速了逻辑约束收敛的时间,减少了手动操作,提高了数字物理设计可靠性与效率。

为解决上述技术问题,本发明提供一种基于Tcl/Tk脚本的时钟树扇出违约修复方法,其特征是,包括以下步骤:

1)输入扇出违约引脚的全称、插入缓冲器的名称、是否第一次执行本方法这三个参数;

2)遍历扇出违约引脚连接的所有扇出单元,并将所有单元平均分成两组;

3)将所有扇出单元的时序端口与扇出违约引脚的连接断开;

4)抓取扇出单元对应层次的名称,在相应层次下创建需要增加的新的缓冲器和连线;

5)按照不改变电路逻辑关系的原则,将两组扇出单元分别和两个上述缓冲器输出相连,两个上述缓冲器输入分别和违约引脚相连。

步骤2)中,如果有扇出违约的引脚是顶层的单元,通过其逻辑端口遍历所有扇出单元;如果是多层次的单元的引脚,直接按照实际连接情况遍历所有扇出单元。

步骤4)中,使用正则表达式抓取扇出单元对应层次的名称。

步骤4)中,具体包括以下步骤:

根据输入的是否第一次执行本方法的参数,生成全局控制变量;

使用全局变量创建两个新的缓冲器和两条新连线。

步骤5)中,使用全局变量创建两条新连线,分别连接两组扇出单元;使用全局变量创建两个新的缓冲器,分别与新创建的连线连接。

对上述步骤编写一扇出修复软件程序,采用Tcl编写软件的逻辑处理部分,使用Tk编写软件图形化界面。

本发明所达到的有益效果:

本发明使用Tcl/Tk语言编写修扇出的ECO工具,主要使用Tcl完成逻辑部分的处理,使用Tk(Tcl语言的图形化界面工具集)完成该工具的用户界面的实现。该工具可集成在ICC的菜单栏中,并且工具在版图上所增加的单元直接在ICC版图界面即可看到,完全去除不同软件之间交互操作,该工具直接利用ICC的初始设置,因此也完全不用花时间再进行初始设化,进而能够快速、有效、准确的修复扇出违约,加速了逻辑约束收敛的时间,减少了手动操作,提高了数字物理设计可靠性与效率。

附图说明

图1 本发明方法的实现流程图;

图2 扇出修复软件菜单;

图3 扇出修复软件图形界面;

图4 修复前后的扇出报告;

图5扇出软件修复前后的版图对比。

具体实施方式

下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

本发明的使用Tcl脚本编写逻辑处理部分的功能,使用Tk编写图形化操作界面,使用数字物理设计软件提供的接口将编写软件集成到菜单栏中即可。程序具体实现流程图1所示。首先,必须得输入扇出违约引脚的全称和插入缓冲器的名称、是否第一次执行本方法程序等三个参数,在解决扇出问题的时候会使用到这三个参数。接着需要遍历扇出违约引脚连接的所有单元,并将所有单元平均分成两组。这时候存在单元层次结构的问题,需要按两种情况进行考虑,如果有扇出违约引脚是顶层的单元,那么就需要通过其逻辑端口遍历所有扇出单元;如果是多层次的单元的引脚,那么直接按照实际连接情况遍历所有扇出单元。接着将所有扇出单元的时序端口与扇出违约引脚的连接断开,使用正则表达式抓取扇出单元对应层次的名称,在相应层次下创建需要增加的缓冲器和连线。最后按照不改变电路逻辑关系的原则,将两组扇出单元分别和两个缓冲器输出相连,两个缓冲器输入分别和违约引脚相连即可。

使用本方法仅需输入扇出违约引脚、缓冲器的名称、是否第一次执行本方法软件等三个参数,软件得到这些信息之后,就会自动提取所有扇出违约引脚相连的单元、违约引脚单元的坐标信息,自动创建需要增加的连线和缓冲器,并按照相应逻辑关系进行连线。本设计方法仅仅需要输入三个参数就解决了对应引脚的扇出问题,大大的减少了手工操作,提高了可靠性。原本手动操作修复一个引脚扇出违约需要至少10分钟,使用本方法软件填入三个参数,软件修复扇出违约问题不到1分钟,极大的提高了效率。本方法的软件的输入代码稍加变化,也可实现扇出违约引脚批量修改,可扩展性极强。

1、根据算法流程编写扇出修复软件,主要使用Tcl编写软件的逻辑处理部分,图形化界面使用Tk来实现。

2、接着在linux 系统(一种开源操作系统)下启动ICC,在ICC 的对话框中读取源程序文件,就可以把这个软件集成在ICC的菜单栏中。如图2所示,具体位置在菜单TclProgram下。

3、在Tcl Program菜单下会看到两个选项,第一个为多层次单元(hierarchy)扇出违约修复使用,第二个为顶层单元(top)扇出违约修复使用,详细界面如图3所示,在第一个输入栏中输入有扇出违约的pin引脚名,多层次单元和顶层单元要区分正确。第二个对话框中输入选择的缓冲器名称,一般选择驱动能力适中的缓冲器,在图3中选择了slow库中的CLKBUX8这个缓冲器。第三个对话框中输入的参数,表示是否第一次执行该程序,如果是第一次执行该程序,则填1,这个变量会控制全局创建线网和缓冲器的命名规则,其他情况一定要写0。设置完成之后点击按钮Fix之后,这个Fix按钮基于Tk,与修复扇出软件启动命令绑定在一起,这样软件就会自动修复这个扇出违约问题。在此以修复u_syncode_top/u_jlxz_s3/CTS_CLK_50M_CTO_delay461/Y这个引脚的扇出为例。

从图4的修复前报告中可以看出这个引脚的实际扇出为16,扇出约束为12,因此这个引脚的违约数是4,修复前时钟树CLK_50M上共有6个扇出违约。从修复之后的报告中可以看出,报告中已经没有了之前引脚的违约了,并且时钟树CLK_50M的扇出违约数量也从之前的6个降为5个。从报告中能看出u_syncode_top/u_jlxz_s3/CTS_CLK_50M_CTO_delay461/Y这个引脚的扇出违约已经被成功修复掉了。

从图5中能看到修复前,版图上扇出违约引脚的周围没有别的单元,为了修复该引脚的扇出违约,在其附件增加了两个缓冲器,将扇出违约引脚的连线打断,再插入两个合适的缓冲器,分别将两个缓冲器与扇出违约引脚进行连接,将之前单路分成两路,u_syncode_top/u_jlxz_s3/CTS_CLK_50M_CTO_delay461/Y这个引脚的扇出从原来的16变为2,两个缓冲器分别驱动8个标准单元,这样就解决了这个引脚的扇出违约问题。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号