一种多电压域设计中保持时间的修正方法

文档序号:9274779阅读:900来源:国知局
一种多电压域设计中保持时间的修正方法
【技术领域】
[0001] 本发明涉及集成电路芯片领域,尤其是一种芯片功耗设计、时序分析及收敛的方 法。
【背景技术】
[0002] 多电压域设计是当今集成电路设计领域内降低芯片功耗的一种常用设计手段。随 着手持设备应用的日益广泛,对芯片功耗的指标要求也愈发严苛。芯片内划分出的应用于 不同场景的电源域也越来越多,这些电源域工作在不同的电压,所以即使相同的单元在每 个域中也都具有不同的时序特性。
[0003] 另一方面,工艺的进步使得电路时序的离散性愈发增强,时序的收敛变得越来越 困难,尤其是保持时间的收敛变得愈加复杂。以55nm工艺为例,很多情况下,芯片经静态时 序分析后,会发现几乎所有的工艺角下都存在保持时间的违反问题。为使保持时间收敛,不 得不经过更多的设计迭代,加入更多的buffer来解决这一问题,其造成的直接后果是芯片 的功耗增大,某些状况下甚至会出现布局、布线密度过高无法实现的情况,从而不得不从头 开始,重新规划、设计整个电路,造成了整个设计周期的延迟。如何以最小的代价实现保持 时间的收敛,成为芯片时序收敛及设计领域内的一个难题。
[0004] 多电压设计中保持时间的收敛问题,可以说是上述两方面难点的一个交集。一方 面由于每个电压域中的标准单元都具有不同的时序特性,造成整个时序分析的离散性进一 步增强,时序收敛变得愈发困难;另一方面,由于对功耗的高要求,为使保持时间收敛而加 入的buffer数量必须严格受到控制,一但造成局部布局、布线密度过高等情况,就必须涉 及到重新规划电压域、floorplan等一系列复杂问题,其所付出的代价及设计周期的增大都 比非多电压域设计要大得多。

【发明内容】

