芯片设计
扫描二维码
随时随地手机看文章
集成电路设计(Integrated circuit design, IC design),亦可称之为超大规模集成电路设计(VLSI design),是指以集成电路、超大规模集成电路为目标的设计流程。集成电路设计涉及对电子器件(例如晶体管、电阻器、电容器等)、器件间互连线模型的建立。所有的器件和互连线都需安置在一块半导体衬底材料之上,这些组件通过半导体器件制造工艺(例如光刻等)安置在单一的硅衬底上,从而形成电路。
集成电路设计最常使用的衬底材料是硅。设计人员会使用技术手段将硅衬底上各个器件之间相互电隔离,以控制整个芯片上各个器件之间的导电性能。PN结、金属氧化物半导体场效应管等组成了集成电路器件的基础结构,而由后者构成的互补式金属氧化物半导体则凭借其低静态功耗、高集成度的优点成为数字集成电路中逻辑门的基础构造 [1] 。设计人员需要考虑晶体管、互连线的能量耗散,这一点与以往由分立电子器件开始构建电路不同,这是因为集成电路的所有器件都集成在一块硅片上。金属互连线的电迁移以及静电放电对于微芯片上的器件通常有害,因此也是集成电路设计需要关注的课题。随着集成电路的规模不断增大,其集成度已经达到深亚微米级(特征尺寸在130纳米以下),单个芯片集成的晶体管已经接近十亿个。由于其极为复杂,集成电路设计相较简单电路设计常常需要计算机辅助的设计方法学和技术手段。集成电路设计的研究范围涵盖了数字集成电路中数字逻辑的优化、网表实现,寄存器传输级硬件描述语言代码的书写,逻辑功能的验证、仿真和时序分析,电路在硬件中连线的分布,模拟集成电路中运算放大器、电子滤波器等器件在芯片中的安置和混合信号的处理。相关的研究还包括硬件设计的电子设计自动化(EDA)、计算机辅助设计(CAD)方法学等,是电机工程学和计算机工程的一个子集。对于数字集成电路来说,设计人员更多的是站在高级抽象层面,即寄存器传输级甚至更高的系统级(有人也称之为行为级),使用硬件描述语言或高级建模语言来描述电路的逻辑、时序功能,而逻辑综合可以自动将寄存器传输级的硬件描述语言转换为逻辑门级的网表。对于简单的电路,设计人员也可以用硬件描述语言直接描述逻辑门和触发器之间的连接情况。
网表经过进一步的功能验证、布局、布线,可以产生用于工业制造的GDSII文件,工厂根据该文件就可以在晶圆上制造电路。模拟集成电路设计涉及了更加复杂的信号环境,对工程师的经验有更高的要求,并且其设计的自动化程度远不及数字集成电路。逐步完成功能设计之后,设计规则会指明哪些设计匹配制造要求,而哪些设计不匹配,而这个规则本身也十分复杂。集成电路设计流程需要匹配数百条这样的规则。在一定的设计约束下,集成电路物理版图的布局、布线对于获得理想速度、信号完整性、减少芯片面积来说至关重要。半导体器件制造的不可预测性使得集成电路设计的难度进一步提高。在集成电路设计领域,由于市场竞争的压力,电子设计自动化等相关计算机辅助设计工具得到了广泛的应用,工程师可以在计算机软件的辅助下进行寄存器传输级设计、功能验证、静态时序分析、物理设计等流程。
集成电路设计通常是以“模块”作为设计的单位的。例如,对于多位全加器来说,其次级模块是一位的加法器,而加法器又是由下一级的与门、非门模块构成,与、非门最终可以分解为更低抽象级的CMOS器件。从抽象级别来说,数字集成电路设计可以是自顶向下的,即先定义了系统最高逻辑层次的功能模块,根据顶层模块的需求来定义子模块,然后逐层继续分解;设计也可以是自底向上的,即先分别设计最具体的各个模块,然后如同搭积木一般用这些最底层模块来实现上层模块,最终达到最高层次。在许多设计中,自顶向下、自底向上的设计方法学是混合使用的,系统级设计人员对整体体系结构进行规划,并进行子模块的划分,而底层的电路设计人员逐层向上设计、优化单独的模块。最后,两个方向的设计人员在中间某一抽象层次会合,完成整个设计。