集成电路设计决定标准单元的方法

文档序号:6609560阅读:256来源:国知局
专利名称:集成电路设计决定标准单元的方法
技术领域
本发明涉及一种集成电路设计的方法,尤其涉及一 集成电路设计流程 中,决定设计电路使用的标准单元的方法。
背景技术
集成电路(Integrated Circuits, IC )通常通过连接不同形式的功能 区块,来实现所需的集成电路规格。请参考图1,图1为集成电路10的方块 示意图。 一般集成电路10的功能区块包含逻辑区块12、存储单元14、输入 /输出16、模拟/混合信号区块18和定制区块20。以模拟/混信号区块18为 例,其包含为锁相回路(Phase Locked Loops, PLL)以及数字模拟转换器 (Digital-Analog Converters, DAC )。这些组件中,输入/输出16、存储器 14以及模拟/混合信号区块18通常是由集成电路设计者使用一预先形成的 单元或硬宏(Hard macro),而其它的区块(主要是逻辑区块)是由一组低 阶的子区块或标准单元建构起来,以达到更高的用户规格设定和最佳化。一个集成电路设计者通常有多种选择来实现每一功能区块,以建立该集 成电路最佳可能的设计。关于输入/输出、存储器以及模拟功能的区块,目 前已有许多可实现所需功能并且已对较高速度、较低功率或较小面积最佳化 的硬宏,可供集成电路设计者选择最合适的硬宏用于设计中。由于实现逻辑功能,通常需要数万到数千万的大量的标准单元,而使逻 辑功能的实现更加复杂。每一标准单元包含一预定数目的晶体管连结在一 起,以执行一特殊的逻辑功能。举例来说,标准单元能够执行NAND、 AND、 N0R和0R等逻辑门的功能,也可执行更复杂的逻辑功能,如单一位加法器。 集成电路设计者通常能用不同的方式实现上述的低阶功能,以达到低率、高 速度及小面积的目的。在设计复杂的逻辑功能时,需要电子设计自动化 (Electronics Design Automation, EDA)工具来分沖斤不同的实现方式,以 获得一最佳结果。请参考图2,图2为先前集成电路设计的流程图。先前集成电路设计的流程如下列步骤
步骤110:设计RTL,集成电路设计者利用寄存器转移层次(Register Transfer Level, RTL )描述电路的逻辑功能需求,以产生RTL文件;
步骤120:逻辑合成(Synthesis),利用逻辑合成软件验证步骤110产 生的RTL文件,逻辑合成软件连结到一标准单元的链接库,链接库包含多种 不同的标准单元类型,如緒D、 NOR、触发器以及反向单元等,并且每一单元 具有多种不同尺寸;逻辑合成软件分析RTL文件以连结不同类型的标准单元 来实现逻辑功能;
步骤130:自动配置以及绕线(Auto Place and Route, APR),通过逻 辑合成验证的RTL文件可利用电子设计自动化工具配置标准单元以及绕线, 自动配置以及绕线后会产生一网络表(Netlist ),记录所需的标准单元以及 标准单元之间必要连结;此外,集成电路设计者可根据面积以及时间等限制 来选择合适的标准单元用于集成电路中;
步骤140:布局(Layout),布局工具利用数据库的信息来进行标准单元 的布局,以将网络表所需要的联机最小化,再由一路由器在配置的标准单元 的间绕线,以实现在网络表的连接而完成布局。
一般来说,每一标准单元具有多种不同尺寸,大小与输出的驱动晶体管 的尺寸相关。虽然标准单元的尺寸选择取决于设计,但较大的标准单元(较 大的输出驱动晶体管)比较小的标准单元会有较严重的延迟是无可避免的。
在集成电路设计中,成本是需要最佳化的目标之一。面积较小的逻辑电 路容许每一硅晶片上有较多的可用集成电路,如此就可以减少每一集成电路
的成本。集成电路设计者的目标就是要利用最小可能的硅面积来设计一符合 规格的集成电路。集成电路设计者可使用各种形式的硬宏,而各种形式的硬 宏分别在面积、速度和功率等方面有较佳的表现。对标准单元来说,每一逻 辑功能,例如一与门,可以有多种不同的实现形式,而不同的实现形式则需 要不同的输出驱动强度。 一驱动强度增大的标准单元的尺寸,通常会比相对 较小输出驱动强度的标准单元大。先前的集成电路设计是以成本是最重要的 考虑,所以集成电路设计流程主要是帮助集成电路设计者建立包含各种逻辑 功能区块的集成电路以最小面积的实现方式为主,然而当集成电路设计者需 要效能更高、更稳定的电路时,却没有一个可供参考的信息。

