首页 理论教育 D508 项目标准单元的设计

D508 项目标准单元的设计

时间:2023-06-27 理论教育 版权反馈
【摘要】:在上两节详细介绍布局布线工具对标准单元的要求及D508项目建立标准单元的一些原则等基础上,本节介绍D508项目所用的一整套完整的标准单元库的版图设计。这个主要取决于该标准单元库建立完成后的应用范围,并且通过综合考虑得出结论。

D508 项目标准单元的设计

在上两节详细介绍布局布线工具对标准单元的要求及D508项目建立标准单元的一些原则等基础上,本节介绍D508项目所用的一整套完整的标准单元库的版图设计。在此之前,先简单介绍一个完整的标准单元库建立的过程中要考虑以下几个方面的因素。

1.面积和性能的折中

一个完整的标准单元库通常有两种版图风格,一种称为面积优化版图(Area-optimized Layout),如图4-20a所示,这种风格的版图是把标准单元做得尽可能小,只要能够满足项目的性能指标如速度、驱动能力等要求就可以;另一种称为性能优化版图(Performance-optimized Layout),如图4-20b所示,这种风格主要是从单元库的性能要求方面考虑,比如要达到一定的速度,并且有足够的驱动能力,因此相对来说会采用比较大的宽长比设计,从而在版图上表现出面积比第一种要大很多的特点。有了这两种风格的标准单元,就可以使设计者在项目开发过程中进行性能和芯片面积之间的折中。

978-7-111-48526-1-Chapter04-20.jpg

图4-20 两种风格的标准单元版图

a)面积优化版图 b)性能优化版图

一旦标准单元库设计完成,那么影响芯片面积和性能的主要因素就是标准单元库的使用了,在设计过程中采取适当的方法可以减小芯片面积,也可以提升芯片的性能,这里给出一些原则性的方法。

(1)缩小芯片面积的方法

1)在芯片设计过程中尽量使用上面提到的面积优化风格的单元。

2)在设计过程中尽量使用一些重复的、有规律的子电路,这样在版图设计时这些子电路可以进行高效的布局布线,从而节省芯片面积。

3)在逻辑设计过程中,具体考虑一些输出的驱动,原则是能够驱动负载就可以,不要人为增加驱动,这样容易造成“设计资源”的浪费,从而增加芯片面积。

4)在设计触发器时,尽量把Q和QN都引出来,这样使用该触发器的时候如果需要反相的话就不再增加额外的反相器。

5)在逻辑设计过程中应用帝摩根(DeMorgan)定律减少反相器的使用。

6)通常不要把某一个单元的输入端直接连到VDD或GND上,而是根据实际需要选择输入端合适的标准单元。

7)如果要用到一个输入端带多路选择的触发器,尽量使用已经把这个多路选择器设计在触发器内部的版本,这种版本的触发器通常称为边界扫描(Boundary-Scan)触发器。

8)在有些情况下使用可编程逻辑阵列(Programmable Logic Array)和只读存储器(Read Only Memory)代替标准单元实现某些功能可以节省逻辑。

9)在一些宏单元(MacroCell)的使用上也有一些技巧,比如使用一个10K的SRAM要比使用10个1K的SRAM效率高,并且能够节省面积。

10.采用一个较大的模块比采用很多小模块效率高,因为如果采用很多小模块,要满足这些小模块端口的引出,布局布线工具有时会浪费一些芯片面积。

(2)提升芯片性能的方法

1)采用以上提到的性能优化风格的标准单元。

2)尽量使用输入端较少的标准单元,如能够用两输入端的与非门就不要用四输入端的与非门。

3)芯片构架设计时尽量采用数据流并行的方式。

4)在驱动一个小的负载的时候尽量避免使用一个大驱动的缓冲器

5)在电路设计过程中,在关键路径上尽量少使用重负载的门电路,因为该门电路的延时是随着负载的增大而增加的。

6)使用相同的逻辑来减少扇出(fan-outs)。(www.xing528.com)

7)尽量使用快速的加法器设计,如先行进位加法器。

8)尽量避免把触发器和锁存器的负载设计的很大,因为通常一个触发器和锁存器是不带大驱动缓冲器的。

9)在使用标准单元库时要充分考虑具体电路的驱动能力,不要造成“过驱动”。

10)一些小的宏单元通常运行速度要快于大的宏单元,因此要根据具体电路要求合理选择宏单元。

通过以上介绍可以看到,标准单元库建立过程中要充分考虑这个库的具体应用,从而确定所建标准单元的尺寸等关键设计指标。由于D508项目的工作频率较低,因此标准单元的宽长比可以尽量小一点;在综合考虑各方面因素后,最终确定的D508项目的最基本的宽长比为PMOS管为2.4/1;NMOS管为1.8/1;触发器和锁存器中的反馈PMOS管和NMOS管均为1.8/1。这种比较“经济”的设计主要考虑是在保证基于该标准单元库设计芯片性能的前提下,减小该芯片的面积。

2.单元的驱动能力

不同的驱动能力要求体现在不同的单元设计中。以D508项目中的反相器为例,最小驱动反相器的宽长比为:PMOS管为2.4/1、NMOS管为1.8/1;比该单元驱动能力大一倍的反相器的宽长比为:PMOS管为4.8/1、NMOS管为3.6/1;依此类推,根据电路中的驱动能力需要,设计不同的反相器。

3.标准单元库包含的单元数量

一个标准单元库中通常包括逻辑门和触发器/锁存器两大类单元;而逻辑门、触发器/锁存器的种类很多,一个标准单元库中如果包含太多数目的单元,意味着前期建这个单元库需要花费很多精力,反过来,如果这么多单元在实际使用中并不是十分需要,那就说明没有必要建这么多单元,因此究竟一个标准单元库要考虑哪些单元才比较合适呢?这个主要取决于该标准单元库建立完成后的应用范围,并且通过综合考虑得出结论。从数字电路设计的角度考虑,通常一个标准单元库中应该包括表4-1所列出的常用逻辑门电路和表4-2所列出的一些特殊的标准单元。

表4-1 常用的逻辑门电路

978-7-111-48526-1-Chapter04-21.jpg

表4-2 一些特殊的标准单元

978-7-111-48526-1-Chapter04-22.jpg

另外一个重要的标准单元库组成部分是触发器,通常触发器包括以下类别:

①普通的D触发器。

②RS触发器。

③触发器按触发时钟的形式,分为上升/下降沿触发、高电平/低电平触发。

④触发器按置位端、复位端形式,分为同步/异步触发、高电平/低电平触发。

除此之外,还有两种跟测试相关的特殊类型触发器:

①数据端带自测试功能的D触发器。

②带扫描选择端的D触发器。

因此在建标准单元库时,根据需要选择所要建的单元类型。

由于单元版图的设计方法在上一章中已经有详细介绍,因此下面主要介绍的内容是D508项目标准单元库中所有单元的版图优化过程,这种优化过程一方面是为了满足标准单元库的有关规则,另一方面也是为了确保单元的性能。当然满足工艺设计规则(DRC)以及版图和逻辑图完全对应起来(LVS)是首先要做到的。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