芯片设计了解吗?芯片设计之前后端设计介绍

为增进大家对芯片的认识,本文将对芯片设计的前后端设计予以介绍。

芯片是电子设备的重要组成器件之一,芯片的制作材料其实就是二氧化硅,可以从沙子中进行提取。为增进大家对芯片的认识,本文将对芯片设计的前后端设计予以介绍。如果你对芯片或是本文具有兴趣,不妨继续往下阅读哦。

一、芯片设计之前端设计

1. 规格制定

芯片规格,也就像功能列表一样,是客户向芯片设计公司(称为Fabless,无晶圆设计公司)提出的设计要求,包括芯片需要达到的具体功能和性能方面的要求。

2. 详细设计

Fabless根据客户提出的规格要求,拿出设计解决方案和具体实现架构,划分模块功能。

3. HDL编码

使用硬件描述语言(VHDL,Verilog HDL,业界公司一般都是使用后者)将模块功能以代码来描述实现,也就是将实际的硬件电路功能通过HDL语言描述出来,形成RTL(寄存器传输级)代码。

4. 仿真验证

仿真验证就是检验编码设计的正确性,检验的标准就是第一步制定的规格。看设计是否精确地满足了规格中的所有要求。规格是设计正确与否的黄金标准,一切违反,不符合规格要求的,就需要重新修改设计和编码。 设计和仿真验证是反复迭代的过程,直到验证结果显示完全符合规格标准。

仿真验证工具Synopsys的VCS,还有Cadence的NC-Verilog。

5. 逻辑综合――Design Compiler

仿真验证通过,进行逻辑综合。逻辑综合的结果就是把设计实现的HDL代码翻译成门级网表netlist。综合需要设定约束条件,就是你希望综合出来的电路在面积,时序等目标参数上达到的标准。逻辑综合需要基于特定的综合库,不同的库中,门电路基本标准单元(standard cell)的面积,时序参数是不一样的。所以,选用的综合库不一样,综合出来的电路在时序,面积上是有差异的。一般来说,综合完成后需要再次做仿真验证(这个也称为后仿真,之前的称为前仿真)。

逻辑综合工具Synopsys的Design Compiler。

6. STA

Static Timing Analysis(STA),静态时序分析,这也属于验证范畴,它主要是在时序上对电路进行验证,检查电路是否存在建立时间(setup time)和保持时间(hold time)的违例(violation)。这个是数字电路基础知识,一个寄存器出现这两个时序违例时,是没有办法正确采样数据和输出数据的,所以以寄存器为基础的数字芯片功能肯定会出现问题。

STA工具有Synopsys的Prime Time。

7. 形式验证

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

形式验证工具有Synopsys的Formality。

前端设计的流程暂时写到这里。从设计程度上来讲,前端设计的结果就是得到了芯片的门级网表电路。

二、芯片设计之后端设计

1. DFT

Design For Test,可测性设计。芯片内部往往都自带测试电路,DFT的目的就是在设计的时候就考虑将来的测试。DFT的常见方法就是,在设计中插入扫描链,将非扫描单元(如寄存器)变为扫描单元。关于DFT,有些书上有详细介绍,对照图片就好理解一点。

DFT工具Synopsys的DFT Compiler

2. 布局规划(FloorPlan)

布局规划就是放置芯片的宏单元模块,在总体上确定各种功能电路的摆放位置,如IP模块,RAM,I/O引脚等等。布局规划能直接影响芯片最终的面积。

工具为Synopsys的Astro

3. CTS

Clock Tree Synthesis,时钟树综合,简单点说就是时钟的布线。由于时钟信号在数字芯片的全局指挥作用,它的分布应该是对称式的连到各个寄存器单元,从而使时钟从同一个时钟源到达各个寄存器时,时钟延迟差异最小。这也是为什么时钟信号需要单独布线的原因。

CTS工具,Synopsys的Physical Compiler

4. 布线(Place & Route)

这里的布线就是普通信号布线了,包括各种标准单元(基本逻辑门电路)之间的走线。比如我们平常听到的0.13um工艺,或者说90nm工艺,实际上就是这里金属布线可以达到的最小宽度,从微观上看就是MOS管的沟道长度。

工具Synopsys的Astro

5. 寄生参数提取

由于导线本身存在的电阻,相邻导线之间的互感,耦合电容在芯片内部会产生信号噪声,串扰和反射。这些效应会产生信号完整性问题,导致信号电压波动和变化,如果严重就会导致信号失真错误。提取寄生参数进行再次的分析验证,分析信号完整性问题是非常重要的。