发明内容
本发明提供一种集成电路设计决定标准单元的方法,包含提供多个功能
相同的标准单元;产生每一标准单元于多个环境状态的关键尺寸数据;根据 每一标准单元于该多个环境状态的关^t尺寸数据,产生多个对应于该多个环 境状态的电路参数;计算每一标准单元的多个电路参数与该标准单元于一理 想状态的电路参数的差值,以产生多个电路参数的差值;计算每一标准单元 的多个电路参数的差值的分布,以产生每一标准单元的最佳单元指针;以及 根据每一标准单元的最佳单元指针,由该多个功能相同的标准单元中选择一 标准单元于该集成电路中。
本发明还提供一种集成电路设计决定标准单元的方法,包含提供多个功 能相同的标准单元;根据每一标准单元的面积大小,产生一第一指标;根据 每一标准单元的时间数据,产生一第二指标;根据每一标准单元于多个环境 状态的关键尺寸数据,产生一第三指标;决定该第一指标、该第二指标以及 该第三指标的权重以及优先级;以及根据该第一指标、该第二指标以及该第 三指标的权重或优先级,由该多个功能相同的标准单元中选择一标准单元于 该集成电路中。


图1为集成电路的方块示意图。
图2为先前集成电路设计的流程图。
图3为一标准单元用于三种不同环境状态的示意图。
图4为本发明产生最佳单元指针的流程图。
图5为本发明集成电路设计的流程图。
图6为功能相同的标准单元根据本发明产生最佳单元指针的示意图。 图7为本发明选择标准单元于一布局中的示意图。
附图符号说明
10 集成电路 12 逻辑区块
14 存储单元 16 输入/输出
18 模拟/混合信号区块 20 定制区块
具体实施例方式
请参考图3,图3为一标准单元用于三种不同环境状态的示意图。集成 电路通常通过连接不同形式的功能区块,以达到所需的集成电路规格来实 现。在集成电路设计中,需要最佳化的目标其中之一就是成本。面积较小的 逻辑电路可容许每一硅晶片上有较多的可用集成电路,就会减少每一 集成电 路的成本,所以集成电路设计者要尽可能利用最小的硅面积设计出符合规格 的集成电路。通常集成电路设计者有多种选择来实现每一功能区块,以建立 集成电路最佳可能的设计。此外,集成电路设计者也能利用一些基本功能的 标准单元,来组成不同的功能区块,以实现低功率、高速度及小面积的集成 电路。在设计复杂的逻辑功能时,需要电子设计自动化工具来分析不同的实 现方式,以获得最佳结果。集成电路设计者可根据面积以及时间等限制来选 择合适的标准单元用于集成电路中。如图3所示,标准单元緒4M6N(空白方 块)被使用于三种不同的环境状态,状态1的方块A-H分别为LDFQRM2N、 BUFM10N、 DFQRMON、 CKINVM8N、 ADHM0N、 LAGCEM3N、 FIL4N、 OAI22M4N;状 态2的方块A-1分别为SDFEZRMON、 HDFM4N、 BEMXM2N、 ND2M4N、 HDFQRM2N、 HADFMON、OR4MON、BUFM14N、HSDFCRSM1N;状态3的方块A-H分别为A0I32M2N、 HSDFQM2N、 X0R3M1N、 CKAN2M6N、 ADHM4N、 INVM14N、 HADFM2N、 LALM16N。当 标准单元AN4M6N的环境状态不同时,可能会影响该标准单元AMM6N的效能。 例如,当线路的布局间距较一致时,该标准单元的延迟时间较不易受到环境 影响,而有较佳的效能,但是这样的布局通常需要较大的面积,而要缩小布 局的面积势必要牺牲部分的间距,这样标准单元的延迟时间便很容易受到环 境状态的影响,效能也会较不稳定。因此,本发明利用仿真器根据标准单元 的关键尺寸数据产生一指针,以供集成电路设计者参考。
请参考图4,图4为本发明产生最佳单元指针的流程图。在本发明实施 例中,产生每一标准单元的最佳单元指针BCI (Best Cell Index)的流程如 下列步骤
步骤210:产生网络表(Netlist),选择多个不同的环境状态,以环境 仿真器对一标准单元产生多个对应于该多个环境状态的网络表,网络表中记 录该标准单元的关键尺寸(critical dimension, CD),基本上不同的环境 状态越多,越能够产生接近真实状况的指标,然而也需要越多的时间成本, 因此在本实施例中,以60个环境状态为例,产生状态1~状态60的网络表;步骤220:产生电路参数,电路参数包含标准单元的时间数据以及功率 数据,以时间数据为例,利用SPICE ( Simulation Program with Integrated Circuit Emphasis)仿真器根据步骤210的多个网络表产生多笔该标准单元 的时间数据,该多笔时间数据分别为该标准单元于该多个环境状态的延迟时 间(delay timing),根据状态1 ~状态60的网络表共产生60笔时间数据;
步骤230:计算数据,计算步骤220的多个电路参数与该标准单元于一 理想状态的电路参数的差值,所以60笔时间数据将分别减去理想状态的时 间数据,产生60个差值;
步骤240:产生BCI,根据DELTA公式的特性,将步骤230的60个差值 绘制成图表,横轴为差值的范围,纵轴为差值的计数,定义Y为差值的最大 计数,N为差值的总数,X为差值的范围,产生该标准单元的最佳单元指针 (Y/N) /X。
由于根据标准单元的关键尺寸可产生不同的电路参数,因此不同的电路 参数根据步骤210至步骤240可产生对应不同电路参数的最佳单元指针。假 设以功率数据产生的最佳单元指针为BCIl,以时间数据产生的最佳单元指针 为BCI2,则BCI1以及BCI2分别为
BCI1-(Y1/N1 ) /XI,其中Yl为功率数据的差值的最大计数,Nl为功率 数据的差值的总数,XI为功率数据的差值的范围。
BCI2= (Y2/N2) /X2,其中Y2为时间数据的差值的最大计数,N2为时间 数据的差值的总数,X2为时间数据的差值的范围。
请参考图5,图5为本发明集成电路设计的流程图。集成电路设计的流 程大致可分为设计RTLllO、逻辑合成120、自动配置/绕线130以及布局140 等四个步骤。步骤110为利用寄存器转移层次设计电路,接着进行步骤120, 利用逻辑合成软件验证步骤IIG产生的程序代码,通过逻辑合成验证的程序 代码可进行步骤130,利用电子设计自动化工具配置标准单元以及绕线,在 步骤130中,集成电路设计者可根据电路的特性选择适合的标准单元,最后 进行步骤140将电路布局。在本发明实施例中,集成电路设计者可根据面积、 时间以及BCI等限制来选择合适的标准单元。本发明的BCI根据标准单元于 不同的环境的关键尺寸产生的指针,代表标准单元对于环境因素的抵抗力, BCI数值越大,则环境因素对于标准单元的影响越小,也就是标准单元具有 较稳定的效能。根据每一标准单元的时间、面积以及BCI等信息,当电路对于稳定性的需求较高时,可选4奪BCI数值较大的标准单元,当布局的面积有 限时,可选择面积较小的标准单元。此外,集成电路设计者可根据成本或
效能的需求,来设定时间、面积以及指针等信息的权重(weight )或优先级 (priority),则电子设计自动化工具就可以帮集成电路设计者挑选出最合 适的标准单元,例如一个以效能为优先考虑的布局可设定时间、面积、指标 的优先级2、 3、 1,权重为30%、 20°/。、 50%;而一个以成本为优先考虑的布 局可设定时间、面积、指标的优先级3、 1、 2,权重为20%、 50%、 30°/。。
请参考图6,图6为功能相同的标准单元根据本发明产生最佳单元指针 的示意图。在本发明实施例中,以标准单元AN4M6N为例,具有型1以及型2 两种不同的布局方式,型1的面积为5. 4,型2的面积为5. 04,根据图4的 步骤210至步骤240,以环境仿真器对型1以及型2产生60个环境状态,再 以SPICE仿真器分别对型1、型2产生60个时间差值。最后,型1的60个 时间差值绘制为表1,型2的60个时间差值绘制为表2,其中横轴为差值的 范围,以O. 07为一个间隔,纵轴为差值的计数,根据BCI的计算式(Y/N) /X计算型1以及型2的BCI如下
型1的BCI = ( 24/60 ) /0, 21 = 1. 905
型2的BCI = ( 21/60 ) /0. 35 = 1. 000
由BCI的计算结果可知,型1的BCI比型2的BCI数值大,表示型1的 布局方式具有较稳定的效能,此外,由表1以及表2也可看出,表l的时间 差值分布较集中,较接近DELTA公式。简单比较标准单元AN4M6N的两种不 同布局的特性,型1的面积较大但不易被环境因素所影响,效能较稳定;型 2的面积较小但效能受环境因素的影响较大。
请参考图7,图7为本发明选择标准单元于一布局中的示意图。对于集 成电路设计者而言,BCI提供了标准单元效能上的参考指针,当电路对于稳 定性的需求较高时,可选择BCI数值较大的标准单元,另一方面,当布局的 面积有限,而电路对于效能稳定性的要求也不高时,则标准单元的BCI就不 是那么重要,而以标准单元的面积作为第一考虑。再以图6的标准单元 AN4M6N为例,当集成电路设计者要应用标准单元AN4M6N于图7的布局中时, 可以有型1以及型2两种选择。型1的面积较大但不易被环境因素所影响,
适用于需要稳定效能的电路,但需要较大的布局面积,可能是较高价的集成 电路。型2的面积较小但效能受环境因素的影响较大,适用于布局面积有限,以成本考虑为优先的集成电路。本发明的最佳单元指针提供有关效能稳定性 的信息,再配合标准单元原有的时间以及面积等信息,有助于集成电路设计 者在设计集成电路时更容易的选择合适的标准单元于布局中。
综上所述, 一般集成电路设计流程包含设计RTL、逻辑合成、自动配置/ 绕线以及布局,在本发明实施例中,集成电路设计者可根据每一标准单元的 时间、面积以及最佳单元指针等信息来选择合适的标准单元于布局中。产生 最佳单元指针的步骤包含利用环境仿真器产生每一标准单元在多个环境状 态的关键尺寸,利用SPICE仿真器产生多笔对应于该多个环境状态的电路参
分析差值的分布。最佳单元指针根据标准单元于不同的环境的关键尺寸所产 生的指针,代表标准单元对于环境因素的抵抗力,最佳单元指针越大,则环 境因素对于标准单元的影响越小,也就是标准单元具有较稳定的效能。对于 集成电路设计者而言,最佳单元指针提供了标准单元效能上的参考,当电路 对于稳定性的需求较高时,可选择最佳单元指针较大的标准单元,另一方面, 当布局的面积有限,而电路对于效能稳定性的要求也不高时,则标准单元的 最佳单元指针就不是那么重要,而以标准单元的面积作为第一考虑。此外, 集成电路设计者可根据成本或效能的需求,来设定时间、面积以及指针等信 息的权重或优先级,则电子设计自动化工具就可以帮集成电路设计者挑选出 最合适的标准单元。因此,本发明的最佳单元指针提供集成电路设计者在设 计电路时 一 个很重要的信息。
以上所述仅为本发明的较佳实施例,凡依本发明权利要求所做的均等变 化与修饰,皆应属本发明的涵盖范围。
权利要求
1.一种集成电路设计决定标准单元的方法,包含提供多个功能相同的标准单元;产生每一标准单元于多个环境状态的关键尺寸数据;根据每一标准单元于该多个环境状态的关键尺寸数据,产生多个对应于该多个环境状态的电路参数;将每一标准单元的多个电路参数与该标准单元于一理想状态的电路参数相减,以产生多个电路参数的差值;计算每一标准单元的多个电路参数的差值的分布,以产生每一标准单元的最佳单元指针;以及根据每一标准单元的最佳单元指针,由该多个功能相同的标准单元中选择一标准单元于该集成电路中。
2. 如权利要求1所述的方法,其中提供该多个功能相同的标准单元是 提供该多个功能相同但布局面积不同的标准单元。
3. 如权利要求1所述的方法,其中计算每一标准单元的多个电路参数 的差值的分布,以产生每一标准单元的最佳单元指针是计算每一标准单元的 多个电路参数的差值的分布的集中程度,以产生每一标准单元的最佳单元指 针。
4. 如权利要求l所述的方法,其中根据每一标准单元的最佳单元指针, 由该多个功能相同的标准单元中选择一标准单元于该集成电路中是根据每 一标准单元的最佳单元指针的权重或优先级,由该多个功能相同的标准单元 中选择一标准单元于该集成电路中。
5. 如权利要求1所述的方法,其中根据每一标准单元于该多个环境状 态的关键尺寸数据,产生该多个对应于该多个环境状态的电路参数是根据每 一标准单元于该多个环境状态的关键尺寸数据,产生该多个对应于该多个环 境状态的时间数据。
6. 如权利要求5所述的方法,其中计算每一标准单元的多个电路参数 的差值的分布,以产生每一标准单元的最佳单元指针是计算每一标准单元的 多个时间数据的差值的分布,定义Y为时间数据的差值的最大计数,N为时 间数据的差值的总数,X为时间数据的差值的范围,以产生每一标准单元的最佳单元指针(Y/N ) /X。
7. 如权利要求1所述的方法,其中根据每一标准单元于该多个环境状 态的关键尺寸数据,产生该多个对应于该多个环境状态的电路参数是根据每 一标准单元于该多个环境状态的关键尺寸数据,产生该多个对应于该多个环 境状态的功率数据。
8. 如权利要求7所述的方法,其中计算每一标准单元的多个电路参数 的差值的分布,以产生每一标准单元的最佳单元指针是计算每一标准单元的 多个功率数据的差值的分布,定义Y为功率数据的差值的最大计数,N为功 率数据的差值的总数,X为功率数据的差值的范围,以产生每一标准单元的 最佳单元指针(Y/N ) /X。
9. 一种集成电路设计决定标准单元的方法,包含 提供多个功能相同的标准单元; 根据每一标准单元的面积大小,产生一第一指标; 根据每一标准单元的时间数据,产生一第二指标;根据每一标准单元于多个环境状态的关键尺寸数据,产生一第三指标; 决定该第一指标、该第二指标以及该第三指标的权重以及优先级;以及 根据该第一指标、该第二指标以及该第三指标的权重或优先级,由该多 个功能相同的标准单元中选择一标准单元于该集成电路中。
10. 如权利要求9所述的方法,其中提供该多个功能相同的标准单元是 提供该多个功能相同但布局面积大小不同的标准单元。
11. 如权利要求9所述的方法,其中根据每一标准单元于多个环境状态 的关键尺寸数据,产生该第三指标包含产生每一标准单元于该多个环境状态的关键尺寸数据; 根据每一标准单元于该多个环境状态的关^t尺寸数据,产生多个对应于 该多个环境状态的时间数据;将每一标准单元的多个时间数据与该标准单元于该理想状态的时间数据相减,以产生该多个时间数据的差值;以及计算每一标准单元的多个时间数据的差值的分布,以产生每一标准单元的第三指针。
12. 如权利要求11所述的方法,其中计算每一标准单元的多个时间数 据的差值的分布,以产生每一标准单元的第三指针是计算每一标准单元的多个时间数据的差值的分布,定义Y为时间数据的差值的最大计数,N为时间 数据的差值的总数,X为时间数据的差值的范围,以产生每一标准单元的第 三指针(Y/N ) /X。
13. 如权利要求9所述的方法,其中根据每一标准单元于多个环境状态的关键尺寸数据,产生该第三指标包含产生每一标准单元于该多个环境状态的关键尺寸数据; 根据每一标准单元于该多个环境状态的关键尺寸数据,产生多个对应于该多个环境状态的功率数据;据相减,以产生该多个功率时间差值;以及计算每一标准单元的多个功率数据的差值的分布,以产生每一标准单元 的第三指针的功率指标。
14. 如权利要求13所述的方法,其中计算每一标准单元的多个功率数 据的差值的分布,以产生每一标准单元的第三指针的功率指标是计算每一标 准单元的多个功率数据的差值的分布,定义Yl为功率数据的差值的最大计 数,Nl为功率数据的差值的总数,XI为功率数据的差值的范围,以产生每 一标准单元的第三指针的功率指标(Y1/N1) /Xl。
15. 如权利要求13所述的方法,其中根据每一标准单元于多个环境状 态的关键尺寸数据,产生该第三指标还包含根据每一标准单元于该多个环境状态的关键尺寸数据,产生多个对应于 该多个环境状态的时间数据;将每一标准单元的多个时间数据与该标准单元于该理想状态的时间数据相减,以产生该多个时间数据的差值;以及计算每一标准单元的多个时间数据的差值的分布,以产生每一标准单元 的第三指针的时间指标。
16. 如权利要求15所述的方法,其中计算每一标准单元的多个时间数 据的差值的分布,以产生每一标准单元的第三指针的时间指标是计算每一标 准单元的多个时间数据的差值的分布,定义Y2为时间数据的差值的最大计 数,N2为时间数据的差值的总数,X2为时间数据的差值的范围,以产生每 一标准单元的第三指针的时间指标(Y2/N2) /X2。
17. 如权利要求9所述的方法,其中决定该第一指标、该第二指标以及该第三指标的权重以及优先级是根据该集成电路的特性给予该第一指标、该 第二指标以及该第三指标的权重以及优先级。
18.如权利要求9所述的方法,其中根据该第一指标、该第二指标以及该第三指标的权重或优先级,由该多个功能相同的标准单元中选择一标准单 元于该集成电路中是根据该第一指标、该第二指标以及该第三指标的权重或 优先级,由 一 电子设计自动化工具选择该多个功能相同的 一标准单元于该集 成电路中。
全文摘要
集成电路设计流程包含设计RTL、逻辑合成、自动配置/绕线及布局,集成电路设计者可根据每一标准单元的时间、面积以及最佳单元指针来选择合适的标准单元于集成电路中。再者,产生最佳单元指针的步骤包含产生每一标准单元在多个环境状态的关键尺寸,产生多个对应于该多个环境状态的电路参数,计算该多个电路参数与该标准单元在理想状态的电路参数的差值,以及分析差值的分布。
文档编号G06F17/50GK101320395SQ200710108888
公开日2008年12月10日 申请日期2007年6月5日 优先权日2007年6月5日
发明者王伟任, 王建国, 许振贤, 钱达生 申请人:联华电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1