[0005] 为了克服已有芯片的多电压域设计中为了实现保持时间收敛加入buffer的数量 较多和面积较大、无法满足功耗的不足,本发明提供一种极大降低为实现保持时间收敛所 需加入的buffer的数量及面积、有效满足功耗要求的多电压域设计中保持时间的修正方 法。
[0006] 本发明解决其技术问题所采用的技术方案是:
[0007] 一种多电压域设计中保持时间的修正方法,所述修正方法包括如下步骤:
[0008] 第一步,完成对全电路的静态时序分析,将节点的位置坐标信息反标进静态时序 分结果中,获得电路保持时序违反的关键路径;
[0009] 第二步,获得经过关键路径上每一节点的最大与最小数据路径传输延时,计算该 节点保持时间修正余量;
[0010] 第三步,获得关键路径上每一节点的保持时间修正余量,位置坐标信息,计算该节 点的修正保持时间所需的最小面积消耗量。
[0011] 第四步,根据所获得的每一节点保持时间修正余量和最小面积消耗量,计算该节 点的延时面积权重比;
[0012] 第五步,以此权重比的大小对所有节点进行优先级排序,对优先级最高的节点进 行保持时间的修正;
[0013] 第六步,修正后更新全电路的时序信息,如果保持时间未收敛,则重新提取保持时 间违反的关键路径,重复所述第一步~第五步修正保持时间违反,直至保持时间收敛。
[0014] 进一步,所述第一步中,将节点的位置坐标信息反标进静态时序分结果的过程如 下:
[0015] 1. 1)从电路物理设计信息中提取单元的坐标信息;
[0016] 1.2)将单元坐标信息以单元属性的形式反标进入静态时序分析的结果中。
[0017] 再进一步,所述第二步中,电路k点所能引入的保持时间修正余量dk需满足如下 表达式:
[0018] Ci+D^ax+dk+Dkj,彡P+c』
[0019] Ci+D^in+dk+Dkj,-彡cj
[0020] 上式中,Ci代表时钟控制触发器FFi的时钟信号延时;c j代表时钟控制触发器FFj 的时钟信号延时;P代表时钟信号的周期;Ditmin代节点i与节点k之间最小的组合逻辑延 时;D ik,max代表节点i与节点k之间最大的组合逻辑延时;Dkj,min代节点k与节点j之间最小 的组合逻辑延时;
[0021] Dkj,max代表节点k与节点j之间最大的组合逻辑延时;
[0022]推导得到Cj-Ci-D^n-Dkj,-彡 dk彡 P+cj-Ci-Di-x-Dkj,-,进而得到-slackuhQld< dk^slackij,setUp;
[0023] k点所能引入的保持时间修正余量dk为min(|slackij^upl,|slackij,!^」)。
[0024] 更进一步,所述第三步中,最小面积消耗量通过如下流程获得:
[0025] 3. 1)根据节点i的位置坐标,获得与节点i相邻的电压域集合V ;
[0026] 3. 2)如果F !=0,对于任意电压域v G V,计算在电压域v中加入延时buffer实 现保持时间修正目标余量Mtmget,所需的延时buffer的总面积A buff",计算插入的电压转换 单元的面积Als,计算其实际实现的保持时间余量Mac;tual,获得节点i在电压域v中的面积消 耗量A v= Abuff"+Als。以此类推,获得一组对应于邻接电压域集合V的面积消耗量集合A,及 实际实现的保持时间余量集合M;
[0027] 3. 3)计算节点i在当前电压域中实现保持时间修正量队3_所需的延时buffer 总面积,计算其实际实现的保持时间余量
[0028] A=AUAbuffer,current,M=MUMactual,current〇
[0029] 所述第四步中,节点i的延时面积权重比^通过如下方式获得:获得节点i的面 积消耗量集合A,获得集合A所对应的实际实现的保持时间余量集合M;
[0030]
[0031] 其中,Mactual,kG M,AkG A,k代表节点i的第k种保持时间修正方案。
[0032] 所述第五步中,保持时间的修正处理为:通过EOC调整将延迟buffer插入电路的 优先级最尚的节点。
[0033] 本发明的技术构思为:利用了 buffer单元在低电压域中比在高电压域中具有更 大的传输延时这一特性,通过延时面积权重比,对所有的备选插入节点进行优先级的设定 和排序,将buffer单元优先加入低电压域中,使得该方法能以更少的buffer数量,获得更 大的保持时间修正效果。
[0034] 本发明的有益效果主要表现在:极大降低了为实现保持时间收敛所需加入的 buffer的数量及面积,减少了 ECO调整的次数及时序收敛所需的迭代次数。
【附图说明】
[0035] 图1是同步电路原理图。
[0036] 图2是多电压域设计中保持时间修正的示例。
[0037] 图3是判定单元坐标是否在电压域内部的算法流程。
[0038] 图4是多电压域设计中保持时间的修正方法的流程示意图。
【具体实施方式】
[0039] 下面结合附图对本发明作进一步描述。
[0040] 参照图1~图4,一种多电压域设计中保持时间的修正方法,所述修正方法包括如 下步骤:
[0041] 第一步,完成对全电路的静态时序分析,将节点的位置坐标信息反标进静态时序 分结果中,获得电路保持时序违反的关键路径;
[0042] 第二步,获得经过关键路径上每一节点的最大与最小数据路径传输延时,计算该 节点保持时间修正余量;
[0043] 第三步,获得关键路径上每一节点的保持时间修正余量,位置坐标信息,计算该节 点的修正保持时间所需的最小面积消耗量。
[0044] 第四步,根据所获得的每一节点保持时间修正余量和最小面积消耗量,计算该节 点的延时面积权重比;
[0045] 第五步,以此权重比的大小对所有节点进行优先级排序,对优先级最高的节点进 行保持时间的修正;
[0046] 第六步,修正后更新全电路的时序信息,如果保持时间未收敛,则重新提取保持时 间违反的关键路径,重复所述第一步~第五步修正保持时间违反,直至保持时间收敛。
[0047] 本实施例中,目前的芯片电路设计中,如图1所示的同步电路结构是被广泛采用 的主流设计方案。所谓同步电路,是指电路中所有用于存储功能的单元全部由同一时钟脉 冲源控制,所有存储单元的状态变化都由时钟源信号同步触发。为了实现时钟源信号对所 有存储单元的同步控制,时钟控制存储单元的时钟信号与待锁存数据信号之间必须要满足 一定的时序关系,这一时序关系通常包含两方面的内容,即建立时间和保持时间,通常由下 述两个不等式来表征这两方面的时序关系:
[0048] Ci+Dik,max+Dkj,max<P+Cj(表达式1)
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1