ASIC简介

2008-05-26 02:30:20来源: 中国IC 技术论坛
1 介绍
一旦一个设计流片,你便希望它是正确的。时间,金钱还有你的名誉可能会因为ASIC的一个故障而一无所有。这门课程将涵盖流片前所有要做的步骤,这些步骤将会将你第一次流片失败的可能性减到最小,成功率达到最大。这些步骤包括怎样去写设计说明,由上到下的设计,仿真,测试向量生成,还有好的程序练习。
这份报告是针对于那些从事ASIC设计或正准备设计的工程师的。那些从未设计过ASIC的工程师会发现这门课程是非常有益的,那些有经验的设计师会发现这门课程是非常有用的参考书目。

1.1 什么是ASIC

  一个专用集成电路,或ASIC,是指能被对半导体物理和半导体工艺不是很了解的工程师所设计的一种芯片。ASIC的销售商已经创建了元件和功能库,设计者可以在不需准确知道这些功能如何在硅上实现而使用这些库。ASIC的销售商也提供各自的软件工具,这些工具能对上述过程自动进行综合和电路的布局布线。ASIC供应商甚至还提供专门的工程师帮助ASIC设计者完成设计工作。这时供应商会对芯片布线,制造光刻板,并流片。
  就像一个电路板工程师不需要对他设置在电路板上的集成电路有本质的了解一样,ASIC的设计师也不需要对他在ASIC设计中使用到的每一个单元完全了解。但这并不意味着不需要任何知识。就像一个印刷电路板工程师需要知道电容性负载和连线电阻这样的表面特性一样,ASIC设计者需要明白ASIC销售商提供给他的那些他在设计中要使用到的元件和功能库的说明书。

1. 2 门阵列和标准单元

这里有两种ASIC,并且每种有它自己的优点--门阵列和标准单元。每种都有各自的结构。这些不同的结构导致了不同的制造工艺,不同的成本,不同的研发时间。根据你的需要,其中有一种会是最优的,并且它有利于让你在开始设计之前知道哪一种符合你的需要。

1.2.1 门阵列

  门阵列包括规则的行和列的晶体管结构。每一个基础元件或门,包含着相同较少数量的未连接的晶体管。事实上,门阵列中的晶体管在开始时都是未连接的。这种情况产生的原因是因为器件的连接完全是由你所从事的设计所决定的。一旦你完成设计,布线软件就能算出哪些晶体管要进行连接。首先,设计中的低层次功能模块会被连接到一起。例如,六个晶体管能连接成一个D触发器。这六个晶体管在物理定位上彼此非常接近。在你设计中的低级别功能块被布局完成后,这些门阵列将被连接到一起。软件将继续这一过程直到整个设计完成。
  ASIC的提供商生产大量包含门阵列的未布线模型,这些模型能满足各种门阵列使用者的要求。一个集成电路中包含多种材料的布线层,这些材料包括:半导体(硅),绝缘体(氧化物),还有导体(金属)。一个未布线模型使用了除最后起门连接作用的金属层外的所有介质。一旦你的设计完成,销售商只需连接上最后的金属层就可以完成你的芯片。
  门阵列的优点是它有非常快的周转期。另外,因为销售商能为多家客户生产大量未布线阵列,所以每一家所分摊的开发费用就相对较低,这也被称为非经常性花费(NRE)。

1.2.2 标准单元
  标准单元ASIC是对已经完成连接和紧密布线的晶体管单元进行设计,这些单元包括D触发器,加法器,计数器。ASIC设计师连接这些标准单元就像他把一些TTL管壳连接到PC板上一样。标准单元ASIC的布局软件试图将这些元件放在模型上,并尽可能高效的把它们连接起来。
  因为每个单元包含生产和连接晶体管的所有的布线层,并且因为每一个用户的设计不同,所以每个标准单元ASIC必需从头开始设计。这就导致了它的周转时间远大于门阵列。每一次光刻都是针对每一个特定客户的特定层的。因此,客户们不能想门阵列那样共同分担标准单元ASIC的开发经费。
  标准单元设计方法的优点是定型后的管芯大小明显小于完成相同功能的门阵列。对一个门阵列来说,管芯大小是固定的,并且阵列中的很多晶体管根本没有得到使用。对于标准单元设计来说,只有那些设计需要的晶体管才被放在管芯中。小的管芯面积可以使每片晶圆上能产出更多的管芯,也就使每一个管芯的成本降低。这一点对于大量应用的产品来说是一个巨大的优点。
  另外,如果制造商的设计库中有所需的复杂单元的话,标准单元ASIC可直接使用。很多的制造商的设计库中都有微处理器核。如果用门阵列来实现的话,这些单元会很难设计,并会占用很大的面积。

1.3 哪一种ASIC符合你的需要

使用哪一种ASIC完全取决于你的项目和预算。当你想降低原始投入,需要快的摄影凸版的周转,并且产量不是很大时,应该使用门阵列。当你要实现非常复杂的功能,并且希望有较大产量时,应该使用标准单元。

2.2 与非门

在ASIC设计的最低层,如果是使用与非门进行设计的,而不是用其他例如与门,或门,非门来设计的话, 对很多设计来说是最理想的.首先,与非门更加具有均衡性。换句话说,器件的上升和下降延迟时间趋于相同,这样可以使你减少时序上所产生的问题。所以,与非门被作为最低级的晶体管使用,使传送时间低于其它基础门。
  如果你使用电路图设计输入工具,使用与非门的话,你将能设计出更快的部分。如果你使用综合工具将一个高级描述转换成一个门级描述你可能希望综合工具将它转换成与非门,尤其是你非常关注它的性能的时候。

