集成电路设计(Integrated circuit design, IC design),亦可称之为超大规模集成电路设计(VLSI design),是指以集成电路、超大规模集成电路为目标的设计流程。集成电路设计涉及对电子器件(例如晶体管、电阻器、电容器等)、器件间互连线模型的建立。所有的器件和互连线都需安置在一块半导体衬底材料之上,这些组件通过半导体器件制造工艺(例如光刻等)安置在单一的硅衬底上,从而形成电路。
基本概念
IC设计涉及硬件软件两方面专业知识。硬件包括数字逻辑电路的原理和应用、模拟电路、高频电路等。软件包括基础的数字逻辑描述语言,如VHDL等,微机汇编语言及C语言。作为初学者,需要了解IC设计的基本流程:基本清楚系统、前端、后端设计和验证的过程,IC设计同半导体物理、 通信 或多媒体系统设计之间的关系,了解数字电路、混合信号的基本设计过程。
IC设计是将系统、逻辑与性能的设计要求转化为具体的物理版图的过程,也是一个把产品从抽象的过程一步步具体化、直至最终物理实现的过程。为了完成这一过程,人们研究出了层次化和结构化的设计方法:层次化的设计方法能使复杂的系统简化,并能在不同的设计层次及时发现错误并加以纠正;结构化的设计方法是把复杂抽象的系统划分成一些可操作的模块,允许多个设计者同时设计,而且某些子模块的资源可以共享。
IC设计简单的说就是硬件电路设计。设计者根据设计要求,提出设计构思,并将这个构思逐步细化,直到具体代码实现;在由代码综合出门及网表,生成版图,最终制成产品的过程。在IC产品的设计中,好的设计思想价值千金,当然,有了好的设计思想之后,也需要高水平的设计技能来实现。
设计流程
集成电路设计的流程一般先要进行软硬件划分,将设计基本分为两部分:芯片硬件设计和软件协同设计。
芯片硬件设计包括:
1.功能设计阶段。
设计人员产品的应用场合,设定一些诸如功能、操作速度、接口规格、环境温度及消耗功率等规格,以做为将来电路设计时的依据。更可进一步规划软件模块及硬件模块该如何划分,哪些功能该整合于SOC 内,哪些功能可以设计在电路板上。
2.设计描述和行为级验证
供能设计完成后,可以依据功能将SOC 划分为若干功能模块,并决定实现这些功能将要使用的IP 核。此阶段将接影响了SOC 内部的架构及各模块间互动的讯号,及未来产品的可靠性。
决定模块之后,可以用VHDL 或Verilog 等硬件描述语言实现各模块的设计。接着,利用VHDL 或Verilog 的电路仿真器,对设计进行功能验证(function simulation,或行为验证 behavioral simulation)。
注意,这种功能仿真没有考虑电路实际的延迟,但无法获得精确的结果。
3.逻辑综合
确定设计描述正确后,可以使用逻辑综合工具(synthesizer)进行综合。
综合过程中,需要选择适当的逻辑器件库(logic cell library),作为合成逻辑电路时的参考依据。
硬件语言设计描述文件的编写风格是决定综合工具执行效率的一个重要因素。事实上,综合工具支持的HDL 语法均是有限的,一些过于抽象的语法只适于作为系统评估时的仿真模型,而不能被综合工具接受。
逻辑综合得到门级网表。
4.门级验证(Gate-Level Netlist Verification)
门级功能验证是寄存器传输级验证。主要的工作是要确认经综合后的电路是否符合功能需求,该工作一般利用门电路级验证工具完成。
注意,此阶段仿真需要考虑门电路的延迟。
5.布局和布线
布局指将设计好的功能模块合理地安排在芯片上,规划好它们的位置。布线则指完成各模块之间互连的连线。
注意,各模块之间的连线通常比较长,因此,产生的延迟会严重影响SOC的性能,尤其在0.25 微米制程以上,这种现象更为显著。
目前,这一个行业仍然是中国的空缺,开设集成电路设计与集成系统专业的大学还比较少,其中师资较好的学校有 上海交通大学,哈尔滨工业大学,黑龙江大学、东南大学,西安电子科技大学,电子科技大学,哈尔滨理工大学,复旦大学,华东师范大学等。
这个领域已经逐渐饱和,越来越有趋势走上当年软件行业的道路。
模拟集成电路设计的一般过程:
1.电路设计
依据电路功能完成电路的设计。
2.前仿真
电路功能的仿真,包括功耗,电流,电压,温度,压摆幅,输入输出特性等参数的仿真。
3.版图设计(Layout)
依据所设计的电路画版图。一般使用Cadence软件。
4.后仿真
对所画的版图进行仿真,并与前仿真比较,若达不到要求需修改或重新设计版图。
5.后续处理
将版图文件生成GDSII文件交予Foundry流片。
抽象级别
集成电路设计通常是以“模块”作为设计的单位的。例如,对于多位全加器来说,其次级模块是一位的加法器,而加法器又是由下一级的与门、非门模块构成,与、非门最终可以分解为更低抽象级的CMOS器件。
从抽象级别来说,数字集成电路设计可以是自顶向下的,即先定义了系统最高逻辑层次的功能模块,根据顶层模块的需求来定义子模块,然后逐层继续分解;设计也可以是自底向上的,即先分别设计最具体的各个模块,然后如同搭积木一般用这些最底层模块来实现上层模块,最终达到最高层次。在许多设计中,自顶向下、自底向上的设计方法学是混合使用的,系统级设计人员对整体体系结构进行规划,并进行子模块的划分,而底层的电路设计人员逐层向上设计、优化单独的模块。最后,两个方向的设计人员在中间某一抽象层次会合,完成整个设计。
硬件实现
对于不同的设计要求,工程师可以选择使用半定制设计途径,例如采用可编程逻辑器件(现场可编程逻辑门阵列等)或基于标准单元库的专用集成电路来实现硬件电路;也可以使用全定制设计,控制晶体管版图到系统结构的全部细节。
全定制设计
这种设计方式要求设计人员利用版图编辑器来完成版图设计、参数提取、单元表征,然后利用这些自己设计的单元来完成电路的构建。通常,全定制设计是为了最大化优化电路性能。如果标准单元库中缺少某种所需的单元,也需要采取全定制设计的方法完成所需的单元设计。不过,这种设计方式通常需要较长的时间。
半定制设计
与全定制设计相对的设计方式为半定制设计。简而言之,半定制集成电路设计是基于预先设计好的某些逻辑单元。例如,设计人员可以在标准组件库(通常可以从第三方购买)的基础上设计专用集成电路,从中选取所需的逻辑单元(例如各种基本逻辑门、触发器等)来搭建所需的电路。他们也可以使用可编程逻辑器件来完成设计,这类器件的几乎所有物理结构都已经固定在芯片之中,仅剩下某些连线可以由用户编程决定其连接方式。与这些预先设计好的逻辑单元有关的性能参数通常也由其供应商提供,以方便设计人员进行时序、功耗分析。在半定制的现场可编程逻辑门阵列(FPGA)上实现设计的优点是开发周期短、成本低。
可编程逻辑器件
可编程逻辑器件通常由半导体厂家提供商品芯片,这些芯片可以通过JTAG等方式和计算机连接,因此设计人员可以用电子设计自动化工具来完成设计,然后将利用设计代码来对逻辑芯片编程。可编程逻辑阵列芯片在出厂前就提前定义了逻辑门构成的阵列,而逻辑门之间的连接线路则可以通过编程来控制连接与断开。随着技术的发展,对连接线的编程可以通过EPROM(利用较高压电编程、紫外线照射擦除)、EEPROM(利用电信号来多次编程和擦除)、SRAM、闪存等方式实现。现场可编程逻辑门阵列是一种特殊的可编程逻辑器件,它的物理基础是可配置逻辑单元,由查找表、可编程多路选择器、寄存器等结构组成。查找表可以用来实现逻辑函数,如三个输入端的查找表可以实现所有三变量的逻辑函数。
专用集成电路
针对特殊应用设计的专用集成电路(ASIC)的优点是面积、功耗、时序可以得到最大程度地优化。专用集成电路只能在整个集成电路设计完成之后才能开始制造,而且需要专业的半导体工厂的参与。专用集成电路可以是基于标准单元库,也可以是全定制设计。在后一种途径中,设计人员对于晶圆上组件的位置和连接有更多的控制权,而不像可编程逻辑器件途径,只能选择使用其中部分硬件资源,从而造成部分资源被浪费。专用集成电路的面积、功耗、时序特性通常可以得到更好的优化。然而,专用集成电路的设计会更加复杂,并且需要专门的工艺制造部门(或者外包给晶圆代工厂)才能将GDSII文件制造成电路。一旦专用集成电路芯片制造完成,就不能像可编程逻辑器件那样对电路的逻辑功能进行重新配置。对于单个产品,在专用集成电路上实现集成电路的经济、时间成本都比可编程逻辑器件高,因此在早期的设计与调试过程中,常用可编程逻辑器件,尤其是现场可编程逻辑门阵列;如果所设计的集成电路将要在后期大量投产,那么批量生产专用集成电路将会更经济。
和芯片设计区别
IC设计和芯片设计在本质上密切相关,但在具体语境和应用中可能存在一定的区别。以下是对两者区别的详细分析:
1. 定义与范围
IC设计(Integrated Circuit Design):指的是设计和开发集成电路(IC)的全过程,涉及从电路功能的规划、结构设计到逻辑实现等多个方面。它强调的是整个集成电路芯片的设计,包括电路的设计、信号的处理和逻辑控制等方面。IC设计旨在在一个芯片上集成多个电子器件和电路,以便于实现高度集成和复杂的功能。
芯片设计:通常指的是具体设计一块芯片的过程,这个芯片可以是一个独立的集成电路(IC),也可以是一个嵌入在其他设备中的芯片(如处理器芯片、图形芯片等)。芯片设计更侧重于对特定芯片的功能需求进行分析、架构设计、电源管理、时序优化、布局布线等步骤。
2. 侧重点
IC设计:侧重于集成电路的整体规划和设计,包括电路逻辑、信号处理、功能实现等多个层面。它需要考虑芯片的制造工艺、物理结构、功能模块之间的电气连接,以及如何保证整个芯片的可靠性和性能。
芯片设计:则更侧重于芯片内部的电路设计和实现,包括数学方法、算法、电路网络等在内的部分设计,并且通常仅涉及特定的工业电子市场领域。芯片设计旨在利用数字集成技术和模拟集成技术,实现特定功能的电路和系统,并优化电路的参数和性能,以满足特定的市场需求。
3. 语境与用法
在大多数情况下,IC设计和芯片设计可以互换使用,因为它们都涉及到集成电路的设计过程。然而,在某些特定语境下,两者可能会有所区别。例如,在讨论数字电路逻辑设计、RTL编程、电路仿真和验证时,可能更倾向于使用IC设计;而在讨论物理设计处理、如偏振光在芯片上的传输、振荡器的特性等时,可能更倾向于使用芯片设计。
4. 设计流程
无论是IC设计还是芯片设计,都遵循类似的设计流程,包括需求分析、架构设计、电路设计、逻辑仿真、布局设计、物理验证、版图设计、验证和仿真、产生工艺文件以及制造和测试等阶段。
综上所述,IC设计和芯片设计在本质上是相似的,都涉及到集成电路的设计过程。但在具体语境和应用中,两者可能存在一定的区别,主要体现在定义范围、侧重点和语境用法上。然而,这种区别并不是普遍存在的,具体使用时可能因语境不同而有所不同。在大多数情况下,两者可以互换使用来指代集成电路设计的过程。
内容来自百科网