芯片科普 | IC设计全流程&要用到的EDA工具

设计一款芯片,明确需求(功能和性能)之后,先由架构工程师设计架构,得出芯片设计方案,前端设计工程师形成RTL代码,验证工程师进行代码验证,再通过后端设计工程师和版图工程师生成物理版图。

设计环节到此为止,后面则是制造和封测环节。

设计环节的各个工作岗位,都需要使用到EDA工具。这也就要求IC设计端的工程师们对EDA工具的使用了如指掌。

设计中使用的EDA工具如下:

1、架构的设计与验证

按照要求,对整体的设计划分模块。

架构模型的仿真可以使用Synopsys公司的CoCentric软件,它是基于System C的仿真工具。

2、HDL设计输入

设计输入方法有:HDL语言(Verilog或VHDL)输入、电路图输入、状态转移图输入。

使用的工具有:Active-HDL,而RTL分析检查工具有Synopsys的LEDA。

3、前仿真工具(功能仿真)

初步验证设计是否满足规格要求。

使用的工具有:Synopsys的VCS,Simens EDA的ModelSim,Cadence的Verilog-XL,Cadence的NC-Verilog。

4、逻辑综合

将HDL语言转换成门级网表Netlist。综合需要设定约束条件,就是你希望综合出来的电路在面积,时序等目标参数上达到的标准;逻辑综合需要指定基于的库,使用不同的综合库,在时序和面积上会有差异。逻辑综合之前的仿真为前仿真,之后的仿真为后仿真。

使用的工具有:Synopsys的Design Compiler,Cadence的 PKS,Synplicity的Synplify等。

5、静态时序分析工具(STA)

在时序上,检查电路的建立时间(Setuptime)和保持时间(Hold time)是否有违例(Violation)。

使用的工具有:Synopsys的Prime Time。

6、形式验证工具

在功能上,对综合后的网表进行验证。常用的就是等价性检查(Equivalence Check)方法,以功能验证后的HDL设计为参考,对比综合后的网表功能,他们是否在功能上存在等价性。这样做是为了保证在逻辑综合过程中没有改变原先HDL描述的电路功能。

使用的工具有:Synopsys的Formality

而后端相应的流程如下:

1、数据准备