2.3 宏功能单元-软宏单元和硬宏单元

宏功能单元是那些预先被定义的功能模块,这些功能模块在很多设计中被经常用到,并且在不需了解他们的内部设计的情况下就可以使用它们。这些宏单元模块包括计数器,触发器,加法器,寄存器。这些宏单元的使用就像集成电路在PC板设计中的使用一样。事实上,很多销售商在他们的宏单元库中提供大量使用的74LS功能块。它们之所以非常有用,是因为他们允许设计者将高级的功能模块集成到设计中而不需要每次都再设计这些功能模块。
  宏功能单元分为两种:软宏单元和硬宏单元,为了正确的决定何时使用何种单元,了解两种单元的差异是非常重要的。软宏单元是由产生指定功能的低级逻辑门组成的高级模块。当ASIC进行版图设计的时候,使用这些宏单元就像使用其它的门一样设置在管芯上,并进行布线。硬宏单元,换句话说,它是由大量已经被布局布线用以实现特定功能的门组成。硬宏单元被看成一个单独的门,并且每个门之间的内部连线是不能修改的。
  软宏单元的优点是可以进行任意修改以适合设计师自己的特殊需要。例如,如果你有一个上升/下降沿控制的计数器,但是你只需要一个上升沿的计数器,你可以进入到宏单元中将那些用于下降沿的门去除。这样你就可以不用在从头开始设计了,并且你能从宏单元中消除任何不需要的功能模块。
  软宏单元的另外一个优点是他们能在从一个设计中提取出来后,加以稍微改动便可集成到另外的设计中,甚至设计使用的是不同的技术。软宏单元在设计中是非常容易布线的,因为每个门都能被布局在版图中的任何位置。在设计中一个软宏单元和其它块之间的延时能够用布局布线工具进行综合。软宏单元的缺点是整个设计在布线之前,延时是很难预测的。这是因为延时将依赖于布线的长度。
  硬宏单元的优点是延时完全可预测,因为门的布局布线是不能改变的。硬宏单元经常被用于优化性能和在进程中得到最短的延时。缺点是硬宏单元不能消除不需要的功能块或增加额外的功能块。因为它们是很大的功能块,它们不能轻易集成到版图中。硬宏单元和设计的剩余部分之间的时序关系不是很好,并且硬宏单元不能很好的移植到利用其它技术的设计中去。标准单元ASIC中的单元就是硬宏单元。高级功能块即可能是硬宏单元也可能是软宏单元。

2.4 同步设计

在ASIC设计中一个重要的概念就是同步设计,同时它也是没有经验的ASIC设计师最难以理解的概念。一旦一个ASIC设计师发现一个由于异步产生的错误,并试图去修改它,他或她就会转向同步时序设计。这是因为异步设计的问题是由偶然的边际时序问题产生的,或者当ASIC提供商改变他的工艺时才产生的。在一种工艺水平下使用多年的异步设计可能在改变工艺后突然不能使用。
  同步设计可简单理解为所有的数据同时通过组合逻辑电路和对时钟信号同步的触发器,在不首先经过一个同步触发器的情况下,组合电路不会产生信号返馈到同一模块中的其它组合电路中。时钟是不能被门控的,换句话说,时钟必须直接输入到触发器的时钟输入端,在此之前不能穿过任何组合电路。

2.4.1 亚稳定性

在同步设计中,一个最容易混淆的词,最容易误解的概念是亚稳定性。亚稳定性阐述的是当一个异步信号被当做时钟输入一个同步触发器时所产生的情况。

2.4.2 异步逻辑的使用

既然我已经讨论了很多关于异步设计的规则,我将告诉你们一些这些规则中的例外。当然,这些例外只有在特殊的情况和在其它同步设计不能解决的情况下才能使用。

2.4.2.1 异步置位

现在在多数情况下异步置位已经被广泛采用,甚至被优先选用。如果ASIC提供商的设计库中包含可异步置位的触发器,则可将置位输入端连接到主置位输入端上,用以减少布线阻塞,减偻街梦坏穆呒枰U飧鲋梦恢荒苡糜诙哉鯝SIC进行作用,不能在芯片中的普通模块中设置。在置位之后,你必须保证ASIC处在一种稳定状态,直到输入改变时,触发器才发生变化。你也必须保证ASIC的输入稳定,至少在置位撤销后的一个时钟周期内不改变。

2.4.2.2 其它异步电路

有时候,在时钟开始之前和时钟结束之后电路仍需要工作。产生系统置位信号的电路,和看门狗电路就是其中的一些例子。 我们应该集中精力设计这些同步电路,或将它们从芯片中移除,并且使用那些在任何情况下时序被清楚划分的芯片。如果这些不能做到,那么设计这些电路就要小心了,并要认识到改变半导体工艺可能会使你的ASIC不能使用。

2.5总线冲突

当两个输出同时驱动相同的信号,就有可能产生总线冲突。很明显的是,这将对ASIC的稳定性产生坏的影响。如果在一个时钟周期内发生短时间的总线冲突,则在许多个时钟周期后,对其中一个驱动源产生影响的可能性就会增加。解决办法就是两个驱动源不能同时工作。理想的解决方法是避免三态驱动连在一起,并且尽量使用多路选择器。
编辑:吕海英 引用地址:http://www.eeworld.com.cn/newproducts/others/200805/article_18009.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部

小广播

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关:

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved