EDA综合工具在综合过程中,根据用户所加的约束条件(时钟频率、面积等),开始将RTL映射到详细的工艺库里面,完成综合过程。以Synopsys公司的EDA综合工具Design Compiler(DC)为例,DC在合成过程中,时钟频率的约束优先级最高,也便是说,首先必须知足时序的哀求。那怎么就算知足时序哀求了呢?
综合过程中的延时
普通的讲,便是说旗子暗记从一个出发点开始,经由逻辑门和导线传输,到达终点,如果全体耗时小于哀求的韶光,则认为知足时序哀求,反之,则认为涌现了时序违例,须要重修时序,这便是其余一个话题了,本日暂且不表。

旗子暗记在传输过程中的延时,紧张分为两部分,经由逻辑cell的延时,我们称之为cell delay。在导线上面传输延时,我们称之为wire delay。以是可以大略的认为延时分为两部分,cell delay + wire delay。

须要解释的是,这个公式并不严谨。在实际的静态时序剖析中(以setup剖析为例),还必须考虑旗子暗记从寄存器的时钟端(CLK)到输出端(Q端)的韶光,即C-Q韶光,以及uncertainty,setup的韶光,但是如果单独剖析delay,可以大略的这么认为。
cell delay的打算办法如果我们指定delay_model为table_lookup,则意味着我们在打算路径延时的时候,采取查找表的办法。详细的查表过程是(以打算cell delay为例),以输入transition time和输出负载为横纵坐标,查表得到cell delay,如下图所示。
图一 cell delay打算办法
wire delay的打算办法随着工艺水平的发展,线延时在全体旗子暗记delay中所占的比例,越来越高,以是对线延时不可以掉以轻心。
如果是在布局布线之后,那么wire delay的打算就不是很难。但是如果是在布局布线之前,我们该若何估算wire delay呢?
Design Compiler在综合过程中,会首先从lib中获取单元尺寸的干系信息,然后,根据这些信息,估计目标电路的尺寸。得到这一尺寸之后,再利用线负载模型(wire load model)估计电路的wire delay。
以是很明显,估计的wire delay是否准确,和采取的wire load model的准确性,呈现出正干系的强关系。由于wire load model中的数据都来自于履历,以是必须有足够多的实践数据来进行支撑,也就意味着,这个model已经成功运用于很多设计实例中。当然,由于履历的局限性,对付一些之前没有实践支撑的部分,则通过估算得到。
小结
本日我们理解到芯片里面delay分为cell delay和wire delay,并且给出了两种delay的打算办法。那么EDA工具究竟是如何根据wire load model进行估算wire delay值的呢?欢迎连续关注后面的文章。