对于 CDN 的 Silicon Ensemble而言,后端设计所需的数据主要有是Foundry厂提供的标准单元、宏单元和I/O Pad的库文件,它包括物理库、时序库及网表库,分别以.lef、.tlf和.v的形式给出。前端的芯片设计经过综合后生成的门级网表,具有时序约束和时钟定义的脚本文件和由此产生的约束文件以及定义电源Pad的DEF(Design Exchange Format)文件。(对synopsys 的Astro 而言, 经过综合后生成的门级网表,时序约束文件 SDC 是一样的,Pad的定义文件–tdf,.tf 文件 --technology file,Foundry厂提供的标准单元、宏单元和I/O Pad的库文件 就与FRAM, CELL view, LM view形式给出(Milkway 参考库 and DB, LIB file)

2、布局规划

主要是标准单元、I/O Pad和宏单元的布局。I/OPad预先给出了位置,而宏单元则根据时序要求进行摆放,标准单元则是给出了一定的区域由工具自动摆放。布局规划后,芯片的大小,Core的面积,Row的形式、电源及地线的Ring和Strip都确定下来了。如果必要在自动放置标准单元和宏单元之后,你可以先做一次PNA(power network analysis)–IR drop and EM 。

3、Placement -自动放置标准单元

布局规划后,宏单元、I/O Pad的位置和放置标准单元的区域都已确定,这些信息SE(Silicon Ensemble)会通过DEF文件传递给PC(Physical Compiler),PC根据由综合给出的.DB文件获得网表和时序约束信息进行自动放置标准单元,同时进行时序检查和单元放置优化。如果你用的是PC +Astro,那你可用write_milkway,read_milkway 传递数据。

4、时钟树生成(CTS Clock tree synthesis)

芯片中的时钟网络要驱动电路中所有的时序单元,所以时钟源端门单元带载很多,其负载延时很大并且不平衡,需要插入缓冲器减小负载和平衡延时。时钟网络及其上的缓冲器构成了时钟树。一般要反复几次才可以做出一个比较理想的时钟树—Clock skew。

5、STA 静态时序分析和后仿真

时钟树插入后,每个单元的位置都确定下来了,工具可以提出Global Route形式的连线寄生参数,此时对延时参数的提取就比较准确了。

SE把.V和.SDF文件传递给PrimeTime做静态时序分析。确认没有时序违规后,将这来两个文件传递给前端人员做后仿真。

对Astro 而言,在detail routing 之后,用starRC XT 参数提取,生成的SPEF文件传递给PrimeTime做静态时序分析,那将会更准确。

6、ECO(Engineering Change Order)

针对静态时序分析和后仿真中出现的问题,对电路和单元布局进行小范围的改动。

7、Filler的插入(padfliier, cell filler)

Filler指的是标准单元库和I/O Pad库中定义的与逻辑无关的填充物,用来填充标准单元和标准单元之间,I/O Pad和I/O Pad之间的间隙,它主要是把扩散层连接起来,满足DRC规则和设计需要。

8、布线(Routing)

布线是指在满足工艺规则和布线层数限制、线宽、线间距限制和各线网可靠绝缘的电性能约束的条件下,根据电路的连接关系将各单元和I/O Pad用互连线连接起来,这些是在时序驱动(Timing driven ) 的条件下进行的,保证关键时序路径上的连线长度能够最小。

9、Dummy Metal的增加

Foundry厂都有对金属密度的规定,使其金属密度不要低于一定的值,以防在芯片制造过程中的刻蚀阶段对连线的金属层过度刻蚀从而降低电路的性能。加入Dummy Metal是为了增加金属的密度。

10、DRC和LVS

DRC是对芯片版图中的各层物理图形进行设计规则检查(spacing ,width),它也包括天线效应的检查,以确保芯片正常流片。LVS主要是将版图和电路网表进行比较,来保证流片出来的版图电路和实际需要的电路一致。

DRC和LVS的检查–EDA工具Synopsy hercules/ Simens EDA calibre/ CDN Dracula进行的。Astro also include LVS/DRC check commands。

11、Tape out

在所有检查和验证都正确无误的情况下把最后的版图GDSⅡ文件传递给Foundry厂进行掩膜制造,也就是送去流片了。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 芯片设计 checklist 是在芯片设计过程中为了保证芯片设计质量和设计效率而制定的清单。它包含了芯片设计的各个方面,从设计起点到终点都有详细的规范和要求,确保设计过程中的每一个步骤都准确无误。 芯片设计 checklist 的主要内容包括以下几点: 1.设计需求列表:明确芯片设计需求,包括电路功能、性能和功耗等要求。 2.电路图纸和原理图设计检查表:检查电路图纸和原理图设计是否合理,并按照标准进行设计。 3.引脚分配检查表:对芯片的引脚分配进行审核和检查,确保引脚的数量、排列和分布符合芯片设计要求。 4.布局规格检查表:检查芯片布局规格是否符合设计规范和标准,包括芯片整体尺寸、排列方式、金手指的设计等。 5.供电和接地方案审核表:检查供电和接地方案是否合理稳定,并符合芯片的功耗要求。 6.设计文件检查表:检查芯片设计文档是否完整、准确,包括设计说明书、仿真报告等。 7.设计验证测试检查表:检查芯片的验证测试结果是否符合设计要求,包括电路测试和芯片性能测试。 以上是芯片设计 checklist 的主要内容,通过芯片设计 checklist 可以确保芯片设计的完整性、正确性和高效性,从而提高芯片设计的质量和效率。 ### 回答2: 芯片设计 checklist 主要是对芯片设计流程进行面检查和确认的一个清单,确保芯片设计的各个环节都没有遗漏,从而保证芯片的稳定性、可靠性和发展性。 首先,芯片设计 checklist 需要确认芯片设计规格书,这是芯片设计的基本依据,需要包含芯片的应用范围、性能指标、功耗、尺寸等方面的要求,确保芯片设计符合用户的需求。 其次,需要对芯片设计原理图、布局和验证进行检查,确保芯片的电气特性、布线、封装、散热、测试等方面的问题都得到了充分考虑和确认,从而提高芯片的稳定性和可靠性。 此外,芯片设计 checklist 还要确认芯片的制程技术选择、物料选择、生产工艺流程等,确保芯片的制造过程和成品均符合质量规范,从而降低芯片的生产成本和质量风险。 最后,芯片设计 checklist 还需要确认芯片在应用中的使用环境和应对策略,以及不同应用场景下的优化策略,从而提高芯片在实际应用中的性能和可靠性。 综上所述,芯片设计 checklist 是一个面、系统的检查清单,对芯片设计流程的每个环节进行确认和检查,确保芯片的性能、稳定性和可靠性,以满足用户的需求和市场的竞争。 ### 回答3: 芯片设计 checklist 涉及到芯片设计和验证过程中需要完成的各项任务和关键要素,它是确保芯片设计过程顺利和成功的重要工具。下面是一些可能会被包括在 checklist 中的任务和要素: 一、设计前准备: 1.明确设计目标和要求,明确设计范围和限制。 2.准备好必要的工具软件和硬件资源。 3.建立符合设计准则的设计架构,选择合适的设计流程。 二、设计过程: 1.确定设计规范和设计约束,包括布局设计和电路设计规范。 2.使用合适的设计软件完成原理图设计和电路模拟。 3.完成版图设计和验证,满足特定的电路性能、功耗和成本要求。 4.实施器件物理设计和可靠性分析,确保器件在不同条件下可靠运行。 三、验证测试: 1.采用仿真工具进行综合验证和时序验证,评估器件的功能和性能。 2.使用适当的测试设施和方法进行物理验证,包括器件的电气和机械验证。 3.进行性能和功耗测试,分析和修正性能和功耗问题。 4.最终进行功能和可靠性验证,确保器件符合设定的行业标准和技术要求。 以上是可能被纳入芯片设计 checklist 的一些任务和要素,它们能够有效地指导设计过程,在设计、验证和测试阶段确保设计质量和成功率,从而加快器件时间到市场的周期,提高市场竞争力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值