工具Synopsys的Star-RCXT

6. 版图物理验证

对完成布线的物理版图进行功能和时序上的验证,验证项目很多,如LVS(Layout Vs Schematic)验证,简单说,就是版图与逻辑综合后的门级电路图的对比验证;DRC(Design Rule Checking):设计规则检查,检查连线间距,连线宽度等是否满足工艺要求, ERC(Electrical Rule Checking):电气规则检查,检查短路和开路等电气 规则违例;等等。

工具为Synopsys的Hercules

实际的后端流程还包括电路功耗分析,以及随着制造工艺不断进步产生的DFM(可制造性设计)问题,在此不说了。

物理版图验证完成也就是整个芯片设计阶段完成,下面的就是芯片制造了。物理版图以GDS II的文件格式交给芯片代工厂(称为Foundry)在晶圆硅片上做出实际的电路,再进行封装和测试,就得到了我们实际看见的芯片。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 芯片设计数字前端需要提供给数字后端设计文件包括RTL级的设计文件和门级网表文件。RTL级的设计文件主要包括Verilog或VHDL等硬件描述语言描述的电路逻辑功能和结构信息,而门级网表文件则是根据RTL级设计文件经过综合、优化、布局和布线等工艺步骤生成的门级电路网表,其中包括电路中的逻辑门、寄存器、时钟等基本元件。这些设计文件可以被数字后端工程师用来进行后续的物理设计和验证等工作。 ### 回答2: 芯片设计数字前端需要提供给数字后端设计文件主要包括以下内容: 1.逻辑设计文件:包括逻辑门电路图和硬件描述语言(HDL)代码。逻辑门电路图描述了芯片内部逻辑电路的组成和连接关系;HDL代码是一种用于描述数字电路行为和功能的编程语言,以方便后端工程师进行实现和验证。 2.时序约束文件:指定芯片内各个时钟域的时序要求和时序约束。通过定义时钟频率、信号传输延迟、时序关系等信息,确保芯片能够按照预期的时序性能正确运行。 3.物理约束文件:定义芯片布局和布线的规则和限制。物理约束文件包括但不限于芯片尺寸、引脚位置、电源线规划、信号线路规划等信息,确保芯片在物理层面满足设计要求。 4.功耗分析文件:提供芯片的功耗特性和分析结果。数字前端工程师通常需要提供芯片的功耗模型、功耗估计、功耗优化建议等,以帮助后端工程师做出合理的功耗优化设计决策。 5.模拟仿真文件:用于验证芯片设计在仿真环境下的功能和性能。包括仿真模拟器配置文件、仿真脚本、测试用例等。 6.设计文档:提供详细的设计说明和文档,包括设计需求、功能规格、接口协议等,以便后端工程师准确理解设计意图和需求。 这些设计文件为数字后端工程师提供了实现和验证芯片设计的基础,使得芯片能够按照设计要求进行制造和测试。 ### 回答3: 芯片设计的数字前端和数字后端之间需要进行设计文件的传递以保证设计的连贯性和准确性。常见的设计文件包括以下几种: 1. RTL(Register Transfer Level)代码:RTL代码是芯片设计的第一步,它描述了芯片的功能和数据流。数字前端需要将RTL代码提供给数字后端,以便进行后续的综合和布局布线。 2. 约束文件:约束文件包含了芯片设计的时序和电气规范等信息,用于指导数字后端的综合和布局布线工作。数字前端需要提供约束文件,以确保数字后端按照要求进行设计。 3. 时钟树设计芯片设计中时钟是至关重要的,需要通过专门的时钟树设计来确保时钟信号的传输和稳定性。数字前端需要提供时钟树设计的相关文件,以指导数字后端对时钟进行布局布线。 4. 功耗文件:芯片设计过程中需要考虑功耗的问题。数字前端需要提供功耗文件,其中包括各个模块的功耗估计和限制等信息,以帮助数字后端进行功耗控制和优化。 5. 物理约束:芯片设计的物理约束包括芯片面积、管脚位置等方面的要求。数字前端需要提供物理约束文件,以确保数字后端按照要求进行布局布线和物理设计。 综上所述,芯片设计的数字前端需要提供RTL代码、约束文件、时钟树设计文件、功耗文件和物理约束文件等设计文件给数字后端,以保证芯片设计的顺利进行。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值