IC设计流程之实现篇全定制设计

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

IC设计流程之实现篇——全定制设计

要谈IC设计的流程,首先得搞清楚IC和IC设计的分类。

集成电路芯片从用途上可以分为两大类:通用IC(如CPU、DRAM/SRAM、接口芯片等)和专用IC(ASIC)(Application Specific Integrated Circuit),ASIC是特定用途的IC。从结构上可以分为数字IC、模拟IC和数模混合IC三种,而SOC(System On Chip,从属于数模混合IC)则会成为IC设计的主流。从实现方法上IC设计又可以分为三种,全定制(full custom)、半定制(Semi-custom)和基于可编程器件的IC设计。全定制设计方法是指基于晶体管级,所有器件和互连版图都用手工生成的设计方法,这种方法比较适合大批量生产、要求集成度高、速度快、面积小、功耗低的通用IC或ASIC。基于门阵列(gate-array)和标准单元(standard-cell)的半定制设计由于其成本低、周期短、芯片利用率低而适合于小批量、速度快的芯片。最后一种IC设计方向,则是基于PLD或FPGA器件的IC设计模式,是一种“快速原型设计”,因其易用性和可编程性受到对IC制造工艺不甚熟悉的系统集成用户的欢迎,最大的特点就是只需懂得硬件描述语言就可以使用EDA工具写入芯片功能。从采用的工艺可以分成双极型(bipolar),MOS和其他的特殊工艺。硅(Si)基半导体工艺中的双极型器件由于功耗大、集成度相对低,在近年随亚微米深亚微米工艺的的迅速发展,在速度上对MOS管已不具优势,因而很快被集成度高,功耗低、抗干扰能力强的MOS管所替代。MOSFET工艺又可分为NMOS、PMOS和CMOS三种;其中CMOS工艺发展已经十分成熟,占据IC市场的绝大部分份额。GaAs器件因为其在高频领域(可以在0.35um下很轻松作到10GHz)如微波IC中的广泛应用,其特殊的工艺也得到了深入研究。而应用于视频采集领域的CCD传感器虽然也使用IC一样的平面工艺,但其实现和标准半导体工艺有很大不同。在IC开发中,常常会根据项目的要求(Specifications)、经费和EDA工具以及人力资源、并考虑代工厂的工艺实际,采用不同的实现方法。

其实IC设计这个领域博大精深,所涉及的知识工具领域很广,本系列博文围绕EDA工具展开,以实现方法的不同为主线,来介绍这三种不同的设计方法:全定制、半定制和基于FPGA

的IC设计,这三种方法在EDA工具和流程上都有各自鲜明的特色,通过介绍这三种IC设计方法可以让大家对IC设计有个清晰的思路,也顺便介绍了其中涉及到的大多数EDA工具,并且避免了读者陷入IC领域的某些细节中而不能一窥全貌之嫌。其实,无论是IC和ASIC,还是I/O芯片、CPU芯片在EDA工具上的区别都不明显,并且涉及某些应用领域的特定的知识,需要读者具备一定的背景知识,不适合用来作为介绍IC的设计流程的入门级题材。

全定制IC设计方法,是按照规定的功能与性能要求,先设计出满足功能的电路,然后对电路的布局与布线进行专门的优化设计,以达到芯片的最佳性能。全定制IC设计的主要EDA 工具有Cadence的Virtuoso、Synopsys的Custom Designer(CD)等,这两款工具实际上提供一个集成设计环境,在这个环境里用户可以方便地配置和利用各家EDA的工具来完成各个设计阶段的任务。首先来看一看它的设计基本流程(如下图)。

图1

1. 定义设计规格(Design Specification)

典型的设计规格书描述了电路的功能(电流放大能力、信噪比、带宽等),最大可容许的延时,以及其他的物理性能,如功耗等。

通常设计规格书给予电路设计者以较大的设计自由度:如选择特定的电路拓扑结构,特定器件的位置,输入输出pin角的位置,MOSFET的宽长比等。

下面是一个一个全加器的规格说明书:

-------

0.8um双井CMOS工艺

“加法”“进位”的传递延时小于1.2ns

“加法”“进位”的转换时间小于1.2ns

电路面积小于1500平方微米

动态功耗<1mW(VDD=5V,fmax=20MHZ)

-------

2. 绘制电路图

电路图绘制工具称为Schematic Capture(下图是Virtuoso中的Composer工具),可以提供门级和晶体管级的电路图绘制功能,该步骤完成后可以生成网表文件供电路仿真之用。需要说明的是,各家产生的Schematic文件不完全兼容,要从Synopsys的CD中读入Virtuoso产生的电路图似乎有些困难。再有一点就是从网表反过来生成电路图这一功能在这两家的工具中都没有被支持,有一个第三方工具spicevison有此功能,但是否能导入Virtuoso或CD中者不得而知,spicevison这个工具的用处在于晶体管级的调试(对照网表和电路图),不在于其生成的电路图的通用性。

图2

3. 产生子电路或电路单元符号

在有层次结构(hierarchical)的电路中,使用用户自定义的电路图符号来代替整个子电路块,有利于减少重复绘制这些频繁出现的子电路块,使整个顶层的电路整洁而有序,避免出现一个一大片的扁平(flatten)的电路图。如反相器INV,NOR和NADN等,在设计中一般都使用自定义的电路符号代替,这也是代工厂提供PDK中常用的一个手法。

4. 电路仿真

这一步将调用电路仿真器,如HSPICE、SPECTRE、ELDO等来实现电路的仿真,用以验证电路的各项电性指标是否符合规格说明书。在集成设计环境中用户可以通过配置自由地选择使用这些仿真器,如在Virtuoso ADE(Analog Design Environment),可以方便地使用HSPICE 来仿真,当然前提是生成HSPICE格式的网表。

在图1中有一个迭代-循环的箭头,说明这一步可能需要迭代,若仿真的结果不满足规格说明书,需要调整电路图,然后再做仿真。这一步由于没有寄生参数加入网表,通常叫做版图前仿真(Pre-layout simulation)。

另外,电路仿真需要代工厂提供的元器件库(代工厂一般以PDK包提供给客户,里面包含各种器件的spice模型,technology file,Design rule等)

5. 生成版图

版图的生成是至关重要的一环,是连接电路设计与芯片代工厂的一个桥梁,版图不仅反映

相关文档
最新文档